@uploadcare/file-uploader 0.50.1-alpha.2

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 (631) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +165 -0
  3. package/abstract/ActivityBlock.d.ts +68 -0
  4. package/abstract/ActivityBlock.d.ts.map +1 -0
  5. package/abstract/ActivityBlock.js +207 -0
  6. package/abstract/Block.d.ts +99 -0
  7. package/abstract/Block.d.ts.map +1 -0
  8. package/abstract/Block.js +349 -0
  9. package/abstract/CTX.d.ts +31 -0
  10. package/abstract/CTX.d.ts.map +1 -0
  11. package/abstract/CTX.js +38 -0
  12. package/abstract/LocaleManager.d.ts +38 -0
  13. package/abstract/LocaleManager.d.ts.map +1 -0
  14. package/abstract/LocaleManager.js +127 -0
  15. package/abstract/SecureUploadsManager.d.ts +22 -0
  16. package/abstract/SecureUploadsManager.d.ts.map +1 -0
  17. package/abstract/SecureUploadsManager.js +87 -0
  18. package/abstract/SolutionBlock.d.ts +23 -0
  19. package/abstract/SolutionBlock.d.ts.map +1 -0
  20. package/abstract/SolutionBlock.js +23 -0
  21. package/abstract/TypedCollection.d.ts +127 -0
  22. package/abstract/TypedCollection.d.ts.map +1 -0
  23. package/abstract/TypedCollection.js +245 -0
  24. package/abstract/TypedData.d.ts +47 -0
  25. package/abstract/TypedData.d.ts.map +1 -0
  26. package/abstract/TypedData.js +77 -0
  27. package/abstract/UploaderBlock.d.ts +114 -0
  28. package/abstract/UploaderBlock.d.ts.map +1 -0
  29. package/abstract/UploaderBlock.js +444 -0
  30. package/abstract/UploaderPublicApi.d.ts +90 -0
  31. package/abstract/UploaderPublicApi.d.ts.map +1 -0
  32. package/abstract/UploaderPublicApi.js +316 -0
  33. package/abstract/ValidationManager.d.ts +31 -0
  34. package/abstract/ValidationManager.d.ts.map +1 -0
  35. package/abstract/ValidationManager.js +162 -0
  36. package/abstract/a11y.d.ts +20 -0
  37. package/abstract/a11y.d.ts.map +1 -0
  38. package/abstract/a11y.js +118 -0
  39. package/abstract/buildOutputCollectionState.d.ts +8 -0
  40. package/abstract/buildOutputCollectionState.d.ts.map +1 -0
  41. package/abstract/buildOutputCollectionState.js +136 -0
  42. package/abstract/connectBlocksFrom.d.ts +8 -0
  43. package/abstract/connectBlocksFrom.d.ts.map +1 -0
  44. package/abstract/connectBlocksFrom.js +34 -0
  45. package/abstract/l10nProcessor.d.ts +7 -0
  46. package/abstract/l10nProcessor.d.ts.map +1 -0
  47. package/abstract/l10nProcessor.js +80 -0
  48. package/abstract/localeRegistry.d.ts +5 -0
  49. package/abstract/localeRegistry.d.ts.map +1 -0
  50. package/abstract/localeRegistry.js +63 -0
  51. package/abstract/registerBlocks.d.ts +5 -0
  52. package/abstract/registerBlocks.d.ts.map +1 -0
  53. package/abstract/registerBlocks.js +31 -0
  54. package/abstract/sharedConfigKey.d.ts +2 -0
  55. package/abstract/sharedConfigKey.d.ts.map +1 -0
  56. package/abstract/sharedConfigKey.js +8 -0
  57. package/abstract/uploadEntrySchema.d.ts +64 -0
  58. package/abstract/uploadEntrySchema.d.ts.map +1 -0
  59. package/abstract/uploadEntrySchema.js +138 -0
  60. package/blocks/ActivityHeader/ActivityHeader.d.ts +4 -0
  61. package/blocks/ActivityHeader/ActivityHeader.d.ts.map +1 -0
  62. package/blocks/ActivityHeader/ActivityHeader.js +3 -0
  63. package/blocks/ActivityHeader/activity-header.css +14 -0
  64. package/blocks/CameraSource/CameraSource.d.ts +39 -0
  65. package/blocks/CameraSource/CameraSource.d.ts.map +1 -0
  66. package/blocks/CameraSource/CameraSource.js +253 -0
  67. package/blocks/CameraSource/camera-source.css +107 -0
  68. package/blocks/CloudImageEditor/index.css +1 -0
  69. package/blocks/CloudImageEditor/index.d.ts +2 -0
  70. package/blocks/CloudImageEditor/index.d.ts.map +1 -0
  71. package/blocks/CloudImageEditor/index.js +1 -0
  72. package/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts +58 -0
  73. package/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts.map +1 -0
  74. package/blocks/CloudImageEditor/src/CloudImageEditorBlock.js +228 -0
  75. package/blocks/CloudImageEditor/src/CropFrame.d.ts +146 -0
  76. package/blocks/CloudImageEditor/src/CropFrame.d.ts.map +1 -0
  77. package/blocks/CloudImageEditor/src/CropFrame.js +511 -0
  78. package/blocks/CloudImageEditor/src/EditorButtonControl.d.ts +10 -0
  79. package/blocks/CloudImageEditor/src/EditorButtonControl.d.ts.map +1 -0
  80. package/blocks/CloudImageEditor/src/EditorButtonControl.js +44 -0
  81. package/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts +6 -0
  82. package/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts.map +1 -0
  83. package/blocks/CloudImageEditor/src/EditorCropButtonControl.js +39 -0
  84. package/blocks/CloudImageEditor/src/EditorFilterControl.d.ts +18 -0
  85. package/blocks/CloudImageEditor/src/EditorFilterControl.d.ts.map +1 -0
  86. package/blocks/CloudImageEditor/src/EditorFilterControl.js +155 -0
  87. package/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +106 -0
  88. package/blocks/CloudImageEditor/src/EditorImageCropper.d.ts.map +1 -0
  89. package/blocks/CloudImageEditor/src/EditorImageCropper.js +551 -0
  90. package/blocks/CloudImageEditor/src/EditorImageFader.d.ts +132 -0
  91. package/blocks/CloudImageEditor/src/EditorImageFader.d.ts.map +1 -0
  92. package/blocks/CloudImageEditor/src/EditorImageFader.js +454 -0
  93. package/blocks/CloudImageEditor/src/EditorOperationControl.d.ts +9 -0
  94. package/blocks/CloudImageEditor/src/EditorOperationControl.d.ts.map +1 -0
  95. package/blocks/CloudImageEditor/src/EditorOperationControl.js +39 -0
  96. package/blocks/CloudImageEditor/src/EditorScroller.d.ts +7 -0
  97. package/blocks/CloudImageEditor/src/EditorScroller.d.ts.map +1 -0
  98. package/blocks/CloudImageEditor/src/EditorScroller.js +33 -0
  99. package/blocks/CloudImageEditor/src/EditorSlider.d.ts +24 -0
  100. package/blocks/CloudImageEditor/src/EditorSlider.d.ts.map +1 -0
  101. package/blocks/CloudImageEditor/src/EditorSlider.js +118 -0
  102. package/blocks/CloudImageEditor/src/EditorToolbar.d.ts +104 -0
  103. package/blocks/CloudImageEditor/src/EditorToolbar.d.ts.map +1 -0
  104. package/blocks/CloudImageEditor/src/EditorToolbar.js +441 -0
  105. package/blocks/CloudImageEditor/src/crop-utils.d.ts +123 -0
  106. package/blocks/CloudImageEditor/src/crop-utils.d.ts.map +1 -0
  107. package/blocks/CloudImageEditor/src/crop-utils.js +729 -0
  108. package/blocks/CloudImageEditor/src/cropper-constants.d.ts +11 -0
  109. package/blocks/CloudImageEditor/src/cropper-constants.d.ts.map +1 -0
  110. package/blocks/CloudImageEditor/src/cropper-constants.js +11 -0
  111. package/blocks/CloudImageEditor/src/css/common.css +1157 -0
  112. package/blocks/CloudImageEditor/src/css/icons.css +12 -0
  113. package/blocks/CloudImageEditor/src/css/index.css +2 -0
  114. package/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts +20 -0
  115. package/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts.map +1 -0
  116. package/blocks/CloudImageEditor/src/elements/button/BtnUi.js +90 -0
  117. package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts +11 -0
  118. package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts.map +1 -0
  119. package/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.js +52 -0
  120. package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts +17 -0
  121. package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts.map +1 -0
  122. package/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.js +71 -0
  123. package/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts +16 -0
  124. package/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts.map +1 -0
  125. package/blocks/CloudImageEditor/src/elements/slider/SliderUi.js +178 -0
  126. package/blocks/CloudImageEditor/src/index.d.ts +15 -0
  127. package/blocks/CloudImageEditor/src/index.d.ts.map +1 -0
  128. package/blocks/CloudImageEditor/src/index.js +14 -0
  129. package/blocks/CloudImageEditor/src/lib/FocusVisible.d.ts +15 -0
  130. package/blocks/CloudImageEditor/src/lib/FocusVisible.d.ts.map +1 -0
  131. package/blocks/CloudImageEditor/src/lib/FocusVisible.js +33 -0
  132. package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts +10 -0
  133. package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.d.ts.map +1 -0
  134. package/blocks/CloudImageEditor/src/lib/applyFocusVisiblePolyfill.js +256 -0
  135. package/blocks/CloudImageEditor/src/lib/classNames.d.ts +3 -0
  136. package/blocks/CloudImageEditor/src/lib/classNames.d.ts.map +1 -0
  137. package/blocks/CloudImageEditor/src/lib/classNames.js +34 -0
  138. package/blocks/CloudImageEditor/src/lib/linspace.d.ts +8 -0
  139. package/blocks/CloudImageEditor/src/lib/linspace.d.ts.map +1 -0
  140. package/blocks/CloudImageEditor/src/lib/linspace.js +14 -0
  141. package/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +2 -0
  142. package/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts.map +1 -0
  143. package/blocks/CloudImageEditor/src/lib/parseCropPreset.js +14 -0
  144. package/blocks/CloudImageEditor/src/lib/parseTabs.d.ts +2 -0
  145. package/blocks/CloudImageEditor/src/lib/parseTabs.d.ts.map +1 -0
  146. package/blocks/CloudImageEditor/src/lib/parseTabs.js +14 -0
  147. package/blocks/CloudImageEditor/src/lib/pick.d.ts +7 -0
  148. package/blocks/CloudImageEditor/src/lib/pick.d.ts.map +1 -0
  149. package/blocks/CloudImageEditor/src/lib/pick.js +15 -0
  150. package/blocks/CloudImageEditor/src/lib/preloadImage.d.ts +11 -0
  151. package/blocks/CloudImageEditor/src/lib/preloadImage.d.ts.map +1 -0
  152. package/blocks/CloudImageEditor/src/lib/preloadImage.js +38 -0
  153. package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +14 -0
  154. package/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts.map +1 -0
  155. package/blocks/CloudImageEditor/src/lib/transformationUtils.js +167 -0
  156. package/blocks/CloudImageEditor/src/state.d.ts +38 -0
  157. package/blocks/CloudImageEditor/src/state.d.ts.map +1 -0
  158. package/blocks/CloudImageEditor/src/state.js +92 -0
  159. package/blocks/CloudImageEditor/src/svg-sprite.d.ts +3 -0
  160. package/blocks/CloudImageEditor/src/svg-sprite.d.ts.map +1 -0
  161. package/blocks/CloudImageEditor/src/svg-sprite.js +1 -0
  162. package/blocks/CloudImageEditor/src/template.d.ts +2 -0
  163. package/blocks/CloudImageEditor/src/template.d.ts.map +1 -0
  164. package/blocks/CloudImageEditor/src/template.js +36 -0
  165. package/blocks/CloudImageEditor/src/toolbar-constants.d.ts +58 -0
  166. package/blocks/CloudImageEditor/src/toolbar-constants.d.ts.map +1 -0
  167. package/blocks/CloudImageEditor/src/toolbar-constants.js +114 -0
  168. package/blocks/CloudImageEditor/src/types.d.ts +58 -0
  169. package/blocks/CloudImageEditor/src/types.d.ts.map +1 -0
  170. package/blocks/CloudImageEditor/src/types.js +61 -0
  171. package/blocks/CloudImageEditor/src/util.d.ts +2 -0
  172. package/blocks/CloudImageEditor/src/util.d.ts.map +1 -0
  173. package/blocks/CloudImageEditor/src/util.js +19 -0
  174. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +31 -0
  175. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts.map +1 -0
  176. package/blocks/CloudImageEditorActivity/CloudImageEditorActivity.js +113 -0
  177. package/blocks/CloudImageEditorActivity/index.css +13 -0
  178. package/blocks/CloudImageEditorActivity/test.d.ts +2 -0
  179. package/blocks/CloudImageEditorActivity/test.d.ts.map +1 -0
  180. package/blocks/CloudImageEditorActivity/test.js +9 -0
  181. package/blocks/Config/Config.d.ts +67 -0
  182. package/blocks/Config/Config.d.ts.map +1 -0
  183. package/blocks/Config/Config.js +246 -0
  184. package/blocks/Config/config.css +3 -0
  185. package/blocks/Config/initialConfig.d.ts +6 -0
  186. package/blocks/Config/initialConfig.d.ts.map +1 -0
  187. package/blocks/Config/initialConfig.js +69 -0
  188. package/blocks/Config/normalizeConfigValue.d.ts +3 -0
  189. package/blocks/Config/normalizeConfigValue.d.ts.map +1 -0
  190. package/blocks/Config/normalizeConfigValue.js +177 -0
  191. package/blocks/Copyright/Copyright.d.ts +4 -0
  192. package/blocks/Copyright/Copyright.d.ts.map +1 -0
  193. package/blocks/Copyright/Copyright.js +24 -0
  194. package/blocks/Copyright/copyright.css +31 -0
  195. package/blocks/DropArea/DropArea.d.ts +49 -0
  196. package/blocks/DropArea/DropArea.d.ts.map +1 -0
  197. package/blocks/DropArea/DropArea.js +273 -0
  198. package/blocks/DropArea/addDropzone.d.ts +21 -0
  199. package/blocks/DropArea/addDropzone.d.ts.map +1 -0
  200. package/blocks/DropArea/addDropzone.js +137 -0
  201. package/blocks/DropArea/drop-area.css +188 -0
  202. package/blocks/DropArea/getDropItems.d.ts +16 -0
  203. package/blocks/DropArea/getDropItems.d.ts.map +1 -0
  204. package/blocks/DropArea/getDropItems.js +167 -0
  205. package/blocks/ExternalSource/ExternalSource.d.ts +98 -0
  206. package/blocks/ExternalSource/ExternalSource.d.ts.map +1 -0
  207. package/blocks/ExternalSource/ExternalSource.js +268 -0
  208. package/blocks/ExternalSource/buildStyles.d.ts +27 -0
  209. package/blocks/ExternalSource/buildStyles.d.ts.map +1 -0
  210. package/blocks/ExternalSource/buildStyles.js +133 -0
  211. package/blocks/ExternalSource/external-source.css +65 -0
  212. package/blocks/ExternalSource/messages.d.ts +3 -0
  213. package/blocks/ExternalSource/messages.d.ts.map +1 -0
  214. package/blocks/ExternalSource/messages.js +35 -0
  215. package/blocks/ExternalSource/query-string.d.ts +8 -0
  216. package/blocks/ExternalSource/query-string.d.ts.map +1 -0
  217. package/blocks/ExternalSource/query-string.js +14 -0
  218. package/blocks/FileItem/FileItem.d.ts +97 -0
  219. package/blocks/FileItem/FileItem.d.ts.map +1 -0
  220. package/blocks/FileItem/FileItem.js +460 -0
  221. package/blocks/FileItem/file-item.css +140 -0
  222. package/blocks/FormInput/FormInput.d.ts +7 -0
  223. package/blocks/FormInput/FormInput.d.ts.map +1 -0
  224. package/blocks/FormInput/FormInput.js +92 -0
  225. package/blocks/Icon/Icon.d.ts +12 -0
  226. package/blocks/Icon/Icon.d.ts.map +1 -0
  227. package/blocks/Icon/Icon.js +44 -0
  228. package/blocks/Icon/icon.css +12 -0
  229. package/blocks/Img/Img.d.ts +4 -0
  230. package/blocks/Img/Img.d.ts.map +1 -0
  231. package/blocks/Img/Img.js +21 -0
  232. package/blocks/Img/ImgBase.d.ts +80 -0
  233. package/blocks/Img/ImgBase.d.ts.map +1 -0
  234. package/blocks/Img/ImgBase.js +408 -0
  235. package/blocks/Img/ImgConfig.d.ts +31 -0
  236. package/blocks/Img/ImgConfig.d.ts.map +1 -0
  237. package/blocks/Img/ImgConfig.js +102 -0
  238. package/blocks/Img/configurations.d.ts +12 -0
  239. package/blocks/Img/configurations.d.ts.map +1 -0
  240. package/blocks/Img/configurations.js +14 -0
  241. package/blocks/Img/props-map.d.ts +29 -0
  242. package/blocks/Img/props-map.d.ts.map +1 -0
  243. package/blocks/Img/props-map.js +34 -0
  244. package/blocks/Img/test.css +16 -0
  245. package/blocks/Img/utils/parseObjectToString.d.ts +2 -0
  246. package/blocks/Img/utils/parseObjectToString.d.ts.map +1 -0
  247. package/blocks/Img/utils/parseObjectToString.js +13 -0
  248. package/blocks/Modal/Modal.d.ts +24 -0
  249. package/blocks/Modal/Modal.d.ts.map +1 -0
  250. package/blocks/Modal/Modal.js +116 -0
  251. package/blocks/Modal/modal.css +92 -0
  252. package/blocks/ProgressBar/ProgressBar.d.ts +10 -0
  253. package/blocks/ProgressBar/ProgressBar.d.ts.map +1 -0
  254. package/blocks/ProgressBar/ProgressBar.js +38 -0
  255. package/blocks/ProgressBar/progress-bar.css +25 -0
  256. package/blocks/ProgressBarCommon/ProgressBarCommon.d.ts +8 -0
  257. package/blocks/ProgressBarCommon/ProgressBarCommon.d.ts.map +1 -0
  258. package/blocks/ProgressBarCommon/ProgressBarCommon.js +44 -0
  259. package/blocks/ProgressBarCommon/progress-bar-common.css +16 -0
  260. package/blocks/Range/Range.d.ts +16 -0
  261. package/blocks/Range/Range.d.ts.map +1 -0
  262. package/blocks/Range/Range.js +44 -0
  263. package/blocks/Range/range.css +65 -0
  264. package/blocks/Select/Select.d.ts +9 -0
  265. package/blocks/Select/Select.d.ts.map +1 -0
  266. package/blocks/Select/Select.js +35 -0
  267. package/blocks/Select/select.css +22 -0
  268. package/blocks/SimpleBtn/SimpleBtn.d.ts +26 -0
  269. package/blocks/SimpleBtn/SimpleBtn.d.ts.map +1 -0
  270. package/blocks/SimpleBtn/SimpleBtn.js +54 -0
  271. package/blocks/SimpleBtn/simple-btn.css +64 -0
  272. package/blocks/SourceBtn/SourceBtn.d.ts +58 -0
  273. package/blocks/SourceBtn/SourceBtn.d.ts.map +1 -0
  274. package/blocks/SourceBtn/SourceBtn.js +145 -0
  275. package/blocks/SourceBtn/source-btn.css +45 -0
  276. package/blocks/SourceList/SourceList.d.ts +4 -0
  277. package/blocks/SourceList/SourceList.d.ts.map +1 -0
  278. package/blocks/SourceList/SourceList.js +20 -0
  279. package/blocks/StartFrom/StartFrom.d.ts +7 -0
  280. package/blocks/StartFrom/StartFrom.d.ts.map +1 -0
  281. package/blocks/StartFrom/StartFrom.js +14 -0
  282. package/blocks/StartFrom/start-from.css +32 -0
  283. package/blocks/UploadCtxProvider/EventEmitter.d.ts +107 -0
  284. package/blocks/UploadCtxProvider/EventEmitter.d.ts.map +1 -0
  285. package/blocks/UploadCtxProvider/EventEmitter.js +132 -0
  286. package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +35 -0
  287. package/blocks/UploadCtxProvider/UploadCtxProvider.d.ts.map +1 -0
  288. package/blocks/UploadCtxProvider/UploadCtxProvider.js +45 -0
  289. package/blocks/UploadList/UploadList.d.ts +59 -0
  290. package/blocks/UploadList/UploadList.d.ts.map +1 -0
  291. package/blocks/UploadList/UploadList.js +237 -0
  292. package/blocks/UploadList/upload-list.css +74 -0
  293. package/blocks/UrlSource/UrlSource.d.ts +9 -0
  294. package/blocks/UrlSource/UrlSource.d.ts.map +1 -0
  295. package/blocks/UrlSource/UrlSource.js +61 -0
  296. package/blocks/UrlSource/url-source.css +24 -0
  297. package/blocks/svg-backgrounds/svg-backgrounds.d.ts +17 -0
  298. package/blocks/svg-backgrounds/svg-backgrounds.d.ts.map +1 -0
  299. package/blocks/svg-backgrounds/svg-backgrounds.js +45 -0
  300. package/blocks/themes/uc-basic/common.css +116 -0
  301. package/blocks/themes/uc-basic/config.css +4 -0
  302. package/blocks/themes/uc-basic/index.css +32 -0
  303. package/blocks/themes/uc-basic/svg-sprite.d.ts +3 -0
  304. package/blocks/themes/uc-basic/svg-sprite.d.ts.map +1 -0
  305. package/blocks/themes/uc-basic/svg-sprite.js +1 -0
  306. package/blocks/themes/uc-basic/theme.css +232 -0
  307. package/blocks/utils/UploadSource.d.ts +9 -0
  308. package/blocks/utils/UploadSource.d.ts.map +1 -0
  309. package/blocks/utils/UploadSource.js +8 -0
  310. package/blocks/utils/abilities.d.ts +2 -0
  311. package/blocks/utils/abilities.d.ts.map +1 -0
  312. package/blocks/utils/abilities.js +3 -0
  313. package/blocks/utils/comma-separated.d.ts +3 -0
  314. package/blocks/utils/comma-separated.d.ts.map +1 -0
  315. package/blocks/utils/comma-separated.js +19 -0
  316. package/blocks/utils/debounce.d.ts +10 -0
  317. package/blocks/utils/debounce.d.ts.map +1 -0
  318. package/blocks/utils/debounce.js +22 -0
  319. package/blocks/utils/resizeImage.d.ts +6 -0
  320. package/blocks/utils/resizeImage.d.ts.map +1 -0
  321. package/blocks/utils/resizeImage.js +40 -0
  322. package/blocks/utils/throttle.d.ts +4 -0
  323. package/blocks/utils/throttle.d.ts.map +1 -0
  324. package/blocks/utils/throttle.js +45 -0
  325. package/blocks/utils/userAgent.d.ts +6 -0
  326. package/blocks/utils/userAgent.d.ts.map +1 -0
  327. package/blocks/utils/userAgent.js +14 -0
  328. package/env.d.ts +4 -0
  329. package/env.d.ts.map +1 -0
  330. package/env.js +3 -0
  331. package/index.d.ts +39 -0
  332. package/index.d.ts.map +1 -0
  333. package/index.js +51 -0
  334. package/index.ssr.d.ts +961 -0
  335. package/index.ssr.d.ts.map +1 -0
  336. package/index.ssr.js +1461 -0
  337. package/locales/file-uploader/ar.d.ts +114 -0
  338. package/locales/file-uploader/ar.d.ts.map +1 -0
  339. package/locales/file-uploader/ar.js +113 -0
  340. package/locales/file-uploader/az.d.ts +106 -0
  341. package/locales/file-uploader/az.d.ts.map +1 -0
  342. package/locales/file-uploader/az.js +105 -0
  343. package/locales/file-uploader/ca.d.ts +108 -0
  344. package/locales/file-uploader/ca.d.ts.map +1 -0
  345. package/locales/file-uploader/ca.js +108 -0
  346. package/locales/file-uploader/cs.d.ts +110 -0
  347. package/locales/file-uploader/cs.d.ts.map +1 -0
  348. package/locales/file-uploader/cs.js +110 -0
  349. package/locales/file-uploader/da.d.ts +106 -0
  350. package/locales/file-uploader/da.d.ts.map +1 -0
  351. package/locales/file-uploader/da.js +106 -0
  352. package/locales/file-uploader/de.d.ts +106 -0
  353. package/locales/file-uploader/de.d.ts.map +1 -0
  354. package/locales/file-uploader/de.js +107 -0
  355. package/locales/file-uploader/el.d.ts +106 -0
  356. package/locales/file-uploader/el.d.ts.map +1 -0
  357. package/locales/file-uploader/el.js +107 -0
  358. package/locales/file-uploader/en.d.ts +106 -0
  359. package/locales/file-uploader/en.d.ts.map +1 -0
  360. package/locales/file-uploader/en.js +105 -0
  361. package/locales/file-uploader/es.d.ts +108 -0
  362. package/locales/file-uploader/es.d.ts.map +1 -0
  363. package/locales/file-uploader/es.js +108 -0
  364. package/locales/file-uploader/et.d.ts +106 -0
  365. package/locales/file-uploader/et.d.ts.map +1 -0
  366. package/locales/file-uploader/et.js +105 -0
  367. package/locales/file-uploader/fr.d.ts +108 -0
  368. package/locales/file-uploader/fr.d.ts.map +1 -0
  369. package/locales/file-uploader/fr.js +108 -0
  370. package/locales/file-uploader/he.d.ts +108 -0
  371. package/locales/file-uploader/he.d.ts.map +1 -0
  372. package/locales/file-uploader/he.js +107 -0
  373. package/locales/file-uploader/hy.d.ts +106 -0
  374. package/locales/file-uploader/hy.d.ts.map +1 -0
  375. package/locales/file-uploader/hy.js +105 -0
  376. package/locales/file-uploader/is.d.ts +106 -0
  377. package/locales/file-uploader/is.d.ts.map +1 -0
  378. package/locales/file-uploader/is.js +105 -0
  379. package/locales/file-uploader/it.d.ts +108 -0
  380. package/locales/file-uploader/it.d.ts.map +1 -0
  381. package/locales/file-uploader/it.js +108 -0
  382. package/locales/file-uploader/ja.d.ts +106 -0
  383. package/locales/file-uploader/ja.d.ts.map +1 -0
  384. package/locales/file-uploader/ja.js +105 -0
  385. package/locales/file-uploader/ka.d.ts +106 -0
  386. package/locales/file-uploader/ka.d.ts.map +1 -0
  387. package/locales/file-uploader/ka.js +105 -0
  388. package/locales/file-uploader/kk.d.ts +106 -0
  389. package/locales/file-uploader/kk.d.ts.map +1 -0
  390. package/locales/file-uploader/kk.js +105 -0
  391. package/locales/file-uploader/ko.d.ts +106 -0
  392. package/locales/file-uploader/ko.d.ts.map +1 -0
  393. package/locales/file-uploader/ko.js +104 -0
  394. package/locales/file-uploader/lv.d.ts +108 -0
  395. package/locales/file-uploader/lv.d.ts.map +1 -0
  396. package/locales/file-uploader/lv.js +107 -0
  397. package/locales/file-uploader/nb.d.ts +106 -0
  398. package/locales/file-uploader/nb.d.ts.map +1 -0
  399. package/locales/file-uploader/nb.js +105 -0
  400. package/locales/file-uploader/nl.d.ts +106 -0
  401. package/locales/file-uploader/nl.d.ts.map +1 -0
  402. package/locales/file-uploader/nl.js +106 -0
  403. package/locales/file-uploader/pl.d.ts +110 -0
  404. package/locales/file-uploader/pl.d.ts.map +1 -0
  405. package/locales/file-uploader/pl.js +109 -0
  406. package/locales/file-uploader/pt.d.ts +108 -0
  407. package/locales/file-uploader/pt.d.ts.map +1 -0
  408. package/locales/file-uploader/pt.js +108 -0
  409. package/locales/file-uploader/ro.d.ts +108 -0
  410. package/locales/file-uploader/ro.d.ts.map +1 -0
  411. package/locales/file-uploader/ro.js +108 -0
  412. package/locales/file-uploader/ru.d.ts +110 -0
  413. package/locales/file-uploader/ru.d.ts.map +1 -0
  414. package/locales/file-uploader/ru.js +109 -0
  415. package/locales/file-uploader/sk.d.ts +110 -0
  416. package/locales/file-uploader/sk.d.ts.map +1 -0
  417. package/locales/file-uploader/sk.js +109 -0
  418. package/locales/file-uploader/sr.d.ts +108 -0
  419. package/locales/file-uploader/sr.d.ts.map +1 -0
  420. package/locales/file-uploader/sr.js +107 -0
  421. package/locales/file-uploader/sv.d.ts +106 -0
  422. package/locales/file-uploader/sv.d.ts.map +1 -0
  423. package/locales/file-uploader/sv.js +105 -0
  424. package/locales/file-uploader/tr.d.ts +106 -0
  425. package/locales/file-uploader/tr.d.ts.map +1 -0
  426. package/locales/file-uploader/tr.js +105 -0
  427. package/locales/file-uploader/uk.d.ts +110 -0
  428. package/locales/file-uploader/uk.d.ts.map +1 -0
  429. package/locales/file-uploader/uk.js +109 -0
  430. package/locales/file-uploader/vi.d.ts +106 -0
  431. package/locales/file-uploader/vi.d.ts.map +1 -0
  432. package/locales/file-uploader/vi.js +105 -0
  433. package/locales/file-uploader/zh-TW.d.ts +106 -0
  434. package/locales/file-uploader/zh-TW.d.ts.map +1 -0
  435. package/locales/file-uploader/zh-TW.js +105 -0
  436. package/locales/file-uploader/zh.d.ts +106 -0
  437. package/locales/file-uploader/zh.d.ts.map +1 -0
  438. package/locales/file-uploader/zh.js +105 -0
  439. package/package.json +142 -0
  440. package/solutions/adaptive-image/index.d.ts +3 -0
  441. package/solutions/adaptive-image/index.d.ts.map +1 -0
  442. package/solutions/adaptive-image/index.js +5 -0
  443. package/solutions/cloud-image-editor/CloudImageEditor.d.ts +4 -0
  444. package/solutions/cloud-image-editor/CloudImageEditor.d.ts.map +1 -0
  445. package/solutions/cloud-image-editor/CloudImageEditor.js +12 -0
  446. package/solutions/cloud-image-editor/index.css +2 -0
  447. package/solutions/cloud-image-editor/index.d.ts +6 -0
  448. package/solutions/cloud-image-editor/index.d.ts.map +1 -0
  449. package/solutions/cloud-image-editor/index.js +11 -0
  450. package/solutions/file-uploader/inline/FileUploaderInline.d.ts +27 -0
  451. package/solutions/file-uploader/inline/FileUploaderInline.d.ts.map +1 -0
  452. package/solutions/file-uploader/inline/FileUploaderInline.js +75 -0
  453. package/solutions/file-uploader/inline/index.css +54 -0
  454. package/solutions/file-uploader/inline/index.d.ts +2 -0
  455. package/solutions/file-uploader/inline/index.d.ts.map +1 -0
  456. package/solutions/file-uploader/inline/index.js +1 -0
  457. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +7 -0
  458. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts.map +1 -0
  459. package/solutions/file-uploader/minimal/FileUploaderMinimal.js +46 -0
  460. package/solutions/file-uploader/minimal/index.css +137 -0
  461. package/solutions/file-uploader/minimal/index.d.ts +14 -0
  462. package/solutions/file-uploader/minimal/index.d.ts.map +1 -0
  463. package/solutions/file-uploader/minimal/index.js +13 -0
  464. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts +26 -0
  465. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts.map +1 -0
  466. package/solutions/file-uploader/regular/FileUploaderRegular.js +66 -0
  467. package/solutions/file-uploader/regular/index.css +1 -0
  468. package/solutions/file-uploader/regular/index.d.ts +2 -0
  469. package/solutions/file-uploader/regular/index.d.ts.map +1 -0
  470. package/solutions/file-uploader/regular/index.js +1 -0
  471. package/types/events.d.ts +5 -0
  472. package/types/events.js +1 -0
  473. package/types/exported.d.ts +295 -0
  474. package/types/exported.js +1 -0
  475. package/types/global.d.ts +8 -0
  476. package/types/https.d.ts +1 -0
  477. package/types/index.d.ts +2 -0
  478. package/types/index.js +3 -0
  479. package/types/jsx.d.ts +63 -0
  480. package/types/jsx.js +1 -0
  481. package/utils/WindowHeightTracker.d.ts +24 -0
  482. package/utils/WindowHeightTracker.d.ts.map +1 -0
  483. package/utils/WindowHeightTracker.js +51 -0
  484. package/utils/cdn-utils.d.ts +59 -0
  485. package/utils/cdn-utils.d.ts.map +1 -0
  486. package/utils/cdn-utils.js +201 -0
  487. package/utils/cdn-utils.test.d.ts +2 -0
  488. package/utils/cdn-utils.test.d.ts.map +1 -0
  489. package/utils/cdn-utils.test.js +227 -0
  490. package/utils/delay.d.ts +2 -0
  491. package/utils/delay.d.ts.map +1 -0
  492. package/utils/delay.js +4 -0
  493. package/utils/fileTypes.d.ts +8 -0
  494. package/utils/fileTypes.d.ts.map +1 -0
  495. package/utils/fileTypes.js +95 -0
  496. package/utils/fileTypes.test.d.ts +2 -0
  497. package/utils/fileTypes.test.d.ts.map +1 -0
  498. package/utils/fileTypes.test.js +89 -0
  499. package/utils/getLocaleDirection.d.ts +2 -0
  500. package/utils/getLocaleDirection.d.ts.map +1 -0
  501. package/utils/getLocaleDirection.js +18 -0
  502. package/utils/getPluralForm.d.ts +3 -0
  503. package/utils/getPluralForm.d.ts.map +1 -0
  504. package/utils/getPluralForm.js +13 -0
  505. package/utils/getPluralForm.test.d.ts +2 -0
  506. package/utils/getPluralForm.test.d.ts.map +1 -0
  507. package/utils/getPluralForm.test.js +16 -0
  508. package/utils/ifRef.d.ts +7 -0
  509. package/utils/ifRef.d.ts.map +1 -0
  510. package/utils/ifRef.js +9 -0
  511. package/utils/isSecureTokenExpired.d.ts +4 -0
  512. package/utils/isSecureTokenExpired.d.ts.map +1 -0
  513. package/utils/isSecureTokenExpired.js +17 -0
  514. package/utils/isSecureTokenExpired.test.d.ts +2 -0
  515. package/utils/isSecureTokenExpired.test.d.ts.map +1 -0
  516. package/utils/isSecureTokenExpired.test.js +33 -0
  517. package/utils/memoize.d.ts +2 -0
  518. package/utils/memoize.d.ts.map +1 -0
  519. package/utils/memoize.js +23 -0
  520. package/utils/memoize.test.d.ts +2 -0
  521. package/utils/memoize.test.d.ts.map +1 -0
  522. package/utils/memoize.test.js +38 -0
  523. package/utils/mixinClass.d.ts +8 -0
  524. package/utils/mixinClass.d.ts.map +1 -0
  525. package/utils/mixinClass.js +18 -0
  526. package/utils/parseCdnUrl.d.ts +9 -0
  527. package/utils/parseCdnUrl.d.ts.map +1 -0
  528. package/utils/parseCdnUrl.js +20 -0
  529. package/utils/parseCdnUrl.test.d.ts +2 -0
  530. package/utils/parseCdnUrl.test.d.ts.map +1 -0
  531. package/utils/parseCdnUrl.test.js +78 -0
  532. package/utils/parseShrink.d.ts +5 -0
  533. package/utils/parseShrink.d.ts.map +1 -0
  534. package/utils/parseShrink.js +34 -0
  535. package/utils/parseShrink.test.d.ts +2 -0
  536. package/utils/parseShrink.test.d.ts.map +1 -0
  537. package/utils/parseShrink.test.js +26 -0
  538. package/utils/prettyBytes.d.ts +11 -0
  539. package/utils/prettyBytes.d.ts.map +1 -0
  540. package/utils/prettyBytes.js +64 -0
  541. package/utils/prettyBytes.test.d.ts +2 -0
  542. package/utils/prettyBytes.test.d.ts.map +1 -0
  543. package/utils/prettyBytes.test.js +99 -0
  544. package/utils/stringToArray.d.ts +2 -0
  545. package/utils/stringToArray.d.ts.map +1 -0
  546. package/utils/stringToArray.js +11 -0
  547. package/utils/stringToArray.test.d.ts +2 -0
  548. package/utils/stringToArray.test.d.ts.map +1 -0
  549. package/utils/stringToArray.test.js +20 -0
  550. package/utils/template-utils.d.ts +40 -0
  551. package/utils/template-utils.d.ts.map +1 -0
  552. package/utils/template-utils.js +50 -0
  553. package/utils/template-utils.test.d.ts +2 -0
  554. package/utils/template-utils.test.d.ts.map +1 -0
  555. package/utils/template-utils.test.js +56 -0
  556. package/utils/toKebabCase.d.ts +3 -0
  557. package/utils/toKebabCase.d.ts.map +1 -0
  558. package/utils/toKebabCase.js +15 -0
  559. package/utils/toKebabCase.test.d.ts +2 -0
  560. package/utils/toKebabCase.test.d.ts.map +1 -0
  561. package/utils/toKebabCase.test.js +11 -0
  562. package/utils/transparentPixelSrc.d.ts +2 -0
  563. package/utils/transparentPixelSrc.d.ts.map +1 -0
  564. package/utils/transparentPixelSrc.js +2 -0
  565. package/utils/uniqueArray.d.ts +2 -0
  566. package/utils/uniqueArray.d.ts.map +1 -0
  567. package/utils/uniqueArray.js +8 -0
  568. package/utils/uniqueArray.test.d.ts +2 -0
  569. package/utils/uniqueArray.test.d.ts.map +1 -0
  570. package/utils/uniqueArray.test.js +8 -0
  571. package/utils/validators/collection/index.d.ts +3 -0
  572. package/utils/validators/collection/index.d.ts.map +1 -0
  573. package/utils/validators/collection/index.js +2 -0
  574. package/utils/validators/collection/validateCollectionUploadError.d.ts +3 -0
  575. package/utils/validators/collection/validateCollectionUploadError.d.ts.map +1 -0
  576. package/utils/validators/collection/validateCollectionUploadError.js +11 -0
  577. package/utils/validators/collection/validateMultiple.d.ts +3 -0
  578. package/utils/validators/collection/validateMultiple.d.ts.map +1 -0
  579. package/utils/validators/collection/validateMultiple.js +43 -0
  580. package/utils/validators/file/index.d.ts +5 -0
  581. package/utils/validators/file/index.d.ts.map +1 -0
  582. package/utils/validators/file/index.js +4 -0
  583. package/utils/validators/file/validateFileType.d.ts +3 -0
  584. package/utils/validators/file/validateFileType.d.ts.map +1 -0
  585. package/utils/validators/file/validateFileType.js +30 -0
  586. package/utils/validators/file/validateIsImage.d.ts +3 -0
  587. package/utils/validators/file/validateIsImage.d.ts.map +1 -0
  588. package/utils/validators/file/validateIsImage.js +25 -0
  589. package/utils/validators/file/validateMaxSizeLimit.d.ts +3 -0
  590. package/utils/validators/file/validateMaxSizeLimit.d.ts.map +1 -0
  591. package/utils/validators/file/validateMaxSizeLimit.js +15 -0
  592. package/utils/validators/file/validateUploadError.d.ts +3 -0
  593. package/utils/validators/file/validateUploadError.d.ts.map +1 -0
  594. package/utils/validators/file/validateUploadError.js +48 -0
  595. package/utils/waitForAttribute.d.ts +8 -0
  596. package/utils/waitForAttribute.d.ts.map +1 -0
  597. package/utils/waitForAttribute.js +43 -0
  598. package/utils/waitForAttribute.test.d.ts +2 -0
  599. package/utils/waitForAttribute.test.d.ts.map +1 -0
  600. package/utils/waitForAttribute.test.js +78 -0
  601. package/utils/warnOnce.d.ts +3 -0
  602. package/utils/warnOnce.d.ts.map +1 -0
  603. package/utils/warnOnce.js +11 -0
  604. package/utils/wildcardRegexp.d.ts +2 -0
  605. package/utils/wildcardRegexp.d.ts.map +1 -0
  606. package/utils/wildcardRegexp.js +17 -0
  607. package/utils/wildcardRegexp.test.d.ts +2 -0
  608. package/utils/wildcardRegexp.test.d.ts.map +1 -0
  609. package/utils/wildcardRegexp.test.js +19 -0
  610. package/web/blocks.iife.min.js +29 -0
  611. package/web/blocks.min.js +29 -0
  612. package/web/lr-basic.min.css +1 -0
  613. package/web/lr-cloud-image-editor.min.css +1 -0
  614. package/web/lr-cloud-image-editor.min.js +29 -0
  615. package/web/lr-file-uploader-inline.min.css +1 -0
  616. package/web/lr-file-uploader-inline.min.js +29 -0
  617. package/web/lr-file-uploader-minimal.min.css +1 -0
  618. package/web/lr-file-uploader-minimal.min.js +28 -0
  619. package/web/lr-file-uploader-regular.min.css +1 -0
  620. package/web/lr-file-uploader-regular.min.js +29 -0
  621. package/web/lr-img.min.js +28 -0
  622. package/web/uc-basic.min.css +1 -0
  623. package/web/uc-cloud-image-editor.min.css +1 -0
  624. package/web/uc-cloud-image-editor.min.js +29 -0
  625. package/web/uc-file-uploader-inline.min.css +1 -0
  626. package/web/uc-file-uploader-inline.min.js +29 -0
  627. package/web/uc-file-uploader-minimal.min.css +1 -0
  628. package/web/uc-file-uploader-minimal.min.js +28 -0
  629. package/web/uc-file-uploader-regular.min.css +1 -0
  630. package/web/uc-file-uploader-regular.min.js +29 -0
  631. package/web/uc-img.min.js +28 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Uploadcare (hello@uploadcare.com). All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,165 @@
1
+ <p align="center">
2
+ <a href="https://uploadcare.com/?ref=github-readme">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: light)" srcset="https://ucarecdn.com/1b4714cd-53be-447b-bbde-e061f1e5a22f/logosafespacetransparent.svg">
5
+ <source media="(prefers-color-scheme: dark)" srcset="https://ucarecdn.com/3b610a0a-780c-4750-a8b4-3bf4a8c90389/logotransparentinverted.svg">
6
+ <img width=250 alt="Uploadcare logo" src="https://ucarecdn.com/1b4714cd-53be-447b-bbde-e061f1e5a22f/logosafespacetransparent.svg">
7
+ </picture>
8
+ </a>
9
+ </p>
10
+ <p align="center">
11
+ <a href="https://uploadcare.com?ref=github-readme">Website</a> •
12
+ <a href="https://uploadcare.com/docs/start/quickstart?ref=github-readme">Quick Start</a> •
13
+ <a href="https://uploadcare.com/docs?ref=github-readme">Docs</a> •
14
+ <a href="https://uploadcare.com/blog?ref=github-readme">Blog</a> •
15
+ <a href="https://discord.gg/mKWRgRsVz8?ref=github-readme">Discord</a> •
16
+ <a href="https://twitter.com/Uploadcare?ref=github-readme">Twitter</a>
17
+ </p>
18
+
19
+ # 📦 Uploadcare Blocks: stack-agnostic library for uploading, processing, and editing images on-the-fly
20
+
21
+ [![npm version](https://badge.fury.io/js/@uploadcare%2Fblocks.svg)](https://www.npmjs.com/package/@uploadcare/blocks)
22
+ [![GitHub Actions](https://github.com/uploadcare/blocks/workflows/checks/badge.svg)](https://github.com/uploadcare/blocks/actions?query=workflow%3ABuild+branch%3Amaster)
23
+ [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
24
+
25
+ _Uploadcare Blocks_ is a powerful JavaScript library for creating custom file-handling services.
26
+ It includes various interactive and customizable UI components to enhance users' file uploading
27
+ and processing experience. As a bonus, you receive all the
28
+ [Uploadcare's](https://uploadcare.com/?ref=github-readme) versatile file-handling capabilities,
29
+ including [smart CDN](https://uploadcare.com/docs/delivery/cdn/#content-delivery-network/?ref=github-readme),
30
+ [MIME-type filtering](https://uploadcare.com/docs/moderation/#file-types/?ref=github-readme),
31
+ [signed uploads](https://uploadcare.com/docs/security/secure-uploads/?ref=github-readme),
32
+ and [even more](<(https://uploadcare.com/features/?ref=github-readme)>).
33
+
34
+ See Uploadcare Blocks [in action](https://codesandbox.io/p/devbox/github/uploadcare/blocks-examples/tree/main/examples/js-uploader)!
35
+
36
+ <img alt="Uploadcare Blocks examples" src="https://ucarecdn.com/2883da9f-6962-49db-9947-f91a3e25be2f/-/preview/">
37
+
38
+ ## Core features
39
+
40
+ - [File Uploader](https://uploadcare.com/docs/file-uploader/?ref=github-readme) — implement file-managing functionality with minimal or comprehensive interfaces in just a few minutes.
41
+ <!-- - [Advanced Customization](/blocks/) — create unique file-uploading interfaces by reorganizing pre-built components and styles with custom based on your needs. -->
42
+ - [Adaptive Images](https://uploadcare.com/docs/adaptive-image/?ref=github-readme) — build responsive user interfaces that adapt to various screen sizes and devices, ensuring a performant experience across platforms.
43
+ - [Cloud Image Editor](https://uploadcare.com/docs/file-uploader/image-editor/?ref=github-readme) — edit, transform, and process images right from a browser on-the-fly.
44
+ - [Uploadcare power and features](https://uploadcare.com/features/?ref=github-readme) — upload, process, deliver, and manage images without building custom infrastructure.
45
+
46
+ * **Coming soon!** Web Components for any media content management like audio, video, image galleries, and more.
47
+
48
+ ## Why Uploadcare Blocks?
49
+
50
+ ### Rapid integration
51
+
52
+ We provide a ready-to-use set of UI components for file handling. It saves you valuable development time and effort, allowing you to focus on other core aspects of your application. You even don't need to build a stage while developing — just run the code directly from the browser.
53
+
54
+ ### Cross-platform compatibility
55
+
56
+ Uploadcare Blocks are designed to work seamlessly across various platforms and frameworks. Whether you're building a web application using React, Vue.js, Angular, Svelte, or other frameworks, you get [integrations and support](https://uploadcare.com/docs/integrations/?ref=github-readme) for various development environments.
57
+
58
+ ### Developer-friendly
59
+
60
+ The library comes with modern technologies at your fingertips, like [Web Components](https://developer.mozilla.org/en-US/docs/Web/API/Web_components), [ESM-level](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) code sharing, and other cutting-edge web standards. _Uploadcare Blocks_ is designed lightweight with minimum external dependencies for a cheap security audit.
61
+
62
+ ### Typescript support
63
+
64
+ We use [JSDoc type annotations](https://www.typescriptlang.org/docs/handbook/intro-to-js-ts.html) and type definitions ([\*.d.ts files](https://www.typescriptlang.org/docs/handbook/declaration-files/dts-from-js.html)) for TypeScript static analysis support during development.
65
+
66
+ ## 🚀 Getting started
67
+
68
+ ### From CDN
69
+
70
+ 1. Connect Uploadcare Blocks directly from your document replacing `{{PACKAGE_VERSION}}` with the [latest version](https://github.com/uploadcare/blocks/releases) of the package:
71
+
72
+ ```html
73
+ <script type="module">
74
+ import * as UC from 'https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@{{PACKAGE_VERSION}}/web/blocks.min.js';
75
+
76
+ UC.registerBlocks(UC);
77
+ </script>
78
+ ```
79
+
80
+ 2. Start using Uploadcare Blocks in your application markup (don't forget to specify `{{PACKAGE_VERSION}}` with the [latest one](https://github.com/uploadcare/file-uploader/releases)):
81
+
82
+ ```html
83
+ <link
84
+ rel="stylesheet"
85
+ href="https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@{{PACKAGE_VERSION}}/web/uc-file-uploader-regular.min.css"
86
+ />
87
+
88
+ <uc-file-uploader-regular ctx-name="my-uploader"> </uc-file-uploader-regular>
89
+ ```
90
+
91
+ 3. Configure Uploadcare Blocks and add your personal public key to the project. Discover the instructions in the [following section](#configuration).
92
+
93
+ ### From NPM
94
+
95
+ 1. Install Uploadcare Blocks package: `npm i --save-exact @uploadcare/file-uploader`
96
+ 2. Connect `Blocks` from your script file:
97
+
98
+ ```js
99
+ import * as UC from '@uploadcare/file-uploader';
100
+
101
+ UC.registerBlocks(UC);
102
+ ```
103
+
104
+ 3. Start using Uploadcare Blocks in your application markup and replace `{{PACKAGE_VERSION}}` with the [latest version](https://github.com/uploadcare/file-uploader/releases) of the package:
105
+
106
+ ```html
107
+ <link
108
+ rel="stylesheet"
109
+ href="https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@{{PACKAGE_VERSION}}/web/uc-file-uploader-regular.min.css"
110
+ />
111
+
112
+ <uc-file-uploader-inline ctx-name="my-uploader"> </uc-file-uploader-inline>
113
+ ```
114
+
115
+ 4. Configure Uploadcare Blocks and add your personal public key to the project. Discover the instructions in the [following section](#configuration).
116
+
117
+ ### Configuration
118
+
119
+ All configurations in Uploadcare Blocks are managed from `uc-config` block.
120
+
121
+ 1. Sign up to [Uploadcare](https://app.uploadcare.com/accounts/signup/?ref=github-readme).
122
+ 2. Get a Public API key in [Uploadcare project's dashboard](https://app.uploadcare.com/projects/-/api-keys/?ref=github-readme).
123
+ 3. Add a `uc-config` block to your markup and replace `YOUR_PUBLIC_KEY` with your own public key:
124
+
125
+ ```html
126
+ <uc-config ctx-name="my-uploader" pubkey="YOUR_PUBLIC_KEY"></uc-config>
127
+ ```
128
+
129
+ 4. Make sure that your config block uses the same `ctx-name` attribute value as your solution block.
130
+
131
+ Discover more about Uploadcare Blocks configuration in [our documentation](https://uploadcare.com/docs/file-uploader/configuration/?ref=github-readme).
132
+
133
+ ### Deep dive in Uploadcare Blocks 🛠
134
+
135
+ Follow our [step-by-step installation guide](https://uploadcare.com/docs/file-uploader/installation/?ref=github-readme) to launch Uploadcare Blocks in a few minutes and set it up based on your needs.
136
+
137
+ ## Browser support
138
+
139
+ Latest desktop and mobile stable versions of Chrome, Edge, Firefox, Opera, and Safari are supported.
140
+
141
+ Internet Explorer is outdated and [not supported anymore](https://uploadcare.com/blog/uploadcare-stops-internet-explorer-support/?ref=github-readme).
142
+
143
+ ## Framework support
144
+
145
+ _Uploadcare Blocks_ is a framework-agnostic solution, so you can use it with **any** runtime you like. Discover the integration examples:
146
+ <br/>
147
+
148
+ - [React](https://github.com/uploadcare/uc-blocks-examples/tree/main/examples/react-uploader)
149
+ - [Vue](https://github.com/uploadcare/uc-blocks-examples/tree/main/examples/vue-uploader)
150
+ - [Angular](https://github.com/uploadcare/uc-blocks-examples/tree/main/examples/angular-uploader)
151
+ - [Svelte](https://github.com/uploadcare/uc-blocks-examples/tree/main/examples/svelte-uploader)
152
+
153
+ All the source code is accessible and works in raw mode. Use _developer tools_ to dive into details.
154
+
155
+ ## Contribution
156
+
157
+ You’re always welcome to contribute:
158
+
159
+ - Create [issues](https://github.com/uploadcare/file-uploader/issues) every time you feel something is missing or goes wrong.
160
+ - Provide your feedback or drop us a support request at <a href="mailto:hello@uploadcare.com">hello@uploadcare.com</a>.
161
+ - Ask questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/uploadcare) with "uploadcare" tag if others can have these questions as well.
162
+ - Fork project, make changes and send it as pull request. For launching the developing mode follow these commands:
163
+ - Install dependencies: `npm install`.
164
+ - Start local dev-server: `npm run dev`.
165
+ - Star this repo if you like it ⭐️
@@ -0,0 +1,68 @@
1
+ export class ActivityBlock extends Block {
2
+ /**
3
+ * @private
4
+ * @type {Map<
5
+ * ActivityBlock,
6
+ * { activateCallback: (() => void) | undefined; deactivateCallback: (() => void) | undefined }
7
+ * >}
8
+ */
9
+ private static _activityCallbacks;
10
+ /** @protected */
11
+ protected historyTracked: boolean;
12
+ init$: {
13
+ '*currentActivity': null;
14
+ '*currentActivityParams': {};
15
+ '*history': never[];
16
+ '*historyBack': null;
17
+ '*closeModal': () => void;
18
+ };
19
+ _debouncedHistoryFlush: (() => void) & {
20
+ cancel: () => void;
21
+ };
22
+ /** @private */
23
+ private _deactivate;
24
+ /** @private */
25
+ private _activate;
26
+ /** @private */
27
+ private _historyFlush;
28
+ /** @private */
29
+ private _isActivityRegistered;
30
+ get isActivityActive(): boolean | undefined;
31
+ get couldOpenActivity(): boolean;
32
+ /**
33
+ * TODO: remove name argument
34
+ *
35
+ * @param {String} name
36
+ * @param {Object} [options]
37
+ * @param {() => void} [options.onActivate]
38
+ * @param {() => void} [options.onDeactivate]
39
+ */
40
+ registerActivity(name: string, options?: {
41
+ onActivate?: (() => void) | undefined;
42
+ onDeactivate?: (() => void) | undefined;
43
+ } | undefined): void;
44
+ unregisterActivity(): void;
45
+ get activityKey(): string;
46
+ get activityParams(): any;
47
+ /** @type {String} */
48
+ get initActivity(): string;
49
+ /** @type {String} */
50
+ get doneActivity(): string;
51
+ historyBack(): void;
52
+ ___ACTIVITY_IS_ACTIVE___: boolean | undefined;
53
+ }
54
+ export namespace ActivityBlock {
55
+ let activities: Readonly<{
56
+ START_FROM: "start-from";
57
+ CAMERA: "camera";
58
+ DRAW: "draw";
59
+ UPLOAD_LIST: "upload-list";
60
+ URL: "url";
61
+ CLOUD_IMG_EDIT: "cloud-image-edit";
62
+ EXTERNAL: "external";
63
+ DETAILS: "details";
64
+ }>;
65
+ }
66
+ export type ActivityType = (typeof ActivityBlock)['activities'][keyof (typeof ActivityBlock)['activities']] | (string & {}) | null;
67
+ import { Block } from './Block.js';
68
+ //# sourceMappingURL=ActivityBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityBlock.d.ts","sourceRoot":"","sources":["ActivityBlock.js"],"names":[],"mappings":"AASA;IAuFE;;;;;;OAMG;IACH,kCAAsC;IA7FtC,iBAAiB;IACjB,kCAAuB;IAEvB;;;;;;MAA+B;IAE/B;;MAAqE;IAErE,eAAe;IACf,oBAKC;IAED,eAAe;IACf,kBAaC;IAsCD,eAAe;IACf,sBAWC;IAED,eAAe;IACf,8BAEC;IAWD,4CAEC;IAED,iCAEC;IAED;;;;;;;OAOG;IACH;4BAHiB,IAAI;8BACJ,IAAI;yBAQpB;IAED,2BAKC;IAoBD,0BAEC;IAED,0BAEC;IAED,qBAAqB;IACrB,2BAEC;IAED,qBAAqB;IACrB,2BAEC;IAED,oBAoBC;IA5KC,8CAAyB;CA6K5B;;;;;;;;;;;;;2BAaa,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI;sBA3M/F,YAAY"}
@@ -0,0 +1,207 @@
1
+ // @ts-check
2
+ import { debounce } from '../blocks/utils/debounce.js';
3
+ import { EventType } from '../blocks/UploadCtxProvider/EventEmitter.js';
4
+ import { Block } from './Block.js';
5
+ import { activityBlockCtx } from './CTX.js';
6
+
7
+ const ACTIVE_ATTR = 'active';
8
+ const ACTIVE_PROP = '___ACTIVITY_IS_ACTIVE___';
9
+
10
+ export class ActivityBlock extends Block {
11
+ /** @protected */
12
+ historyTracked = false;
13
+
14
+ init$ = activityBlockCtx(this);
15
+
16
+ _debouncedHistoryFlush = debounce(this._historyFlush.bind(this), 10);
17
+
18
+ /** @private */
19
+ _deactivate() {
20
+ let actDesc = ActivityBlock._activityCallbacks.get(this);
21
+ this[ACTIVE_PROP] = false;
22
+ this.removeAttribute(ACTIVE_ATTR);
23
+ actDesc?.deactivateCallback?.();
24
+ }
25
+
26
+ /** @private */
27
+ _activate() {
28
+ let actDesc = ActivityBlock._activityCallbacks.get(this);
29
+ this.$['*historyBack'] = this.historyBack.bind(this);
30
+ /** @private */
31
+ this[ACTIVE_PROP] = true;
32
+ this.setAttribute(ACTIVE_ATTR, '');
33
+ actDesc?.activateCallback?.();
34
+
35
+ this._debouncedHistoryFlush();
36
+
37
+ this.emit(EventType.ACTIVITY_CHANGE, {
38
+ activity: this.activityType,
39
+ });
40
+ }
41
+
42
+ /** @protected */
43
+ initCallback() {
44
+ super.initCallback();
45
+ if (this.hasAttribute('current-activity')) {
46
+ this.sub('*currentActivity', (/** @type {String} */ val) => {
47
+ this.setAttribute('current-activity', val);
48
+ });
49
+ }
50
+
51
+ // TODO: rename activityType to activityId
52
+ if (this.activityType) {
53
+ if (!this.hasAttribute('activity')) {
54
+ this.setAttribute('activity', this.activityType);
55
+ }
56
+ this.sub('*currentActivity', (/** @type {String} */ val) => {
57
+ if (this.activityType !== val && this[ACTIVE_PROP]) {
58
+ this._deactivate();
59
+ } else if (this.activityType === val && !this[ACTIVE_PROP]) {
60
+ this._activate();
61
+ }
62
+
63
+ if (!val) {
64
+ this.$['*history'] = [];
65
+ }
66
+ });
67
+
68
+ if (this.has('*modalActive')) {
69
+ this.sub('*modalActive', (modalActive) => {
70
+ if (!modalActive && this.activityType === this.$['*currentActivity']) {
71
+ this.$['*currentActivity'] = null;
72
+ }
73
+ });
74
+ }
75
+ }
76
+ }
77
+
78
+ /** @private */
79
+ _historyFlush() {
80
+ let history = this.$['*history'];
81
+ if (history) {
82
+ if (history.length > 10) {
83
+ history = history.slice(history.length - 11, history.length - 1);
84
+ }
85
+ if (this.historyTracked && history[history.length - 1] !== this.activityType) {
86
+ history.push(this.activityType);
87
+ }
88
+ this.$['*history'] = history;
89
+ }
90
+ }
91
+
92
+ /** @private */
93
+ _isActivityRegistered() {
94
+ return this.activityType && ActivityBlock._activityCallbacks.has(this);
95
+ }
96
+
97
+ /**
98
+ * @private
99
+ * @type {Map<
100
+ * ActivityBlock,
101
+ * { activateCallback: (() => void) | undefined; deactivateCallback: (() => void) | undefined }
102
+ * >}
103
+ */
104
+ static _activityCallbacks = new Map();
105
+
106
+ get isActivityActive() {
107
+ return this[ACTIVE_PROP];
108
+ }
109
+
110
+ get couldOpenActivity() {
111
+ return true;
112
+ }
113
+
114
+ /**
115
+ * TODO: remove name argument
116
+ *
117
+ * @param {String} name
118
+ * @param {Object} [options]
119
+ * @param {() => void} [options.onActivate]
120
+ * @param {() => void} [options.onDeactivate]
121
+ */
122
+ registerActivity(name, options = {}) {
123
+ const { onActivate, onDeactivate } = options;
124
+ ActivityBlock._activityCallbacks.set(this, {
125
+ activateCallback: onActivate,
126
+ deactivateCallback: onDeactivate,
127
+ });
128
+ }
129
+
130
+ unregisterActivity() {
131
+ if (this.isActivityActive) {
132
+ this._deactivate();
133
+ }
134
+ ActivityBlock._activityCallbacks.delete(this);
135
+ }
136
+
137
+ /** @protected */
138
+ destroyCallback() {
139
+ super.destroyCallback();
140
+ this._isActivityRegistered() && this.unregisterActivity();
141
+
142
+ /** @type {string | null} */
143
+ const currentActivity = this.$['*currentActivity'];
144
+
145
+ const hasCurrentActivityInCtx = !![...this.blocksRegistry].find(
146
+ (block) => block instanceof ActivityBlock && block.activityType === currentActivity,
147
+ );
148
+
149
+ if (!hasCurrentActivityInCtx) {
150
+ this.$['*currentActivity'] = null;
151
+ this.setOrAddState('*modalActive', false);
152
+ }
153
+ }
154
+
155
+ get activityKey() {
156
+ return this.ctxName + this.activityType;
157
+ }
158
+
159
+ get activityParams() {
160
+ return this.$['*currentActivityParams'];
161
+ }
162
+
163
+ /** @type {String} */
164
+ get initActivity() {
165
+ return this.getCssData('--cfg-init-activity');
166
+ }
167
+
168
+ /** @type {String} */
169
+ get doneActivity() {
170
+ return this.getCssData('--cfg-done-activity');
171
+ }
172
+
173
+ historyBack() {
174
+ /** @type {String[]} */
175
+ let history = this.$['*history'];
176
+ if (history) {
177
+ let nextActivity = history.pop();
178
+ while (nextActivity === this.activityType) {
179
+ nextActivity = history.pop();
180
+ }
181
+ let couldOpenActivity = !!nextActivity;
182
+ if (nextActivity) {
183
+ const nextActivityBlock = [...this.blocksRegistry].find((block) => block.activityType === nextActivity);
184
+ couldOpenActivity = /** @type {ActivityBlock} */ (nextActivityBlock)?.couldOpenActivity ?? false;
185
+ }
186
+ nextActivity = couldOpenActivity ? nextActivity : undefined;
187
+ this.$['*currentActivity'] = nextActivity;
188
+ this.$['*history'] = history;
189
+ if (!nextActivity) {
190
+ this.setOrAddState('*modalActive', false);
191
+ }
192
+ }
193
+ }
194
+ }
195
+
196
+ ActivityBlock.activities = Object.freeze({
197
+ START_FROM: 'start-from',
198
+ CAMERA: 'camera',
199
+ DRAW: 'draw',
200
+ UPLOAD_LIST: 'upload-list',
201
+ URL: 'url',
202
+ CLOUD_IMG_EDIT: 'cloud-image-edit',
203
+ EXTERNAL: 'external',
204
+ DETAILS: 'details',
205
+ });
206
+
207
+ /** @typedef {(typeof ActivityBlock)['activities'][keyof (typeof ActivityBlock)['activities']] | (string & {}) | null} ActivityType */
@@ -0,0 +1,99 @@
1
+ export class Block extends BaseComponent<any> {
2
+ /** @type {string | null} */
3
+ static StateConsumerScope: string | null;
4
+ /** @type {string[]} */
5
+ static styleAttrs: string[];
6
+ constructor();
7
+ /** @protected */
8
+ protected requireCtxName: boolean;
9
+ /** @type {import('./ActivityBlock.js').ActivityType} */
10
+ activityType: import('./ActivityBlock.js').ActivityType;
11
+ init$: {};
12
+ /**
13
+ * @param {String} str
14
+ * @param {{ [key: string]: string | number }} variables
15
+ * @returns {String}
16
+ */
17
+ l10n(str: string, variables?: {
18
+ [key: string]: string | number;
19
+ }): string;
20
+ /**
21
+ * @private
22
+ * @param {string} key
23
+ * @param {number} count
24
+ * @returns {string}
25
+ */
26
+ private pluralize;
27
+ /**
28
+ * @param {string} key
29
+ * @param {() => void} resolver
30
+ * @protected
31
+ */
32
+ protected bindL10n(key: string, resolver: () => void): void;
33
+ /** @type {Map<string, Set<{ remove: () => void }>>} */
34
+ l10nProcessorSubs: Map<string, Set<{
35
+ remove: () => void;
36
+ }>>;
37
+ /**
38
+ * @param {Parameters<import('../blocks/UploadCtxProvider/EventEmitter.js').EventEmitter['emit']>[0]} type
39
+ * @param {Parameters<import('../blocks/UploadCtxProvider/EventEmitter.js').EventEmitter['emit']>[1]} [payload]
40
+ * @param {Parameters<import('../blocks/UploadCtxProvider/EventEmitter.js').EventEmitter['emit']>[2]} [options]
41
+ */
42
+ emit(type: [type: "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", payload?: unknown, ({
43
+ debounce?: number | boolean | undefined;
44
+ } | undefined)?][0], payload?: [type: "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", payload?: unknown, ({
45
+ debounce?: number | boolean | undefined;
46
+ } | undefined)?][1], options?: [type: "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", payload?: unknown, ({
47
+ debounce?: number | boolean | undefined;
48
+ } | undefined)?][2]): void;
49
+ /**
50
+ * @param {(block: Block) => boolean} callback
51
+ * @returns {Boolean}
52
+ */
53
+ hasBlockInCtx(callback: (block: Block) => boolean): boolean;
54
+ /**
55
+ * @param {String} prop
56
+ * @param {any} newVal
57
+ */
58
+ setOrAddState(prop: string, newVal: any): void;
59
+ /**
60
+ * @private
61
+ * @returns {LocaleManager | null}
62
+ */
63
+ private get localeManager();
64
+ /**
65
+ * @returns {A11y | null}
66
+ * @protected
67
+ */
68
+ protected get a11y(): A11y | null;
69
+ /** @type {Set<Block>} */
70
+ get blocksRegistry(): Set<Block>;
71
+ /**
72
+ * Called when the last block is removed from the context. Note that inheritors must run their callback before that.
73
+ *
74
+ * @protected
75
+ */
76
+ protected destroyCtxCallback(): void;
77
+ /**
78
+ * @param {String} url
79
+ * @returns {String}
80
+ * @protected
81
+ */
82
+ protected proxyUrl(url: string): string;
83
+ /** @returns {import('../types').ConfigType} } */
84
+ get cfg(): import("../types").ConfigType;
85
+ /** @private */
86
+ private __cfgProxy;
87
+ /**
88
+ * @template {keyof import('../types').ConfigType} T
89
+ * @param {T} key
90
+ * @param {(value: import('../types').ConfigType[T]) => void} callback
91
+ */
92
+ subConfigValue<T extends keyof import("../types").ConfigType>(key: T, callback: (value: import("../types").ConfigType[T]) => void): void;
93
+ /** @param {unknown[]} args */
94
+ debugPrint(...args: unknown[]): void;
95
+ }
96
+ export { BaseComponent };
97
+ import { BaseComponent } from '@symbiotejs/symbiote';
98
+ import { A11y } from './a11y.js';
99
+ //# sourceMappingURL=Block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["Block.js"],"names":[],"mappings":"AAoBA;IACE,4BAA4B;IAC5B,2BADW,MAAM,GAAG,IAAI,CACS;IAEjC,uBAAuB;IACvB,mBADW,MAAM,EAAE,CACI;IAoDvB,cAMC;IAxDD,iBAAiB;IACjB,kCAAuB;IAEvB,wDAAwD;IACxD,cADW,OAAO,oBAAoB,EAAE,YAAY,CAChC;IAEpB,UAAmB;IAEnB;;;;OAIG;IACH;;eAcC;IAED;;;;;OAKG;IACH,kBAIC;IAED;;;;OAIG;IACH,wBAJW,MAAM,YACN,MAAM,IAAI,QAKpB;IAIC,uDAAuD;IACvD,mBADW,IAAI,MAAM,EAAE,IAAI;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAC,CACjB;IAKpC;;;;OAIG;IACH,WAJW;;qBAAuF,CAAC,CAAC,YACzF;;qBAAuF,CAAC,CAAC,YACzF;;qBAAuF,CAAC,CAAC,QASnG;IAED;;;OAGG;IACH,gCAHmB,KAAK,KAAK,OAAO,WAUnC;IAED;;;OAGG;IACH,oCAFW,GAAG,QASb;IAkED;;;OAGG;IACH,4BAEC;IAED;;;OAGG;IACH,kCAEC;IAED,yBAAyB;IACzB,iCAEC;IAsBD;;;;OAIG;IACH,qCAKC;IAED;;;;OAIG;IACH,wCAqBC;IAED,iDAAiD;IACjD,yCA8BC;IA3BG,eAAe;IACf,mBAuBE;IAKN;;;;OAIG;IACH,6HAFwD,IAAI,QAQ3D;IAED,8BAA8B;IAC9B,oBADY,OAAO,EAAE,QAWpB;CAmBF;;8BAzVmC,sBAAsB;qBAarC,WAAW"}