@uploadcare/file-uploader 1.13.2 → 1.14.0-alpha.11

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 (287) hide show
  1. package/abstract/ActivityBlock.d.ts +5 -5
  2. package/abstract/ActivityBlock.d.ts.map +1 -1
  3. package/abstract/ActivityBlock.js +10 -15
  4. package/abstract/Block.d.ts +9 -9
  5. package/abstract/Block.d.ts.map +1 -1
  6. package/abstract/Block.js +15 -0
  7. package/abstract/CTX.d.ts +6 -6
  8. package/abstract/CTX.d.ts.map +1 -1
  9. package/abstract/CTX.js +3 -1
  10. package/abstract/LocaleManager.d.ts +3 -3
  11. package/abstract/LocaleManager.d.ts.map +1 -1
  12. package/abstract/ModalManager.d.ts +124 -0
  13. package/abstract/ModalManager.d.ts.map +1 -0
  14. package/abstract/ModalManager.js +227 -0
  15. package/abstract/SecureUploadsManager.d.ts +2 -2
  16. package/abstract/SecureUploadsManager.d.ts.map +1 -1
  17. package/abstract/SolutionBlock.d.ts +2 -2
  18. package/abstract/SolutionBlock.d.ts.map +1 -1
  19. package/abstract/TypedCollection.d.ts.map +1 -1
  20. package/abstract/TypedData.d.ts +1 -1
  21. package/abstract/TypedData.d.ts.map +1 -1
  22. package/abstract/UploaderBlock.d.ts +8 -5
  23. package/abstract/UploaderBlock.d.ts.map +1 -1
  24. package/abstract/UploaderBlock.js +24 -8
  25. package/abstract/UploaderPublicApi.d.ts +25 -23
  26. package/abstract/UploaderPublicApi.d.ts.map +1 -1
  27. package/abstract/UploaderPublicApi.js +48 -10
  28. package/abstract/ValidationManager.d.ts +4 -4
  29. package/abstract/ValidationManager.d.ts.map +1 -1
  30. package/abstract/a11y.d.ts +2 -2
  31. package/abstract/a11y.d.ts.map +1 -1
  32. package/abstract/buildOutputCollectionState.d.ts +1 -1
  33. package/abstract/buildOutputCollectionState.d.ts.map +1 -1
  34. package/abstract/defineComponents.d.ts.map +1 -1
  35. package/abstract/l10nProcessor.d.ts.map +1 -1
  36. package/abstract/loadFileUploaderFrom.d.ts +1 -1
  37. package/abstract/loadFileUploaderFrom.d.ts.map +1 -1
  38. package/abstract/localeRegistry.d.ts.map +1 -1
  39. package/abstract/sharedConfigKey.d.ts.map +1 -1
  40. package/abstract/uploadEntrySchema.d.ts +2 -2
  41. package/abstract/uploadEntrySchema.d.ts.map +1 -1
  42. package/blocks/CameraSource/CameraSource.d.ts +9 -9
  43. package/blocks/CameraSource/CameraSource.d.ts.map +1 -1
  44. package/blocks/CameraSource/CameraSource.js +1 -0
  45. package/blocks/CameraSource/calcCameraModes.d.ts +5 -0
  46. package/blocks/CameraSource/calcCameraModes.d.ts.map +1 -0
  47. package/blocks/CameraSource/calcCameraModes.js +11 -0
  48. package/blocks/CameraSource/constants.d.ts +1 -0
  49. package/blocks/CameraSource/constants.d.ts.map +1 -1
  50. package/blocks/CameraSource/constants.js +2 -0
  51. package/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts.map +1 -1
  52. package/blocks/CloudImageEditor/src/CropFrame.d.ts +1 -1
  53. package/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +3 -3
  54. package/blocks/CloudImageEditor/src/EditorImageFader.d.ts +1 -1
  55. package/blocks/CloudImageEditor/src/EditorImageFader.d.ts.map +1 -1
  56. package/blocks/CloudImageEditor/src/EditorSlider.d.ts +1 -1
  57. package/blocks/CloudImageEditor/src/EditorSlider.d.ts.map +1 -1
  58. package/blocks/CloudImageEditor/src/EditorToolbar.d.ts +1 -1
  59. package/blocks/CloudImageEditor/src/crop-utils.d.ts +14 -14
  60. package/blocks/CloudImageEditor/src/crop-utils.d.ts.map +1 -1
  61. package/blocks/CloudImageEditor/src/cropper-constants.d.ts.map +1 -1
  62. package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts +1 -1
  63. package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts.map +1 -1
  64. package/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +1 -1
  65. package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +3 -3
  66. package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts.map +1 -1
  67. package/blocks/CloudImageEditor/src/state.d.ts +4 -4
  68. package/blocks/CloudImageEditor/src/svg-sprite.d.ts.map +1 -1
  69. package/blocks/CloudImageEditor/src/types.d.ts +8 -58
  70. package/blocks/CloudImageEditor/src/types.d.ts.map +1 -1
  71. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +1 -1
  72. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts.map +1 -1
  73. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.js +2 -0
  74. package/blocks/Config/Config.d.ts +3 -12
  75. package/blocks/Config/Config.d.ts.map +1 -1
  76. package/blocks/Config/assertions.d.ts +1 -1
  77. package/blocks/Config/initialConfig.d.ts +1 -1
  78. package/blocks/Config/initialConfig.d.ts.map +1 -1
  79. package/blocks/Config/initialConfig.js +4 -0
  80. package/blocks/Config/normalizeConfigValue.d.ts +2 -1
  81. package/blocks/Config/normalizeConfigValue.d.ts.map +1 -1
  82. package/blocks/Config/normalizeConfigValue.js +19 -106
  83. package/blocks/Config/side-effects.d.ts.map +1 -1
  84. package/blocks/Config/validatorsType.d.ts +37 -0
  85. package/blocks/Config/validatorsType.d.ts.map +1 -0
  86. package/blocks/Config/validatorsType.js +134 -0
  87. package/blocks/DropArea/DropArea.d.ts +3 -2
  88. package/blocks/DropArea/DropArea.d.ts.map +1 -1
  89. package/blocks/DropArea/DropArea.js +21 -2
  90. package/blocks/DropArea/addDropzone.d.ts.map +1 -1
  91. package/blocks/DropArea/getDropItems.d.ts +2 -2
  92. package/blocks/DropArea/getDropItems.d.ts.map +1 -1
  93. package/blocks/ExternalSource/ExternalSource.d.ts +3 -3
  94. package/blocks/ExternalSource/ExternalSource.d.ts.map +1 -1
  95. package/blocks/ExternalSource/ExternalSource.js +2 -1
  96. package/blocks/ExternalSource/MessageBridge.d.ts +3 -3
  97. package/blocks/ExternalSource/MessageBridge.d.ts.map +1 -1
  98. package/blocks/ExternalSource/query-string.d.ts.map +1 -1
  99. package/blocks/ExternalSource/types.d.ts +64 -64
  100. package/blocks/ExternalSource/types.d.ts.map +1 -1
  101. package/blocks/FileItem/FileItem.d.ts +5 -6
  102. package/blocks/FileItem/FileItem.d.ts.map +1 -1
  103. package/blocks/FileItem/FileItem.js +40 -42
  104. package/blocks/FileItem/file-item.css +90 -0
  105. package/blocks/Img/ImgBase.d.ts +3 -3
  106. package/blocks/Img/ImgBase.d.ts.map +1 -1
  107. package/blocks/Img/ImgConfig.d.ts.map +1 -1
  108. package/blocks/Img/configurations.d.ts.map +1 -1
  109. package/blocks/Modal/Modal.d.ts +21 -2
  110. package/blocks/Modal/Modal.d.ts.map +1 -1
  111. package/blocks/Modal/Modal.js +52 -24
  112. package/blocks/ProgressBar/ProgressBar.d.ts.map +1 -1
  113. package/blocks/ProgressBar/ProgressBar.js +1 -0
  114. package/blocks/ProgressBar/progress-bar.css +1 -0
  115. package/blocks/Range/Range.d.ts.map +1 -1
  116. package/blocks/SimpleBtn/SimpleBtn.d.ts +2 -2
  117. package/blocks/SimpleBtn/SimpleBtn.d.ts.map +1 -1
  118. package/blocks/SimpleBtn/SimpleBtn.js +1 -1
  119. package/blocks/SourceBtn/SourceBtn.d.ts +2 -2
  120. package/blocks/SourceBtn/SourceBtn.d.ts.map +1 -1
  121. package/blocks/SourceBtn/SourceBtn.js +29 -3
  122. package/blocks/SourceList/SourceList.d.ts.map +1 -1
  123. package/blocks/SourceList/SourceList.js +20 -0
  124. package/blocks/Spinner/Spinner.d.ts.map +1 -1
  125. package/blocks/StartFrom/StartFrom.js +1 -1
  126. package/blocks/Thumb/Thumb.d.ts +48 -0
  127. package/blocks/Thumb/Thumb.d.ts.map +1 -0
  128. package/blocks/Thumb/Thumb.js +169 -0
  129. package/blocks/Thumb/thumb.css +4 -0
  130. package/blocks/UploadCtxProvider/EventEmitter.d.ts +20 -20
  131. package/blocks/UploadCtxProvider/EventEmitter.d.ts.map +1 -1
  132. package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +4 -4
  133. package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts.map +1 -1
  134. package/blocks/UploadList/UploadList.d.ts +4 -2
  135. package/blocks/UploadList/UploadList.d.ts.map +1 -1
  136. package/blocks/UploadList/UploadList.js +16 -1
  137. package/blocks/UploadList/upload-list.css +23 -0
  138. package/blocks/UrlSource/UrlSource.d.ts.map +1 -1
  139. package/blocks/UrlSource/UrlSource.js +1 -0
  140. package/blocks/svg-backgrounds/svg-backgrounds.d.ts +3 -3
  141. package/blocks/svg-backgrounds/svg-backgrounds.d.ts.map +1 -1
  142. package/blocks/themes/uc-basic/common.css +1 -1
  143. package/blocks/themes/uc-basic/index.css +1 -0
  144. package/blocks/themes/uc-basic/svg-sprite.d.ts +1 -1
  145. package/blocks/themes/uc-basic/svg-sprite.d.ts.map +1 -1
  146. package/blocks/themes/uc-basic/svg-sprite.js +1 -1
  147. package/blocks/themes/uc-basic/theme.css +12 -0
  148. package/blocks/utils/UploadSource.d.ts +6 -0
  149. package/blocks/utils/UploadSource.d.ts.map +1 -1
  150. package/blocks/utils/UploadSource.js +7 -0
  151. package/blocks/utils/debounce.d.ts +3 -1
  152. package/blocks/utils/debounce.d.ts.map +1 -1
  153. package/blocks/utils/resizeImage.d.ts +1 -1
  154. package/blocks/utils/resizeImage.d.ts.map +1 -1
  155. package/blocks/utils/supportCapture.d.ts +2 -0
  156. package/blocks/utils/supportCapture.d.ts.map +1 -0
  157. package/blocks/utils/supportCapture.js +3 -0
  158. package/blocks/utils/throttle.d.ts +3 -1
  159. package/blocks/utils/throttle.d.ts.map +1 -1
  160. package/blocks/utils/userAgent.d.ts +1 -1
  161. package/blocks/utils/userAgent.d.ts.map +1 -1
  162. package/env.d.ts +1 -1
  163. package/env.d.ts.map +1 -1
  164. package/env.js +1 -1
  165. package/index.d.ts +2 -0
  166. package/index.js +2 -0
  167. package/index.ssr.d.ts +88 -1
  168. package/index.ssr.d.ts.map +1 -1
  169. package/index.ssr.js +119 -10
  170. package/locales/file-uploader/ar.d.ts +2 -0
  171. package/locales/file-uploader/ar.js +2 -0
  172. package/locales/file-uploader/az.d.ts +2 -0
  173. package/locales/file-uploader/az.js +2 -0
  174. package/locales/file-uploader/ca.d.ts +2 -0
  175. package/locales/file-uploader/ca.js +2 -0
  176. package/locales/file-uploader/cs.d.ts +2 -0
  177. package/locales/file-uploader/cs.js +2 -0
  178. package/locales/file-uploader/da.d.ts +2 -0
  179. package/locales/file-uploader/da.js +2 -0
  180. package/locales/file-uploader/de.d.ts +2 -0
  181. package/locales/file-uploader/de.js +2 -0
  182. package/locales/file-uploader/el.d.ts +2 -0
  183. package/locales/file-uploader/el.js +2 -0
  184. package/locales/file-uploader/en.d.ts +2 -0
  185. package/locales/file-uploader/en.js +2 -0
  186. package/locales/file-uploader/es.d.ts +2 -0
  187. package/locales/file-uploader/es.js +2 -0
  188. package/locales/file-uploader/et.d.ts +2 -0
  189. package/locales/file-uploader/et.js +2 -0
  190. package/locales/file-uploader/fi.d.ts +2 -0
  191. package/locales/file-uploader/fi.js +2 -0
  192. package/locales/file-uploader/fr.d.ts +2 -0
  193. package/locales/file-uploader/fr.js +2 -0
  194. package/locales/file-uploader/he.d.ts +2 -0
  195. package/locales/file-uploader/he.js +2 -0
  196. package/locales/file-uploader/hy.d.ts +2 -0
  197. package/locales/file-uploader/hy.js +2 -0
  198. package/locales/file-uploader/is.d.ts +2 -0
  199. package/locales/file-uploader/is.js +2 -0
  200. package/locales/file-uploader/it.d.ts +2 -0
  201. package/locales/file-uploader/it.js +2 -0
  202. package/locales/file-uploader/ja.d.ts +2 -0
  203. package/locales/file-uploader/ja.js +2 -0
  204. package/locales/file-uploader/ka.d.ts +2 -0
  205. package/locales/file-uploader/ka.js +2 -0
  206. package/locales/file-uploader/kk.d.ts +2 -0
  207. package/locales/file-uploader/kk.js +2 -0
  208. package/locales/file-uploader/ko.d.ts +2 -0
  209. package/locales/file-uploader/ko.js +2 -0
  210. package/locales/file-uploader/lv.d.ts +2 -0
  211. package/locales/file-uploader/lv.js +2 -0
  212. package/locales/file-uploader/nb.d.ts +2 -0
  213. package/locales/file-uploader/nb.js +2 -0
  214. package/locales/file-uploader/nl.d.ts +2 -0
  215. package/locales/file-uploader/nl.js +2 -0
  216. package/locales/file-uploader/pl.d.ts +2 -0
  217. package/locales/file-uploader/pl.js +2 -0
  218. package/locales/file-uploader/pt.d.ts +2 -0
  219. package/locales/file-uploader/pt.js +2 -0
  220. package/locales/file-uploader/ro.d.ts +2 -0
  221. package/locales/file-uploader/ro.js +2 -0
  222. package/locales/file-uploader/ru.d.ts +2 -0
  223. package/locales/file-uploader/ru.js +2 -0
  224. package/locales/file-uploader/sk.d.ts +2 -0
  225. package/locales/file-uploader/sk.js +2 -0
  226. package/locales/file-uploader/sr.d.ts +2 -0
  227. package/locales/file-uploader/sr.js +2 -0
  228. package/locales/file-uploader/sv.d.ts +2 -0
  229. package/locales/file-uploader/sv.js +2 -0
  230. package/locales/file-uploader/tr.d.ts +2 -0
  231. package/locales/file-uploader/tr.js +2 -0
  232. package/locales/file-uploader/uk.d.ts +2 -0
  233. package/locales/file-uploader/uk.js +2 -0
  234. package/locales/file-uploader/vi.d.ts +2 -0
  235. package/locales/file-uploader/vi.js +2 -0
  236. package/locales/file-uploader/zh-TW.d.ts +2 -0
  237. package/locales/file-uploader/zh-TW.js +2 -0
  238. package/locales/file-uploader/zh.d.ts +2 -0
  239. package/locales/file-uploader/zh.js +2 -0
  240. package/package.json +4 -2
  241. package/solutions/file-uploader/inline/FileUploaderInline.d.ts +2 -2
  242. package/solutions/file-uploader/inline/FileUploaderInline.d.ts.map +1 -1
  243. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +35 -0
  244. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts.map +1 -1
  245. package/solutions/file-uploader/minimal/FileUploaderMinimal.js +122 -9
  246. package/solutions/file-uploader/minimal/index.css +25 -24
  247. package/solutions/file-uploader/minimal/index.d.ts +1 -13
  248. package/solutions/file-uploader/minimal/index.js +1 -13
  249. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts +3 -5
  250. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts.map +1 -1
  251. package/solutions/file-uploader/regular/FileUploaderRegular.js +17 -16
  252. package/types/exported.d.ts +7 -0
  253. package/utils/cdn-utils.d.ts +3 -3
  254. package/utils/cdn-utils.d.ts.map +1 -1
  255. package/utils/fileTypes.d.ts +1 -1
  256. package/utils/fileTypes.d.ts.map +1 -1
  257. package/utils/getPluralForm.d.ts.map +1 -1
  258. package/utils/isSecureTokenExpired.d.ts +1 -1
  259. package/utils/memoize.d.ts.map +1 -1
  260. package/utils/mixinClass.d.ts +3 -1
  261. package/utils/mixinClass.d.ts.map +1 -1
  262. package/utils/prettyBytes.d.ts.map +1 -1
  263. package/utils/template-utils.d.ts +1 -1
  264. package/utils/template-utils.d.ts.map +1 -1
  265. package/utils/toKebabCase.d.ts.map +1 -1
  266. package/utils/transparentPixelSrc.d.ts.map +1 -1
  267. package/utils/uniqueArray.d.ts.map +1 -1
  268. package/utils/validators/collection/validateCollectionUploadError.d.ts +1 -1
  269. package/utils/validators/collection/validateMultiple.d.ts +1 -1
  270. package/utils/validators/file/validateFileType.d.ts +1 -1
  271. package/utils/validators/file/validateIsImage.d.ts +1 -1
  272. package/utils/validators/file/validateMaxSizeLimit.d.ts +1 -1
  273. package/utils/validators/file/validateUploadError.d.ts +1 -1
  274. package/utils/waitForAttribute.d.ts +1 -1
  275. package/utils/waitForAttribute.d.ts.map +1 -1
  276. package/web/file-uploader.iife.min.js +4 -4
  277. package/web/file-uploader.min.js +4 -4
  278. package/web/uc-basic.min.css +1 -1
  279. package/web/uc-cloud-image-editor.min.css +1 -1
  280. package/web/uc-cloud-image-editor.min.js +4 -4
  281. package/web/uc-file-uploader-inline.min.css +1 -1
  282. package/web/uc-file-uploader-inline.min.js +4 -4
  283. package/web/uc-file-uploader-minimal.min.css +1 -1
  284. package/web/uc-file-uploader-minimal.min.js +4 -3
  285. package/web/uc-file-uploader-regular.min.css +1 -1
  286. package/web/uc-file-uploader-regular.min.js +4 -4
  287. package/web/uc-img.min.js +2 -2
@@ -1,5 +1,6 @@
1
1
  // @ts-check
2
2
  import { Block } from '../../abstract/Block.js';
3
+ import { ModalEvents } from '../../abstract/ModalManager.js';
3
4
 
4
5
  export class Modal extends Block {
5
6
  static styleAttrs = [...super.styleAttrs, 'uc-modal'];
@@ -9,8 +10,6 @@ export class Modal extends Block {
9
10
  super();
10
11
  this.init$ = {
11
12
  ...this.init$,
12
- '*modalActive': false,
13
- isOpen: false,
14
13
  closeClicked: this._handleDialogClose,
15
14
  };
16
15
  }
@@ -20,7 +19,11 @@ export class Modal extends Block {
20
19
  };
21
20
 
22
21
  _closeDialog = () => {
23
- this.setOrAddState('*modalActive', false);
22
+ this.modalManager?.close(this.id);
23
+
24
+ if (!this.modalManager.hasActiveModals) {
25
+ document.body.style.overflow = '';
26
+ }
24
27
  };
25
28
 
26
29
  _handleDialogClose = () => {
@@ -42,39 +45,62 @@ export class Modal extends Block {
42
45
 
43
46
  show() {
44
47
  if (this.ref.dialog.showModal) {
48
+ this.setAttribute('aria-modal', 'true');
45
49
  this.ref.dialog.showModal();
46
50
  } else {
47
51
  this.ref.dialog.setAttribute('open', '');
48
52
  }
53
+
54
+ if (this.cfg.modalScrollLock) {
55
+ document.body.style.overflow = 'hidden';
56
+ }
49
57
  }
50
58
 
51
59
  hide() {
52
60
  if (this.ref.dialog.close) {
61
+ this.setAttribute('aria-modal', 'false');
53
62
  this.ref.dialog.close();
54
63
  } else {
55
64
  this.ref.dialog.removeAttribute('open');
56
65
  }
57
66
  }
58
67
 
68
+ /**
69
+ * @private
70
+ * @type {import('../../abstract/ModalManager.js').ModalCb}
71
+ */
72
+ _handleModalOpen({ id }) {
73
+ if (id === this.id) {
74
+ this.show();
75
+ } else {
76
+ this.hide();
77
+ }
78
+ }
79
+
80
+ /**
81
+ * @private
82
+ * @type {import('../../abstract/ModalManager.js').ModalCb}
83
+ */
84
+ _handleModalClose({ id }) {
85
+ if (id === this.id) {
86
+ this.hide();
87
+ }
88
+ }
89
+
90
+ /** @private */
91
+ _handleModalCloseAll() {
92
+ this.hide();
93
+ }
94
+
59
95
  initCallback() {
60
96
  super.initCallback();
61
97
 
98
+ this.modalManager?.registerModal(this.id, this);
99
+
62
100
  this.ref.dialog.addEventListener('close', this._handleDialogClose);
63
101
  this.ref.dialog.addEventListener('mousedown', this._handleDialogMouseDown);
64
102
  this.ref.dialog.addEventListener('mouseup', this._handleDialogMouseUp);
65
103
 
66
- this.sub('*modalActive', (modalActive) => {
67
- if (this.$.isOpen !== modalActive) {
68
- this.$.isOpen = modalActive;
69
- }
70
-
71
- if (modalActive && this.cfg.modalScrollLock) {
72
- document.body.style.overflow = 'hidden';
73
- } else {
74
- document.body.style.overflow = '';
75
- }
76
- });
77
-
78
104
  this.subConfigValue('modalBackdropStrokes', (val) => {
79
105
  if (val) {
80
106
  this.setAttribute('strokes', '');
@@ -83,15 +109,13 @@ export class Modal extends Block {
83
109
  }
84
110
  });
85
111
 
86
- this.sub('isOpen', (isOpen) => {
87
- if (isOpen) {
88
- this.show();
89
- this.setAttribute('aria-modal', 'true');
90
- } else {
91
- this.hide();
92
- this.setAttribute('aria-modal', 'false');
93
- }
94
- });
112
+ this.handleModalOpen = this._handleModalOpen.bind(this);
113
+ this.handleModalClose = this._handleModalClose.bind(this);
114
+ this.handleModalCloseAll = this._handleModalCloseAll.bind(this);
115
+
116
+ this.modalManager.subscribe(ModalEvents.OPEN, this.handleModalOpen);
117
+ this.modalManager.subscribe(ModalEvents.CLOSE, this.handleModalClose);
118
+ this.modalManager.subscribe(ModalEvents.CLOSE_ALL, this.handleModalCloseAll);
95
119
  }
96
120
 
97
121
  destroyCallback() {
@@ -101,6 +125,10 @@ export class Modal extends Block {
101
125
  this.ref.dialog.removeEventListener('close', this._handleDialogClose);
102
126
  this.ref.dialog.removeEventListener('mousedown', this._handleDialogMouseDown);
103
127
  this.ref.dialog.removeEventListener('mouseup', this._handleDialogMouseUp);
128
+
129
+ this.modalManager.unsubscribe(ModalEvents.OPEN, this.handleModalOpen);
130
+ this.modalManager.unsubscribe(ModalEvents.CLOSE, this.handleModalClose);
131
+ this.modalManager.unsubscribe(ModalEvents.CLOSE_ALL, this.handleModalCloseAll);
104
132
  }
105
133
  }
106
134
 
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["ProgressBar.js"],"names":[],"mappings":"AAEA;IACE,qBAAqB;IACrB,eAAW;IAEX,sBAAsB;IACtB,kBAAgB;IAEhB,WAIE;CA8CH;;;;sBA3DqB,yBAAyB"}
1
+ {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["ProgressBar.js"],"names":[],"mappings":"AAEA;IACE,qBAAqB;IACrB,eAAW;IAEX,sBAAsB;IACtB,kBAAgB;IAEhB,WAIE;CA+CH;;;;sBA5DqB,yBAAyB"}
@@ -24,6 +24,7 @@ export class ProgressBar extends Block {
24
24
  this.ref.realProgressLine.addEventListener(
25
25
  'transitionend',
26
26
  () => {
27
+ this.classList.add('uc-progress-bar--hidden');
27
28
  this.ref.realProgressLine.classList.toggle('uc-progress--hidden', true);
28
29
  },
29
30
  {
@@ -41,6 +41,7 @@ uc-progress-bar .uc-fake-progress {
41
41
  display 1s;
42
42
  /* stylelint-disable-next-line property-no-unknown */
43
43
  transition-behavior: allow-discrete;
44
+ z-index: 1;
44
45
  }
45
46
 
46
47
  uc-progress-bar .uc-fake-progress--hidden {
@@ -1 +1 @@
1
- {"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["Range.js"],"names":[],"mappings":"AAEA;IAqC0C,cAAgB;IApCxD;;;;;MAUE;IAIA,+BAA+B;IAC/B,qCAA4B;CAe/B;;;;8BAjC6B,sBAAsB"}
1
+ {"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["Range.js"],"names":[],"mappings":"AAEA;;IACE;;;;;MAUE;IAIA,+BAA+B;IAC/B,qCAA4B;CAe/B;;;;8BAjC6B,sBAAsB"}
@@ -6,8 +6,8 @@ export class SimpleBtn extends UploaderBlock {
6
6
  '*commonProgress': number;
7
7
  '*uploadList': never[];
8
8
  '*uploadQueue': import("@uploadcare/upload-client").Queue;
9
- '*collectionErrors': any[];
10
- '*collectionState': import("../../index.js").OutputCollectionState<import("../../index.js").OutputCollectionStatus, "maybe-has-group"> | null;
9
+ '*collectionErrors': ReturnType<import("../../index.js").OutputErrorCollection>[];
10
+ '*collectionState': import("../../index.js").OutputCollectionState | null;
11
11
  '*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
12
12
  '*uploadTrigger': Set<string>;
13
13
  '*secureUploadsManager': import("../../abstract/SecureUploadsManager.js").SecureUploadsManager | null;
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleBtn.d.ts","sourceRoot":"","sources":["SimpleBtn.js"],"names":[],"mappings":"AAIA;IAMI;;;;;;;;;;;;;;;;;MAOC;CAoBJ;;;;8BApC6B,iCAAiC"}
1
+ {"version":3,"file":"SimpleBtn.d.ts","sourceRoot":"","sources":["SimpleBtn.js"],"names":[],"mappings":"AAIA;IAMI;;;;;;;+CAmBI,gBACH;mCAGgB,gBAAU;6BAE3B,2BAIO;;wCAGD,wCAA2B;;;;;;MAzBhC;CAoBJ;;;;8BApC6B,iCAAiC"}
@@ -1,6 +1,6 @@
1
1
  // @ts-check
2
2
  import { UploaderBlock } from '../../abstract/UploaderBlock.js';
3
- import { asBoolean } from '../Config/normalizeConfigValue.js';
3
+ import { asBoolean } from '../Config/validatorsType.js';
4
4
 
5
5
  export class SimpleBtn extends UploaderBlock {
6
6
  static styleAttrs = [...super.styleAttrs, 'uc-simple-btn'];
@@ -22,8 +22,8 @@ export class SourceBtn extends UploaderBlock {
22
22
  '*commonProgress': number;
23
23
  '*uploadList': never[];
24
24
  '*uploadQueue': import("@uploadcare/upload-client").Queue;
25
- '*collectionErrors': any[];
26
- '*collectionState': import("../../index.js").OutputCollectionState<import("../../index.js").OutputCollectionStatus, "maybe-has-group"> | null;
25
+ '*collectionErrors': ReturnType<import("../../index.js" /** @type {string | undefined} */).OutputErrorCollection>[];
26
+ '*collectionState': import("../../index.js").OutputCollectionState | null;
27
27
  '*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
28
28
  '*uploadTrigger': Set<string>;
29
29
  '*secureUploadsManager': import("../../abstract/SecureUploadsManager.js").SecureUploadsManager | null;
@@ -1 +1 @@
1
- {"version":3,"file":"SourceBtn.d.ts","sourceRoot":"","sources":["SourceBtn.js"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AAEH;IAEE,iCAAiC;IACjC,MADW,MAAM,GAAG,SAAS,CACZ;IACjB;;;OAGG;IACH,yBAAsB;IAKpB;;;;;;;;;;;;;;;;MAIC;IAGH,kBAuCC;IAkBD,kCAAkC;IAClC,yBADY,OAAO,QAGlB;IAED,2BAA2B;IAC3B,cADY,MAAM,WAGjB;IAED,iBAYC;IAED,2BAA2B;IAC3B,gBADY,MAAM,QAcjB;CACF;;;;sBA9HY;IACZ,IAAQ,EAAE,MAAM,CAAC;IACjB,QAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAY,CAAC,EAAE,MAAM,OAAO,CAAC;IAC7B,cAAkB,CAAC,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;8BAd0B,iCAAiC"}
1
+ {"version":3,"file":"SourceBtn.d.ts","sourceRoot":"","sources":["SourceBtn.js"],"names":[],"mappings":"AASA;;;;;;;;;GASG;AAEH;IAEE,iCAAiC;IACjC,MADW,MAAM,GAAG,SAAS,CACZ;IACjB;;;OAGG;IACH,yBAAsB;IAKpB;;;;;;+CAZc,gBACjB,CAAC,iCAAiC;mCAIhC,gBAAU;6BAKJ,2BAGN;;wCAQS,wCACL;;;;;;MANF;IAGH,kBA2DC;IAkBD,kCAAkC;IAClC,yBADY,OAAO,QAGlB;IAED,2BAA2B;IAC3B,cADY,MAAM,WAGjB;IAED,iBAgBC;IAED,2BAA2B;IAC3B,gBADY,MAAM,QAcjB;CACF;;;;sBAtJY;IACR,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;8BAhB0B,iCAAiC"}
@@ -1,7 +1,9 @@
1
1
  // @ts-check
2
2
  import { UploaderBlock } from '../../abstract/UploaderBlock.js';
3
3
  import { ActivityBlock } from '../../abstract/ActivityBlock.js';
4
- import { ExternalUploadSource, UploadSource } from '../utils/UploadSource.js';
4
+ import { ExternalUploadSource, UploadSource, UploadSourceMobile } from '../utils/UploadSource.js';
5
+ import { CameraSourceTypes } from '../CameraSource/constants.js';
6
+ import { isSupportCapture } from '../utils/supportCapture.js';
5
7
 
6
8
  const L10N_PREFIX = 'src-type-';
7
9
 
@@ -53,19 +55,39 @@ export class SourceBtn extends UploaderBlock {
53
55
  type: UploadSource.CAMERA,
54
56
  activity: ActivityBlock.activities.CAMERA,
55
57
  activate: () => {
56
- const supportsCapture = 'capture' in document.createElement('input');
58
+ const supportsCapture = isSupportCapture();
59
+
57
60
  if (supportsCapture) {
58
61
  this.api.openSystemDialog({ captureCamera: true });
59
62
  }
60
63
  return !supportsCapture;
61
64
  },
62
65
  });
66
+
63
67
  this.registerType({
64
68
  type: 'draw',
65
69
  activity: ActivityBlock.activities.DRAW,
66
70
  icon: 'edit-draw',
67
71
  });
68
72
 
73
+ for (let mobileSourceType of Object.values(UploadSourceMobile)) {
74
+ this.registerType({
75
+ type: mobileSourceType,
76
+ activity: ActivityBlock.activities.CAMERA,
77
+ activate: () => {
78
+ const supportsCapture = isSupportCapture();
79
+ if (supportsCapture) {
80
+ this.api.openSystemDialog({
81
+ captureCamera: true,
82
+ modeCamera:
83
+ mobileSourceType === 'mobile-photo-camera' ? CameraSourceTypes.PHOTO : CameraSourceTypes.VIDEO,
84
+ });
85
+ }
86
+ return !supportsCapture;
87
+ },
88
+ });
89
+ }
90
+
69
91
  for (let externalSourceType of Object.values(ExternalUploadSource)) {
70
92
  this.registerType({
71
93
  type: externalSourceType,
@@ -110,11 +132,15 @@ export class SourceBtn extends UploaderBlock {
110
132
  const configType = this._registeredTypes[this.type];
111
133
  const { activity, activate, activityParams = {} } = configType;
112
134
  const showActivity = activate ? activate() : !!activity;
113
- showActivity &&
135
+
136
+ if (showActivity) {
137
+ this.modalManager.open(/** @type {string} */ (activity));
138
+
114
139
  this.set$({
115
140
  '*currentActivityParams': activityParams,
116
141
  '*currentActivity': activity,
117
142
  });
143
+ }
118
144
  }
119
145
 
120
146
  /** @param {string} type */
@@ -1 +1 @@
1
- {"version":3,"file":"SourceList.d.ts","sourceRoot":"","sources":["SourceList.js"],"names":[],"mappings":"AAGA;CA2BC;sBA9BqB,yBAAyB"}
1
+ {"version":3,"file":"SourceList.d.ts","sourceRoot":"","sources":["SourceList.js"],"names":[],"mappings":"AAMA;CA4CC;sBAjDqB,yBAAyB"}
@@ -1,9 +1,13 @@
1
+ // @ts-check
1
2
  import { Block } from '../../abstract/Block.js';
2
3
  import { stringToArray } from '../../utils/stringToArray.js';
4
+ import { deserializeCsv } from '../utils/comma-separated.js';
5
+ import { isSupportCapture } from '../utils/supportCapture.js';
3
6
 
4
7
  export class SourceList extends Block {
5
8
  initCallback() {
6
9
  super.initCallback();
10
+
7
11
  this.subConfigValue('sourceList', (/** @type {String} */ val) => {
8
12
  let list = stringToArray(val);
9
13
  let html = '';
@@ -18,6 +22,22 @@ export class SourceList extends Block {
18
22
  return;
19
23
  }
20
24
 
25
+ if (srcName === 'camera' && isSupportCapture()) {
26
+ this.subConfigValue('cameraModes', (/** @type {String} */ val) => {
27
+ const cameraModes = deserializeCsv(val);
28
+
29
+ cameraModes.forEach((mode) => {
30
+ html += /* HTML */ `<uc-source-btn role="listitem" type="mobile-${mode}-camera"></uc-source-btn>`;
31
+ });
32
+
33
+ if (cameraModes.length === 0) {
34
+ html += /* HTML */ `<uc-source-btn role="listitem" type="mobile-photo-camera"></uc-source-btn>`;
35
+ }
36
+ });
37
+
38
+ return;
39
+ }
40
+
21
41
  html += /* HTML */ `<uc-source-btn role="listitem" type="${srcName}"></uc-source-btn>`;
22
42
  });
23
43
 
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["Spinner.js"],"names":[],"mappings":"AAEA;IAGq5B,cAAgB;CAHx3B;;;;8BAFf,sBAAsB"}
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["Spinner.js"],"names":[],"mappings":"AAEA;;CAA6C;;;;8BAFf,sBAAsB"}
@@ -3,7 +3,7 @@ import { ActivityBlock } from '../../abstract/ActivityBlock.js';
3
3
  export class StartFrom extends ActivityBlock {
4
4
  historyTracked = true;
5
5
  /** @type {import('../../abstract/ActivityBlock.js').ActivityType} */
6
- activityType = 'start-from';
6
+ activityType = ActivityBlock.activities.START_FROM;
7
7
 
8
8
  initCallback() {
9
9
  super.initCallback();
@@ -0,0 +1,48 @@
1
+ export class Thumb extends UploaderBlock {
2
+ /**
3
+ * @private
4
+ * @type {any} TODO: Add types for upload entry
5
+ */
6
+ private _entry;
7
+ /**
8
+ * @private
9
+ * @type {IntersectionObserverEntry['boundingClientRect'] | null}
10
+ */
11
+ private _thumbRect;
12
+ _debouncedGenerateThumb: (() => Promise<void>) & {
13
+ cancel: () => void;
14
+ };
15
+ _isIntersecting: boolean;
16
+ init$: {
17
+ thumbUrl: string;
18
+ badgeIcon: string;
19
+ uid: string;
20
+ '*commonProgress': number;
21
+ '*uploadList': never[];
22
+ '*uploadQueue': import("@uploadcare/upload-client").Queue;
23
+ '*collectionErrors': ReturnType<import("../../index.js").OutputErrorCollection>[];
24
+ '*collectionState': import("../../index.js").OutputCollectionState | null;
25
+ '*groupInfo': import("@uploadcare/upload-client").UploadcareGroup | null;
26
+ '*uploadTrigger': Set<string>;
27
+ '*secureUploadsManager': import("../../abstract/SecureUploadsManager.js").SecureUploadsManager | null;
28
+ '*currentActivity': null;
29
+ '*currentActivityParams': {};
30
+ '*history': never[];
31
+ '*historyBack': null;
32
+ '*closeModal': () => void;
33
+ };
34
+ _calculateThumbSize(): number;
35
+ /** @private */
36
+ private _generateThumbnail;
37
+ /**
38
+ * @private
39
+ * @param {IntersectionObserverEntry[]} entries
40
+ */
41
+ private _observerCallback;
42
+ _observer: IntersectionObserver | undefined;
43
+ }
44
+ export namespace Thumb {
45
+ let template: string;
46
+ }
47
+ import { UploaderBlock } from '../../abstract/UploaderBlock.js';
48
+ //# sourceMappingURL=Thumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Thumb.d.ts","sourceRoot":"","sources":["Thumb.js"],"names":[],"mappings":"AAMA;IACE;;;OAGG;IACH,eAAc;IAEd;;;OAGG;IACH,mBAAkB;IAElB;;MAA4E;IAE5E,yBAAwB;IAKtB;;;;;;;+CALF,gBAAS;mCAMD,gBAAU;6BAON,2BACC;;wCAGH,wCAGP;;;;;;MAVA;IAGH,8BAYC;IAED,eAAe;IACf,2BAqCC;IAED;;;OAGG;IACH,0BAaC;IAqCC,4CAAuG;CAW1G;;;;8BAzJ6B,iCAAiC"}
@@ -0,0 +1,169 @@
1
+ import { UploaderBlock } from '../../abstract/UploaderBlock.js';
2
+ import { createCdnUrl, createCdnUrlModifiers, createOriginalUrl } from '../../utils/cdn-utils.js';
3
+ import { fileCssBg } from '../svg-backgrounds/svg-backgrounds.js';
4
+ import { debounce } from '../utils/debounce.js';
5
+ import { generateThumb } from '../utils/resizeImage.js';
6
+
7
+ export class Thumb extends UploaderBlock {
8
+ /**
9
+ * @private
10
+ * @type {any} TODO: Add types for upload entry
11
+ */
12
+ _entry = null;
13
+
14
+ /**
15
+ * @private
16
+ * @type {IntersectionObserverEntry['boundingClientRect'] | null}
17
+ */
18
+ _thumbRect = null;
19
+
20
+ _debouncedGenerateThumb = debounce(this._generateThumbnail.bind(this), 100);
21
+
22
+ _isIntersecting = false;
23
+
24
+ constructor() {
25
+ super();
26
+
27
+ this.init$ = {
28
+ ...this.init$,
29
+ thumbUrl: '',
30
+ badgeIcon: '',
31
+ uid: '',
32
+ };
33
+ }
34
+
35
+ _calculateThumbSize() {
36
+ let size = Math.max(
37
+ parseInt(String(this?._thumbRect?.height || 0)),
38
+ parseInt(String(this?._thumbRect?.width || 0)),
39
+ this.cfg.thumbSize,
40
+ );
41
+
42
+ if (window.devicePixelRatio > 1) {
43
+ size *= window.devicePixelRatio;
44
+ }
45
+
46
+ return size;
47
+ }
48
+
49
+ /** @private */
50
+ async _generateThumbnail() {
51
+ if (!this._entry) {
52
+ return;
53
+ }
54
+ let entry = this._entry;
55
+
56
+ if (entry.getValue('fileInfo') && entry.getValue('isImage')) {
57
+ let size = this._calculateThumbSize();
58
+
59
+ let thumbUrl = await this.proxyUrl(
60
+ createCdnUrl(
61
+ createOriginalUrl(this.cfg.cdnCname, this._entry.getValue('uuid')),
62
+ createCdnUrlModifiers(entry.getValue('cdnUrlModifiers'), `scale_crop/${size}x${size}/center/-/preview/`),
63
+ ),
64
+ );
65
+ let currentThumbUrl = entry.getValue('thumbUrl');
66
+ if (currentThumbUrl !== thumbUrl) {
67
+ entry.setValue('thumbUrl', thumbUrl);
68
+ currentThumbUrl?.startsWith('blob:') && URL.revokeObjectURL(currentThumbUrl);
69
+ }
70
+ return;
71
+ }
72
+
73
+ if (entry.getValue('file')?.type.includes('image')) {
74
+ try {
75
+ let size = this._calculateThumbSize();
76
+
77
+ let thumbUrl = await generateThumb(entry.getValue('file'), size);
78
+ entry.setValue('thumbUrl', thumbUrl);
79
+ } catch (err) {
80
+ let color = window.getComputedStyle(this).getPropertyValue('--uc-muted-foreground');
81
+ entry.setValue('thumbUrl', fileCssBg(color));
82
+ }
83
+ } else {
84
+ let color = window.getComputedStyle(this).getPropertyValue('--uc-muted-foreground');
85
+ entry.setValue('thumbUrl', fileCssBg(color));
86
+ }
87
+ }
88
+
89
+ /**
90
+ * @private
91
+ * @param {IntersectionObserverEntry[]} entries
92
+ */
93
+ _observerCallback(entries) {
94
+ const [entry] = entries;
95
+ this._isIntersecting = entry.isIntersecting;
96
+
97
+ if (entry.isIntersecting) {
98
+ this._thumbRect = entry.boundingClientRect;
99
+ this._debouncedGenerateThumb();
100
+ this._observer?.disconnect();
101
+ }
102
+
103
+ if (entry.intersectionRatio === 0) {
104
+ this._debouncedGenerateThumb.cancel();
105
+ }
106
+ }
107
+
108
+ initCallback() {
109
+ super.initCallback();
110
+
111
+ this.defineAccessor('badgeIcon', (/** @type {string} */ val) => (this.$.badgeIcon = val));
112
+
113
+ this.defineAccessor('uid', (/** @type {string} */ value) => {
114
+ this.set$({ uid: value });
115
+ });
116
+
117
+ this.sub('uid', (value) => {
118
+ this._entry = this.uploadCollection.read(value);
119
+ });
120
+
121
+ this._entry?.subscribe('fileInfo', (fileInfo) => {
122
+ if (fileInfo?.isImage && this._isIntersecting) {
123
+ this._debouncedGenerateThumb();
124
+ }
125
+ });
126
+
127
+ this._entry?.subscribe('thumbUrl', (thumbUrl) => {
128
+ this.$.thumbUrl = thumbUrl ? `url(${thumbUrl})` : '';
129
+ });
130
+
131
+ this._entry?.subscribe('cdnUrlModifiers', () => {
132
+ if (this._isIntersecting) {
133
+ this._debouncedGenerateThumb();
134
+ }
135
+ });
136
+
137
+ this.setAttribute('role', 'img');
138
+ }
139
+
140
+ connectedCallback() {
141
+ super.connectedCallback();
142
+
143
+ this._observer = new window.IntersectionObserver(this._observerCallback.bind(this), { threshold: 0.1 });
144
+
145
+ this._observer.observe(this);
146
+ }
147
+
148
+ disconnectedCallback() {
149
+ super.disconnectedCallback();
150
+
151
+ this._debouncedGenerateThumb.cancel();
152
+ this._observer?.disconnect();
153
+ }
154
+ }
155
+
156
+ Thumb.template = /* html */ `
157
+ <div class="uc-thumb" set="style.backgroundImage: thumbUrl">
158
+ <div class="uc-badge">
159
+ <uc-icon set="@name: badgeIcon"></uc-icon>
160
+ </div>
161
+ </div>
162
+ `;
163
+
164
+ Thumb.bindAttributes({
165
+ // @ts-expect-error TODO: fix types inside symbiote
166
+ badgeIcon: null,
167
+ // @ts-expect-error TODO: fix types inside symbiote
168
+ uid: null,
169
+ });
@@ -0,0 +1,4 @@
1
+ uc-thumb {
2
+ width: 100%;
3
+ height: 100%;
4
+ }
@@ -61,9 +61,9 @@ export class EventEmitter {
61
61
  */
62
62
  private _debugPrint;
63
63
  /** @param {import('../../abstract/Block.js').Block} target */
64
- bindTarget(target: import('../../abstract/Block.js').Block): void;
64
+ bindTarget(target: import("../../abstract/Block.js").Block): void;
65
65
  /** @param {import('../../abstract/Block.js').Block} target */
66
- unbindTarget(target: import('../../abstract/Block.js').Block): void;
66
+ unbindTarget(target: import("../../abstract/Block.js").Block): void;
67
67
  /**
68
68
  * @private
69
69
  * @template {(typeof EventType)[keyof typeof EventType]} T
@@ -78,30 +78,30 @@ export class EventEmitter {
78
78
  * @param {TDebounce extends false | undefined ? unknown : () => unknown} [payload]
79
79
  * @param {{ debounce?: TDebounce }} [options]
80
80
  */
81
- emit<T extends "change" | "file-added" | "file-removed" | "file-upload-start" | "file-upload-progress" | "file-upload-success" | "file-upload-failed" | "file-url-changed" | "modal-open" | "modal-close" | "done-click" | "upload-click" | "activity-change" | "common-upload-start" | "common-upload-progress" | "common-upload-success" | "common-upload-failed" | "group-created", TDebounce extends number | boolean | undefined>(type: T, payload?: (TDebounce extends false | undefined ? unknown : () => unknown) | undefined, { debounce }?: {
82
- debounce?: TDebounce | undefined;
83
- } | undefined): void;
81
+ emit<T extends (typeof EventType)[keyof typeof EventType], TDebounce extends boolean | number | undefined>(type: T, payload?: TDebounce extends false | undefined ? unknown : () => unknown, { debounce }?: {
82
+ debounce?: TDebounce;
83
+ }): void;
84
84
  }
85
85
  export type EventPayload = {
86
- [EventType.FILE_ADDED]: import('../../index.js').OutputFileEntry<'idle'>;
87
- [EventType.FILE_REMOVED]: import('../../index.js').OutputFileEntry<'removed'>;
88
- [EventType.FILE_UPLOAD_START]: import('../../index.js').OutputFileEntry<'uploading'>;
89
- [EventType.FILE_UPLOAD_PROGRESS]: import('../../index.js').OutputFileEntry<'uploading'>;
90
- [EventType.FILE_UPLOAD_SUCCESS]: import('../../index.js').OutputFileEntry<'success'>;
91
- [EventType.FILE_UPLOAD_FAILED]: import('../../index.js').OutputFileEntry<'failed'>;
92
- [EventType.FILE_URL_CHANGED]: import('../../index.js').OutputFileEntry<'success'>;
86
+ [EventType.FILE_ADDED]: import("../../index.js").OutputFileEntry<"idle">;
87
+ [EventType.FILE_REMOVED]: import("../../index.js").OutputFileEntry<"removed">;
88
+ [EventType.FILE_UPLOAD_START]: import("../../index.js").OutputFileEntry<"uploading">;
89
+ [EventType.FILE_UPLOAD_PROGRESS]: import("../../index.js").OutputFileEntry<"uploading">;
90
+ [EventType.FILE_UPLOAD_SUCCESS]: import("../../index.js").OutputFileEntry<"success">;
91
+ [EventType.FILE_UPLOAD_FAILED]: import("../../index.js").OutputFileEntry<"failed">;
92
+ [EventType.FILE_URL_CHANGED]: import("../../index.js").OutputFileEntry<"success">;
93
93
  [EventType.MODAL_OPEN]: void;
94
94
  [EventType.MODAL_CLOSE]: void;
95
95
  [EventType.ACTIVITY_CHANGE]: {
96
- activity: import('../../abstract/ActivityBlock.js').ActivityType;
96
+ activity: import("../../abstract/ActivityBlock.js").ActivityType;
97
97
  };
98
98
  [EventType.UPLOAD_CLICK]: void;
99
- [EventType.DONE_CLICK]: import('../../index.js').OutputCollectionState;
100
- [EventType.COMMON_UPLOAD_START]: import('../../index.js').OutputCollectionState<'uploading'>;
101
- [EventType.COMMON_UPLOAD_PROGRESS]: import('../../index.js').OutputCollectionState<'uploading'>;
102
- [EventType.COMMON_UPLOAD_SUCCESS]: import('../../index.js').OutputCollectionState<'success'>;
103
- [EventType.COMMON_UPLOAD_FAILED]: import('../../index.js').OutputCollectionState<'failed'>;
104
- [EventType.CHANGE]: import('../../index.js').OutputCollectionState;
105
- [EventType.GROUP_CREATED]: import('../../index.js').OutputCollectionState<'success', 'has-group'>;
99
+ [EventType.DONE_CLICK]: import("../../index.js").OutputCollectionState;
100
+ [EventType.COMMON_UPLOAD_START]: import("../../index.js").OutputCollectionState<"uploading">;
101
+ [EventType.COMMON_UPLOAD_PROGRESS]: import("../../index.js").OutputCollectionState<"uploading">;
102
+ [EventType.COMMON_UPLOAD_SUCCESS]: import("../../index.js").OutputCollectionState<"success">;
103
+ [EventType.COMMON_UPLOAD_FAILED]: import("../../index.js").OutputCollectionState<"failed">;
104
+ [EventType.CHANGE]: import("../../index.js").OutputCollectionState;
105
+ [EventType.GROUP_CREATED]: import("../../index.js").OutputCollectionState<"success", "has-group">;
106
106
  };
107
107
  //# sourceMappingURL=EventEmitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["EventEmitter.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;IAmBE,uDAAuD;IACvD,kCADsB,OAAO,EAAE,KAAK,IAAI,EAGvC;IArBD;;;OAGG;IACH,sBAA0B;IAE1B;;;OAGG;IACH,iBAAqB;IAErB;;;OAGG;IACH,oBAAmB;IAOnB,8DAA8D;IAC9D,mBADY,OAAO,yBAAyB,EAAE,KAAK,QAGlD;IAED,8DAA8D;IAC9D,qBADY,OAAO,yBAAyB,EAAE,KAAK,QAGlD;IAED;;;;;OAKG;IACH,kBAaC;IAED;;;;;;OAMG;IACH,ifAHiE,OAAO;;yBAkBvE;CACF;2BAtGY;IACZ,CAAK,UAAU,UAAU,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAK,UAAU,YAAY,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAClF,CAAK,UAAU,iBAAiB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACzF,CAAK,UAAU,oBAAoB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAK,UAAU,mBAAmB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzF,CAAK,UAAU,kBAAkB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAK,UAAU,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACtF,CAAK,UAAU,UAAU,CAAC,EAAE,IAAI,CAAC;IACjC,CAAK,UAAU,WAAW,CAAC,EAAE,IAAI,CAAC;IAClC,CAAK,UAAU,eAAe,CAAC,EAAE;QACjC,QAAc,EAAE,OAAO,iCAAiC,EAAE,YAAY,CAAC;KAClE,CAAC;IACN,CAAK,UAAU,YAAY,CAAC,EAAE,IAAI,CAAC;IACnC,CAAK,UAAU,UAAU,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;IAC3E,CAAK,UAAU,mBAAmB,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACjG,CAAK,UAAU,sBAAsB,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACpG,CAAK,UAAU,qBAAqB,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjG,CAAK,UAAU,oBAAoB,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/F,CAAK,UAAU,MAAM,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;IACvE,CAAK,UAAU,aAAa,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;CACnG"}
1
+ {"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["EventEmitter.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;IAmBE,uDAAuD;IACvD,wBADY,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAGvC;IArBD;;;OAGG;IACH,sBAA0B;IAE1B;;;OAGG;IACH,iBAAqB;IAErB;;;OAGG;IACH,oBAAmB;IAOnB,8DAA8D;IAC9D,mBADY,OAAO,yBAAyB,EAAE,KAAK,QAGlD;IAED,8DAA8D;IAC9D,qBADY,OAAO,yBAAyB,EAAE,KAAK,QAGlD;IAED;;;;;OAKG;IACH,kBAaC;IAED;;;;;;OAMG;IACH,KAN0D,CAAC,SAA9C,CAAE,OAAO,SAAS,EAAE,MAAM,OAAO,SAAS,CAAE,EACb,SAAS,SAAvC,OAAO,GAAG,MAAM,GAAG,SAAU,QAChC,CAAC,YACD,SAAS,SAAS,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,OAAO,iBAC7D;QAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;KAAE,QAiBlC;CACF;2BAtGY;IACZ,CAAK,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAK,SAAS,CAAC,YAAY,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAClF,CAAK,SAAS,CAAC,iBAAiB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IACzF,CAAK,SAAS,CAAC,oBAAoB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAK,SAAS,CAAC,mBAAmB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzF,CAAK,SAAS,CAAC,kBAAkB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvF,CAAK,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACtF,CAAK,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IACjC,CAAK,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAClC,CAAK,SAAS,CAAC,eAAe,CAAC,EAAE;QAC3B,QAAQ,EAAE,OAAO,iCAAiC,EAAE,YAAY,CAAC;KAClE,CAAC;IACN,CAAK,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IACnC,CAAK,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;IAC3E,CAAK,SAAS,CAAC,mBAAmB,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACjG,CAAK,SAAS,CAAC,sBAAsB,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACpG,CAAK,SAAS,CAAC,qBAAqB,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjG,CAAK,SAAS,CAAC,oBAAoB,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/F,CAAK,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC;IACvE,CAAK,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,gBAAgB,EAAE,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;CACnG"}