@bigbinary/neeto-image-uploader-frontend 2.0.0 → 2.0.1

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/dist/index.js CHANGED
@@ -1,15 +1,16 @@
1
- import require$$0, { useMemo, useRef, useReducer, useEffect, useCallback, forwardRef, useImperativeHandle, Fragment, useState, createElement } from 'react';
1
+ import require$$0, { useState, useEffect, useRef, createElement } from 'react';
2
2
  import classnames from 'classnames';
3
- import { noop as noop$1, keysToCamelCase, findBy, isPresent } from '@bigbinary/neeto-cist';
3
+ import { noop, keysToCamelCase, findBy, isPresent } from '@bigbinary/neeto-cist';
4
4
  import { Delete, LeftArrow, MenuHorizontal } from '@bigbinary/neeto-icons';
5
5
  import Button from '@bigbinary/neetoui/Button';
6
6
  import Typography from '@bigbinary/neetoui/Typography';
7
- import { pipe, values, flatten as flatten$1, map, toUpper, join, equals, isNil, isEmpty, mergeRight, mergeLeft, identity, prop, mergeDeepRight } from 'ramda';
7
+ import { pipe, values, flatten, map, toUpper, join, equals, isNil, isEmpty, mergeRight, mergeLeft, identity, prop, mergeDeepRight } from 'ramda';
8
8
  import { Trans, useTranslation } from 'react-i18next';
9
9
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
10
+ import { useDropzone } from 'react-dropzone';
10
11
  import i18next, { t as t$1 } from 'i18next';
11
12
  import Toastr from '@bigbinary/neetoui/Toastr';
12
- import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
13
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
13
14
  import Dropdown from '@bigbinary/neetoui/Dropdown';
14
15
  import NeetoUIModal from '@bigbinary/neetoui/Modal';
15
16
  import Tab from '@bigbinary/neetoui/Tab';
@@ -53,7 +54,7 @@ function _toPropertyKey(arg) {
53
54
  return _typeof$2(key) === "symbol" ? key : String(key);
54
55
  }
55
56
 
56
- function _defineProperty$3(obj, key, value) {
57
+ function _defineProperty$1(obj, key, value) {
57
58
  key = _toPropertyKey(key);
58
59
  if (key in obj) {
59
60
  Object.defineProperty(obj, key, {
@@ -68,7 +69,7 @@ function _defineProperty$3(obj, key, value) {
68
69
  return obj;
69
70
  }
70
71
 
71
- function _objectWithoutPropertiesLoose$1(source, excluded) {
72
+ function _objectWithoutPropertiesLoose(source, excluded) {
72
73
  if (source == null) return {};
73
74
  var target = {};
74
75
  var sourceKeys = Object.keys(source);
@@ -81,9 +82,9 @@ function _objectWithoutPropertiesLoose$1(source, excluded) {
81
82
  return target;
82
83
  }
83
84
 
84
- function _objectWithoutProperties$2(source, excluded) {
85
+ function _objectWithoutProperties$1(source, excluded) {
85
86
  if (source == null) return {};
86
- var target = _objectWithoutPropertiesLoose$1(source, excluded);
87
+ var target = _objectWithoutPropertiesLoose(source, excluded);
87
88
  var key, i;
88
89
  if (Object.getOwnPropertySymbols) {
89
90
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
@@ -113,16 +114,16 @@ var OPTION_KEYS = {
113
114
  };
114
115
 
115
116
  var getAllowedTypes = function getAllowedTypes(uploadConfig) {
116
- return pipe(values, flatten$1, map(function (extension) {
117
+ return pipe(values, flatten, map(function (extension) {
117
118
  return extension.slice(1);
118
119
  }), map(toUpper), join(", "))(uploadConfig.allowedImageTypes);
119
120
  };
120
121
 
121
- function _arrayWithHoles$2(arr) {
122
+ function _arrayWithHoles(arr) {
122
123
  if (Array.isArray(arr)) return arr;
123
124
  }
124
125
 
125
- function _iterableToArrayLimit$2(r, l) {
126
+ function _iterableToArrayLimit(r, l) {
126
127
  var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
127
128
  if (null != t) {
128
129
  var e,
@@ -150,1849 +151,29 @@ function _iterableToArrayLimit$2(r, l) {
150
151
  }
151
152
  }
152
153
 
153
- function _arrayLikeToArray$2(arr, len) {
154
+ function _arrayLikeToArray(arr, len) {
154
155
  if (len == null || len > arr.length) len = arr.length;
155
156
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
156
157
  return arr2;
157
158
  }
158
159
 
159
- function _unsupportedIterableToArray$2(o, minLen) {
160
+ function _unsupportedIterableToArray(o, minLen) {
160
161
  if (!o) return;
161
- if (typeof o === "string") return _arrayLikeToArray$2(o, minLen);
162
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
162
163
  var n = Object.prototype.toString.call(o).slice(8, -1);
163
164
  if (n === "Object" && o.constructor) n = o.constructor.name;
164
165
  if (n === "Map" || n === "Set") return Array.from(o);
165
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen);
166
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
166
167
  }
167
168
 
168
- function _nonIterableRest$2() {
169
+ function _nonIterableRest() {
169
170
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
170
171
  }
171
172
 
172
- function _slicedToArray$2(arr, i) {
173
- return _arrayWithHoles$2(arr) || _iterableToArrayLimit$2(arr, i) || _unsupportedIterableToArray$2(arr, i) || _nonIterableRest$2();
173
+ function _slicedToArray(arr, i) {
174
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
174
175
  }
175
176
 
176
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
177
-
178
- function getDefaultExportFromCjs (x) {
179
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
180
- }
181
-
182
- function getAugmentedNamespace(n) {
183
- if (n.__esModule) return n;
184
- var f = n.default;
185
- if (typeof f == "function") {
186
- var a = function a () {
187
- if (this instanceof a) {
188
- return Reflect.construct(f, arguments, this.constructor);
189
- }
190
- return f.apply(this, arguments);
191
- };
192
- a.prototype = f.prototype;
193
- } else a = {};
194
- Object.defineProperty(a, '__esModule', {value: true});
195
- Object.keys(n).forEach(function (k) {
196
- var d = Object.getOwnPropertyDescriptor(n, k);
197
- Object.defineProperty(a, k, d.get ? d : {
198
- enumerable: true,
199
- get: function () {
200
- return n[k];
201
- }
202
- });
203
- });
204
- return a;
205
- }
206
-
207
- var propTypes = {exports: {}};
208
-
209
- /**
210
- * Copyright (c) 2013-present, Facebook, Inc.
211
- *
212
- * This source code is licensed under the MIT license found in the
213
- * LICENSE file in the root directory of this source tree.
214
- */
215
-
216
- var ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
217
-
218
- var ReactPropTypesSecret_1 = ReactPropTypesSecret$1;
219
-
220
- /**
221
- * Copyright (c) 2013-present, Facebook, Inc.
222
- *
223
- * This source code is licensed under the MIT license found in the
224
- * LICENSE file in the root directory of this source tree.
225
- */
226
-
227
- var ReactPropTypesSecret = ReactPropTypesSecret_1;
228
-
229
- function emptyFunction() {}
230
- function emptyFunctionWithReset() {}
231
- emptyFunctionWithReset.resetWarningCache = emptyFunction;
232
-
233
- var factoryWithThrowingShims = function() {
234
- function shim(props, propName, componentName, location, propFullName, secret) {
235
- if (secret === ReactPropTypesSecret) {
236
- // It is still safe when called from React.
237
- return;
238
- }
239
- var err = new Error(
240
- 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
241
- 'Use PropTypes.checkPropTypes() to call them. ' +
242
- 'Read more at http://fb.me/use-check-prop-types'
243
- );
244
- err.name = 'Invariant Violation';
245
- throw err;
246
- } shim.isRequired = shim;
247
- function getShim() {
248
- return shim;
249
- } // Important!
250
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
251
- var ReactPropTypes = {
252
- array: shim,
253
- bigint: shim,
254
- bool: shim,
255
- func: shim,
256
- number: shim,
257
- object: shim,
258
- string: shim,
259
- symbol: shim,
260
-
261
- any: shim,
262
- arrayOf: getShim,
263
- element: shim,
264
- elementType: shim,
265
- instanceOf: getShim,
266
- node: shim,
267
- objectOf: getShim,
268
- oneOf: getShim,
269
- oneOfType: getShim,
270
- shape: getShim,
271
- exact: getShim,
272
-
273
- checkPropTypes: emptyFunctionWithReset,
274
- resetWarningCache: emptyFunction
275
- };
276
-
277
- ReactPropTypes.PropTypes = ReactPropTypes;
278
-
279
- return ReactPropTypes;
280
- };
281
-
282
- /**
283
- * Copyright (c) 2013-present, Facebook, Inc.
284
- *
285
- * This source code is licensed under the MIT license found in the
286
- * LICENSE file in the root directory of this source tree.
287
- */
288
-
289
- {
290
- // By explicitly using `prop-types` you are opting into new production behavior.
291
- // http://fb.me/prop-types-in-prod
292
- propTypes.exports = factoryWithThrowingShims();
293
- }
294
-
295
- var propTypesExports = propTypes.exports;
296
- var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
297
-
298
- /******************************************************************************
299
- Copyright (c) Microsoft Corporation.
300
-
301
- Permission to use, copy, modify, and/or distribute this software for any
302
- purpose with or without fee is hereby granted.
303
-
304
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
305
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
306
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
307
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
308
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
309
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
310
- PERFORMANCE OF THIS SOFTWARE.
311
- ***************************************************************************** */
312
-
313
- function __awaiter(thisArg, _arguments, P, generator) {
314
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
315
- return new (P || (P = Promise))(function (resolve, reject) {
316
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
317
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
318
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
319
- step((generator = generator.apply(thisArg, _arguments || [])).next());
320
- });
321
- }
322
-
323
- function __generator(thisArg, body) {
324
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
325
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
326
- function verb(n) { return function (v) { return step([n, v]); }; }
327
- function step(op) {
328
- if (f) throw new TypeError("Generator is already executing.");
329
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
330
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
331
- if (y = 0, t) op = [op[0] & 2, t.value];
332
- switch (op[0]) {
333
- case 0: case 1: t = op; break;
334
- case 4: _.label++; return { value: op[1], done: false };
335
- case 5: _.label++; y = op[1]; op = [0]; continue;
336
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
337
- default:
338
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
339
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
340
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
341
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
342
- if (t[2]) _.ops.pop();
343
- _.trys.pop(); continue;
344
- }
345
- op = body.call(thisArg, _);
346
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
347
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
348
- }
349
- }
350
-
351
- function __read(o, n) {
352
- var m = typeof Symbol === "function" && o[Symbol.iterator];
353
- if (!m) return o;
354
- var i = m.call(o), r, ar = [], e;
355
- try {
356
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
357
- }
358
- catch (error) { e = { error: error }; }
359
- finally {
360
- try {
361
- if (r && !r.done && (m = i["return"])) m.call(i);
362
- }
363
- finally { if (e) throw e.error; }
364
- }
365
- return ar;
366
- }
367
-
368
- function __spreadArray(to, from, pack) {
369
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
370
- if (ar || !(i in from)) {
371
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
372
- ar[i] = from[i];
373
- }
374
- }
375
- return to.concat(ar || Array.prototype.slice.call(from));
376
- }
377
-
378
- var COMMON_MIME_TYPES = new Map([
379
- // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
380
- ['aac', 'audio/aac'],
381
- ['abw', 'application/x-abiword'],
382
- ['arc', 'application/x-freearc'],
383
- ['avif', 'image/avif'],
384
- ['avi', 'video/x-msvideo'],
385
- ['azw', 'application/vnd.amazon.ebook'],
386
- ['bin', 'application/octet-stream'],
387
- ['bmp', 'image/bmp'],
388
- ['bz', 'application/x-bzip'],
389
- ['bz2', 'application/x-bzip2'],
390
- ['cda', 'application/x-cdf'],
391
- ['csh', 'application/x-csh'],
392
- ['css', 'text/css'],
393
- ['csv', 'text/csv'],
394
- ['doc', 'application/msword'],
395
- ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],
396
- ['eot', 'application/vnd.ms-fontobject'],
397
- ['epub', 'application/epub+zip'],
398
- ['gz', 'application/gzip'],
399
- ['gif', 'image/gif'],
400
- ['heic', 'image/heic'],
401
- ['heif', 'image/heif'],
402
- ['htm', 'text/html'],
403
- ['html', 'text/html'],
404
- ['ico', 'image/vnd.microsoft.icon'],
405
- ['ics', 'text/calendar'],
406
- ['jar', 'application/java-archive'],
407
- ['jpeg', 'image/jpeg'],
408
- ['jpg', 'image/jpeg'],
409
- ['js', 'text/javascript'],
410
- ['json', 'application/json'],
411
- ['jsonld', 'application/ld+json'],
412
- ['mid', 'audio/midi'],
413
- ['midi', 'audio/midi'],
414
- ['mjs', 'text/javascript'],
415
- ['mp3', 'audio/mpeg'],
416
- ['mp4', 'video/mp4'],
417
- ['mpeg', 'video/mpeg'],
418
- ['mpkg', 'application/vnd.apple.installer+xml'],
419
- ['odp', 'application/vnd.oasis.opendocument.presentation'],
420
- ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],
421
- ['odt', 'application/vnd.oasis.opendocument.text'],
422
- ['oga', 'audio/ogg'],
423
- ['ogv', 'video/ogg'],
424
- ['ogx', 'application/ogg'],
425
- ['opus', 'audio/opus'],
426
- ['otf', 'font/otf'],
427
- ['png', 'image/png'],
428
- ['pdf', 'application/pdf'],
429
- ['php', 'application/x-httpd-php'],
430
- ['ppt', 'application/vnd.ms-powerpoint'],
431
- ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],
432
- ['rar', 'application/vnd.rar'],
433
- ['rtf', 'application/rtf'],
434
- ['sh', 'application/x-sh'],
435
- ['svg', 'image/svg+xml'],
436
- ['swf', 'application/x-shockwave-flash'],
437
- ['tar', 'application/x-tar'],
438
- ['tif', 'image/tiff'],
439
- ['tiff', 'image/tiff'],
440
- ['ts', 'video/mp2t'],
441
- ['ttf', 'font/ttf'],
442
- ['txt', 'text/plain'],
443
- ['vsd', 'application/vnd.visio'],
444
- ['wav', 'audio/wav'],
445
- ['weba', 'audio/webm'],
446
- ['webm', 'video/webm'],
447
- ['webp', 'image/webp'],
448
- ['woff', 'font/woff'],
449
- ['woff2', 'font/woff2'],
450
- ['xhtml', 'application/xhtml+xml'],
451
- ['xls', 'application/vnd.ms-excel'],
452
- ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
453
- ['xml', 'application/xml'],
454
- ['xul', 'application/vnd.mozilla.xul+xml'],
455
- ['zip', 'application/zip'],
456
- ['7z', 'application/x-7z-compressed'],
457
- // Others
458
- ['mkv', 'video/x-matroska'],
459
- ['mov', 'video/quicktime'],
460
- ['msg', 'application/vnd.ms-outlook']
461
- ]);
462
- function toFileWithPath(file, path) {
463
- var f = withMimeType(file);
464
- if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path
465
- var webkitRelativePath = file.webkitRelativePath;
466
- Object.defineProperty(f, 'path', {
467
- value: typeof path === 'string'
468
- ? path
469
- // If <input webkitdirectory> is set,
470
- // the File will have a {webkitRelativePath} property
471
- // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
472
- : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0
473
- ? webkitRelativePath
474
- : file.name,
475
- writable: false,
476
- configurable: false,
477
- enumerable: true
478
- });
479
- }
480
- return f;
481
- }
482
- function withMimeType(file) {
483
- var name = file.name;
484
- var hasExtension = name && name.lastIndexOf('.') !== -1;
485
- if (hasExtension && !file.type) {
486
- var ext = name.split('.')
487
- .pop().toLowerCase();
488
- var type = COMMON_MIME_TYPES.get(ext);
489
- if (type) {
490
- Object.defineProperty(file, 'type', {
491
- value: type,
492
- writable: false,
493
- configurable: false,
494
- enumerable: true
495
- });
496
- }
497
- }
498
- return file;
499
- }
500
-
501
- var FILES_TO_IGNORE = [
502
- // Thumbnail cache files for macOS and Windows
503
- '.DS_Store',
504
- 'Thumbs.db' // Windows
505
- ];
506
- /**
507
- * Convert a DragEvent's DataTrasfer object to a list of File objects
508
- * NOTE: If some of the items are folders,
509
- * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.
510
- *
511
- * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg
512
- * and a list of File objects will be returned.
513
- *
514
- * @param evt
515
- */
516
- function fromEvent(evt) {
517
- return __awaiter(this, void 0, void 0, function () {
518
- return __generator(this, function (_a) {
519
- if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {
520
- return [2 /*return*/, getDataTransferFiles(evt.dataTransfer, evt.type)];
521
- }
522
- else if (isChangeEvt(evt)) {
523
- return [2 /*return*/, getInputFiles(evt)];
524
- }
525
- else if (Array.isArray(evt) && evt.every(function (item) { return 'getFile' in item && typeof item.getFile === 'function'; })) {
526
- return [2 /*return*/, getFsHandleFiles(evt)];
527
- }
528
- return [2 /*return*/, []];
529
- });
530
- });
531
- }
532
- function isDataTransfer(value) {
533
- return isObject(value);
534
- }
535
- function isChangeEvt(value) {
536
- return isObject(value) && isObject(value.target);
537
- }
538
- function isObject(v) {
539
- return typeof v === 'object' && v !== null;
540
- }
541
- function getInputFiles(evt) {
542
- return fromList(evt.target.files).map(function (file) { return toFileWithPath(file); });
543
- }
544
- // Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle
545
- function getFsHandleFiles(handles) {
546
- return __awaiter(this, void 0, void 0, function () {
547
- var files;
548
- return __generator(this, function (_a) {
549
- switch (_a.label) {
550
- case 0: return [4 /*yield*/, Promise.all(handles.map(function (h) { return h.getFile(); }))];
551
- case 1:
552
- files = _a.sent();
553
- return [2 /*return*/, files.map(function (file) { return toFileWithPath(file); })];
554
- }
555
- });
556
- });
557
- }
558
- function getDataTransferFiles(dt, type) {
559
- return __awaiter(this, void 0, void 0, function () {
560
- var items, files;
561
- return __generator(this, function (_a) {
562
- switch (_a.label) {
563
- case 0:
564
- if (!dt.items) return [3 /*break*/, 2];
565
- items = fromList(dt.items)
566
- .filter(function (item) { return item.kind === 'file'; });
567
- // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,
568
- // only 'dragstart' and 'drop' has access to the data (source node)
569
- if (type !== 'drop') {
570
- return [2 /*return*/, items];
571
- }
572
- return [4 /*yield*/, Promise.all(items.map(toFilePromises))];
573
- case 1:
574
- files = _a.sent();
575
- return [2 /*return*/, noIgnoredFiles(flatten(files))];
576
- case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)
577
- .map(function (file) { return toFileWithPath(file); }))];
578
- }
579
- });
580
- });
581
- }
582
- function noIgnoredFiles(files) {
583
- return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });
584
- }
585
- // IE11 does not support Array.from()
586
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility
587
- // https://developer.mozilla.org/en-US/docs/Web/API/FileList
588
- // https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList
589
- function fromList(items) {
590
- if (items === null) {
591
- return [];
592
- }
593
- var files = [];
594
- // tslint:disable: prefer-for-of
595
- for (var i = 0; i < items.length; i++) {
596
- var file = items[i];
597
- files.push(file);
598
- }
599
- return files;
600
- }
601
- // https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem
602
- function toFilePromises(item) {
603
- if (typeof item.webkitGetAsEntry !== 'function') {
604
- return fromDataTransferItem(item);
605
- }
606
- var entry = item.webkitGetAsEntry();
607
- // Safari supports dropping an image node from a different window and can be retrieved using
608
- // the DataTransferItem.getAsFile() API
609
- // NOTE: FileSystemEntry.file() throws if trying to get the file
610
- if (entry && entry.isDirectory) {
611
- return fromDirEntry(entry);
612
- }
613
- return fromDataTransferItem(item);
614
- }
615
- function flatten(items) {
616
- return items.reduce(function (acc, files) { return __spreadArray(__spreadArray([], __read(acc), false), __read((Array.isArray(files) ? flatten(files) : [files])), false); }, []);
617
- }
618
- function fromDataTransferItem(item) {
619
- var file = item.getAsFile();
620
- if (!file) {
621
- return Promise.reject("".concat(item, " is not a File"));
622
- }
623
- var fwp = toFileWithPath(file);
624
- return Promise.resolve(fwp);
625
- }
626
- // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry
627
- function fromEntry(entry) {
628
- return __awaiter(this, void 0, void 0, function () {
629
- return __generator(this, function (_a) {
630
- return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];
631
- });
632
- });
633
- }
634
- // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry
635
- function fromDirEntry(entry) {
636
- var reader = entry.createReader();
637
- return new Promise(function (resolve, reject) {
638
- var entries = [];
639
- function readEntries() {
640
- var _this = this;
641
- // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader
642
- // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries
643
- reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {
644
- var files, err_1, items;
645
- return __generator(this, function (_a) {
646
- switch (_a.label) {
647
- case 0:
648
- if (!!batch.length) return [3 /*break*/, 5];
649
- _a.label = 1;
650
- case 1:
651
- _a.trys.push([1, 3, , 4]);
652
- return [4 /*yield*/, Promise.all(entries)];
653
- case 2:
654
- files = _a.sent();
655
- resolve(files);
656
- return [3 /*break*/, 4];
657
- case 3:
658
- err_1 = _a.sent();
659
- reject(err_1);
660
- return [3 /*break*/, 4];
661
- case 4: return [3 /*break*/, 6];
662
- case 5:
663
- items = Promise.all(batch.map(fromEntry));
664
- entries.push(items);
665
- // Continue reading
666
- readEntries();
667
- _a.label = 6;
668
- case 6: return [2 /*return*/];
669
- }
670
- });
671
- }); }, function (err) {
672
- reject(err);
673
- });
674
- }
675
- readEntries();
676
- });
677
- }
678
- // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry
679
- function fromFileEntry(entry) {
680
- return __awaiter(this, void 0, void 0, function () {
681
- return __generator(this, function (_a) {
682
- return [2 /*return*/, new Promise(function (resolve, reject) {
683
- entry.file(function (file) {
684
- var fwp = toFileWithPath(file, entry.fullPath);
685
- resolve(fwp);
686
- }, function (err) {
687
- reject(err);
688
- });
689
- })];
690
- });
691
- });
692
- }
693
-
694
- var _default$1 = function (file, acceptedFiles) {
695
- if (file && acceptedFiles) {
696
- var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
697
- var fileName = file.name || '';
698
- var mimeType = (file.type || '').toLowerCase();
699
- var baseMimeType = mimeType.replace(/\/.*$/, '');
700
- return acceptedFilesArray.some(function (type) {
701
- var validType = type.trim().toLowerCase();
702
-
703
- if (validType.charAt(0) === '.') {
704
- return fileName.toLowerCase().endsWith(validType);
705
- } else if (validType.endsWith('/*')) {
706
- // This is something like a image/* mime type
707
- return baseMimeType === validType.replace(/\/.*$/, '');
708
- }
709
-
710
- return mimeType === validType;
711
- });
712
- }
713
-
714
- return true;
715
- };
716
-
717
- function _toConsumableArray$1(arr) { return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1(); }
718
-
719
- function _nonIterableSpread$1() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
720
-
721
- function _iterableToArray$1(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
722
-
723
- function _arrayWithoutHoles$1(arr) { if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); }
724
-
725
- function ownKeys$c(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; }
726
-
727
- function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$c(Object(source), !0).forEach(function (key) { _defineProperty$2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
728
-
729
- function _defineProperty$2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
730
-
731
- function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); }
732
-
733
- function _nonIterableRest$1() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
734
-
735
- function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
736
-
737
- function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
738
-
739
- function _iterableToArrayLimit$1(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
740
-
741
- function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; }
742
-
743
- var FILE_INVALID_TYPE = "file-invalid-type";
744
- var FILE_TOO_LARGE = "file-too-large";
745
- var FILE_TOO_SMALL = "file-too-small";
746
- var TOO_MANY_FILES = "too-many-files";
747
-
748
- var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {
749
- accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;
750
- var messageSuffix = Array.isArray(accept) ? "one of ".concat(accept.join(", ")) : accept;
751
- return {
752
- code: FILE_INVALID_TYPE,
753
- message: "File type must be ".concat(messageSuffix)
754
- };
755
- };
756
- var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {
757
- return {
758
- code: FILE_TOO_LARGE,
759
- message: "File is larger than ".concat(maxSize, " ").concat(maxSize === 1 ? "byte" : "bytes")
760
- };
761
- };
762
- var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {
763
- return {
764
- code: FILE_TOO_SMALL,
765
- message: "File is smaller than ".concat(minSize, " ").concat(minSize === 1 ? "byte" : "bytes")
766
- };
767
- };
768
- var TOO_MANY_FILES_REJECTION = {
769
- code: TOO_MANY_FILES,
770
- message: "Too many files"
771
- }; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with
772
- // that MIME type will always be accepted
773
-
774
- function fileAccepted(file, accept) {
775
- var isAcceptable = file.type === "application/x-moz-file" || _default$1(file, accept);
776
- return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];
777
- }
778
- function fileMatchSize(file, minSize, maxSize) {
779
- if (isDefined(file.size)) {
780
- if (isDefined(minSize) && isDefined(maxSize)) {
781
- if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
782
- if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];
783
- } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
784
- }
785
-
786
- return [true, null];
787
- }
788
-
789
- function isDefined(value) {
790
- return value !== undefined && value !== null;
791
- }
792
- /**
793
- *
794
- * @param {object} options
795
- * @param {File[]} options.files
796
- * @param {string|string[]} [options.accept]
797
- * @param {number} [options.minSize]
798
- * @param {number} [options.maxSize]
799
- * @param {boolean} [options.multiple]
800
- * @param {number} [options.maxFiles]
801
- * @param {(f: File) => FileError|FileError[]|null} [options.validator]
802
- * @returns
803
- */
804
-
805
-
806
- function allFilesAccepted(_ref) {
807
- var files = _ref.files,
808
- accept = _ref.accept,
809
- minSize = _ref.minSize,
810
- maxSize = _ref.maxSize,
811
- multiple = _ref.multiple,
812
- maxFiles = _ref.maxFiles,
813
- validator = _ref.validator;
814
-
815
- if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {
816
- return false;
817
- }
818
-
819
- return files.every(function (file) {
820
- var _fileAccepted = fileAccepted(file, accept),
821
- _fileAccepted2 = _slicedToArray$1(_fileAccepted, 1),
822
- accepted = _fileAccepted2[0];
823
-
824
- var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
825
- _fileMatchSize2 = _slicedToArray$1(_fileMatchSize, 1),
826
- sizeMatch = _fileMatchSize2[0];
827
-
828
- var customErrors = validator ? validator(file) : null;
829
- return accepted && sizeMatch && !customErrors;
830
- });
831
- } // React's synthetic events has event.isPropagationStopped,
832
- // but to remain compatibility with other libs (Preact) fall back
833
- // to check event.cancelBubble
834
-
835
- function isPropagationStopped(event) {
836
- if (typeof event.isPropagationStopped === "function") {
837
- return event.isPropagationStopped();
838
- } else if (typeof event.cancelBubble !== "undefined") {
839
- return event.cancelBubble;
840
- }
841
-
842
- return false;
843
- }
844
- function isEvtWithFiles(event) {
845
- if (!event.dataTransfer) {
846
- return !!event.target && !!event.target.files;
847
- } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types
848
- // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file
849
-
850
-
851
- return Array.prototype.some.call(event.dataTransfer.types, function (type) {
852
- return type === "Files" || type === "application/x-moz-file";
853
- });
854
- }
855
-
856
- function onDocumentDragOver(event) {
857
- event.preventDefault();
858
- }
859
-
860
- function isIe(userAgent) {
861
- return userAgent.indexOf("MSIE") !== -1 || userAgent.indexOf("Trident/") !== -1;
862
- }
863
-
864
- function isEdge(userAgent) {
865
- return userAgent.indexOf("Edge/") !== -1;
866
- }
867
-
868
- function isIeOrEdge() {
869
- var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;
870
- return isIe(userAgent) || isEdge(userAgent);
871
- }
872
- /**
873
- * This is intended to be used to compose event handlers
874
- * They are executed in order until one of them calls `event.isPropagationStopped()`.
875
- * Note that the check is done on the first invoke too,
876
- * meaning that if propagation was stopped before invoking the fns,
877
- * no handlers will be executed.
878
- *
879
- * @param {Function} fns the event hanlder functions
880
- * @return {Function} the event handler to add to an element
881
- */
882
-
883
- function composeEventHandlers() {
884
- for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
885
- fns[_key] = arguments[_key];
886
- }
887
-
888
- return function (event) {
889
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
890
- args[_key2 - 1] = arguments[_key2];
891
- }
892
-
893
- return fns.some(function (fn) {
894
- if (!isPropagationStopped(event) && fn) {
895
- fn.apply(void 0, [event].concat(args));
896
- }
897
-
898
- return isPropagationStopped(event);
899
- });
900
- };
901
- }
902
- /**
903
- * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)
904
- * is supported by the browser.
905
- * @returns {boolean}
906
- */
907
-
908
- function canUseFileSystemAccessAPI() {
909
- return "showOpenFilePicker" in window;
910
- }
911
- /**
912
- * Convert the `{accept}` dropzone prop to the
913
- * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker
914
- *
915
- * @param {AcceptProp} accept
916
- * @returns {{accept: string[]}[]}
917
- */
918
-
919
- function pickerOptionsFromAccept(accept) {
920
- if (isDefined(accept)) {
921
- var acceptForPicker = Object.entries(accept).filter(function (_ref2) {
922
- var _ref3 = _slicedToArray$1(_ref2, 2),
923
- mimeType = _ref3[0],
924
- ext = _ref3[1];
925
-
926
- var ok = true;
927
-
928
- if (!isMIMEType(mimeType)) {
929
- console.warn("Skipped \"".concat(mimeType, "\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types."));
930
- ok = false;
931
- }
932
-
933
- if (!Array.isArray(ext) || !ext.every(isExt)) {
934
- console.warn("Skipped \"".concat(mimeType, "\" because an invalid file extension was provided."));
935
- ok = false;
936
- }
937
-
938
- return ok;
939
- }).reduce(function (agg, _ref4) {
940
- var _ref5 = _slicedToArray$1(_ref4, 2),
941
- mimeType = _ref5[0],
942
- ext = _ref5[1];
943
-
944
- return _objectSpread$b(_objectSpread$b({}, agg), {}, _defineProperty$2({}, mimeType, ext));
945
- }, {});
946
- return [{
947
- // description is required due to https://crbug.com/1264708
948
- description: "Files",
949
- accept: acceptForPicker
950
- }];
951
- }
952
-
953
- return accept;
954
- }
955
- /**
956
- * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.
957
- * @param {AcceptProp} accept
958
- * @returns {string}
959
- */
960
-
961
- function acceptPropAsAcceptAttr(accept) {
962
- if (isDefined(accept)) {
963
- return Object.entries(accept).reduce(function (a, _ref6) {
964
- var _ref7 = _slicedToArray$1(_ref6, 2),
965
- mimeType = _ref7[0],
966
- ext = _ref7[1];
967
-
968
- return [].concat(_toConsumableArray$1(a), [mimeType], _toConsumableArray$1(ext));
969
- }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these
970
- .filter(function (v) {
971
- return isMIMEType(v) || isExt(v);
972
- }).join(",");
973
- }
974
-
975
- return undefined;
976
- }
977
- /**
978
- * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).
979
- *
980
- * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.
981
- * @param {any} v
982
- * @returns {boolean} True if v is an abort exception.
983
- */
984
-
985
- function isAbort(v) {
986
- return v instanceof DOMException && (v.name === "AbortError" || v.code === v.ABORT_ERR);
987
- }
988
- /**
989
- * Check if v is a security error.
990
- *
991
- * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.
992
- * @param {any} v
993
- * @returns {boolean} True if v is a security error.
994
- */
995
-
996
- function isSecurityError(v) {
997
- return v instanceof DOMException && (v.name === "SecurityError" || v.code === v.SECURITY_ERR);
998
- }
999
- /**
1000
- * Check if v is a MIME type string.
1001
- *
1002
- * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.
1003
- *
1004
- * @param {string} v
1005
- */
1006
-
1007
- function isMIMEType(v) {
1008
- return v === "audio/*" || v === "video/*" || v === "image/*" || v === "text/*" || /\w+\/[-+.\w]+/g.test(v);
1009
- }
1010
- /**
1011
- * Check if v is a file extension.
1012
- * @param {string} v
1013
- */
1014
-
1015
- function isExt(v) {
1016
- return /^.*\.[\w]+$/.test(v);
1017
- }
1018
- /**
1019
- * @typedef {Object.<string, string[]>} AcceptProp
1020
- */
1021
-
1022
- /**
1023
- * @typedef {object} FileError
1024
- * @property {string} message
1025
- * @property {ErrorCode|string} code
1026
- */
1027
-
1028
- /**
1029
- * @typedef {"file-invalid-type"|"file-too-large"|"file-too-small"|"too-many-files"} ErrorCode
1030
- */
1031
-
1032
- var _excluded$5 = ["children"],
1033
- _excluded2 = ["open"],
1034
- _excluded3 = ["refKey", "role", "onKeyDown", "onFocus", "onBlur", "onClick", "onDragEnter", "onDragOver", "onDragLeave", "onDrop"],
1035
- _excluded4 = ["refKey", "onChange", "onClick"];
1036
-
1037
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
1038
-
1039
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
1040
-
1041
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
1042
-
1043
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
1044
-
1045
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
1046
-
1047
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
1048
-
1049
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1050
-
1051
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1052
-
1053
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
1054
-
1055
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
1056
-
1057
- function ownKeys$b(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; }
1058
-
1059
- function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1060
-
1061
- function _defineProperty$1(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1062
-
1063
- function _objectWithoutProperties$1(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
1064
-
1065
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
1066
- /**
1067
- * Convenience wrapper component for the `useDropzone` hook
1068
- *
1069
- * ```jsx
1070
- * <Dropzone>
1071
- * {({getRootProps, getInputProps}) => (
1072
- * <div {...getRootProps()}>
1073
- * <input {...getInputProps()} />
1074
- * <p>Drag 'n' drop some files here, or click to select files</p>
1075
- * </div>
1076
- * )}
1077
- * </Dropzone>
1078
- * ```
1079
- */
1080
-
1081
- var Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {
1082
- var children = _ref.children,
1083
- params = _objectWithoutProperties$1(_ref, _excluded$5);
1084
-
1085
- var _useDropzone = useDropzone(params),
1086
- open = _useDropzone.open,
1087
- props = _objectWithoutProperties$1(_useDropzone, _excluded2);
1088
-
1089
- useImperativeHandle(ref, function () {
1090
- return {
1091
- open: open
1092
- };
1093
- }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element
1094
-
1095
- return /*#__PURE__*/require$$0.createElement(Fragment, null, children(_objectSpread$a(_objectSpread$a({}, props), {}, {
1096
- open: open
1097
- })));
1098
- });
1099
- Dropzone.displayName = "Dropzone"; // Add default props for react-docgen
1100
-
1101
- var defaultProps = {
1102
- disabled: false,
1103
- getFilesFromEvent: fromEvent,
1104
- maxSize: Infinity,
1105
- minSize: 0,
1106
- multiple: true,
1107
- maxFiles: 0,
1108
- preventDropOnDocument: true,
1109
- noClick: false,
1110
- noKeyboard: false,
1111
- noDrag: false,
1112
- noDragEventsBubbling: false,
1113
- validator: null,
1114
- useFsAccessApi: true,
1115
- autoFocus: false
1116
- };
1117
- Dropzone.defaultProps = defaultProps;
1118
- Dropzone.propTypes = {
1119
- /**
1120
- * Render function that exposes the dropzone state and prop getter fns
1121
- *
1122
- * @param {object} params
1123
- * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render
1124
- * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render
1125
- * @param {Function} params.open Open the native file selection dialog
1126
- * @param {boolean} params.isFocused Dropzone area is in focus
1127
- * @param {boolean} params.isFileDialogActive File dialog is opened
1128
- * @param {boolean} params.isDragActive Active drag is in progress
1129
- * @param {boolean} params.isDragAccept Dragged files are accepted
1130
- * @param {boolean} params.isDragReject Some dragged files are rejected
1131
- * @param {File[]} params.acceptedFiles Accepted files
1132
- * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected
1133
- */
1134
- children: PropTypes.func,
1135
-
1136
- /**
1137
- * Set accepted file types.
1138
- * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.
1139
- * Keep in mind that mime type determination is not reliable across platforms. CSV files,
1140
- * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
1141
- * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).
1142
- */
1143
- accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),
1144
-
1145
- /**
1146
- * Allow drag 'n' drop (or selection from the file dialog) of multiple files
1147
- */
1148
- multiple: PropTypes.bool,
1149
-
1150
- /**
1151
- * If false, allow dropped items to take over the current browser window
1152
- */
1153
- preventDropOnDocument: PropTypes.bool,
1154
-
1155
- /**
1156
- * If true, disables click to open the native file selection dialog
1157
- */
1158
- noClick: PropTypes.bool,
1159
-
1160
- /**
1161
- * If true, disables SPACE/ENTER to open the native file selection dialog.
1162
- * Note that it also stops tracking the focus state.
1163
- */
1164
- noKeyboard: PropTypes.bool,
1165
-
1166
- /**
1167
- * If true, disables drag 'n' drop
1168
- */
1169
- noDrag: PropTypes.bool,
1170
-
1171
- /**
1172
- * If true, stops drag event propagation to parents
1173
- */
1174
- noDragEventsBubbling: PropTypes.bool,
1175
-
1176
- /**
1177
- * Minimum file size (in bytes)
1178
- */
1179
- minSize: PropTypes.number,
1180
-
1181
- /**
1182
- * Maximum file size (in bytes)
1183
- */
1184
- maxSize: PropTypes.number,
1185
-
1186
- /**
1187
- * Maximum accepted number of files
1188
- * The default value is 0 which means there is no limitation to how many files are accepted.
1189
- */
1190
- maxFiles: PropTypes.number,
1191
-
1192
- /**
1193
- * Enable/disable the dropzone
1194
- */
1195
- disabled: PropTypes.bool,
1196
-
1197
- /**
1198
- * Use this to provide a custom file aggregator
1199
- *
1200
- * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
1201
- */
1202
- getFilesFromEvent: PropTypes.func,
1203
-
1204
- /**
1205
- * Cb for when closing the file dialog with no selection
1206
- */
1207
- onFileDialogCancel: PropTypes.func,
1208
-
1209
- /**
1210
- * Cb for when opening the file dialog
1211
- */
1212
- onFileDialogOpen: PropTypes.func,
1213
-
1214
- /**
1215
- * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
1216
- * to open the file picker instead of using an `<input type="file">` click event.
1217
- */
1218
- useFsAccessApi: PropTypes.bool,
1219
-
1220
- /**
1221
- * Set to true to focus the root element on render
1222
- */
1223
- autoFocus: PropTypes.bool,
1224
-
1225
- /**
1226
- * Cb for when the `dragenter` event occurs.
1227
- *
1228
- * @param {DragEvent} event
1229
- */
1230
- onDragEnter: PropTypes.func,
1231
-
1232
- /**
1233
- * Cb for when the `dragleave` event occurs
1234
- *
1235
- * @param {DragEvent} event
1236
- */
1237
- onDragLeave: PropTypes.func,
1238
-
1239
- /**
1240
- * Cb for when the `dragover` event occurs
1241
- *
1242
- * @param {DragEvent} event
1243
- */
1244
- onDragOver: PropTypes.func,
1245
-
1246
- /**
1247
- * Cb for when the `drop` event occurs.
1248
- * Note that this callback is invoked after the `getFilesFromEvent` callback is done.
1249
- *
1250
- * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
1251
- * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.
1252
- * If `multiple` is set to false and additional files are dropped,
1253
- * all files besides the first will be rejected.
1254
- * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
1255
- *
1256
- * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
1257
- * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
1258
- *
1259
- * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.
1260
- * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
1261
- *
1262
- * ```js
1263
- * function onDrop(acceptedFiles) {
1264
- * const req = request.post('/upload')
1265
- * acceptedFiles.forEach(file => {
1266
- * req.attach(file.name, file)
1267
- * })
1268
- * req.end(callback)
1269
- * }
1270
- * ```
1271
- *
1272
- * @param {File[]} acceptedFiles
1273
- * @param {FileRejection[]} fileRejections
1274
- * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
1275
- */
1276
- onDrop: PropTypes.func,
1277
-
1278
- /**
1279
- * Cb for when the `drop` event occurs.
1280
- * Note that if no files are accepted, this callback is not invoked.
1281
- *
1282
- * @param {File[]} files
1283
- * @param {(DragEvent|Event)} event
1284
- */
1285
- onDropAccepted: PropTypes.func,
1286
-
1287
- /**
1288
- * Cb for when the `drop` event occurs.
1289
- * Note that if no files are rejected, this callback is not invoked.
1290
- *
1291
- * @param {FileRejection[]} fileRejections
1292
- * @param {(DragEvent|Event)} event
1293
- */
1294
- onDropRejected: PropTypes.func,
1295
-
1296
- /**
1297
- * Cb for when there's some error from any of the promises.
1298
- *
1299
- * @param {Error} error
1300
- */
1301
- onError: PropTypes.func,
1302
-
1303
- /**
1304
- * Custom validation function. It must return null if there's no errors.
1305
- * @param {File} file
1306
- * @returns {FileError|FileError[]|null}
1307
- */
1308
- validator: PropTypes.func
1309
- };
1310
- /**
1311
- * A function that is invoked for the `dragenter`,
1312
- * `dragover` and `dragleave` events.
1313
- * It is not invoked if the items are not files (such as link, text, etc.).
1314
- *
1315
- * @callback dragCb
1316
- * @param {DragEvent} event
1317
- */
1318
-
1319
- /**
1320
- * A function that is invoked for the `drop` or input change event.
1321
- * It is not invoked if the items are not files (such as link, text, etc.).
1322
- *
1323
- * @callback dropCb
1324
- * @param {File[]} acceptedFiles List of accepted files
1325
- * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected
1326
- * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
1327
- */
1328
-
1329
- /**
1330
- * A function that is invoked for the `drop` or input change event.
1331
- * It is not invoked if the items are files (such as link, text, etc.).
1332
- *
1333
- * @callback dropAcceptedCb
1334
- * @param {File[]} files List of accepted files that meet the given criteria
1335
- * (`accept`, `multiple`, `minSize`, `maxSize`)
1336
- * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
1337
- */
1338
-
1339
- /**
1340
- * A function that is invoked for the `drop` or input change event.
1341
- *
1342
- * @callback dropRejectedCb
1343
- * @param {File[]} files List of rejected files that do not meet the given criteria
1344
- * (`accept`, `multiple`, `minSize`, `maxSize`)
1345
- * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
1346
- */
1347
-
1348
- /**
1349
- * A function that is used aggregate files,
1350
- * in a asynchronous fashion, from drag or input change events.
1351
- *
1352
- * @callback getFilesFromEvent
1353
- * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
1354
- * @returns {(File[]|Promise<File[]>)}
1355
- */
1356
-
1357
- /**
1358
- * An object with the current dropzone state.
1359
- *
1360
- * @typedef {object} DropzoneState
1361
- * @property {boolean} isFocused Dropzone area is in focus
1362
- * @property {boolean} isFileDialogActive File dialog is opened
1363
- * @property {boolean} isDragActive Active drag is in progress
1364
- * @property {boolean} isDragAccept Dragged files are accepted
1365
- * @property {boolean} isDragReject Some dragged files are rejected
1366
- * @property {File[]} acceptedFiles Accepted files
1367
- * @property {FileRejection[]} fileRejections Rejected files and why they were rejected
1368
- */
1369
-
1370
- /**
1371
- * An object with the dropzone methods.
1372
- *
1373
- * @typedef {object} DropzoneMethods
1374
- * @property {Function} getRootProps Returns the props you should apply to the root drop container you render
1375
- * @property {Function} getInputProps Returns the props you should apply to hidden file input you render
1376
- * @property {Function} open Open the native file selection dialog
1377
- */
1378
-
1379
- var initialState = {
1380
- isFocused: false,
1381
- isFileDialogActive: false,
1382
- isDragActive: false,
1383
- isDragAccept: false,
1384
- isDragReject: false,
1385
- acceptedFiles: [],
1386
- fileRejections: []
1387
- };
1388
- /**
1389
- * A React hook that creates a drag 'n' drop area.
1390
- *
1391
- * ```jsx
1392
- * function MyDropzone(props) {
1393
- * const {getRootProps, getInputProps} = useDropzone({
1394
- * onDrop: acceptedFiles => {
1395
- * // do something with the File objects, e.g. upload to some server
1396
- * }
1397
- * });
1398
- * return (
1399
- * <div {...getRootProps()}>
1400
- * <input {...getInputProps()} />
1401
- * <p>Drag and drop some files here, or click to select files</p>
1402
- * </div>
1403
- * )
1404
- * }
1405
- * ```
1406
- *
1407
- * @function useDropzone
1408
- *
1409
- * @param {object} props
1410
- * @param {import("./utils").AcceptProp} [props.accept] Set accepted file types.
1411
- * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.
1412
- * Keep in mind that mime type determination is not reliable across platforms. CSV files,
1413
- * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
1414
- * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).
1415
- * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files
1416
- * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window
1417
- * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog
1418
- * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.
1419
- * Note that it also stops tracking the focus state.
1420
- * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop
1421
- * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents
1422
- * @param {number} [props.minSize=0] Minimum file size (in bytes)
1423
- * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)
1424
- * @param {boolean} [props.disabled=false] Enable/disable the dropzone
1425
- * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator
1426
- * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection
1427
- * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
1428
- * to open the file picker instead of using an `<input type="file">` click event.
1429
- * @param {boolean} autoFocus Set to true to auto focus the root element.
1430
- * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog
1431
- * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.
1432
- * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs
1433
- * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs
1434
- * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.
1435
- * Note that this callback is invoked after the `getFilesFromEvent` callback is done.
1436
- *
1437
- * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
1438
- * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).
1439
- * If `multiple` is set to false and additional files are dropped,
1440
- * all files besides the first will be rejected.
1441
- * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
1442
- *
1443
- * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
1444
- * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
1445
- *
1446
- * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.
1447
- * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
1448
- *
1449
- * ```js
1450
- * function onDrop(acceptedFiles) {
1451
- * const req = request.post('/upload')
1452
- * acceptedFiles.forEach(file => {
1453
- * req.attach(file.name, file)
1454
- * })
1455
- * req.end(callback)
1456
- * }
1457
- * ```
1458
- * @param {dropAcceptedCb} [props.onDropAccepted]
1459
- * @param {dropRejectedCb} [props.onDropRejected]
1460
- * @param {(error: Error) => void} [props.onError]
1461
- *
1462
- * @returns {DropzoneState & DropzoneMethods}
1463
- */
1464
-
1465
- function useDropzone() {
1466
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1467
-
1468
- var _defaultProps$props = _objectSpread$a(_objectSpread$a({}, defaultProps), props),
1469
- accept = _defaultProps$props.accept,
1470
- disabled = _defaultProps$props.disabled,
1471
- getFilesFromEvent = _defaultProps$props.getFilesFromEvent,
1472
- maxSize = _defaultProps$props.maxSize,
1473
- minSize = _defaultProps$props.minSize,
1474
- multiple = _defaultProps$props.multiple,
1475
- maxFiles = _defaultProps$props.maxFiles,
1476
- onDragEnter = _defaultProps$props.onDragEnter,
1477
- onDragLeave = _defaultProps$props.onDragLeave,
1478
- onDragOver = _defaultProps$props.onDragOver,
1479
- onDrop = _defaultProps$props.onDrop,
1480
- onDropAccepted = _defaultProps$props.onDropAccepted,
1481
- onDropRejected = _defaultProps$props.onDropRejected,
1482
- onFileDialogCancel = _defaultProps$props.onFileDialogCancel,
1483
- onFileDialogOpen = _defaultProps$props.onFileDialogOpen,
1484
- useFsAccessApi = _defaultProps$props.useFsAccessApi,
1485
- autoFocus = _defaultProps$props.autoFocus,
1486
- preventDropOnDocument = _defaultProps$props.preventDropOnDocument,
1487
- noClick = _defaultProps$props.noClick,
1488
- noKeyboard = _defaultProps$props.noKeyboard,
1489
- noDrag = _defaultProps$props.noDrag,
1490
- noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,
1491
- onError = _defaultProps$props.onError,
1492
- validator = _defaultProps$props.validator;
1493
-
1494
- var acceptAttr = useMemo(function () {
1495
- return acceptPropAsAcceptAttr(accept);
1496
- }, [accept]);
1497
- var pickerTypes = useMemo(function () {
1498
- return pickerOptionsFromAccept(accept);
1499
- }, [accept]);
1500
- var onFileDialogOpenCb = useMemo(function () {
1501
- return typeof onFileDialogOpen === "function" ? onFileDialogOpen : noop;
1502
- }, [onFileDialogOpen]);
1503
- var onFileDialogCancelCb = useMemo(function () {
1504
- return typeof onFileDialogCancel === "function" ? onFileDialogCancel : noop;
1505
- }, [onFileDialogCancel]);
1506
- /**
1507
- * @constant
1508
- * @type {React.MutableRefObject<HTMLElement>}
1509
- */
1510
-
1511
- var rootRef = useRef(null);
1512
- var inputRef = useRef(null);
1513
-
1514
- var _useReducer = useReducer(reducer, initialState),
1515
- _useReducer2 = _slicedToArray(_useReducer, 2),
1516
- state = _useReducer2[0],
1517
- dispatch = _useReducer2[1];
1518
-
1519
- var isFocused = state.isFocused,
1520
- isFileDialogActive = state.isFileDialogActive;
1521
- var fsAccessApiWorksRef = useRef(typeof window !== "undefined" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on
1522
-
1523
- var onWindowFocus = function onWindowFocus() {
1524
- // Execute the timeout only if the file dialog is opened in the browser
1525
- if (!fsAccessApiWorksRef.current && isFileDialogActive) {
1526
- setTimeout(function () {
1527
- if (inputRef.current) {
1528
- var files = inputRef.current.files;
1529
-
1530
- if (!files.length) {
1531
- dispatch({
1532
- type: "closeDialog"
1533
- });
1534
- onFileDialogCancelCb();
1535
- }
1536
- }
1537
- }, 300);
1538
- }
1539
- };
1540
-
1541
- useEffect(function () {
1542
- window.addEventListener("focus", onWindowFocus, false);
1543
- return function () {
1544
- window.removeEventListener("focus", onWindowFocus, false);
1545
- };
1546
- }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);
1547
- var dragTargetsRef = useRef([]);
1548
-
1549
- var onDocumentDrop = function onDocumentDrop(event) {
1550
- if (rootRef.current && rootRef.current.contains(event.target)) {
1551
- // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler
1552
- return;
1553
- }
1554
-
1555
- event.preventDefault();
1556
- dragTargetsRef.current = [];
1557
- };
1558
-
1559
- useEffect(function () {
1560
- if (preventDropOnDocument) {
1561
- document.addEventListener("dragover", onDocumentDragOver, false);
1562
- document.addEventListener("drop", onDocumentDrop, false);
1563
- }
1564
-
1565
- return function () {
1566
- if (preventDropOnDocument) {
1567
- document.removeEventListener("dragover", onDocumentDragOver);
1568
- document.removeEventListener("drop", onDocumentDrop);
1569
- }
1570
- };
1571
- }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true
1572
-
1573
- useEffect(function () {
1574
- if (!disabled && autoFocus && rootRef.current) {
1575
- rootRef.current.focus();
1576
- }
1577
-
1578
- return function () {};
1579
- }, [rootRef, autoFocus, disabled]);
1580
- var onErrCb = useCallback(function (e) {
1581
- if (onError) {
1582
- onError(e);
1583
- } else {
1584
- // Let the user know something's gone wrong if they haven't provided the onError cb.
1585
- console.error(e);
1586
- }
1587
- }, [onError]);
1588
- var onDragEnterCb = useCallback(function (event) {
1589
- event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
1590
-
1591
- event.persist();
1592
- stopPropagation(event);
1593
- dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);
1594
-
1595
- if (isEvtWithFiles(event)) {
1596
- Promise.resolve(getFilesFromEvent(event)).then(function (files) {
1597
- if (isPropagationStopped(event) && !noDragEventsBubbling) {
1598
- return;
1599
- }
1600
-
1601
- var fileCount = files.length;
1602
- var isDragAccept = fileCount > 0 && allFilesAccepted({
1603
- files: files,
1604
- accept: acceptAttr,
1605
- minSize: minSize,
1606
- maxSize: maxSize,
1607
- multiple: multiple,
1608
- maxFiles: maxFiles,
1609
- validator: validator
1610
- });
1611
- var isDragReject = fileCount > 0 && !isDragAccept;
1612
- dispatch({
1613
- isDragAccept: isDragAccept,
1614
- isDragReject: isDragReject,
1615
- isDragActive: true,
1616
- type: "setDraggedFiles"
1617
- });
1618
-
1619
- if (onDragEnter) {
1620
- onDragEnter(event);
1621
- }
1622
- }).catch(function (e) {
1623
- return onErrCb(e);
1624
- });
1625
- }
1626
- }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);
1627
- var onDragOverCb = useCallback(function (event) {
1628
- event.preventDefault();
1629
- event.persist();
1630
- stopPropagation(event);
1631
- var hasFiles = isEvtWithFiles(event);
1632
-
1633
- if (hasFiles && event.dataTransfer) {
1634
- try {
1635
- event.dataTransfer.dropEffect = "copy";
1636
- } catch (_unused) {}
1637
- /* eslint-disable-line no-empty */
1638
-
1639
- }
1640
-
1641
- if (hasFiles && onDragOver) {
1642
- onDragOver(event);
1643
- }
1644
-
1645
- return false;
1646
- }, [onDragOver, noDragEventsBubbling]);
1647
- var onDragLeaveCb = useCallback(function (event) {
1648
- event.preventDefault();
1649
- event.persist();
1650
- stopPropagation(event); // Only deactivate once the dropzone and all children have been left
1651
-
1652
- var targets = dragTargetsRef.current.filter(function (target) {
1653
- return rootRef.current && rootRef.current.contains(target);
1654
- }); // Make sure to remove a target present multiple times only once
1655
- // (Firefox may fire dragenter/dragleave multiple times on the same element)
1656
-
1657
- var targetIdx = targets.indexOf(event.target);
1658
-
1659
- if (targetIdx !== -1) {
1660
- targets.splice(targetIdx, 1);
1661
- }
1662
-
1663
- dragTargetsRef.current = targets;
1664
-
1665
- if (targets.length > 0) {
1666
- return;
1667
- }
1668
-
1669
- dispatch({
1670
- type: "setDraggedFiles",
1671
- isDragActive: false,
1672
- isDragAccept: false,
1673
- isDragReject: false
1674
- });
1675
-
1676
- if (isEvtWithFiles(event) && onDragLeave) {
1677
- onDragLeave(event);
1678
- }
1679
- }, [rootRef, onDragLeave, noDragEventsBubbling]);
1680
- var setFiles = useCallback(function (files, event) {
1681
- var acceptedFiles = [];
1682
- var fileRejections = [];
1683
- files.forEach(function (file) {
1684
- var _fileAccepted = fileAccepted(file, acceptAttr),
1685
- _fileAccepted2 = _slicedToArray(_fileAccepted, 2),
1686
- accepted = _fileAccepted2[0],
1687
- acceptError = _fileAccepted2[1];
1688
-
1689
- var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
1690
- _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),
1691
- sizeMatch = _fileMatchSize2[0],
1692
- sizeError = _fileMatchSize2[1];
1693
-
1694
- var customErrors = validator ? validator(file) : null;
1695
-
1696
- if (accepted && sizeMatch && !customErrors) {
1697
- acceptedFiles.push(file);
1698
- } else {
1699
- var errors = [acceptError, sizeError];
1700
-
1701
- if (customErrors) {
1702
- errors = errors.concat(customErrors);
1703
- }
1704
-
1705
- fileRejections.push({
1706
- file: file,
1707
- errors: errors.filter(function (e) {
1708
- return e;
1709
- })
1710
- });
1711
- }
1712
- });
1713
-
1714
- if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {
1715
- // Reject everything and empty accepted files
1716
- acceptedFiles.forEach(function (file) {
1717
- fileRejections.push({
1718
- file: file,
1719
- errors: [TOO_MANY_FILES_REJECTION]
1720
- });
1721
- });
1722
- acceptedFiles.splice(0);
1723
- }
1724
-
1725
- dispatch({
1726
- acceptedFiles: acceptedFiles,
1727
- fileRejections: fileRejections,
1728
- type: "setFiles"
1729
- });
1730
-
1731
- if (onDrop) {
1732
- onDrop(acceptedFiles, fileRejections, event);
1733
- }
1734
-
1735
- if (fileRejections.length > 0 && onDropRejected) {
1736
- onDropRejected(fileRejections, event);
1737
- }
1738
-
1739
- if (acceptedFiles.length > 0 && onDropAccepted) {
1740
- onDropAccepted(acceptedFiles, event);
1741
- }
1742
- }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);
1743
- var onDropCb = useCallback(function (event) {
1744
- event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
1745
-
1746
- event.persist();
1747
- stopPropagation(event);
1748
- dragTargetsRef.current = [];
1749
-
1750
- if (isEvtWithFiles(event)) {
1751
- Promise.resolve(getFilesFromEvent(event)).then(function (files) {
1752
- if (isPropagationStopped(event) && !noDragEventsBubbling) {
1753
- return;
1754
- }
1755
-
1756
- setFiles(files, event);
1757
- }).catch(function (e) {
1758
- return onErrCb(e);
1759
- });
1760
- }
1761
-
1762
- dispatch({
1763
- type: "reset"
1764
- });
1765
- }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically
1766
-
1767
- var openFileDialog = useCallback(function () {
1768
- // No point to use FS access APIs if context is not secure
1769
- // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection
1770
- if (fsAccessApiWorksRef.current) {
1771
- dispatch({
1772
- type: "openDialog"
1773
- });
1774
- onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker
1775
-
1776
- var opts = {
1777
- multiple: multiple,
1778
- types: pickerTypes
1779
- };
1780
- window.showOpenFilePicker(opts).then(function (handles) {
1781
- return getFilesFromEvent(handles);
1782
- }).then(function (files) {
1783
- setFiles(files, null);
1784
- dispatch({
1785
- type: "closeDialog"
1786
- });
1787
- }).catch(function (e) {
1788
- // AbortError means the user canceled
1789
- if (isAbort(e)) {
1790
- onFileDialogCancelCb(e);
1791
- dispatch({
1792
- type: "closeDialog"
1793
- });
1794
- } else if (isSecurityError(e)) {
1795
- fsAccessApiWorksRef.current = false; // CORS, so cannot use this API
1796
- // Try using the input
1797
-
1798
- if (inputRef.current) {
1799
- inputRef.current.value = null;
1800
- inputRef.current.click();
1801
- } else {
1802
- onErrCb(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided."));
1803
- }
1804
- } else {
1805
- onErrCb(e);
1806
- }
1807
- });
1808
- return;
1809
- }
1810
-
1811
- if (inputRef.current) {
1812
- dispatch({
1813
- type: "openDialog"
1814
- });
1815
- onFileDialogOpenCb();
1816
- inputRef.current.value = null;
1817
- inputRef.current.click();
1818
- }
1819
- }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone
1820
-
1821
- var onKeyDownCb = useCallback(function (event) {
1822
- // Ignore keyboard events bubbling up the DOM tree
1823
- if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {
1824
- return;
1825
- }
1826
-
1827
- if (event.key === " " || event.key === "Enter" || event.keyCode === 32 || event.keyCode === 13) {
1828
- event.preventDefault();
1829
- openFileDialog();
1830
- }
1831
- }, [rootRef, openFileDialog]); // Update focus state for the dropzone
1832
-
1833
- var onFocusCb = useCallback(function () {
1834
- dispatch({
1835
- type: "focus"
1836
- });
1837
- }, []);
1838
- var onBlurCb = useCallback(function () {
1839
- dispatch({
1840
- type: "blur"
1841
- });
1842
- }, []); // Cb to open the file dialog when click occurs on the dropzone
1843
-
1844
- var onClickCb = useCallback(function () {
1845
- if (noClick) {
1846
- return;
1847
- } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()
1848
- // to ensure React can handle state changes
1849
- // See: https://github.com/react-dropzone/react-dropzone/issues/450
1850
-
1851
-
1852
- if (isIeOrEdge()) {
1853
- setTimeout(openFileDialog, 0);
1854
- } else {
1855
- openFileDialog();
1856
- }
1857
- }, [noClick, openFileDialog]);
1858
-
1859
- var composeHandler = function composeHandler(fn) {
1860
- return disabled ? null : fn;
1861
- };
1862
-
1863
- var composeKeyboardHandler = function composeKeyboardHandler(fn) {
1864
- return noKeyboard ? null : composeHandler(fn);
1865
- };
1866
-
1867
- var composeDragHandler = function composeDragHandler(fn) {
1868
- return noDrag ? null : composeHandler(fn);
1869
- };
1870
-
1871
- var stopPropagation = function stopPropagation(event) {
1872
- if (noDragEventsBubbling) {
1873
- event.stopPropagation();
1874
- }
1875
- };
1876
-
1877
- var getRootProps = useMemo(function () {
1878
- return function () {
1879
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1880
- _ref2$refKey = _ref2.refKey,
1881
- refKey = _ref2$refKey === void 0 ? "ref" : _ref2$refKey,
1882
- role = _ref2.role,
1883
- onKeyDown = _ref2.onKeyDown,
1884
- onFocus = _ref2.onFocus,
1885
- onBlur = _ref2.onBlur,
1886
- onClick = _ref2.onClick,
1887
- onDragEnter = _ref2.onDragEnter,
1888
- onDragOver = _ref2.onDragOver,
1889
- onDragLeave = _ref2.onDragLeave,
1890
- onDrop = _ref2.onDrop,
1891
- rest = _objectWithoutProperties$1(_ref2, _excluded3);
1892
-
1893
- return _objectSpread$a(_objectSpread$a(_defineProperty$1({
1894
- onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),
1895
- onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),
1896
- onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),
1897
- onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),
1898
- onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),
1899
- onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),
1900
- onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),
1901
- onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),
1902
- role: typeof role === "string" && role !== "" ? role : "presentation"
1903
- }, refKey, rootRef), !disabled && !noKeyboard ? {
1904
- tabIndex: 0
1905
- } : {}), rest);
1906
- };
1907
- }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);
1908
- var onInputElementClick = useCallback(function (event) {
1909
- event.stopPropagation();
1910
- }, []);
1911
- var getInputProps = useMemo(function () {
1912
- return function () {
1913
- var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1914
- _ref3$refKey = _ref3.refKey,
1915
- refKey = _ref3$refKey === void 0 ? "ref" : _ref3$refKey,
1916
- onChange = _ref3.onChange,
1917
- onClick = _ref3.onClick,
1918
- rest = _objectWithoutProperties$1(_ref3, _excluded4);
1919
-
1920
- var inputProps = _defineProperty$1({
1921
- accept: acceptAttr,
1922
- multiple: multiple,
1923
- type: "file",
1924
- style: {
1925
- display: "none"
1926
- },
1927
- onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),
1928
- onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),
1929
- tabIndex: -1
1930
- }, refKey, inputRef);
1931
-
1932
- return _objectSpread$a(_objectSpread$a({}, inputProps), rest);
1933
- };
1934
- }, [inputRef, accept, multiple, onDropCb, disabled]);
1935
- return _objectSpread$a(_objectSpread$a({}, state), {}, {
1936
- isFocused: isFocused && !disabled,
1937
- getRootProps: getRootProps,
1938
- getInputProps: getInputProps,
1939
- rootRef: rootRef,
1940
- inputRef: inputRef,
1941
- open: composeHandler(openFileDialog)
1942
- });
1943
- }
1944
- /**
1945
- * @param {DropzoneState} state
1946
- * @param {{type: string} & DropzoneState} action
1947
- * @returns {DropzoneState}
1948
- */
1949
-
1950
- function reducer(state, action) {
1951
- /* istanbul ignore next */
1952
- switch (action.type) {
1953
- case "focus":
1954
- return _objectSpread$a(_objectSpread$a({}, state), {}, {
1955
- isFocused: true
1956
- });
1957
-
1958
- case "blur":
1959
- return _objectSpread$a(_objectSpread$a({}, state), {}, {
1960
- isFocused: false
1961
- });
1962
-
1963
- case "openDialog":
1964
- return _objectSpread$a(_objectSpread$a({}, initialState), {}, {
1965
- isFileDialogActive: true
1966
- });
1967
-
1968
- case "closeDialog":
1969
- return _objectSpread$a(_objectSpread$a({}, state), {}, {
1970
- isFileDialogActive: false
1971
- });
1972
-
1973
- case "setDraggedFiles":
1974
- return _objectSpread$a(_objectSpread$a({}, state), {}, {
1975
- isDragActive: action.isDragActive,
1976
- isDragAccept: action.isDragAccept,
1977
- isDragReject: action.isDragReject
1978
- });
1979
-
1980
- case "setFiles":
1981
- return _objectSpread$a(_objectSpread$a({}, state), {}, {
1982
- acceptedFiles: action.acceptedFiles,
1983
- fileRejections: action.fileRejections
1984
- });
1985
-
1986
- case "reset":
1987
- return _objectSpread$a({}, initialState);
1988
-
1989
- default:
1990
- return state;
1991
- }
1992
- }
1993
-
1994
- function noop() {}
1995
-
1996
177
  var DROPZONE_ROOT_DIV_CLASSNAME = "neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out";
1997
178
  var FILE_ERRORS = {
1998
179
  "file-invalid-type": t$1("neetoImageUploader.imageUpload.fileTypeError"),
@@ -2017,7 +198,7 @@ var useUploadDropzone = function useUploadDropzone(_ref) {
2017
198
  } : _ref$uploadConfig,
2018
199
  _onDrop = _ref.onDrop;
2019
200
  var _useState = useState(0),
2020
- _useState2 = _slicedToArray$2(_useState, 2),
201
+ _useState2 = _slicedToArray(_useState, 2),
2021
202
  uploadProgress = _useState2[0],
2022
203
  setUploadProgress = _useState2[1];
2023
204
  var _useDropzone = useDropzone({
@@ -2063,12 +244,12 @@ var ProgressBar = function ProgressBar(_ref) {
2063
244
  };
2064
245
 
2065
246
  function ownKeys$a(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2066
- function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
247
+ function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2067
248
  var ImageDirectUpload = function ImageDirectUpload(_ref) {
2068
249
  var _ref$uploadConfig = _ref.uploadConfig,
2069
250
  uploadConfig = _ref$uploadConfig === void 0 ? DEFAULT_UPLOAD_CONFIG : _ref$uploadConfig,
2070
251
  _ref$onDrop = _ref.onDrop,
2071
- onDrop = _ref$onDrop === void 0 ? noop$1 : _ref$onDrop,
252
+ onDrop = _ref$onDrop === void 0 ? noop : _ref$onDrop,
2072
253
  _ref$isDisabled = _ref.isDisabled,
2073
254
  isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2074
255
  setIsAssetLibraryOpen = _ref.setIsAssetLibraryOpen;
@@ -2141,28 +322,28 @@ var ImageDirectUpload = function ImageDirectUpload(_ref) {
2141
322
 
2142
323
  var _excluded$4 = ["className"];
2143
324
  function ownKeys$9(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2144
- function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
325
+ function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2145
326
  var ImagePlaceholder = function ImagePlaceholder(_ref) {
2146
327
  var _ref$className = _ref.className,
2147
328
  className = _ref$className === void 0 ? "" : _ref$className,
2148
- props = _objectWithoutProperties$2(_ref, _excluded$4);
329
+ props = _objectWithoutProperties$1(_ref, _excluded$4);
2149
330
  return /*#__PURE__*/jsx("div", _objectSpread$8({
2150
- className: classnames("neeto-ui-bg-gray-200", _defineProperty$3({}, className, className))
331
+ className: classnames("neeto-ui-bg-gray-200", _defineProperty$1({}, className, className))
2151
332
  }, props));
2152
333
  };
2153
334
 
2154
335
  var _excluded$3 = ["src", "className", "fallback"];
2155
336
  function ownKeys$8(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2156
- function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
337
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2157
338
  var ImageWithFallback = function ImageWithFallback(_ref) {
2158
339
  var src = _ref.src,
2159
340
  _ref$className = _ref.className,
2160
341
  className = _ref$className === void 0 ? "h-full w-full" : _ref$className,
2161
342
  _ref$fallback = _ref.fallback,
2162
343
  Fallback = _ref$fallback === void 0 ? ImagePlaceholder : _ref$fallback,
2163
- props = _objectWithoutProperties$2(_ref, _excluded$3);
344
+ props = _objectWithoutProperties$1(_ref, _excluded$3);
2164
345
  var _useState = useState(false),
2165
- _useState2 = _slicedToArray$2(_useState, 2),
346
+ _useState2 = _slicedToArray(_useState, 2),
2166
347
  isLoaded = _useState2[0],
2167
348
  setIsLoaded = _useState2[1];
2168
349
  useEffect(function () {
@@ -2207,7 +388,7 @@ var OPTIONS = [{
2207
388
  label: i18next.t("neetoImageUploader.labels.uploadNewImage"),
2208
389
  "data-cy": "upload-new-asset",
2209
390
  style: "primary",
2210
- onClick: noop$1
391
+ onClick: noop
2211
392
  }];
2212
393
  var DEFAULT_CROP_CONFIG = {
2213
394
  unit: "px",
@@ -2886,7 +1067,7 @@ var isItemsCenter = function isItemsCenter(_ref4) {
2886
1067
 
2887
1068
  var _excluded$2 = ["src", "className", "imageFallbackProps", "onDrop", "isDisabled", "onRemove"];
2888
1069
  function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2889
- function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1070
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2890
1071
  var BasicImageUploader = function BasicImageUploader(_ref) {
2891
1072
  var _ref$src = _ref.src,
2892
1073
  src = _ref$src === void 0 ? "" : _ref$src,
@@ -2898,12 +1079,12 @@ var BasicImageUploader = function BasicImageUploader(_ref) {
2898
1079
  className: "h-full w-full"
2899
1080
  } : _ref$imageFallbackPro,
2900
1081
  _ref$onDrop = _ref.onDrop,
2901
- onDrop = _ref$onDrop === void 0 ? noop$1 : _ref$onDrop,
1082
+ onDrop = _ref$onDrop === void 0 ? noop : _ref$onDrop,
2902
1083
  _ref$isDisabled = _ref.isDisabled,
2903
1084
  isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
2904
1085
  _ref$onRemove = _ref.onRemove,
2905
- onRemove = _ref$onRemove === void 0 ? noop$1 : _ref$onRemove,
2906
- props = _objectWithoutProperties$2(_ref, _excluded$2);
1086
+ onRemove = _ref$onRemove === void 0 ? noop : _ref$onRemove,
1087
+ props = _objectWithoutProperties$1(_ref, _excluded$2);
2907
1088
  return /*#__PURE__*/jsx("div", {
2908
1089
  className: classnames(className, {
2909
1090
  "cursor-pointer": true,
@@ -2961,7 +1142,7 @@ var ASSETS_STALE_TIME = 900000; // 15 mins
2961
1142
  var UNSPLASH_STALE_TIME = 900000;
2962
1143
 
2963
1144
  function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2964
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1145
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2965
1146
  var useCreateBlob = function useCreateBlob(options) {
2966
1147
  return useMutationWithInvalidation(directUploadsApi.create, _objectSpread$5({
2967
1148
  keysToInvalidate: [QUERY_KEYS.ASSETS_LIST]
@@ -2999,6 +1180,37 @@ function _asyncToGenerator(fn) {
2999
1180
  };
3000
1181
  }
3001
1182
 
1183
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
1184
+
1185
+ function getDefaultExportFromCjs (x) {
1186
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
1187
+ }
1188
+
1189
+ function getAugmentedNamespace(n) {
1190
+ if (n.__esModule) return n;
1191
+ var f = n.default;
1192
+ if (typeof f == "function") {
1193
+ var a = function a () {
1194
+ if (this instanceof a) {
1195
+ return Reflect.construct(f, arguments, this.constructor);
1196
+ }
1197
+ return f.apply(this, arguments);
1198
+ };
1199
+ a.prototype = f.prototype;
1200
+ } else a = {};
1201
+ Object.defineProperty(a, '__esModule', {value: true});
1202
+ Object.keys(n).forEach(function (k) {
1203
+ var d = Object.getOwnPropertyDescriptor(n, k);
1204
+ Object.defineProperty(a, k, d.get ? d : {
1205
+ enumerable: true,
1206
+ get: function () {
1207
+ return n[k];
1208
+ }
1209
+ });
1210
+ });
1211
+ return a;
1212
+ }
1213
+
3002
1214
  var regeneratorRuntime$1 = {exports: {}};
3003
1215
 
3004
1216
  var _typeof = {exports: {}};
@@ -3358,9 +1570,9 @@ var generateASCIIFileName = function generateASCIIFileName(originalFileName) {
3358
1570
 
3359
1571
  var useImageUploader = function useImageUploader(_ref) {
3360
1572
  var _ref$onUploadComplete = _ref.onUploadComplete,
3361
- onUploadComplete = _ref$onUploadComplete === void 0 ? noop$1 : _ref$onUploadComplete,
1573
+ onUploadComplete = _ref$onUploadComplete === void 0 ? noop : _ref$onUploadComplete,
3362
1574
  _ref$setIsUploading = _ref.setIsUploading,
3363
- setIsUploading = _ref$setIsUploading === void 0 ? noop$1 : _ref$setIsUploading;
1575
+ setIsUploading = _ref$setIsUploading === void 0 ? noop : _ref$setIsUploading;
3364
1576
  var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
3365
1577
  var handleUploadProgress = function handleUploadProgress(e, fileSize, setUploadProgress) {
3366
1578
  if (e.loaded <= fileSize) {
@@ -3514,7 +1726,7 @@ var developmentApi = {
3514
1726
  };
3515
1727
 
3516
1728
  function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3517
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1729
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3518
1730
  var useCropImage = function useCropImage(options) {
3519
1731
  return useMutation(_objectSpread$4({
3520
1732
  mutationFn: developmentApi.cropImage
@@ -3657,11 +1869,11 @@ var Controls = function Controls(_ref) {
3657
1869
  return cropHeight * (((_imageRef$current3 = imageRef.current) === null || _imageRef$current3 === void 0 ? void 0 : _imageRef$current3.naturalWidth) / ((_imageRef$current4 = imageRef.current) === null || _imageRef$current4 === void 0 ? void 0 : _imageRef$current4.width));
3658
1870
  };
3659
1871
  var _useState = useState(getActualCropHeight(crop.height)),
3660
- _useState2 = _slicedToArray$2(_useState, 2),
1872
+ _useState2 = _slicedToArray(_useState, 2),
3661
1873
  height = _useState2[0],
3662
1874
  setHeight = _useState2[1];
3663
1875
  var _useState3 = useState(getActualCropWidth(crop.width)),
3664
- _useState4 = _slicedToArray$2(_useState3, 2),
1876
+ _useState4 = _slicedToArray(_useState3, 2),
3665
1877
  width = _useState4[0],
3666
1878
  setWidth = _useState4[1];
3667
1879
  var _useImageControls = useImageControls({
@@ -3694,7 +1906,7 @@ var Controls = function Controls(_ref) {
3694
1906
  }, [crop]);
3695
1907
  return /*#__PURE__*/jsxs("div", {
3696
1908
  className: "flex flex-col p-4 md:w-2/6 ",
3697
- children: [!hideControls && /*#__PURE__*/jsxs(Fragment$1, {
1909
+ children: [!hideControls && /*#__PURE__*/jsxs(Fragment, {
3698
1910
  children: [/*#__PURE__*/jsx(Switch, {
3699
1911
  checked: isFullImage,
3700
1912
  className: "flex-grow-0",
@@ -3762,28 +1974,28 @@ var ImageEditor = function ImageEditor(_ref) {
3762
1974
  var image = _ref.image,
3763
1975
  handleReset = _ref.handleReset,
3764
1976
  _ref$handleImageEditC = _ref.handleImageEditComplete,
3765
- handleImageEditComplete = _ref$handleImageEditC === void 0 ? noop$1 : _ref$handleImageEditC,
1977
+ handleImageEditComplete = _ref$handleImageEditC === void 0 ? noop : _ref$handleImageEditC,
3766
1978
  _ref$signedId = _ref.signedId,
3767
1979
  signedId = _ref$signedId === void 0 ? "" : _ref$signedId,
3768
1980
  _ref$fixedAspectRatio = _ref.fixedAspectRatio,
3769
1981
  fixedAspectRatio = _ref$fixedAspectRatio === void 0 ? {} : _ref$fixedAspectRatio;
3770
1982
  var _useState = useState(true),
3771
- _useState2 = _slicedToArray$2(_useState, 2),
1983
+ _useState2 = _slicedToArray(_useState, 2),
3772
1984
  isAspectRatioLocked = _useState2[0],
3773
1985
  setIsAspectRatioLocked = _useState2[1];
3774
1986
  var _useState3 = useState(false),
3775
- _useState4 = _slicedToArray$2(_useState3, 2),
1987
+ _useState4 = _slicedToArray(_useState3, 2),
3776
1988
  isFullImage = _useState4[0],
3777
1989
  setIsFullImage = _useState4[1];
3778
1990
  var _useState5 = useState({
3779
1991
  width: (fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.width) || 16,
3780
1992
  height: (fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.height) || 9
3781
1993
  }),
3782
- _useState6 = _slicedToArray$2(_useState5, 2),
1994
+ _useState6 = _slicedToArray(_useState5, 2),
3783
1995
  aspectRatio = _useState6[0],
3784
1996
  setAspectRatio = _useState6[1];
3785
1997
  var _useState7 = useState(DEFAULT_CROP_CONFIG),
3786
- _useState8 = _slicedToArray$2(_useState7, 2),
1998
+ _useState8 = _slicedToArray(_useState7, 2),
3787
1999
  crop = _useState8[0],
3788
2000
  setCrop = _useState8[1];
3789
2001
  var _useTranslation = useTranslation(),
@@ -3901,7 +2113,7 @@ var imagesApi = {
3901
2113
  };
3902
2114
 
3903
2115
  function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3904
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2116
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3905
2117
  var useFetchAssets = function useFetchAssets(_ref) {
3906
2118
  var searchTerm = _ref.searchTerm,
3907
2119
  url = _ref.url,
@@ -3935,6 +2147,96 @@ var useFetchAssets = function useFetchAssets(_ref) {
3935
2147
 
3936
2148
  var lib = {};
3937
2149
 
2150
+ var propTypes = {exports: {}};
2151
+
2152
+ /**
2153
+ * Copyright (c) 2013-present, Facebook, Inc.
2154
+ *
2155
+ * This source code is licensed under the MIT license found in the
2156
+ * LICENSE file in the root directory of this source tree.
2157
+ */
2158
+
2159
+ var ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
2160
+
2161
+ var ReactPropTypesSecret_1 = ReactPropTypesSecret$1;
2162
+
2163
+ /**
2164
+ * Copyright (c) 2013-present, Facebook, Inc.
2165
+ *
2166
+ * This source code is licensed under the MIT license found in the
2167
+ * LICENSE file in the root directory of this source tree.
2168
+ */
2169
+
2170
+ var ReactPropTypesSecret = ReactPropTypesSecret_1;
2171
+
2172
+ function emptyFunction() {}
2173
+ function emptyFunctionWithReset() {}
2174
+ emptyFunctionWithReset.resetWarningCache = emptyFunction;
2175
+
2176
+ var factoryWithThrowingShims = function() {
2177
+ function shim(props, propName, componentName, location, propFullName, secret) {
2178
+ if (secret === ReactPropTypesSecret) {
2179
+ // It is still safe when called from React.
2180
+ return;
2181
+ }
2182
+ var err = new Error(
2183
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
2184
+ 'Use PropTypes.checkPropTypes() to call them. ' +
2185
+ 'Read more at http://fb.me/use-check-prop-types'
2186
+ );
2187
+ err.name = 'Invariant Violation';
2188
+ throw err;
2189
+ } shim.isRequired = shim;
2190
+ function getShim() {
2191
+ return shim;
2192
+ } // Important!
2193
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
2194
+ var ReactPropTypes = {
2195
+ array: shim,
2196
+ bigint: shim,
2197
+ bool: shim,
2198
+ func: shim,
2199
+ number: shim,
2200
+ object: shim,
2201
+ string: shim,
2202
+ symbol: shim,
2203
+
2204
+ any: shim,
2205
+ arrayOf: getShim,
2206
+ element: shim,
2207
+ elementType: shim,
2208
+ instanceOf: getShim,
2209
+ node: shim,
2210
+ objectOf: getShim,
2211
+ oneOf: getShim,
2212
+ oneOfType: getShim,
2213
+ shape: getShim,
2214
+ exact: getShim,
2215
+
2216
+ checkPropTypes: emptyFunctionWithReset,
2217
+ resetWarningCache: emptyFunction
2218
+ };
2219
+
2220
+ ReactPropTypes.PropTypes = ReactPropTypes;
2221
+
2222
+ return ReactPropTypes;
2223
+ };
2224
+
2225
+ /**
2226
+ * Copyright (c) 2013-present, Facebook, Inc.
2227
+ *
2228
+ * This source code is licensed under the MIT license found in the
2229
+ * LICENSE file in the root directory of this source tree.
2230
+ */
2231
+
2232
+ {
2233
+ // By explicitly using `prop-types` you are opting into new production behavior.
2234
+ // http://fb.me/prop-types-in-prod
2235
+ propTypes.exports = factoryWithThrowingShims();
2236
+ }
2237
+
2238
+ var propTypesExports = propTypes.exports;
2239
+
3938
2240
  var _extends = Object.assign || function (target) {
3939
2241
  for (var i = 1; i < arguments.length; i++) {
3940
2242
  var source = arguments[i];
@@ -4695,13 +2997,13 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
4695
2997
  var _ref$hasMore = _ref.hasMore,
4696
2998
  hasMore = _ref$hasMore === void 0 ? false : _ref$hasMore,
4697
2999
  _ref$loadMore = _ref.loadMore,
4698
- loadMore = _ref$loadMore === void 0 ? noop$1 : _ref$loadMore,
3000
+ loadMore = _ref$loadMore === void 0 ? noop : _ref$loadMore,
4699
3001
  tab = _ref.tab,
4700
3002
  images = _ref.images,
4701
3003
  _ref$setSelectedImage = _ref.setSelectedImage,
4702
- setSelectedImage = _ref$setSelectedImage === void 0 ? noop$1 : _ref$setSelectedImage,
3004
+ setSelectedImage = _ref$setSelectedImage === void 0 ? noop : _ref$setSelectedImage,
4703
3005
  _ref$handleUnsplashIm = _ref.handleUnsplashImageSelect,
4704
- handleUnsplashImageSelect = _ref$handleUnsplashIm === void 0 ? noop$1 : _ref$handleUnsplashIm;
3006
+ handleUnsplashImageSelect = _ref$handleUnsplashIm === void 0 ? noop : _ref$handleUnsplashIm;
4705
3007
  var _useTranslation = useTranslation(),
4706
3008
  t = _useTranslation.t;
4707
3009
  var Loader = /*#__PURE__*/jsx("div", {
@@ -4732,7 +3034,7 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
4732
3034
  children: /*#__PURE__*/jsxs("div", {
4733
3035
  className: "neeto-ui-rounded-sm neeto-ui-bg-gray-100 group absolute h-full w-full",
4734
3036
  id: "unsplashImage".concat(image.id),
4735
- children: [tab === TABS[1].key && /*#__PURE__*/jsxs(Fragment$1, {
3037
+ children: [tab === TABS[1].key && /*#__PURE__*/jsxs(Fragment, {
4736
3038
  children: [/*#__PURE__*/jsx("img", {
4737
3039
  "data-cy": "niu-unsplash-image-".concat(index),
4738
3040
  src: image === null || image === void 0 || (_image$urls = image.urls) === null || _image$urls === void 0 ? void 0 : _image$urls.regular,
@@ -4824,7 +3126,7 @@ var unsplashApi = {
4824
3126
  };
4825
3127
 
4826
3128
  function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4827
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3129
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4828
3130
  var UNSPLASH_LIST = QUERY_KEYS.UNSPLASH_LIST;
4829
3131
  var useFetchUnsplashImages = function useFetchUnsplashImages(_ref) {
4830
3132
  var query = _ref.query;
@@ -5000,7 +3302,7 @@ var ImageLibrary = function ImageLibrary(_ref) {
5000
3302
  setIsUploading = _ref.setIsUploading,
5001
3303
  setActiveTab = _ref.setActiveTab;
5002
3304
  var _useState = useState(""),
5003
- _useState2 = _slicedToArray$2(_useState, 2),
3305
+ _useState2 = _slicedToArray(_useState, 2),
5004
3306
  query = _useState2[0],
5005
3307
  setQuery = _useState2[1];
5006
3308
  var _useTranslation = useTranslation(),
@@ -5039,27 +3341,27 @@ var ImageLibrary = function ImageLibrary(_ref) {
5039
3341
 
5040
3342
  var _excluded$1 = ["key"];
5041
3343
  function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5042
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3344
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5043
3345
  var Modal = function Modal(_ref) {
5044
3346
  var isOpen = _ref.isOpen,
5045
3347
  _ref$onClose = _ref.onClose,
5046
- onClose = _ref$onClose === void 0 ? noop$1 : _ref$onClose,
3348
+ onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
5047
3349
  _ref$onUploadComplete = _ref.onUploadComplete,
5048
- onUploadComplete = _ref$onUploadComplete === void 0 ? noop$1 : _ref$onUploadComplete,
3350
+ onUploadComplete = _ref$onUploadComplete === void 0 ? noop : _ref$onUploadComplete,
5049
3351
  _ref$uploadConfig = _ref.uploadConfig,
5050
3352
  uploadConfig = _ref$uploadConfig === void 0 ? {} : _ref$uploadConfig,
5051
3353
  _ref$fixedAspectRatio = _ref.fixedAspectRatio,
5052
3354
  fixedAspectRatio = _ref$fixedAspectRatio === void 0 ? {} : _ref$fixedAspectRatio;
5053
3355
  var _useState = useState(TABS[0].key),
5054
- _useState2 = _slicedToArray$2(_useState, 2),
3356
+ _useState2 = _slicedToArray(_useState, 2),
5055
3357
  activeTab = _useState2[0],
5056
3358
  setActiveTab = _useState2[1];
5057
3359
  var _useState3 = useState({}),
5058
- _useState4 = _slicedToArray$2(_useState3, 2),
3360
+ _useState4 = _slicedToArray(_useState3, 2),
5059
3361
  selectedImage = _useState4[0],
5060
3362
  setSelectedImage = _useState4[1];
5061
3363
  var _useState5 = useState(false),
5062
- _useState6 = _slicedToArray$2(_useState5, 2),
3364
+ _useState6 = _slicedToArray(_useState5, 2),
5063
3365
  isUploading = _useState6[0],
5064
3366
  setIsUploading = _useState6[1];
5065
3367
  var _useTranslation = useTranslation(),
@@ -5179,7 +3481,7 @@ var Modal = function Modal(_ref) {
5179
3481
  className: "flex gap-2",
5180
3482
  children: options.map(function (_ref2) {
5181
3483
  var key = _ref2.key,
5182
- otherProps = _objectWithoutProperties$2(_ref2, _excluded$1);
3484
+ otherProps = _objectWithoutProperties$1(_ref2, _excluded$1);
5183
3485
  return /*#__PURE__*/createElement(Button, _objectSpread$1(_objectSpread$1({}, otherProps), {}, {
5184
3486
  key: key,
5185
3487
  size: "small"
@@ -5214,12 +3516,12 @@ var Modal = function Modal(_ref) {
5214
3516
 
5215
3517
  var _excluded = ["key", "label"];
5216
3518
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5217
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty$3(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3519
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5218
3520
  var Menu = Dropdown.Menu,
5219
3521
  MenuItem = Dropdown.MenuItem;
5220
3522
  var ImageUploader = function ImageUploader(_ref) {
5221
3523
  var _ref$onUploadComplete = _ref.onUploadComplete,
5222
- onUploadComplete = _ref$onUploadComplete === void 0 ? noop$1 : _ref$onUploadComplete,
3524
+ onUploadComplete = _ref$onUploadComplete === void 0 ? noop : _ref$onUploadComplete,
5223
3525
  _ref$className = _ref.className,
5224
3526
  className = _ref$className === void 0 ? "" : _ref$className,
5225
3527
  _ref$src = _ref.src,
@@ -5229,13 +3531,13 @@ var ImageUploader = function ImageUploader(_ref) {
5229
3531
  _ref$fixedAspectRatio = _ref.fixedAspectRatio,
5230
3532
  fixedAspectRatio = _ref$fixedAspectRatio === void 0 ? {} : _ref$fixedAspectRatio;
5231
3533
  var _useState = useState(false),
5232
- _useState2 = _slicedToArray$2(_useState, 2),
3534
+ _useState2 = _slicedToArray(_useState, 2),
5233
3535
  isAssetLibraryOpen = _useState2[0],
5234
3536
  setIsAssetLibraryOpen = _useState2[1];
5235
3537
  var _useState3 = useState({
5236
3538
  url: src
5237
3539
  }),
5238
- _useState4 = _slicedToArray$2(_useState3, 2),
3540
+ _useState4 = _slicedToArray(_useState3, 2),
5239
3541
  image = _useState4[0],
5240
3542
  setImage = _useState4[1];
5241
3543
  var _useTranslation = useTranslation(),
@@ -5335,7 +3637,7 @@ var ImageUploader = function ImageUploader(_ref) {
5335
3637
  children: options.map(function (_ref2) {
5336
3638
  var key = _ref2.key,
5337
3639
  label = _ref2.label,
5338
- otherProps = _objectWithoutProperties$2(_ref2, _excluded);
3640
+ otherProps = _objectWithoutProperties$1(_ref2, _excluded);
5339
3641
  return /*#__PURE__*/createElement(MenuItem.Button, _objectSpread(_objectSpread({}, otherProps), {}, {
5340
3642
  key: key
5341
3643
  }), label);
@@ -5361,11 +3663,11 @@ var ImageUploader = function ImageUploader(_ref) {
5361
3663
 
5362
3664
  var useImageUpload = function useImageUpload() {
5363
3665
  var _useState = useState(0),
5364
- _useState2 = _slicedToArray$2(_useState, 2),
3666
+ _useState2 = _slicedToArray(_useState, 2),
5365
3667
  uploadProgress = _useState2[0],
5366
3668
  setUploadProgress = _useState2[1];
5367
3669
  var _useState3 = useState(false),
5368
- _useState4 = _slicedToArray$2(_useState3, 2),
3670
+ _useState4 = _slicedToArray(_useState3, 2),
5369
3671
  isUploading = _useState4[0],
5370
3672
  setIsUploading = _useState4[1];
5371
3673
  var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
@@ -5506,11 +3808,11 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
5506
3808
  var _ref$uploadConfig = _ref.uploadConfig,
5507
3809
  uploadConfig = _ref$uploadConfig === void 0 ? {} : _ref$uploadConfig;
5508
3810
  var _useState = useState(0),
5509
- _useState2 = _slicedToArray$2(_useState, 2),
3811
+ _useState2 = _slicedToArray(_useState, 2),
5510
3812
  uploadProgress = _useState2[0],
5511
3813
  setUploadProgress = _useState2[1];
5512
3814
  var _useState3 = useState(false),
5513
- _useState4 = _slicedToArray$2(_useState3, 2),
3815
+ _useState4 = _slicedToArray(_useState3, 2),
5514
3816
  isUploading = _useState4[0],
5515
3817
  setIsUploading = _useState4[1];
5516
3818
  var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");