@uploadcare/file-uploader 1.15.0-alpha.0 → 1.15.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/abstract/ActivityBlock.js +1 -1
  2. package/abstract/Block.js +1 -1
  3. package/abstract/ModalManager.d.ts +23 -9
  4. package/abstract/ModalManager.d.ts.map +1 -1
  5. package/abstract/ModalManager.js +14 -9
  6. package/abstract/UploaderBlock.d.ts +1 -0
  7. package/abstract/UploaderBlock.d.ts.map +1 -1
  8. package/abstract/UploaderBlock.js +24 -1
  9. package/abstract/UploaderPublicApi.d.ts.map +1 -1
  10. package/abstract/UploaderPublicApi.js +1 -0
  11. package/blocks/Config/Config.d.ts +1 -1
  12. package/blocks/Config/Config.d.ts.map +1 -1
  13. package/blocks/Config/initialConfig.d.ts.map +1 -1
  14. package/blocks/Config/initialConfig.js +3 -2
  15. package/blocks/Config/normalizeConfigValue.d.ts +2 -1
  16. package/blocks/Config/normalizeConfigValue.d.ts.map +1 -1
  17. package/blocks/Config/normalizeConfigValue.js +18 -109
  18. package/blocks/Config/validatorsType.d.ts +37 -0
  19. package/blocks/Config/validatorsType.d.ts.map +1 -0
  20. package/blocks/Config/validatorsType.js +134 -0
  21. package/blocks/DropArea/DropArea.d.ts +1 -0
  22. package/blocks/DropArea/DropArea.d.ts.map +1 -1
  23. package/blocks/DropArea/DropArea.js +20 -2
  24. package/blocks/ExternalSource/ExternalSource.d.ts.map +1 -1
  25. package/blocks/ExternalSource/ExternalSource.js +0 -1
  26. package/blocks/FileItem/FileItem.d.ts +1 -1
  27. package/blocks/FileItem/FileItem.d.ts.map +1 -1
  28. package/blocks/FileItem/FileItem.js +30 -20
  29. package/blocks/FileItem/file-item.css +30 -0
  30. package/blocks/Modal/Modal.d.ts +21 -2
  31. package/blocks/Modal/Modal.d.ts.map +1 -1
  32. package/blocks/Modal/Modal.js +37 -20
  33. package/blocks/ProgressBar/ProgressBar.d.ts.map +1 -1
  34. package/blocks/ProgressBar/ProgressBar.js +1 -0
  35. package/blocks/ProgressBar/progress-bar.css +1 -0
  36. package/blocks/SimpleBtn/SimpleBtn.js +1 -1
  37. package/blocks/Thumb/Thumb.d.ts +36 -0
  38. package/blocks/Thumb/Thumb.d.ts.map +1 -0
  39. package/blocks/Thumb/Thumb.js +84 -0
  40. package/blocks/Thumb/thumb.css +4 -0
  41. package/blocks/UploadList/UploadList.d.ts +2 -0
  42. package/blocks/UploadList/UploadList.d.ts.map +1 -1
  43. package/blocks/UploadList/UploadList.js +3 -1
  44. package/blocks/UploadList/upload-list.css +3 -2
  45. package/blocks/themes/uc-basic/common.css +1 -1
  46. package/blocks/themes/uc-basic/index.css +1 -0
  47. package/blocks/themes/uc-basic/theme.css +1 -2
  48. package/index.d.ts +2 -0
  49. package/index.js +2 -0
  50. package/index.ssr.d.ts +59 -0
  51. package/index.ssr.d.ts.map +1 -1
  52. package/index.ssr.js +79 -11
  53. package/package.json +1 -1
  54. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +35 -0
  55. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts.map +1 -1
  56. package/solutions/file-uploader/minimal/FileUploaderMinimal.js +104 -15
  57. package/solutions/file-uploader/minimal/index.css +9 -27
  58. package/solutions/file-uploader/minimal/index.d.ts +1 -16
  59. package/solutions/file-uploader/minimal/index.js +1 -18
  60. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts +1 -3
  61. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts.map +1 -1
  62. package/solutions/file-uploader/regular/FileUploaderRegular.js +1 -15
  63. package/types/exported.d.ts +5 -2
  64. package/web/file-uploader.iife.min.js +4 -4
  65. package/web/file-uploader.min.js +4 -4
  66. package/web/uc-basic.min.css +1 -1
  67. package/web/uc-cloud-image-editor.min.css +1 -1
  68. package/web/uc-cloud-image-editor.min.js +4 -4
  69. package/web/uc-file-uploader-inline.min.css +1 -1
  70. package/web/uc-file-uploader-inline.min.js +4 -4
  71. package/web/uc-file-uploader-minimal.min.css +1 -1
  72. package/web/uc-file-uploader-minimal.min.js +4 -4
  73. package/web/uc-file-uploader-regular.min.css +1 -1
  74. package/web/uc-file-uploader-regular.min.js +4 -4
@@ -147,7 +147,7 @@ export class ActivityBlock extends Block {
147
147
 
148
148
  if (!hasCurrentActivityInCtx) {
149
149
  this.$['*currentActivity'] = null;
150
- // this.setOrAddState('*modalActive', false);
150
+ this.modalManager.closeAll();
151
151
  }
152
152
  }
153
153
 
package/abstract/Block.js CHANGED
@@ -252,7 +252,7 @@ export class Block extends BaseComponent {
252
252
 
253
253
  this.localeManager?.destroy();
254
254
 
255
- this.modalManager?.destroy();
255
+ this.modalManager && this.modalManager?.destroy();
256
256
  }
257
257
 
258
258
  /**
@@ -1,5 +1,3 @@
1
- /** @typedef {string} ModalId */
2
- /** @typedef {import('../blocks/Modal/Modal.js').Modal} ModalNode */
3
1
  export const ModalEvents: Readonly<{
4
2
  ADD: "modal:add";
5
3
  DELETE: "modal:delete";
@@ -8,6 +6,10 @@ export const ModalEvents: Readonly<{
8
6
  CLOSE_ALL: "modal:closeAll";
9
7
  DESTROY: "modal:destroy";
10
8
  }>;
9
+ /** @typedef {string} ModalId */
10
+ /** @typedef {import('../blocks/Modal/Modal.js').Modal} ModalNode */
11
+ /** @typedef {(data: { id: ModalId; modal?: ModalNode }) => void} ModalCb */
12
+ /** @typedef {(typeof ModalEvents)[keyof ModalEvents]} ModalEventType */
11
13
  export class ModalManager {
12
14
  /** @param {import('./Block.js').Block} block */
13
15
  constructor(block: import('./Block.js').Block);
@@ -79,23 +81,23 @@ export class ModalManager {
79
81
  /**
80
82
  * Subscribe to modal events
81
83
  *
82
- * @param {string} event
83
- * @param {() => void} callback
84
+ * @param {ModalEventType} event
85
+ * @param {ModalCb} callback
84
86
  * @returns {() => void}
85
87
  */
86
- subscribe(event: string, callback: () => void): () => void;
88
+ subscribe(event: ModalEventType, callback: ModalCb): () => void;
87
89
  /**
88
90
  * Unsubscribe from modal events
89
91
  *
90
- * @param {string} event
91
- * @param {() => void} callback
92
+ * @param {ModalEventType} event
93
+ * @param {ModalCb | undefined} callback
92
94
  */
93
- unsubscribe(event: string, callback: () => void): void;
95
+ unsubscribe(event: ModalEventType, callback: ModalCb | undefined): void;
94
96
  /**
95
97
  * Notify all subscribers of a modal event
96
98
  *
97
99
  * @private
98
- * @param {string} event - Event name
100
+ * @param {ModalEventType} event - Event name
99
101
  * @param {{
100
102
  * id?: ModalId | ModalId[];
101
103
  * modal?: ModalNode | ModalNode[];
@@ -110,4 +112,16 @@ export class ModalManager {
110
112
  }
111
113
  export type ModalId = string;
112
114
  export type ModalNode = import('../blocks/Modal/Modal.js').Modal;
115
+ export type ModalCb = (data: {
116
+ id: ModalId;
117
+ modal?: ModalNode;
118
+ }) => void;
119
+ export type ModalEventType = (typeof ModalEvents)[keyof {
120
+ readonly ADD: "modal:add";
121
+ readonly DELETE: "modal:delete";
122
+ readonly OPEN: "modal:open";
123
+ readonly CLOSE: "modal:close";
124
+ readonly CLOSE_ALL: "modal:closeAll";
125
+ readonly DESTROY: "modal:destroy";
126
+ }];
113
127
  //# sourceMappingURL=ModalManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalManager.d.ts","sourceRoot":"","sources":["ModalManager.js"],"names":[],"mappings":"AAEA,gCAAgC;AAEhC,oEAAoE;AAEpE;;;;;;;GAOG;AAEH;IAeE,gDAAgD;IAChD,mBADY,OAAO,YAAY,EAAE,KAAK,EAGrC;IAjBD;;;OAGG;IACH,gBAAoB;IAEpB;;;OAGG;IACH,sBAA0B;IAE1B,4BAAyB;IAIvB,mCAAmB;IAGrB;;;OAGG;IACH,oBAEC;IAED;;;;;OAKG;IACH,kBAHW,OAAO,SACP,SAAS,QAInB;IAED,4DAA4D;IAC5D,gBADY,OAAO,WASlB;IAED;;;;;OAKG;IACH,SAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;;OAKG;IACH,UAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;;OAKG;IACH,WAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;OAIG;IACH,+BAEC;IAED;;;;OAIG;IACH,QAFa,OAAO,CAWnB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAQlB;IAED;;;;;;OAMG;IACH,iBAJW,MAAM,YACN,MAAM,IAAI,GACR,MAAM,IAAI,CAStB;IAED;;;;;OAKG;IACH,mBAHW,MAAM,YACN,MAAM,IAAI,QAMpB;IAED;;;;;;;;;;;;OAYG;IACH,gBAUC;IAED,oDAAoD;IACpD,gBAKC;CACF;sBAzNa,MAAM;wBAEN,OAAO,0BAA0B,EAAE,KAAK"}
1
+ {"version":3,"file":"ModalManager.d.ts","sourceRoot":"","sources":["ModalManager.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,gCAAgC;AAEhC,oEAAoE;AAEpE,4EAA4E;AAE5E,wEAAwE;AAExE;IAeE,gDAAgD;IAChD,mBADY,OAAO,YAAY,EAAE,KAAK,EAGrC;IAjBD;;;OAGG;IACH,gBAAoB;IAEpB;;;OAGG;IACH,sBAA0B;IAE1B,4BAAyB;IAIvB,mCAAmB;IAGrB;;;OAGG;IACH,oBAEC;IAED;;;;;OAKG;IACH,kBAHW,OAAO,SACP,SAAS,QAKnB;IAED,4DAA4D;IAC5D,gBADY,OAAO,WASlB;IAED;;;;;OAKG;IACH,SAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;;OAKG;IACH,UAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;;OAKG;IACH,WAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;OAIG;IACH,+BAEC;IAED;;;;OAIG;IACH,QAFa,OAAO,CAWnB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAQlB;IAED;;;;;;OAMG;IACH,iBAJW,cAAc,YACd,OAAO,GACL,MAAM,IAAI,CAStB;IAED;;;;;OAKG;IACH,mBAHW,cAAc,YACd,OAAO,GAAG,SAAS,QAM7B;IAED;;;;;;;;;;;;OAYG;IACH,gBAUC;IAED,oDAAoD;IACpD,gBAKC;CACF;sBArNa,MAAM;wBAEN,OAAO,0BAA0B,EAAE,KAAK;6BAEjC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,KAAK,IAAI;6BAElD,CAAC,kBAAkB,CAAC,CAAC;;;;;;;CAAiB,CAAC"}
@@ -1,9 +1,5 @@
1
1
  //@ts-check
2
2
 
3
- /** @typedef {string} ModalId */
4
-
5
- /** @typedef {import('../blocks/Modal/Modal.js').Modal} ModalNode */
6
-
7
3
  export const ModalEvents = Object.freeze({
8
4
  ADD: 'modal:add',
9
5
  DELETE: 'modal:delete',
@@ -13,6 +9,14 @@ export const ModalEvents = Object.freeze({
13
9
  DESTROY: 'modal:destroy',
14
10
  });
15
11
 
12
+ /** @typedef {string} ModalId */
13
+
14
+ /** @typedef {import('../blocks/Modal/Modal.js').Modal} ModalNode */
15
+
16
+ /** @typedef {(data: { id: ModalId; modal?: ModalNode }) => void} ModalCb */
17
+
18
+ /** @typedef {(typeof ModalEvents)[keyof ModalEvents]} ModalEventType */
19
+
16
20
  export class ModalManager {
17
21
  /**
18
22
  * @private
@@ -49,6 +53,7 @@ export class ModalManager {
49
53
  */
50
54
  registerModal(id, modal) {
51
55
  this._modals.set(id, modal);
56
+ this._notify(ModalEvents.ADD, { id, modal });
52
57
  }
53
58
 
54
59
  /** @param {ModalId} id - Unique identifier for the modal */
@@ -160,8 +165,8 @@ export class ModalManager {
160
165
  /**
161
166
  * Subscribe to modal events
162
167
  *
163
- * @param {string} event
164
- * @param {() => void} callback
168
+ * @param {ModalEventType} event
169
+ * @param {ModalCb} callback
165
170
  * @returns {() => void}
166
171
  */
167
172
  subscribe(event, callback) {
@@ -176,8 +181,8 @@ export class ModalManager {
176
181
  /**
177
182
  * Unsubscribe from modal events
178
183
  *
179
- * @param {string} event
180
- * @param {() => void} callback
184
+ * @param {ModalEventType} event
185
+ * @param {ModalCb | undefined} callback
181
186
  */
182
187
  unsubscribe(event, callback) {
183
188
  if (this._subscribers.has(event)) {
@@ -189,7 +194,7 @@ export class ModalManager {
189
194
  * Notify all subscribers of a modal event
190
195
  *
191
196
  * @private
192
- * @param {string} event - Event name
197
+ * @param {ModalEventType} event - Event name
193
198
  * @param {{
194
199
  * id?: ModalId | ModalId[];
195
200
  * modal?: ModalNode | ModalNode[];
@@ -56,6 +56,7 @@ export class UploaderBlock extends ActivityBlock {
56
56
  private _handleCollectionPropertiesUpdate;
57
57
  /** @private */
58
58
  private _flushCommonUploadProgress;
59
+ openCloudImageEditor(): void;
59
60
  /** @private */
60
61
  private setInitialCrop;
61
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"UploaderBlock.d.ts","sourceRoot":"","sources":["UploaderBlock.js"],"names":[],"mappings":"AAmBA;IACE,iBAAiB;IACjB,mCAAwB;IAExB,eAAe;IACf,mBAAmB;IAEnB;;;;;;;;;;;;;;MAA+B;IAE/B,eAAe;IACf,0BAOC;IA2BD;;;OAGG;IACH,qDAKC;IAED,mCAAmC;IACnC,6BAKC;IAED,4BAEC;IAED,iCAAiC;IACjC,wCAKC;IAYD,eAAe;IACf,qBAkBC;IAfC,eAAe;IACf,6BAAiG;IAEjG,eAAe;IACf,uCAEC;IAWH;;;OAGG;IACH,qBAkBC;IAED,eAAe;IACf,0BAYQ;IAER;;;;OAIG;IACH,gCAiCE;IAEF;;;OAGG;IACH,0CAyFE;IAEF,eAAe;IACf,mCAoBE;IAEF,eAAe;IACf,uBAwCC;IAED;;;OAGG;IACH,kCAHW,MAAM,qEAWhB;IAED;;;OAGG;IACH,oCAHa,QAAQ,OAAO,2BAA2B,EAAE,eAAe,CAAC,CA2BxE;IAED,kEAAkE;IAClE,iBADc,OAAO,sBAAsB,EAAE,eAAe,EAAE,CAK7D;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA9Z6B,oBAAoB;qCAWb,2BAA2B;kCAG9B,wBAAwB;kCADxB,wBAAwB;gCAD1B,sBAAsB"}
1
+ {"version":3,"file":"UploaderBlock.d.ts","sourceRoot":"","sources":["UploaderBlock.js"],"names":[],"mappings":"AAmBA;IACE,iBAAiB;IACjB,mCAAwB;IAExB,eAAe;IACf,mBAAmB;IAEnB;;;;;;;;;;;;;;MAA+B;IAE/B,eAAe;IACf,0BAOC;IA2BD;;;OAGG;IACH,qDAKC;IAED,mCAAmC;IACnC,6BAKC;IAED,4BAEC;IAED,iCAAiC;IACjC,wCAKC;IAYD,eAAe;IACf,qBAkBC;IAfC,eAAe;IACf,6BAAiG;IAEjG,eAAe;IACf,uCAEC;IAWH;;;OAGG;IACH,qBAkBC;IAED,eAAe;IACf,0BAYQ;IAER;;;;OAIG;IACH,gCAiCE;IAEF;;;OAGG;IACH,0CA6FE;IAEF,eAAe;IACf,mCAoBE;IAEF,6BAiBC;IAED,eAAe;IACf,uBAwCC;IAED;;;OAGG;IACH,kCAHW,MAAM,qEAWhB;IAED;;;OAGG;IACH,oCAHa,QAAQ,OAAO,2BAA2B,EAAE,eAAe,CAAC,CA2BxE;IAED,kEAAkE;IAClE,iBADc,OAAO,sBAAsB,EAAE,eAAe,EAAE,CAK7D;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BArb6B,oBAAoB;qCAWb,2BAA2B;kCAG9B,wBAAwB;kCADxB,wBAAwB;gCAD1B,sBAAsB"}
@@ -253,6 +253,10 @@ export class UploaderBlock extends ActivityBlock {
253
253
  if (this.cfg.cropPreset) {
254
254
  this.setInitialCrop();
255
255
  }
256
+
257
+ if (this.cfg.cloudImageEditorAutoOpen) {
258
+ this.openCloudImageEditor();
259
+ }
256
260
  }
257
261
  if (changeMap.errors) {
258
262
  for (const entryId of changeMap.errors) {
@@ -320,6 +324,25 @@ export class UploaderBlock extends ActivityBlock {
320
324
  );
321
325
  };
322
326
 
327
+ openCloudImageEditor() {
328
+ const [entry] = this.uploadCollection
329
+ .findItems((entry) => entry.getValue('fileInfo') && entry.getValue('isImage'))
330
+ .map((id) => this.uploadCollection.read(id));
331
+
332
+ if (
333
+ entry &&
334
+ this.uploadCollection.size === 1 &&
335
+ this.cfg.useCloudImageEditor &&
336
+ this.hasBlockInCtx((block) => block.activityType === ActivityBlock.activities.CLOUD_IMG_EDIT)
337
+ ) {
338
+ this.$['*currentActivityParams'] = {
339
+ internalId: entry.uid,
340
+ };
341
+ this.$['*currentActivity'] = ActivityBlock.activities.CLOUD_IMG_EDIT;
342
+ this.modalManager.open(ActivityBlock.activities.CLOUD_IMG_EDIT);
343
+ }
344
+ }
345
+
323
346
  /** @private */
324
347
  setInitialCrop() {
325
348
  const cropPreset = parseCropPreset(this.cfg.cropPreset);
@@ -356,8 +379,8 @@ export class UploaderBlock extends ActivityBlock {
356
379
  this.$['*currentActivityParams'] = {
357
380
  internalId: entry.uid,
358
381
  };
359
- this.modalManager.open(ActivityBlock.activities.CLOUD_IMG_EDIT);
360
382
  this.$['*currentActivity'] = ActivityBlock.activities.CLOUD_IMG_EDIT;
383
+ this.modalManager.open(ActivityBlock.activities.CLOUD_IMG_EDIT);
361
384
  }
362
385
  }
363
386
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UploaderPublicApi.d.ts","sourceRoot":"","sources":["UploaderPublicApi.js"],"names":[],"mappings":"AAeA;IAOE,8DAA8D;IAC9D,iBADY,OAAO,oBAAoB,EAAE,aAAa,EAGrD;IATD;;;OAGG;IACH,aAAK;IAOL,eAAe;IACf,gCAEC;IAED,yCAEC;IAED;;iBAEC;IAED;;;;;;OAMG;IACH,sBAJW,MAAM;;;;sBAEJ,OAAO,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAUrD;IAEF;;;;OAIG;IACH,wBAJW,MAAM;;;;sBAEJ,OAAO,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAUrD;IAEF;;;;OAIG;IACH,4BAJW,MAAM;;;;sBAEJ,OAAO,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAgBrD;IAEF;;;;OAIG;IACH,0BAJW,IAAI;;;;;sBAEF,OAAO,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAcrD;IAEF,iCAAiC;IACjC,qCADY,MAAM,UAMhB;IAEF,uBAEC;IAED,sBAeE;IAEF,8HAA8H;IAC9H,6BADY;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,qCAAqC,EAAE,cAAc,CAAA;KAAE,UAyDhH;IAEF;;;;OAIG;IACH,8EAHW,MAAM,iDA8Cf;IAEF,oEAAoE;IACpE,oKAIE;IAEF,+BAA+B;IAC/B,gDA6DE;IAEF,qBAQE;IAEF;;;;;;;;;OASG;IACH,uTAFQ,IAAI,CAWV;IAEF,2DAA2D;IAC3D,0BADc,OAAO,oBAAoB,EAAE,YAAY,CAGrD;IAEF,8BAA8B;IAC9B,wBADY,OAAO,UAYjB;IAEF;;;OAGG;IACH,0BAOC;CACF"}
1
+ {"version":3,"file":"UploaderPublicApi.d.ts","sourceRoot":"","sources":["UploaderPublicApi.js"],"names":[],"mappings":"AAeA;IAOE,8DAA8D;IAC9D,iBADY,OAAO,oBAAoB,EAAE,aAAa,EAGrD;IATD;;;OAGG;IACH,aAAK;IAOL,eAAe;IACf,gCAEC;IAED,yCAEC;IAED;;iBAEC;IAED;;;;;;OAMG;IACH,sBAJW,MAAM;;;;sBAEJ,OAAO,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAUrD;IAEF;;;;OAIG;IACH,wBAJW,MAAM;;;;sBAEJ,OAAO,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAUrD;IAEF;;;;OAIG;IACH,4BAJW,MAAM;;;;sBAEJ,OAAO,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAgBrD;IAEF;;;;OAIG;IACH,0BAJW,IAAI;;;;;sBAEF,OAAO,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAcrD;IAEF,iCAAiC;IACjC,qCADY,MAAM,UAMhB;IAEF,uBAEC;IAED,sBAeE;IAEF,8HAA8H;IAC9H,6BADY;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,qCAAqC,EAAE,cAAc,CAAA;KAAE,UAyDhH;IAEF;;;;OAIG;IACH,8EAHW,MAAM,iDA8Cf;IAEF,oEAAoE;IACpE,oKAIE;IAEF,+BAA+B;IAC/B,gDA6DE;IAEF,qBAQE;IAEF;;;;;;;;;OASG;IACH,uTAFQ,IAAI,CAWV;IAEF,2DAA2D;IAC3D,0BADc,OAAO,oBAAoB,EAAE,YAAY,CAGrD;IAEF,8BAA8B;IAC9B,wBADY,OAAO,UAajB;IAEF;;;OAGG;IACH,0BAOC;CACF"}
@@ -366,6 +366,7 @@ export class UploaderPublicApi {
366
366
  this._ctx.modalManager?.open(this._ctx.$['*currentActivity']);
367
367
  } else {
368
368
  this._ctx.modalManager?.close(this._ctx.$['*currentActivity']);
369
+ this._ctx.$['*currentActivity'] = null;
369
370
  }
370
371
  };
371
372
 
@@ -64,6 +64,6 @@ declare class ConfigClass extends Block {
64
64
  }
65
65
  import { Block } from '../../abstract/Block.js';
66
66
  /** Mapping of attribute names to state */
67
- declare const attrStateMapping: Record<"accept" | "pubkey" | "multiple" | "store" | "debug" | "crop-preset" | "secure-expire" | "max-local-file-size-bytes" | "multiple-min" | "multiple-max" | "confirm-upload" | "img-only" | "external-sources-preferred-types" | "external-sources-embed-css" | "camera-mirror" | "camera-capture" | "source-list" | "thumb-size" | "show-empty-list" | "use-local-image-editor" | "use-cloud-image-editor" | "cloud-image-editor-tabs" | "remove-copyright" | "image-shrink" | "modal-scroll-lock" | "modal-backdrop-strokes" | "source-list-wrap" | "remote-tab-session-key" | "cdn-cname" | "base-url" | "social-base-url" | "secure-signature" | "secure-delivery-proxy" | "retry-throttled-request-max-times" | "multipart-min-file-size" | "multipart-chunk-size" | "max-concurrent-requests" | "multipart-max-concurrent-requests" | "multipart-max-attempts" | "check-for-url-duplicates" | "save-url-for-recurrent-uploads" | "group-output" | "user-agent-integration" | "locale-name" | "secure-uploads-expire-threshold" | "camera-modes" | "default-camera-mode" | "enable-audio-recording" | "enable-video-recording" | "max-video-recording-duration" | "display-upload-list" | "enable-file-name" | "secureexpire" | "croppreset" | "maxlocalfilesizebytes" | "multiplemin" | "multiplemax" | "confirmupload" | "imgonly" | "externalsourcespreferredtypes" | "externalsourcesembedcss" | "cameramirror" | "cameracapture" | "sourcelist" | "thumbsize" | "showemptylist" | "uselocalimageeditor" | "usecloudimageeditor" | "cloudimageeditortabs" | "removecopyright" | "imageshrink" | "modalscrolllock" | "modalbackdropstrokes" | "sourcelistwrap" | "remotetabsessionkey" | "cdncname" | "baseurl" | "socialbaseurl" | "securesignature" | "securedeliveryproxy" | "retrythrottledrequestmaxtimes" | "multipartminfilesize" | "multipartchunksize" | "maxconcurrentrequests" | "multipartmaxconcurrentrequests" | "multipartmaxattempts" | "checkforurlduplicates" | "saveurlforrecurrentuploads" | "groupoutput" | "useragentintegration" | "localename" | "secureuploadsexpirethreshold" | "cameramodes" | "defaultcameramode" | "enableaudiorecording" | "enablevideorecording" | "maxvideorecordingduration" | "displayuploadlist" | "enablefilename", string>;
67
+ declare const attrStateMapping: Record<"accept" | "pubkey" | "multiple" | "store" | "debug" | "crop-preset" | "secure-expire" | "max-local-file-size-bytes" | "multiple-min" | "multiple-max" | "confirm-upload" | "img-only" | "external-sources-preferred-types" | "external-sources-embed-css" | "camera-mirror" | "camera-capture" | "source-list" | "thumb-size" | "show-empty-list" | "use-local-image-editor" | "use-cloud-image-editor" | "cloud-image-editor-tabs" | "remove-copyright" | "image-shrink" | "modal-scroll-lock" | "modal-backdrop-strokes" | "source-list-wrap" | "remote-tab-session-key" | "cdn-cname" | "base-url" | "social-base-url" | "secure-signature" | "secure-delivery-proxy" | "retry-throttled-request-max-times" | "multipart-min-file-size" | "multipart-chunk-size" | "max-concurrent-requests" | "multipart-max-concurrent-requests" | "multipart-max-attempts" | "check-for-url-duplicates" | "save-url-for-recurrent-uploads" | "group-output" | "user-agent-integration" | "locale-name" | "secure-uploads-expire-threshold" | "camera-modes" | "default-camera-mode" | "enable-audio-recording" | "enable-video-recording" | "max-video-recording-duration" | "files-view-mode" | "grid-show-file-names" | "cloud-image-editor-auto-open" | "secureexpire" | "croppreset" | "maxlocalfilesizebytes" | "multiplemin" | "multiplemax" | "confirmupload" | "imgonly" | "externalsourcespreferredtypes" | "externalsourcesembedcss" | "cameramirror" | "cameracapture" | "sourcelist" | "thumbsize" | "showemptylist" | "uselocalimageeditor" | "usecloudimageeditor" | "cloudimageeditortabs" | "removecopyright" | "imageshrink" | "modalscrolllock" | "modalbackdropstrokes" | "sourcelistwrap" | "remotetabsessionkey" | "cdncname" | "baseurl" | "socialbaseurl" | "securesignature" | "securedeliveryproxy" | "retrythrottledrequestmaxtimes" | "multipartminfilesize" | "multipartchunksize" | "maxconcurrentrequests" | "multipartmaxconcurrentrequests" | "multipartmaxattempts" | "checkforurlduplicates" | "saveurlforrecurrentuploads" | "groupoutput" | "useragentintegration" | "localename" | "secureuploadsexpirethreshold" | "cameramodes" | "defaultcameramode" | "enableaudiorecording" | "enablevideorecording" | "maxvideorecordingduration" | "filesviewmode" | "gridshowfilenames" | "cloudimageeditorautoopen", string>;
68
68
  export {};
69
69
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["Config.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,gCAXU;IACT,UAAc;IACd,0BAA8B;IAC9B,gCAAoC;IACpC,gCAAoC;IACpC,kBAAsB;IACtB,gBAAoB;IACpB,sBAA0B;IAC1B,sBAA0B;CACvB,CAWF;qBAyNY,OAAO,2BAA2B,EAAE,UAAU,CAAC,kBAAkB,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC;AAAlH,6HAA6H;AAG7H,4BAAmF;AA/LnF;IAkBE;;;;OAIG;IACH,+BAYC;IAED;;;;OAIG;IACH,2BAQC;IAED;;;;OAIG;IACH,kBAyBC;IAED;;;OAGG;IACH,kBAIC;IAED;;;;OAIG;IACH,wCAJW,MAAM,iBACN,OAAO,aACP,OAAO,QAoBjB;IA0CD;;;;OAIG;IACH,+BAJW,MAAM,uBAAuB,UAC7B,MAAM,UACN,MAAM,QAahB;CACF;sBAjPqB,yBAAyB;AAwD/C,0CAA0C;AAC1C,4rEAGG"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["Config.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,gCAXU;IACT,UAAc;IACd,0BAA8B;IAC9B,gCAAoC;IACpC,gCAAoC;IACpC,kBAAsB;IACtB,gBAAoB;IACpB,sBAA0B;IAC1B,sBAA0B;CACvB,CAWF;qBAyNY,OAAO,2BAA2B,EAAE,UAAU,CAAC,kBAAkB,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC;AAAlH,6HAA6H;AAG7H,4BAAmF;AA/LnF;IAkBE;;;;OAIG;IACH,+BAYC;IAED;;;;OAIG;IACH,2BAQC;IAED;;;;OAIG;IACH,kBAyBC;IAED;;;OAGG;IACH,kBAIC;IAED;;;;OAIG;IACH,wCAJW,MAAM,iBACN,OAAO,aACP,OAAO,QAoBjB;IA0CD;;;;OAIG;IACH,+BAJW,MAAM,uBAAuB,UAC7B,MAAM,UACN,MAAM,QAahB;CACF;sBAjPqB,yBAAyB;AAwD/C,0CAA0C;AAC1C,yvEAGG"}
@@ -1 +1 @@
1
- {"version":3,"file":"initialConfig.d.ts","sourceRoot":"","sources":["initialConfig.js"],"names":[],"mappings":"AAKA,uDAAwD;AACxD,+DAAgE;AAChE,sEAAuE;AAEvE,wDAAwD;AACxD,4BADW,OAAO,sBAAsB,EAAE,UAAU,CAsElD"}
1
+ {"version":3,"file":"initialConfig.d.ts","sourceRoot":"","sources":["initialConfig.js"],"names":[],"mappings":"AAKA,uDAAwD;AACxD,+DAAgE;AAChE,sEAAuE;AAEvE,wDAAwD;AACxD,4BADW,OAAO,sBAAsB,EAAE,UAAU,CAuElD"}
@@ -75,6 +75,7 @@ export const initialConfig = {
75
75
  maxVideoRecordingDuration: null,
76
76
  mediaRecorderOptions: null,
77
77
 
78
- displayUploadList: 'grid',
79
- enableFileName: false,
78
+ filesViewMode: 'list',
79
+ gridShowFileNames: false,
80
+ cloudImageEditorAutoOpen: false,
80
81
  };
@@ -1,3 +1,4 @@
1
- export function asBoolean(value: unknown): boolean;
2
1
  export function normalizeConfigValue<T extends keyof import("../../types").ConfigType>(key: T, value: unknown): import("../../types").ConfigType[T] | undefined;
2
+ export { asBoolean };
3
+ import { asBoolean } from './validatorsType.js';
3
4
  //# sourceMappingURL=normalizeConfigValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeConfigValue.d.ts","sourceRoot":"","sources":["normalizeConfigValue.js"],"names":[],"mappings":"AAiBO,iCADK,OAAO,WAWlB;AA4KM,sGAHI,OAAO,mDAcjB"}
1
+ {"version":3,"file":"normalizeConfigValue.d.ts","sourceRoot":"","sources":["normalizeConfigValue.js"],"names":[],"mappings":"AA2GO,sGAHI,OAAO,mDAcjB;;0BAtGM,qBAAqB"}
@@ -1,112 +1,20 @@
1
1
  // @ts-check
2
2
 
3
- import { CameraSourceTypes } from '../CameraSource/constants.js';
4
- import { deserializeCsv } from '../utils/comma-separated.js';
5
3
  import { initialConfig } from './initialConfig.js';
6
-
7
- /** @param {unknown} value */
8
- const asString = (value) => String(value);
9
- /** @param {unknown} value */
10
- const asNumber = (value) => {
11
- const number = Number(value);
12
- if (Number.isNaN(number)) {
13
- throw new Error(`Invalid number: "${value}"`);
14
- }
15
- return number;
16
- };
17
- /** @param {unknown} value */
18
- export const asBoolean = (value) => {
19
- if (typeof value === 'undefined' || value === null) return false;
20
- if (typeof value === 'boolean') return value;
21
- // for attr like multiple="true" (react will pass it as string)
22
- if (value === 'true') return true;
23
- // for attr flags like multiple="" (some other libs will pass it as empty string)
24
- if (value === '') return true;
25
- // for attr like multiple="false" (react will pass it as string)
26
- if (value === 'false') return false;
27
- throw new Error(`Invalid boolean: "${value}"`);
28
- };
29
- /** @param {unknown} value */
30
- const asStore = (value) => (value === 'auto' ? value : asBoolean(value));
31
-
32
- /** @param {unknown} value */
33
- const asCameraCapture = (value) => {
34
- const strValue = asString(value);
35
- if (strValue !== 'user' && strValue !== 'environment' && strValue !== '') {
36
- throw new Error(`Invalid value: "${strValue}"`);
37
- }
38
- return strValue;
39
- };
40
-
41
- /** @param {unknown} value */
42
- const asCameraMode = (value) => {
43
- const strValue = asString(value);
44
- if (!Object.values(CameraSourceTypes).includes(strValue)) {
45
- throw new Error(`Invalid value: "${strValue}"`);
46
- }
47
- return /** @type {import('../CameraSource/CameraSource.js').CameraMode} */ (strValue);
48
- };
49
-
50
- /** @param {unknown} value */
51
- const asCameraModes = (value) => {
52
- const str = asString(value);
53
- const array = deserializeCsv(str);
54
- if (array.some((item) => !Object.values(CameraSourceTypes).includes(item))) {
55
- throw new Error(`Invalid value: "${JSON.stringify(array)}"`);
56
- }
57
- return str;
58
- };
59
-
60
- /** @param {unknown} value */
61
- const asMetadata = (value) => {
62
- if (typeof value === 'object' && !Array.isArray(value)) {
63
- return /** @type {import('../../types').Metadata} */ (value);
64
- }
65
- if (typeof value === 'function') {
66
- return /** @type {import('../../types').MetadataCallback} */ (value);
67
- }
68
-
69
- throw new Error('Invalid metadata value. Must be an object or function.');
70
- };
71
-
72
- /**
73
- * @template {{}} T
74
- * @param {unknown} value
75
- * @returns {T}
76
- */
77
- const asObject = (value) => {
78
- if (typeof value === 'object') {
79
- return /** @type {T} */ (value);
80
- }
81
-
82
- throw new Error('Invalid value. Must be an object.');
83
- };
84
-
85
- /**
86
- * @template {Function} T
87
- * @param {unknown} value
88
- * @returns {T}
89
- */
90
- const asFunction = (value) => {
91
- if (typeof value === 'function') {
92
- return /** @type {T} */ (value);
93
- }
94
-
95
- throw new Error('Invalid value. Must be a function.');
96
- };
97
-
98
- /**
99
- * @template {Function[] | string | {}} T
100
- * @param {unknown} value
101
- * @returns {T}
102
- */
103
- const asArray = (value) => {
104
- if (Array.isArray(value)) {
105
- return /** @type {T} */ (value);
106
- }
107
-
108
- throw new Error('Must be an array.');
109
- };
4
+ import {
5
+ asString,
6
+ asNumber,
7
+ asFunction,
8
+ asBoolean,
9
+ asObject,
10
+ asArray,
11
+ asMetadata,
12
+ asCameraCapture,
13
+ asCameraMode,
14
+ asCameraModes,
15
+ asStore,
16
+ asFilesViewMode,
17
+ } from './validatorsType.js';
110
18
 
111
19
  /**
112
20
  * @type {{
@@ -186,9 +94,9 @@ const mapping = {
186
94
 
187
95
  maxVideoRecordingDuration: asNumber,
188
96
 
189
- displayUploadList: asString,
190
-
191
- enableFileName: asBoolean,
97
+ filesViewMode: asFilesViewMode,
98
+ gridShowFileNames: asBoolean,
99
+ cloudImageEditorAutoOpen: asBoolean,
192
100
  };
193
101
 
194
102
  /**
@@ -209,3 +117,4 @@ export const normalizeConfigValue = (key, value) => {
209
117
  return initialConfig[key];
210
118
  }
211
119
  };
120
+ export { asBoolean };
@@ -0,0 +1,37 @@
1
+ /** @param {unknown} value */
2
+ export function asString(value: unknown): string;
3
+ /** @param {unknown} value */
4
+ export function asNumber(value: unknown): number;
5
+ /** @param {unknown} value */
6
+ export function asBoolean(value: unknown): boolean;
7
+ /** @param {unknown} value */
8
+ export function asStore(value: unknown): boolean | "auto";
9
+ /** @param {unknown} value */
10
+ export function asCameraCapture(value: unknown): "" | "user" | "environment";
11
+ /** @param {unknown} value */
12
+ export function asCameraMode(value: unknown): import("../CameraSource/CameraSource.js").CameraMode;
13
+ /** @param {unknown} value */
14
+ export function asCameraModes(value: unknown): string;
15
+ /** @param {unknown} value */
16
+ export function asMetadata(value: unknown): import("@uploadcare/upload-client").Metadata | import("../../types").MetadataCallback;
17
+ /**
18
+ * @template {{}} T
19
+ * @param {unknown} value
20
+ * @returns {T}
21
+ */
22
+ export function asObject<T extends {}>(value: unknown): T;
23
+ /**
24
+ * @template {Function} T
25
+ * @param {unknown} value
26
+ * @returns {T}
27
+ */
28
+ export function asFunction<T extends Function>(value: unknown): T;
29
+ /**
30
+ * @template {Function[] | string | {}} T
31
+ * @param {unknown} value
32
+ * @returns {T}
33
+ */
34
+ export function asArray<T extends string | {} | Function[]>(value: unknown): T;
35
+ /** @param {unknown} value */
36
+ export function asFilesViewMode(value: unknown): import("../UploadList/UploadList.js").FilesViewMode;
37
+ //# sourceMappingURL=validatorsType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatorsType.d.ts","sourceRoot":"","sources":["validatorsType.js"],"names":[],"mappings":"AAIA,6BAA6B;AAC7B,gCADY,OAAO,UACsB;AAEzC,6BAA6B;AAC7B,gCADY,OAAO,UAOlB;AACD,6BAA6B;AAC7B,iCADY,OAAO,WAWlB;AACD,6BAA6B;AAC7B,+BADY,OAAO,oBACqD;AAExE,6BAA6B;AAC7B,uCADY,OAAO,+BAOlB;AAED,6BAA6B;AAC7B,oCADY,OAAO,wDAOlB;AAED,6BAA6B;AAC7B,qCADY,OAAO,UAQlB;AAED,6BAA6B;AAC7B,kCADY,OAAO,yFAUlB;AAED;;;;GAIG;AACH,8CAHW,OAAO,KASjB;AAED;;;;GAIG;AACH,sDAHW,OAAO,KASjB;AAED;;;;GAIG;AACH,mEAHW,OAAO,KASjB;AAED,6BAA6B;AAC7B,uCADY,OAAO,uDASlB"}
@@ -0,0 +1,134 @@
1
+ // @ts-check
2
+ import { CameraSourceTypes } from '../CameraSource/constants.js';
3
+ import { deserializeCsv } from '../utils/comma-separated.js';
4
+
5
+ /** @param {unknown} value */
6
+ const asString = (value) => String(value);
7
+
8
+ /** @param {unknown} value */
9
+ const asNumber = (value) => {
10
+ const number = Number(value);
11
+ if (Number.isNaN(number)) {
12
+ throw new Error(`Invalid number: "${value}"`);
13
+ }
14
+ return number;
15
+ };
16
+ /** @param {unknown} value */
17
+ const asBoolean = (value) => {
18
+ if (typeof value === 'undefined' || value === null) return false;
19
+ if (typeof value === 'boolean') return value;
20
+ // for attr like multiple="true" (react will pass it as string)
21
+ if (value === 'true') return true;
22
+ // for attr flags like multiple="" (some other libs will pass it as empty string)
23
+ if (value === '') return true;
24
+ // for attr like multiple="false" (react will pass it as string)
25
+ if (value === 'false') return false;
26
+ throw new Error(`Invalid boolean: "${value}"`);
27
+ };
28
+ /** @param {unknown} value */
29
+ const asStore = (value) => (value === 'auto' ? value : asBoolean(value));
30
+
31
+ /** @param {unknown} value */
32
+ const asCameraCapture = (value) => {
33
+ const strValue = asString(value);
34
+ if (strValue !== 'user' && strValue !== 'environment' && strValue !== '') {
35
+ throw new Error(`Invalid value: "${strValue}"`);
36
+ }
37
+ return strValue;
38
+ };
39
+
40
+ /** @param {unknown} value */
41
+ const asCameraMode = (value) => {
42
+ const strValue = asString(value);
43
+ if (!Object.values(CameraSourceTypes).includes(strValue)) {
44
+ throw new Error(`Invalid value: "${strValue}"`);
45
+ }
46
+ return /** @type {import('../CameraSource/CameraSource.js').CameraMode} */ (strValue);
47
+ };
48
+
49
+ /** @param {unknown} value */
50
+ const asCameraModes = (value) => {
51
+ const str = asString(value);
52
+ const array = deserializeCsv(str);
53
+ if (array.some((item) => !Object.values(CameraSourceTypes).includes(item))) {
54
+ throw new Error(`Invalid value: "${JSON.stringify(array)}"`);
55
+ }
56
+ return str;
57
+ };
58
+
59
+ /** @param {unknown} value */
60
+ const asMetadata = (value) => {
61
+ if (typeof value === 'object' && !Array.isArray(value)) {
62
+ return /** @type {import('../../types').Metadata} */ (value);
63
+ }
64
+ if (typeof value === 'function') {
65
+ return /** @type {import('../../types').MetadataCallback} */ (value);
66
+ }
67
+
68
+ throw new Error('Invalid metadata value. Must be an object or function.');
69
+ };
70
+
71
+ /**
72
+ * @template {{}} T
73
+ * @param {unknown} value
74
+ * @returns {T}
75
+ */
76
+ const asObject = (value) => {
77
+ if (typeof value === 'object') {
78
+ return /** @type {T} */ (value);
79
+ }
80
+
81
+ throw new Error('Invalid value. Must be an object.');
82
+ };
83
+
84
+ /**
85
+ * @template {Function} T
86
+ * @param {unknown} value
87
+ * @returns {T}
88
+ */
89
+ const asFunction = (value) => {
90
+ if (typeof value === 'function') {
91
+ return /** @type {T} */ (value);
92
+ }
93
+
94
+ throw new Error('Invalid value. Must be a function.');
95
+ };
96
+
97
+ /**
98
+ * @template {Function[] | string | {}} T
99
+ * @param {unknown} value
100
+ * @returns {T}
101
+ */
102
+ const asArray = (value) => {
103
+ if (Array.isArray(value)) {
104
+ return /** @type {T} */ (value);
105
+ }
106
+
107
+ throw new Error('Must be an array.');
108
+ };
109
+
110
+ /** @param {unknown} value */
111
+ const asFilesViewMode = (value) => {
112
+ const strValue = asString(value);
113
+
114
+ if (['grid', 'list'].includes(strValue)) {
115
+ return /** @type {import('../UploadList/UploadList.js').FilesViewMode} */ (strValue);
116
+ }
117
+
118
+ throw new Error(`Invalid value: "${strValue}"`);
119
+ };
120
+
121
+ export {
122
+ asString,
123
+ asNumber,
124
+ asBoolean,
125
+ asStore,
126
+ asCameraCapture,
127
+ asCameraMode,
128
+ asCameraModes,
129
+ asMetadata,
130
+ asObject,
131
+ asFunction,
132
+ asArray,
133
+ asFilesViewMode,
134
+ };
@@ -6,6 +6,7 @@ export class DropArea extends UploaderBlock {
6
6
  isFullscreen: boolean;
7
7
  isEnabled: boolean;
8
8
  isVisible: boolean;
9
+ isInitFlow: boolean;
9
10
  text: string;
10
11
  "uc-drop-area/registry": null;
11
12
  '*commonProgress': number;
@@ -1 +1 @@
1
- {"version":3,"file":"DropArea.d.ts","sourceRoot":"","sources":["DropArea.js"],"names":[],"mappings":"AAaA;IAKI;;;;;;;;;;;;;;;;;;;;;;MAUC;IAGH,oBAgBC;IAgDC,eAAe;IACf,yBA4BE;IAIA,yDAWE;IA6BF;;;OAGG;IACH,uBASC;IAOL;;;;;OAKG;IACH,sBAeC;IAED,eAAe;IACf,0BAcC;CAqBF;;;;8BAnP6B,iCAAiC"}
1
+ {"version":3,"file":"DropArea.d.ts","sourceRoot":"","sources":["DropArea.js"],"names":[],"mappings":"AAaA;IAKI;;;;;;;;;;;;;;;;;;;;;;;MAWC;IAGH,oBAgBC;IAsDC,eAAe;IACf,yBA2BE;IAIA,yDAWE;IA6BF;;;OAGG;IACH,uBAmBC;IAOL;;;;;OAKG;IACH,sBAeC;IAED,eAAe;IACf,0BAcC;CAqBF;;;;8BAnQ6B,iCAAiC"}