@uploadcare/file-uploader 1.28.0-alpha.0 → 1.28.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/dist/ActivityHeader-R6Mlx-dA.js +9 -0
  2. package/dist/ActivityHeader.css +23 -0
  3. package/dist/ActivityHeader.layered.css +24 -0
  4. package/dist/{CameraSource-DbyO6GoK.js → CameraSource-DDwj1jCV.js} +106 -76
  5. package/dist/CameraSource-n1tun2Df.js +10 -0
  6. package/dist/CameraSource.css +180 -0
  7. package/dist/CameraSource.layered.css +209 -0
  8. package/dist/{CloudImageEditor-BIxf1V4M.js → CloudImageEditor-DcVoIRb3.js} +66 -65
  9. package/dist/{CloudImageEditorActivity-d4DpK6fQ.js → CloudImageEditorActivity-Csij4nlC.js} +4 -4
  10. package/dist/{CloudImageEditorActivity-CJxP5N0S.js → CloudImageEditorActivity-DD4NdU0P.js} +4 -4
  11. package/dist/CloudImageEditorActivity.css +14 -0
  12. package/dist/CloudImageEditorActivity.layered.css +15 -0
  13. package/dist/{Config-DuWre5p3.js → Config-DKOromHY.js} +27 -27
  14. package/dist/Config.css +4 -0
  15. package/dist/Config.layered.css +5 -0
  16. package/dist/ExternalSource-6MSUgxqy.js +10 -0
  17. package/dist/{ExternalSource-BKTFp95O.js → ExternalSource-DVEjSkPB.js} +56 -51
  18. package/dist/ExternalSource.css +98 -0
  19. package/dist/ExternalSource.layered.css +116 -0
  20. package/dist/{Icon-CqTVC82Q.js → Icon-tXRTvEF2.js} +7 -8
  21. package/dist/Icon.css +14 -0
  22. package/dist/Icon.layered.css +15 -0
  23. package/dist/{LitUploaderBlock-BA34rzeU.js → LitUploaderBlock-LxeOZ0ya.js} +65 -65
  24. package/dist/{UrlSource-DZK5EBwT.js → UrlSource-BkyX00I2.js} +5 -5
  25. package/dist/UrlSource-RI8TSD48.js +10 -0
  26. package/dist/UrlSource.css +17 -0
  27. package/dist/UrlSource.layered.css +18 -0
  28. package/dist/abstract/loadFileUploaderFrom.js +3 -3
  29. package/dist/cameraPlugin-weRKO7eG.js +8 -0
  30. package/dist/{cloud-image-editor-fNswWrI4.js → cloud-image-editor-hhbyNWLG.js} +6 -6
  31. package/dist/cloud-image-editor.css +1380 -0
  32. package/dist/cloud-image-editor.layered.css +1549 -0
  33. package/dist/cloudImageEditorPlugin-FjUgbMK3.js +8 -0
  34. package/dist/{en-DNCwRJsB.js → en-8OWEmZim.js} +2 -2
  35. package/dist/env-mM-ksNPq.js +8 -0
  36. package/dist/env.js +3 -3
  37. package/dist/externalSourcesPlugin-CMBmLT8S.js +8 -0
  38. package/dist/imageShrinkPlugin-BN6loiP2.js +8 -0
  39. package/dist/index-base.css +2497 -0
  40. package/dist/index-base.layered.css +2837 -0
  41. package/dist/index.css +9 -3964
  42. package/dist/index.d.ts +13 -0
  43. package/dist/index.js +827 -42
  44. package/dist/index.layered.css +9 -4478
  45. package/dist/instagramPlugin-CXRm8MGL.js +8 -0
  46. package/dist/{loadFileUploaderFrom-BWJM43Yq.js → loadFileUploaderFrom-Bfz8L3VB.js} +3 -3
  47. package/dist/locales/file-uploader/ar.js +2 -2
  48. package/dist/locales/file-uploader/az.js +2 -2
  49. package/dist/locales/file-uploader/ca.js +2 -2
  50. package/dist/locales/file-uploader/cs.js +2 -2
  51. package/dist/locales/file-uploader/da.js +2 -2
  52. package/dist/locales/file-uploader/de.js +2 -2
  53. package/dist/locales/file-uploader/el.js +2 -2
  54. package/dist/locales/file-uploader/en.js +3 -3
  55. package/dist/locales/file-uploader/es.js +2 -2
  56. package/dist/locales/file-uploader/et.js +2 -2
  57. package/dist/locales/file-uploader/fi.js +2 -2
  58. package/dist/locales/file-uploader/fr.js +2 -2
  59. package/dist/locales/file-uploader/he.js +2 -2
  60. package/dist/locales/file-uploader/hy.js +2 -2
  61. package/dist/locales/file-uploader/is.js +2 -2
  62. package/dist/locales/file-uploader/it.js +2 -2
  63. package/dist/locales/file-uploader/ja.js +2 -2
  64. package/dist/locales/file-uploader/ka.js +2 -2
  65. package/dist/locales/file-uploader/kk.js +2 -2
  66. package/dist/locales/file-uploader/ko.js +2 -2
  67. package/dist/locales/file-uploader/lv.js +2 -2
  68. package/dist/locales/file-uploader/nb.js +2 -2
  69. package/dist/locales/file-uploader/nl.js +2 -2
  70. package/dist/locales/file-uploader/pl.js +2 -2
  71. package/dist/locales/file-uploader/pt.js +2 -2
  72. package/dist/locales/file-uploader/ro.js +2 -2
  73. package/dist/locales/file-uploader/ru.js +2 -2
  74. package/dist/locales/file-uploader/sk.js +2 -2
  75. package/dist/locales/file-uploader/sr.js +2 -2
  76. package/dist/locales/file-uploader/sv.js +2 -2
  77. package/dist/locales/file-uploader/tr.js +2 -2
  78. package/dist/locales/file-uploader/uk.js +2 -2
  79. package/dist/locales/file-uploader/vi.js +2 -2
  80. package/dist/locales/file-uploader/zh-TW.js +2 -2
  81. package/dist/locales/file-uploader/zh.js +2 -2
  82. package/dist/{plugins-DxjsQUa8.js → plugins-CGUls7EV.js} +6 -6
  83. package/dist/urlSourcePlugin-_WdbEhq2.js +8 -0
  84. package/package.json +1 -1
  85. package/web/ActivityHeader-BFdTdVfD.js +9 -0
  86. package/web/ActivityHeader-DQy6rII1.js +9 -0
  87. package/web/ActivityHeader-DvzMl0uj.js +9 -0
  88. package/web/ActivityHeader-i4x6_Fne.js +9 -0
  89. package/web/CameraSource-BAWIA4Wm.js +508 -0
  90. package/web/CameraSource-BqZCQcij.js +11 -0
  91. package/web/CameraSource-Brxr4tz4.js +508 -0
  92. package/web/CameraSource-BvBJ5Uzy.js +508 -0
  93. package/web/CameraSource-CkHzIE-h.js +11 -0
  94. package/web/CameraSource-D964yPLu.js +508 -0
  95. package/web/CameraSource-DE48Az-f.js +11 -0
  96. package/web/CameraSource-DyPebtRF.js +478 -0
  97. package/web/CameraSource-pj7Xo81m.js +11 -0
  98. package/web/CloudImageEditor-CTgUWB07.js +2192 -0
  99. package/web/CloudImageEditor-CxqV9Lwm.js +2192 -0
  100. package/web/CloudImageEditor-DoLWHpqV.js +2192 -0
  101. package/web/CloudImageEditor-Drywn265.js +2192 -0
  102. package/web/CloudImageEditor-MXcaDtMx.js +2187 -0
  103. package/web/CloudImageEditorActivity-BPzmfaJV.js +85 -0
  104. package/web/CloudImageEditorActivity-Br8pU5gd.js +11 -0
  105. package/web/CloudImageEditorActivity-Cw8b2CEz.js +11 -0
  106. package/web/CloudImageEditorActivity-Df1ySGq0.js +86 -0
  107. package/web/CloudImageEditorActivity-DinG5r0y.js +11 -0
  108. package/web/CloudImageEditorActivity-DmnLLINR.js +85 -0
  109. package/web/CloudImageEditorActivity-U90BGCek.js +85 -0
  110. package/web/CloudImageEditorActivity-dNLQZRZI.js +11 -0
  111. package/web/CloudImageEditorActivity-ur-hQ-6p.js +85 -0
  112. package/web/Config-8hlBNhvs.js +455 -0
  113. package/web/Config-BDZhPIyz.js +455 -0
  114. package/web/Config-CJVNrrjj.js +455 -0
  115. package/web/Config-DvkVtlQ7.js +455 -0
  116. package/web/ExternalSource-B9ycBFiD.js +10 -0
  117. package/web/ExternalSource-BE7HX47E.js +250 -0
  118. package/web/ExternalSource-BL5GSlol.js +250 -0
  119. package/web/ExternalSource-BXQY6Dlc.js +10 -0
  120. package/web/ExternalSource-BXxH3JCD.js +250 -0
  121. package/web/ExternalSource-BYSS-PPV.js +245 -0
  122. package/web/ExternalSource-C57a61QN.js +10 -0
  123. package/web/ExternalSource-CKfMtOgU.js +250 -0
  124. package/web/ExternalSource-DP6q8ylB.js +10 -0
  125. package/web/LitUploaderBlock-AX6jOdAS.js +996 -0
  126. package/web/LitUploaderBlock-BjAaoLl2.js +996 -0
  127. package/web/LitUploaderBlock-D8E5HuwH.js +996 -0
  128. package/web/LitUploaderBlock-Dl3ce0Tc.js +996 -0
  129. package/web/LitUploaderBlock-Oi33U0uf.js +996 -0
  130. package/web/UrlSource-B9SX3K0L.js +10 -0
  131. package/web/UrlSource-C3zB1rCb.js +70 -0
  132. package/web/UrlSource-C7bEU6Xv.js +10 -0
  133. package/web/UrlSource-CE389CBz.js +70 -0
  134. package/web/UrlSource-CnvAJ58Y.js +10 -0
  135. package/web/UrlSource-CqF0h6B-.js +10 -0
  136. package/web/UrlSource-D-971Nut.js +70 -0
  137. package/web/UrlSource-DhI3YCt5.js +70 -0
  138. package/web/UrlSource-hWV7jtB2.js +70 -0
  139. package/web/abstract/CTX.d.ts +40 -0
  140. package/web/abstract/TypedCollection.d.ts +47 -0
  141. package/web/abstract/TypedCollection.test.d.ts +1 -0
  142. package/web/abstract/TypedData.d.ts +12 -0
  143. package/web/abstract/TypedData.test.d.ts +1 -0
  144. package/web/abstract/UploaderPublicApi.d.ts +41 -0
  145. package/web/abstract/buildOutputCollectionState.d.ts +3 -0
  146. package/web/abstract/customConfigOptions.d.ts +65 -0
  147. package/web/abstract/defineComponents.d.ts +1 -0
  148. package/web/abstract/features/ClipboardLayer.d.ts +12 -0
  149. package/web/abstract/loadFileUploaderFrom.d.ts +13 -0
  150. package/web/abstract/localeRegistry.d.ts +5 -0
  151. package/web/abstract/managers/LocaleManager.d.ts +10 -0
  152. package/web/abstract/managers/ModalManager.d.ts +53 -0
  153. package/web/abstract/managers/SecureUploadsManager.d.ts +7 -0
  154. package/web/abstract/managers/TelemetryManager.d.ts +41 -0
  155. package/web/abstract/managers/ValidationManager.d.ts +34 -0
  156. package/web/abstract/managers/__tests__/ModalManager.test.d.ts +13 -0
  157. package/web/abstract/managers/__tests__/SecureUploadsManager.test.d.ts +1 -0
  158. package/web/abstract/managers/a11y.d.ts +9 -0
  159. package/web/abstract/managers/plugin/PluginManager.d.ts +25 -0
  160. package/web/abstract/managers/plugin/PluginTypes.d.ts +146 -0
  161. package/web/abstract/managers/plugin/index.d.ts +2 -0
  162. package/web/abstract/sharedConfigKey.d.ts +2 -0
  163. package/web/abstract/uploadEntrySchema.d.ts +34 -0
  164. package/web/blocks/ActivityHeader/ActivityHeader.d.ts +8 -0
  165. package/web/blocks/CameraSource/CameraSource.d.ts +121 -0
  166. package/web/blocks/CameraSource/__tests__/calcCameraModes.test.d.ts +1 -0
  167. package/web/blocks/CameraSource/calcCameraModes.d.ts +5 -0
  168. package/web/blocks/CameraSource/constants.d.ts +15 -0
  169. package/web/blocks/CloudImageEditor/index.d.ts +1 -0
  170. package/web/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts +60 -0
  171. package/web/blocks/CloudImageEditor/src/CropFrame.d.ts +56 -0
  172. package/web/blocks/CloudImageEditor/src/EditorAspectRatioButtonControl.d.ts +24 -0
  173. package/web/blocks/CloudImageEditor/src/EditorButtonControl.d.ts +14 -0
  174. package/web/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts +13 -0
  175. package/web/blocks/CloudImageEditor/src/EditorFilterControl.d.ts +35 -0
  176. package/web/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +56 -0
  177. package/web/blocks/CloudImageEditor/src/EditorImageFader.d.ts +63 -0
  178. package/web/blocks/CloudImageEditor/src/EditorOperationControl.d.ts +15 -0
  179. package/web/blocks/CloudImageEditor/src/EditorScroller.d.ts +15 -0
  180. package/web/blocks/CloudImageEditor/src/EditorSlider.d.ts +33 -0
  181. package/web/blocks/CloudImageEditor/src/EditorToolbar.d.ts +68 -0
  182. package/web/blocks/CloudImageEditor/src/crop-utils.d.ts +36 -0
  183. package/web/blocks/CloudImageEditor/src/crop-utils.test.d.ts +1 -0
  184. package/web/blocks/CloudImageEditor/src/cropper-constants.d.ts +10 -0
  185. package/web/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts +31 -0
  186. package/web/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts +19 -0
  187. package/web/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts +27 -0
  188. package/web/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts +38 -0
  189. package/web/blocks/CloudImageEditor/src/index.d.ts +15 -0
  190. package/web/blocks/CloudImageEditor/src/lib/classNames.d.ts +5 -0
  191. package/web/blocks/CloudImageEditor/src/lib/classNames.test.d.ts +1 -0
  192. package/web/blocks/CloudImageEditor/src/lib/linspace.d.ts +1 -0
  193. package/web/blocks/CloudImageEditor/src/lib/linspace.test.d.ts +1 -0
  194. package/web/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +4 -0
  195. package/web/blocks/CloudImageEditor/src/lib/parseCropPreset.test.d.ts +1 -0
  196. package/web/blocks/CloudImageEditor/src/lib/parseTabs.d.ts +2 -0
  197. package/web/blocks/CloudImageEditor/src/lib/pick.d.ts +1 -0
  198. package/web/blocks/CloudImageEditor/src/lib/pick.test.d.ts +1 -0
  199. package/web/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +7 -0
  200. package/web/blocks/CloudImageEditor/src/state.d.ts +20 -0
  201. package/web/blocks/CloudImageEditor/src/svg-sprite.d.ts +2 -0
  202. package/web/blocks/CloudImageEditor/src/toolbar-constants.d.ts +61 -0
  203. package/web/blocks/CloudImageEditor/src/types.d.ts +60 -0
  204. package/web/blocks/CloudImageEditor/src/util.d.ts +2 -0
  205. package/web/blocks/CloudImageEditor/src/utils/parseFilterValue.d.ts +7 -0
  206. package/web/blocks/CloudImageEditor/src/utils/parseFilterValue.test.d.ts +1 -0
  207. package/web/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +25 -0
  208. package/web/blocks/Config/Config.d.ts +60 -0
  209. package/web/blocks/Config/assertions.d.ts +5 -0
  210. package/web/blocks/Config/computed-properties.d.ts +24 -0
  211. package/web/blocks/Config/computed-properties.test.d.ts +1 -0
  212. package/web/blocks/Config/initialConfig.d.ts +6 -0
  213. package/web/blocks/Config/normalizeConfigValue.d.ts +2 -0
  214. package/web/blocks/Config/validatorsType.d.ts +18 -0
  215. package/web/blocks/Copyright/Copyright.d.ts +10 -0
  216. package/web/blocks/DropArea/DropArea.d.ts +47 -0
  217. package/web/blocks/DropArea/addDropzone.d.ts +17 -0
  218. package/web/blocks/DropArea/getDropItems.d.ts +12 -0
  219. package/web/blocks/ExternalSource/ExternalSource.d.ts +45 -0
  220. package/web/blocks/ExternalSource/MessageBridge.d.ts +11 -0
  221. package/web/blocks/ExternalSource/buildThemeDefinition.d.ts +4 -0
  222. package/web/blocks/ExternalSource/query-string.d.ts +1 -0
  223. package/web/blocks/ExternalSource/types.d.ts +105 -0
  224. package/web/blocks/FileItem/FileItem.d.ts +50 -0
  225. package/web/blocks/FileItem/FileItemConfig.d.ts +10 -0
  226. package/web/blocks/FormInput/FormInput.d.ts +18 -0
  227. package/web/blocks/Icon/Icon.d.ts +19 -0
  228. package/web/blocks/Img/Img.d.ts +14 -0
  229. package/web/blocks/Img/ImgBase.d.ts +29 -0
  230. package/web/blocks/Img/ImgConfig.d.ts +28 -0
  231. package/web/blocks/Img/configurations.d.ts +11 -0
  232. package/web/blocks/Img/props-map.d.ts +28 -0
  233. package/web/blocks/Img/utils/parseObjectToString.d.ts +2 -0
  234. package/web/blocks/Modal/Modal.d.ts +34 -0
  235. package/web/blocks/PluginActivityRenderer/PluginActivityRenderer.d.ts +32 -0
  236. package/web/blocks/PluginActivityRenderer/index.d.ts +1 -0
  237. package/web/blocks/ProgressBar/ProgressBar.d.ts +21 -0
  238. package/web/blocks/ProgressBarCommon/ProgressBarCommon.d.ts +17 -0
  239. package/web/blocks/Select/Select.d.ts +18 -0
  240. package/web/blocks/SimpleBtn/SimpleBtn.d.ts +15 -0
  241. package/web/blocks/SourceBtn/SourceBtn.d.ts +23 -0
  242. package/web/blocks/SourceList/SourceList.d.ts +24 -0
  243. package/web/blocks/Spinner/Spinner.d.ts +9 -0
  244. package/web/blocks/StartFrom/StartFrom.d.ts +12 -0
  245. package/web/blocks/Thumb/Thumb.d.ts +35 -0
  246. package/web/blocks/UploadCtxProvider/EventEmitter.d.ts +70 -0
  247. package/web/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +44 -0
  248. package/web/blocks/UploadList/UploadList.d.ts +39 -0
  249. package/web/blocks/UrlSource/UrlSource.d.ts +14 -0
  250. package/web/blocks/svg-backgrounds/svg-backgrounds.d.ts +3 -0
  251. package/web/blocks/themes/uc-basic/svg-sprite.d.ts +2 -0
  252. package/web/cameraPlugin-DeedXMWV.js +8 -0
  253. package/web/cameraPlugin-Duy1QwjB.js +8 -0
  254. package/web/cameraPlugin-QS9SUOtO.js +8 -0
  255. package/web/cameraPlugin-bq8ggY04.js +8 -0
  256. package/web/cameraPlugin-cel9YgP_.js +8 -0
  257. package/web/cloud-image-editor-8DrVRZ7E.js +12 -0
  258. package/web/cloud-image-editor-BX50EK1U.js +12 -0
  259. package/web/cloud-image-editor-DSW3oWq-.js +12 -0
  260. package/web/cloud-image-editor-DuI2Lx4M.js +12 -0
  261. package/web/cloudImageEditorPlugin-5my6aD36.js +8 -0
  262. package/web/cloudImageEditorPlugin-Bk19DmJv.js +8 -0
  263. package/web/cloudImageEditorPlugin-CcdnmtBW.js +8 -0
  264. package/web/cloudImageEditorPlugin-DQJmDl03.js +8 -0
  265. package/web/cloudImageEditorPlugin-kojghfqw.js +8 -0
  266. package/web/constants-BCfCF0cJ.js +4025 -0
  267. package/web/core.d.ts +42 -0
  268. package/web/env.d.ts +2 -0
  269. package/web/externalSourcesPlugin-BTeRm5C0.js +8 -0
  270. package/web/externalSourcesPlugin-BXgVeojg.js +8 -0
  271. package/web/externalSourcesPlugin-BgLpuIK9.js +8 -0
  272. package/web/externalSourcesPlugin-DMc9zs4T.js +8 -0
  273. package/web/externalSourcesPlugin-Dm9vnTBv.js +8 -0
  274. package/web/file-uploader.iife.min.js +697 -0
  275. package/web/file-uploader.min.js +1859 -0
  276. package/web/imageShrinkPlugin-BdHgEGZH.js +8 -0
  277. package/web/imageShrinkPlugin-BjkMGfvT.js +8 -0
  278. package/web/imageShrinkPlugin-CCkGHL2w.js +8 -0
  279. package/web/imageShrinkPlugin-D4WjaRGo.js +8 -0
  280. package/web/imageShrinkPlugin-DqYGutVx.js +8 -0
  281. package/web/index.d.ts +42 -0
  282. package/web/instagramPlugin-BTMz0K2a.js +8 -0
  283. package/web/instagramPlugin-BbIKgTH7.js +8 -0
  284. package/web/instagramPlugin-CQQhsEJa.js +8 -0
  285. package/web/instagramPlugin-Cm7lWKae.js +8 -0
  286. package/web/instagramPlugin-DcclxM_d.js +8 -0
  287. package/web/lit/BaseComponent.d.ts +12 -0
  288. package/web/lit/Constructor.d.ts +1 -0
  289. package/web/lit/CssDataMixin.d.ts +7 -0
  290. package/web/lit/LightDomMixin.d.ts +8 -0
  291. package/web/lit/LitActivityBlock.d.ts +53 -0
  292. package/web/lit/LitBlock.d.ts +83 -0
  293. package/web/lit/LitSolutionBlock.d.ts +21 -0
  294. package/web/lit/LitUploaderBlock.d.ts +53 -0
  295. package/web/lit/PubSubCompat.d.ts +18 -0
  296. package/web/lit/RegisterableElementMixin.d.ts +7 -0
  297. package/web/lit/SharedState.d.ts +119 -0
  298. package/web/lit/SymbioteCompatMixin.d.ts +40 -0
  299. package/web/lit/TestModeController.d.ts +16 -0
  300. package/web/lit/Uid.d.ts +3 -0
  301. package/web/lit/activity-constants.d.ts +11 -0
  302. package/web/lit/createDebugPrinter.d.ts +3 -0
  303. package/web/lit/findBlockInCtx.d.ts +3 -0
  304. package/web/lit/getOutputData.d.ts +2 -0
  305. package/web/lit/hasBlockInCtx.d.ts +3 -0
  306. package/web/lit/l10n.d.ts +5 -0
  307. package/web/lit/parseCssPropertyValue.d.ts +1 -0
  308. package/web/lit/shared-instances.d.ts +65 -0
  309. package/web/locales/file-uploader/ar.d.ts +137 -0
  310. package/web/locales/file-uploader/az.d.ts +129 -0
  311. package/web/locales/file-uploader/ca.d.ts +131 -0
  312. package/web/locales/file-uploader/cs.d.ts +133 -0
  313. package/web/locales/file-uploader/da.d.ts +129 -0
  314. package/web/locales/file-uploader/de.d.ts +129 -0
  315. package/web/locales/file-uploader/el.d.ts +129 -0
  316. package/web/locales/file-uploader/en.d.ts +129 -0
  317. package/web/locales/file-uploader/es.d.ts +131 -0
  318. package/web/locales/file-uploader/et.d.ts +129 -0
  319. package/web/locales/file-uploader/fi.d.ts +129 -0
  320. package/web/locales/file-uploader/fr.d.ts +131 -0
  321. package/web/locales/file-uploader/he.d.ts +131 -0
  322. package/web/locales/file-uploader/hy.d.ts +129 -0
  323. package/web/locales/file-uploader/is.d.ts +129 -0
  324. package/web/locales/file-uploader/it.d.ts +131 -0
  325. package/web/locales/file-uploader/ja.d.ts +129 -0
  326. package/web/locales/file-uploader/ka.d.ts +129 -0
  327. package/web/locales/file-uploader/kk.d.ts +129 -0
  328. package/web/locales/file-uploader/ko.d.ts +129 -0
  329. package/web/locales/file-uploader/lv.d.ts +131 -0
  330. package/web/locales/file-uploader/nb.d.ts +129 -0
  331. package/web/locales/file-uploader/nl.d.ts +129 -0
  332. package/web/locales/file-uploader/pl.d.ts +133 -0
  333. package/web/locales/file-uploader/pt.d.ts +131 -0
  334. package/web/locales/file-uploader/ro.d.ts +131 -0
  335. package/web/locales/file-uploader/ru.d.ts +133 -0
  336. package/web/locales/file-uploader/sk.d.ts +133 -0
  337. package/web/locales/file-uploader/sr.d.ts +131 -0
  338. package/web/locales/file-uploader/sv.d.ts +129 -0
  339. package/web/locales/file-uploader/tr.d.ts +129 -0
  340. package/web/locales/file-uploader/uk.d.ts +133 -0
  341. package/web/locales/file-uploader/vi.d.ts +129 -0
  342. package/web/locales/file-uploader/zh-TW.d.ts +129 -0
  343. package/web/locales/file-uploader/zh.d.ts +129 -0
  344. package/web/plugins/cameraPlugin.d.ts +2 -0
  345. package/web/plugins/cloudImageEditorPlugin.d.ts +2 -0
  346. package/web/plugins/externalSourcesPlugin.d.ts +2 -0
  347. package/web/plugins/imageShrinkPlugin.d.ts +2 -0
  348. package/web/plugins/instagramPlugin.d.ts +2 -0
  349. package/web/plugins/unsplashPlugin.d.ts +16 -0
  350. package/web/plugins/urlSourcePlugin.d.ts +2 -0
  351. package/web/plugins-Bt7FXHKx.js +562 -0
  352. package/web/plugins-CaaolyMk.js +562 -0
  353. package/web/plugins-Cjgw5oWg.js +562 -0
  354. package/web/plugins-CzNtrVQB.js +562 -0
  355. package/web/plugins-DS0hIs2V.js +563 -0
  356. package/web/ref-BOnG19ns.js +4040 -0
  357. package/web/ref-BejJFG7m.js +4040 -0
  358. package/web/ref-DcRg7zo9.js +4040 -0
  359. package/web/ref-ZWPcLQB9.js +4040 -0
  360. package/web/solutions/adaptive-image/index.d.ts +2 -0
  361. package/web/solutions/cloud-image-editor/CloudImageEditor.d.ts +11 -0
  362. package/web/solutions/cloud-image-editor/index.d.ts +5 -0
  363. package/web/solutions/file-uploader/inline/FileUploaderInline.d.ts +20 -0
  364. package/web/solutions/file-uploader/inline/index.d.ts +1 -0
  365. package/web/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +23 -0
  366. package/web/solutions/file-uploader/minimal/index.d.ts +1 -0
  367. package/web/solutions/file-uploader/regular/FileUploaderRegular.d.ts +17 -0
  368. package/web/solutions/file-uploader/regular/index.d.ts +1 -0
  369. package/web/style-map-BmZdux7T.js +37 -0
  370. package/web/style-map-CZ6fSV6e.js +37 -0
  371. package/web/style-map-Dk7mLCrB.js +37 -0
  372. package/web/style-map-HkHnu9oA.js +37 -0
  373. package/web/style-map-tw1yUEaj.js +37 -0
  374. package/web/types/dom.d.ts +1 -0
  375. package/web/types/events.d.ts +4 -0
  376. package/web/types/exported.d.ts +492 -0
  377. package/web/types/index.d.ts +5 -0
  378. package/web/uc-basic.layered.min.css +6046 -0
  379. package/web/uc-basic.min.css +5487 -0
  380. package/web/uc-cloud-image-editor.layered.min.css +1884 -0
  381. package/web/uc-cloud-image-editor.min.css +1675 -0
  382. package/web/uc-cloud-image-editor.min.js +457 -0
  383. package/web/uc-file-uploader-inline.layered.min.css +4352 -0
  384. package/web/uc-file-uploader-inline.min.css +3836 -0
  385. package/web/uc-file-uploader-inline.min.js +1859 -0
  386. package/web/uc-file-uploader-minimal.layered.min.css +4352 -0
  387. package/web/uc-file-uploader-minimal.min.css +3836 -0
  388. package/web/uc-file-uploader-minimal.min.js +1859 -0
  389. package/web/uc-file-uploader-regular.layered.min.css +4352 -0
  390. package/web/uc-file-uploader-regular.min.css +3836 -0
  391. package/web/uc-file-uploader-regular.min.js +1859 -0
  392. package/web/uc-img.min.js +895 -0
  393. package/web/urlSourcePlugin-9lhcr02f.js +8 -0
  394. package/web/urlSourcePlugin-C-sLGhGb.js +8 -0
  395. package/web/urlSourcePlugin-DNXDpnRD.js +8 -0
  396. package/web/urlSourcePlugin-JnD0cnxb.js +8 -0
  397. package/web/urlSourcePlugin-hcMU2K6T.js +8 -0
  398. package/web/utils/UID.d.ts +5 -0
  399. package/web/utils/UID.test.d.ts +1 -0
  400. package/web/utils/UploadSource.d.ts +37 -0
  401. package/web/utils/WindowHeightTracker.d.ts +9 -0
  402. package/web/utils/abilities.d.ts +1 -0
  403. package/web/utils/applyStyles.d.ts +1 -0
  404. package/web/utils/browser-info.d.ts +12 -0
  405. package/web/utils/browser-info.test.d.ts +1 -0
  406. package/web/utils/cdn-utils.d.ts +53 -0
  407. package/web/utils/cdn-utils.test.d.ts +1 -0
  408. package/web/utils/comma-separated.d.ts +2 -0
  409. package/web/utils/debounce.d.ts +3 -0
  410. package/web/utils/delay.d.ts +1 -0
  411. package/web/utils/fileTypes.d.ts +11 -0
  412. package/web/utils/fileTypes.test.d.ts +1 -0
  413. package/web/utils/get-top-level-origin.d.ts +1 -0
  414. package/web/utils/get-top-level-origin.test.d.ts +1 -0
  415. package/web/utils/getLocaleDirection.d.ts +1 -0
  416. package/web/utils/getPluralForm.d.ts +1 -0
  417. package/web/utils/getPluralForm.test.d.ts +1 -0
  418. package/web/utils/isPromiseLike.d.ts +1 -0
  419. package/web/utils/isPromiseLike.test.d.ts +1 -0
  420. package/web/utils/isSecureTokenExpired.d.ts +8 -0
  421. package/web/utils/isSecureTokenExpired.test.d.ts +1 -0
  422. package/web/utils/memoize.d.ts +1 -0
  423. package/web/utils/memoize.test.d.ts +1 -0
  424. package/web/utils/mixinClass.d.ts +8 -0
  425. package/web/utils/parseCdnUrl.d.ts +11 -0
  426. package/web/utils/parseCdnUrl.test.d.ts +1 -0
  427. package/web/utils/parseShrink.d.ts +7 -0
  428. package/web/utils/parseShrink.test.d.ts +1 -0
  429. package/web/utils/preloadImage.d.ts +10 -0
  430. package/web/utils/prettyBytes.d.ts +11 -0
  431. package/web/utils/prettyBytes.test.d.ts +1 -0
  432. package/web/utils/resizeImage.d.ts +1 -0
  433. package/web/utils/stringToArray.d.ts +1 -0
  434. package/web/utils/stringToArray.test.d.ts +1 -0
  435. package/web/utils/template-utils.d.ts +16 -0
  436. package/web/utils/template-utils.test.d.ts +1 -0
  437. package/web/utils/throttle.d.ts +3 -0
  438. package/web/utils/toKebabCase.d.ts +2 -0
  439. package/web/utils/toKebabCase.test.d.ts +1 -0
  440. package/web/utils/transparentPixelSrc.d.ts +1 -0
  441. package/web/utils/uniqueArray.d.ts +1 -0
  442. package/web/utils/uniqueArray.test.d.ts +1 -0
  443. package/web/utils/userAgent.d.ts +2 -0
  444. package/web/utils/validators/collection/index.d.ts +2 -0
  445. package/web/utils/validators/collection/validateCollectionUploadError.d.ts +2 -0
  446. package/web/utils/validators/collection/validateMultiple.d.ts +2 -0
  447. package/web/utils/validators/file/index.d.ts +4 -0
  448. package/web/utils/validators/file/validateFileType.d.ts +2 -0
  449. package/web/utils/validators/file/validateIsImage.d.ts +2 -0
  450. package/web/utils/validators/file/validateMaxSizeLimit.d.ts +2 -0
  451. package/web/utils/validators/file/validateUploadError.d.ts +2 -0
  452. package/web/utils/warnOnce.d.ts +1 -0
  453. package/web/utils/wildcardRegexp.d.ts +1 -0
  454. package/web/utils/wildcardRegexp.test.d.ts +1 -0
  455. package/web/utils/withResolvers.d.ts +5 -0
  456. package/web/utils/withResolvers.test.d.ts +1 -0
  457. package/dist/CameraSource-px4BzEMI.js +0 -9
  458. package/dist/ExternalSource-CR5DG0Jv.js +0 -9
  459. package/dist/UrlSource-BxVL9Pve.js +0 -9
  460. package/dist/cameraPlugin-dGash48Q.js +0 -8
  461. package/dist/cloudImageEditorPlugin-2EU0Pm_j.js +0 -8
  462. package/dist/env-B1nfXy9i.js +0 -8
  463. package/dist/externalSourcesPlugin-DKQqk3AC.js +0 -8
  464. package/dist/imageShrinkPlugin-DAx8eRen.js +0 -8
  465. package/dist/instagramPlugin-k67tMAo3.js +0 -8
  466. package/dist/urlSourcePlugin-9xdB7Pvw.js +0 -8
@@ -0,0 +1,508 @@
1
+ /**
2
+ * @license
3
+ * Package: @uploadcare/file-uploader@1.28.0-alpha.1 (MIT)
4
+ * License: https://github.com/uploadcare/blob/main/LICENSE
5
+ * Built: 2026-03-02T20:26:14.841Z
6
+ */
7
+ import { At as __decorate, Bt as b, H as LitBlock, I as CameraSourceEvents, L as CameraSourceTypes, Mt as r, Nt as n$1, Y as InternalEventType, bt as stringToArray, jt as debounce, n, t as e } from "./ref-BejJFG7m.js";
8
+ import { c as UploadSource, f as deserializeCsv } from "./plugins-CaaolyMk.js";
9
+ import { n as LitActivityBlock, t as LitUploaderBlock } from "./LitUploaderBlock-Oi33U0uf.js";
10
+ import { t as o } from "./style-map-CZ6fSV6e.js";
11
+ var Select = class extends LitBlock {
12
+ constructor(...t) {
13
+ super(...t), this.value = "", this.disabled = !1, this.options = [], this._handleChange = (t) => {
14
+ if (this.disabled) {
15
+ t.preventDefault(), t.stopPropagation();
16
+ return;
17
+ }
18
+ t.preventDefault(), t.stopPropagation();
19
+ let T = t.currentTarget;
20
+ T && (this.value = T.value, this.dispatchEvent(new Event("change")));
21
+ };
22
+ }
23
+ render() {
24
+ return b`
25
+ <select @change=${this._handleChange} .value=${this.value} ?disabled=${this.disabled}>
26
+ ${this.options.map((t) => b`<option value=${t.value}>${t.text}</option>`)}
27
+ </select>
28
+ `;
29
+ }
30
+ };
31
+ __decorate([n$1({
32
+ type: String,
33
+ attribute: !1
34
+ })], Select.prototype, "value", void 0), __decorate([n$1({
35
+ type: Boolean,
36
+ reflect: !0
37
+ })], Select.prototype, "disabled", void 0), __decorate([n$1({
38
+ type: Array,
39
+ attribute: !1
40
+ })], Select.prototype, "options", void 0);
41
+ const canUsePermissionsApi = () => navigator.permissions !== void 0;
42
+ var DEFAULT_VIDEO_CONFIG = {
43
+ width: { ideal: 1920 },
44
+ height: { ideal: 1080 },
45
+ frameRate: { ideal: 30 }
46
+ }, DEFAULT_PERMISSIONS = ["camera", "microphone"];
47
+ function formatTime(t) {
48
+ return `${Math.floor(t / 60).toString().padStart(2, "0")}:${Math.floor(t % 60).toString().padStart(2, "0")}`;
49
+ }
50
+ var DEFAULT_PICTURE_FORMAT = "image/jpeg", DEFAULT_VIDEO_FORMAT = "video/webm", CameraSource = class extends LitUploaderBlock {
51
+ constructor(...t) {
52
+ super(...t), this.couldBeCtxOwner = !0, this._unsubPermissions = null, this._capturing = !1, this._chunks = [], this._mediaRecorder = null, this._stream = null, this._selectedAudioId = null, this._selectedCameraId = null, this._activeTab = null, this._options = {}, this._canvas = null, this._ctx = null, this._cameraDevices = [], this._audioDevices = [], this._permissionResponses = {}, this._permissionCleanupFns = [], this._currentVideoSource = null, this._handlePreviewPlay = () => {
53
+ this._startTimeline(), this._currentTimelineIcon = "pause";
54
+ }, this._handlePreviewPause = () => {
55
+ this._currentTimelineIcon = "play", this._stopTimeline();
56
+ }, this._timerRef = e(), this._lineRef = e(), this._videoRef = e(), this._switcherRef = e(), this._startTime = 0, this._elapsedTime = 0, this._videoTransformCss = null, this._videoHidden = !0, this._messageHidden = !0, this._requestBtnHidden = canUsePermissionsApi(), this._cameraSelectOptions = [], this._cameraSelectHidden = !0, this._l10nMessage = "", this._timerHidden = !0, this._cameraHidden = !0, this._cameraActionsHidden = !0, this._audioSelectOptions = [], this._audioSelectHidden = !0, this._audioSelectDisabled = !0, this._audioToggleMicrophoneHidden = !0, this._tabCameraHidden = !0, this._tabVideoHidden = !0, this._currentIcon = "camera-full", this._currentTimelineIcon = "play", this._toggleMicrophoneIcon = "microphone", this._mutableClassButton = "uc-shot-btn uc-camera-action", this._chooseActionWithCamera = () => {
57
+ if (this.telemetryManager.sendEvent({
58
+ eventType: InternalEventType.ACTION_EVENT,
59
+ payload: { metadata: {
60
+ event: "start-camera",
61
+ node: this.tagName,
62
+ tabId: this._activeTab
63
+ } }
64
+ }), this._activeTab === CameraSourceTypes.PHOTO && this._shot(), this._activeTab === CameraSourceTypes.VIDEO) {
65
+ if (this._mediaRecorder?.state === "recording") {
66
+ this._stopRecording();
67
+ return;
68
+ }
69
+ this._startRecording();
70
+ }
71
+ }, this._handleCameraSelectChange = (t) => {
72
+ let T = t.target;
73
+ T && (this._selectedCameraId = T.value, this._capture());
74
+ }, this._handleAudioSelectChange = (t) => {
75
+ let T = t.target;
76
+ T && (this._selectedAudioId = T.value, this._capture());
77
+ }, this._handleRequestPermissions = () => {
78
+ this._capture();
79
+ }, this._handleStartCamera = () => {
80
+ this.telemetryManager.sendEvent({
81
+ eventType: InternalEventType.ACTION_EVENT,
82
+ payload: { metadata: {
83
+ event: "shot-camera",
84
+ node: this.tagName,
85
+ tabId: this._activeTab
86
+ } }
87
+ }), this._chooseActionWithCamera();
88
+ }, this._handleToggleRecording = () => {
89
+ this._toggleRecording();
90
+ }, this._handleToggleAudio = () => {
91
+ this._toggleEnableAudio();
92
+ }, this._handleRetake = () => {
93
+ this.telemetryManager.sendEvent({
94
+ eventType: InternalEventType.ACTION_EVENT,
95
+ payload: { metadata: {
96
+ event: "retake-camera",
97
+ node: this.tagName,
98
+ tabId: this._activeTab
99
+ } }
100
+ }), this._retake();
101
+ }, this._handleAccept = () => {
102
+ this.telemetryManager.sendEvent({
103
+ eventType: InternalEventType.ACTION_EVENT,
104
+ payload: { metadata: {
105
+ event: "accept-camera",
106
+ node: this.tagName,
107
+ tabId: this._activeTab
108
+ } }
109
+ }), this._accept();
110
+ }, this._handleClickTab = (t) => {
111
+ let T = t.currentTarget?.getAttribute("data-id");
112
+ T && this._handleActiveTab(T);
113
+ }, this._updateTimer = () => {
114
+ let t = Math.floor((performance.now() - this._startTime + this._elapsedTime) / 1e3);
115
+ if (typeof this.cfg.maxVideoRecordingDuration == "number" && this.cfg.maxVideoRecordingDuration > 0) {
116
+ let T = this.cfg.maxVideoRecordingDuration - t;
117
+ if (T <= 0) {
118
+ let t = this._timerRef.value;
119
+ t && (t.textContent = formatTime(T)), this._stopRecording();
120
+ return;
121
+ }
122
+ let E = this._timerRef.value;
123
+ E && (E.textContent = formatTime(T));
124
+ } else {
125
+ let T = this._timerRef.value;
126
+ T && (T.textContent = formatTime(t));
127
+ }
128
+ this._animationFrameId = requestAnimationFrame(this._updateTimer);
129
+ }, this._startTimer = () => {
130
+ this._startTime = performance.now(), this._elapsedTime = 0, this._updateTimer();
131
+ }, this._stopTimer = () => {
132
+ this._animationFrameId && cancelAnimationFrame(this._animationFrameId);
133
+ }, this._startTimeline = () => {
134
+ let t = this._videoRef.value;
135
+ if (!t) return;
136
+ let T = t.currentTime, E = t.duration || 1, D = this._lineRef.value;
137
+ D && (D.style.transform = `scaleX(${T / E})`);
138
+ let O = this._timerRef.value;
139
+ O && (O.textContent = formatTime(T)), this._animationFrameId = requestAnimationFrame(this._startTimeline);
140
+ }, this._stopTimeline = () => {
141
+ this._animationFrameId && cancelAnimationFrame(this._animationFrameId);
142
+ }, this._animationFrameId = null, this._startRecording = () => {
143
+ try {
144
+ this._chunks = [], this._options = { ...this.cfg.mediaRecorderOptions };
145
+ let { mimeType: t } = this.cfg.mediaRecorderOptions || {};
146
+ t && MediaRecorder.isTypeSupported(t) ? this._options.mimeType = t : MediaRecorder.isTypeSupported(DEFAULT_VIDEO_FORMAT) ? this._options.mimeType = DEFAULT_VIDEO_FORMAT : this._options.mimeType = "video/mp4", this._stream && (this._mediaRecorder = new MediaRecorder(this._stream, this._options), this._mediaRecorder.start(), this._mediaRecorder.addEventListener("dataavailable", (t) => {
147
+ this._chunks.push(t.data);
148
+ }), this._startTimer(), this.classList.add("uc-recording"), this._setCameraState(CameraSourceEvents.PLAY));
149
+ } catch (t) {
150
+ console.error("Failed to start recording", t), this.telemetryManager.sendEventError(t, "camera recording. Failed to start recording");
151
+ }
152
+ }, this._stopRecording = () => {
153
+ this._mediaRecorder?.addEventListener("stop", () => {
154
+ this._previewVideo(), this._stopTimer(), this._setCameraState(CameraSourceEvents.STOP);
155
+ }), this._mediaRecorder?.stop(), this.classList.remove("uc-recording"), this.telemetryManager.sendEvent({
156
+ eventType: InternalEventType.ACTION_EVENT,
157
+ payload: { metadata: {
158
+ event: "stop-camera",
159
+ node: this.tagName,
160
+ tabId: this._activeTab
161
+ } }
162
+ });
163
+ }, this._toggleRecording = () => {
164
+ if (this._mediaRecorder?.state === "recording") return;
165
+ let t = this._videoRef.value;
166
+ t && (!t.paused && !t.ended && t.readyState > 2 ? t.pause() : t.paused && t.play());
167
+ }, this._toggleEnableAudio = () => {
168
+ this._stream?.getAudioTracks().forEach((t) => {
169
+ t.enabled = !t.enabled, this._toggleMicrophoneIcon = t.enabled ? "microphone" : "microphone-mute", this._audioSelectDisabled = !t.enabled;
170
+ });
171
+ }, this._previewVideo = () => {
172
+ try {
173
+ let t = new Blob(this._chunks, { type: this._mediaRecorder?.mimeType }), T = URL.createObjectURL(t), E = this._videoRef.value;
174
+ if (!E) return;
175
+ E.muted = !1, E.volume = 1, this._setVideoSource(null), E.src = T, this._attachPreviewListeners(E);
176
+ } catch (t) {
177
+ console.error("Failed to preview video", t), this.telemetryManager.sendEventError(t, "camera previewing. Failed to preview video");
178
+ }
179
+ }, this._retake = () => {
180
+ if (this._setCameraState(CameraSourceEvents.RETAKE), this._activeTab === CameraSourceTypes.VIDEO) {
181
+ this._setVideoSource(this._stream);
182
+ let t = this._videoRef.value;
183
+ t && (t.muted = !0);
184
+ }
185
+ this._videoRef.value?.play?.();
186
+ }, this._accept = () => {
187
+ if (this._setCameraState(CameraSourceEvents.ACCEPT), this._activeTab === CameraSourceTypes.PHOTO) {
188
+ this._canvas?.toBlob((t) => {
189
+ if (!t) return;
190
+ let T = this._createFile("camera", "jpeg", DEFAULT_PICTURE_FORMAT, t);
191
+ this._toSend(T);
192
+ }, DEFAULT_PICTURE_FORMAT);
193
+ return;
194
+ }
195
+ let t = new Blob(this._chunks, { type: this._mediaRecorder?.mimeType }), T = this._guessExtensionByMime(this._mediaRecorder?.mimeType), E = this._createFile("video", T, `video/${T}`, t);
196
+ this._toSend(E), this._chunks = [];
197
+ }, this._handlePhoto = (t) => {
198
+ t === CameraSourceEvents.SHOT && (this._tabVideoHidden = !0, this._cameraHidden = !0, this._tabCameraHidden = !0, this._cameraActionsHidden = !1, this._cameraSelectHidden = !0), (t === CameraSourceEvents.RETAKE || t === CameraSourceEvents.ACCEPT) && (this._tabVideoHidden = !this._cameraModes.includes(CameraSourceTypes.VIDEO), this._tabCameraHidden = !this._cameraModes.includes(CameraSourceTypes.PHOTO), this._cameraHidden = !1, this._cameraActionsHidden = !0, this._cameraSelectHidden = this._cameraDevices.length <= 1);
199
+ }, this._handleVideo = (t) => {
200
+ t === CameraSourceEvents.PLAY && (this._timerHidden = !1, this._tabCameraHidden = !0, this._cameraSelectHidden = !0, this._audioSelectHidden = !0, this._currentTimelineIcon = "pause", this._currentIcon = "square", this._mutableClassButton = "uc-shot-btn uc-camera-action uc-stop-record"), t === CameraSourceEvents.STOP && (this._timerHidden = !1, this._cameraHidden = !0, this._audioToggleMicrophoneHidden = !0, this._cameraActionsHidden = !1), (t === CameraSourceEvents.RETAKE || t === CameraSourceEvents.ACCEPT) && (this._timerHidden = !0, this._tabVideoHidden = !this._cameraModes.includes(CameraSourceTypes.VIDEO), this._tabCameraHidden = !this._cameraModes.includes(CameraSourceTypes.PHOTO), this._cameraHidden = !1, this._cameraActionsHidden = !0, this._audioToggleMicrophoneHidden = !this.cfg.enableAudioRecording, this._currentIcon = "video-camera-full", this._mutableClassButton = "uc-shot-btn uc-camera-action", this._audioSelectHidden = !this.cfg.enableAudioRecording || this._audioDevices.length <= 1, this._cameraSelectHidden = this._cameraDevices.length <= 1);
201
+ }, this._setCameraState = (t) => {
202
+ this._activeTab === CameraSourceTypes.PHOTO && (t === "shot" || t === "retake" || t === "accept") && this._handlePhoto(t), this._activeTab === CameraSourceTypes.VIDEO && (t === "play" || t === "stop" || t === "retake" || t === "accept" || t === "pause" || t === "resume") && this._handleVideo(t);
203
+ }, this._handleActiveTab = (t) => {
204
+ this._switcherRef.value?.querySelectorAll("button").forEach((T) => {
205
+ T.classList.toggle("uc-active", T.getAttribute("data-id") === t);
206
+ }), t === CameraSourceTypes.PHOTO && (this._currentIcon = "camera-full", this._audioSelectHidden = !0, this._audioToggleMicrophoneHidden = !0), t === CameraSourceTypes.VIDEO && (this._currentTimelineIcon = "play", this._currentIcon = "video-camera-full", this._audioSelectHidden = !this.cfg.enableAudioRecording || this._audioDevices.length <= 1, this._audioToggleMicrophoneHidden = !this.cfg.enableAudioRecording), this.telemetryManager.sendEvent({
207
+ eventType: InternalEventType.ACTION_EVENT,
208
+ payload: { metadata: {
209
+ event: "camera-tab-switch",
210
+ node: this.tagName,
211
+ tabId: t
212
+ } }
213
+ }), this._activeTab = t;
214
+ }, this._createFile = (t, T, E, D) => {
215
+ let O = Date.now(), k = `${t}-${O}.${T}`;
216
+ return new File([D], k, {
217
+ lastModified: O,
218
+ type: E
219
+ });
220
+ }, this._toSend = (t) => {
221
+ this.api.addFileFromObject(t, { source: UploadSource.CAMERA }), this.set$({ "*currentActivity": LitActivityBlock.activities.UPLOAD_LIST }), this.modalManager?.open(LitActivityBlock.activities.UPLOAD_LIST);
222
+ }, this._setPermissionsState = debounce((t) => {
223
+ this.classList.toggle("uc-initialized", t === "granted");
224
+ let T = this._activeTab === CameraSourceTypes.VIDEO && this.cfg.enableAudioRecording, E = this._activeTab === CameraSourceTypes.PHOTO ? "camera-full" : "video-camera-full";
225
+ t === "granted" ? (this._videoHidden = !1, this._cameraHidden = !1, this._tabCameraHidden = !this._cameraModes.includes(CameraSourceTypes.PHOTO), this._tabVideoHidden = !this._cameraModes.includes(CameraSourceTypes.VIDEO), this._messageHidden = !0, this._timerHidden = !0, this._currentIcon = E, this._audioToggleMicrophoneHidden = !T, this._audioSelectHidden = !T) : t === "prompt" ? (this._l10nMessage = "camera-permissions-prompt", this._videoHidden = !0, this._cameraHidden = !0, this._tabCameraHidden = !0, this._messageHidden = !1, this._stopCapture()) : (this._l10nMessage = "camera-permissions-denied", this._videoHidden = !0, this._messageHidden = !1, this._tabCameraHidden = !this._cameraModes.includes(CameraSourceTypes.PHOTO), this._tabVideoHidden = !this._cameraModes.includes(CameraSourceTypes.VIDEO), this._cameraActionsHidden = !0, this._mutableClassButton = "uc-shot-btn uc-camera-action", this._stopCapture());
226
+ }, 300), this._makeStreamInactive = () => {
227
+ if (!this._stream) return !1;
228
+ let t = this._stream?.getAudioTracks(), T = this._stream?.getVideoTracks();
229
+ return t.forEach((t) => {
230
+ t.stop();
231
+ }), T.forEach((t) => {
232
+ t.stop();
233
+ }), !0;
234
+ }, this._stopCapture = () => {
235
+ this._capturing &&= (this._videoRef.value && (this._videoRef.value.volume = 0), (this._currentVideoSource?.getTracks?.())?.[0]?.stop(), this._detachPreviewListeners(this._videoRef.value), this._setVideoSource(null), this._makeStreamInactive(), this._stopTimer(), !1);
236
+ }, this._capture = async () => {
237
+ let t = {
238
+ video: { ...DEFAULT_VIDEO_CONFIG },
239
+ audio: this.cfg.enableAudioRecording ? {} : !1
240
+ };
241
+ this._selectedCameraId && (t.video = { deviceId: { exact: this._selectedCameraId } }), this._selectedAudioId && this.cfg.enableAudioRecording && (t.audio = { deviceId: { exact: this._selectedAudioId } }), this._videoRef.value && (this._videoRef.value.volume = 0);
242
+ try {
243
+ this._setPermissionsState("prompt"), this._stream = await navigator.mediaDevices.getUserMedia(t), this._stream.addEventListener("inactive", () => {
244
+ this._setPermissionsState("denied");
245
+ }), this._setVideoSource(this._stream), this._capturing = !0, this._setPermissionsState("granted");
246
+ } catch (t) {
247
+ this._setPermissionsState("denied"), console.log("Failed to capture camera", t), this.telemetryManager.sendEventError(t, "camera capturing. Failed to capture camera");
248
+ }
249
+ }, this._handlePermissionsChange = () => {
250
+ this._capture();
251
+ }, this._permissionAccess = async () => {
252
+ try {
253
+ this._teardownPermissionListeners();
254
+ for (let t of DEFAULT_PERMISSIONS) {
255
+ let T = await navigator.permissions.query({ name: t });
256
+ this._permissionResponses[t] = T, T.addEventListener("change", this._handlePermissionsChange), this._permissionCleanupFns.push(() => {
257
+ T.removeEventListener("change", this._handlePermissionsChange);
258
+ });
259
+ }
260
+ this._unsubPermissions = () => {
261
+ this._teardownPermissionListeners();
262
+ };
263
+ } catch (t) {
264
+ this._teardownPermissionListeners(), console.log("Failed to use permissions API. Fallback to manual request mode.", t), this.telemetryManager.sendEventError(t, "camera permissions. Failed to use permissions API"), this._capture();
265
+ }
266
+ }, this._requestDeviceAccess = async () => {
267
+ try {
268
+ await navigator.mediaDevices.getUserMedia({
269
+ video: !0,
270
+ audio: this.cfg.enableAudioRecording
271
+ }), await this._getDevices(), navigator.mediaDevices.addEventListener("devicechange", this._getDevices);
272
+ } catch (t) {
273
+ this.telemetryManager.sendEventError(t, "camera devices. Failed to get user media"), console.log("Failed to get user media", t);
274
+ }
275
+ }, this._getDevices = async () => {
276
+ try {
277
+ let t = await navigator.mediaDevices.enumerateDevices();
278
+ this._cameraDevices = t.filter((t) => t.kind === "videoinput").map((t, T) => ({
279
+ text: t.label.trim() || `${this.l10n("caption-camera")} ${T + 1}`,
280
+ value: t.deviceId
281
+ })), this._audioDevices = this.cfg.enableAudioRecording ? t.filter((t) => t.kind === "audioinput").map((t) => ({
282
+ text: t.label.trim(),
283
+ value: t.deviceId
284
+ })) : [], this._cameraSelectOptions = this._cameraDevices, this._cameraSelectHidden = this._cameraDevices.length <= 1, this._selectedCameraId = this._cameraDevices[0]?.value ?? null, this._audioSelectOptions = this._audioDevices, this._audioSelectHidden = !this.cfg.enableAudioRecording || this._audioDevices.length <= 1, this._selectedAudioId = this._audioDevices[0]?.value ?? null;
285
+ } catch (t) {
286
+ this.telemetryManager.sendEventError(t, "camera devices. Failed to get devices"), console.log("Failed to get devices", t);
287
+ }
288
+ }, this._onActivate = async () => {
289
+ await this._permissionAccess(), await this._requestDeviceAccess(), await this._capture(), this._handleCameraModes(this._cameraModes);
290
+ }, this._onDeactivate = async () => {
291
+ this._unsubPermissions && this._unsubPermissions(), window.chrome || this._setPermissionsState("denied"), this._stopCapture();
292
+ }, this._handleCameraModes = (t) => {
293
+ this._tabVideoHidden = !t.includes(CameraSourceTypes.VIDEO), this._tabCameraHidden = !t.includes(CameraSourceTypes.PHOTO);
294
+ let T = t[0];
295
+ T && (!this._activeTab || !t.includes(this._activeTab)) && this._handleActiveTab(T);
296
+ };
297
+ }
298
+ _attachPreviewListeners(t) {
299
+ this._detachPreviewListeners(t), t.addEventListener("play", this._handlePreviewPlay), t.addEventListener("pause", this._handlePreviewPause);
300
+ }
301
+ _detachPreviewListeners(t) {
302
+ t?.removeEventListener("play", this._handlePreviewPlay), t?.removeEventListener("pause", this._handlePreviewPause);
303
+ }
304
+ _setVideoSource(t) {
305
+ this._currentVideoSource !== t && (this._currentVideoSource = t, this._applyVideoSource());
306
+ }
307
+ _applyVideoSource() {
308
+ let t = this._videoRef.value;
309
+ if (!t) return;
310
+ let T = this._currentVideoSource ?? null;
311
+ t.srcObject !== T && (t.srcObject = T);
312
+ }
313
+ _shot() {
314
+ if (this._setCameraState("shot"), this._canvas = document.createElement("canvas"), this._ctx = this._canvas.getContext("2d"), !this._ctx) throw Error("Failed to get canvas context");
315
+ let t = this._videoRef.value;
316
+ if (!t) throw Error("Video element not found");
317
+ this._canvas.height = t.videoHeight, this._canvas.width = t.videoWidth, this.cfg.cameraMirror && (this._ctx.translate(this._canvas.width, 0), this._ctx.scale(-1, 1)), this._ctx.drawImage(t, 0, 0), t.pause();
318
+ }
319
+ _guessExtensionByMime(t) {
320
+ let T = {
321
+ mp4: "mp4",
322
+ ogg: "ogg",
323
+ webm: "webm",
324
+ quicktime: "mov",
325
+ "x-matroska": "mkv"
326
+ };
327
+ if (t === "") return "webm";
328
+ if (t) {
329
+ let E = t.split("/");
330
+ if (E?.[0] === "video") {
331
+ let t = E.slice(1).join("/")?.split(";")[0];
332
+ if (t && T[t]) return T[t];
333
+ }
334
+ }
335
+ return "avi";
336
+ }
337
+ get _cameraModes() {
338
+ return stringToArray(this.cfg.cameraModes).filter((t) => t === CameraSourceTypes.PHOTO || t === CameraSourceTypes.VIDEO);
339
+ }
340
+ _teardownPermissionListeners() {
341
+ if (this._permissionCleanupFns.length !== 0) {
342
+ for (let t of this._permissionCleanupFns) t();
343
+ this._permissionCleanupFns = [], this._unsubPermissions = null;
344
+ }
345
+ }
346
+ initCallback() {
347
+ super.initCallback(), this.subConfigValue("cameraMirror", (t) => {
348
+ this._videoTransformCss = t ? "scaleX(-1)" : null;
349
+ }), this.subConfigValue("enableAudioRecording", (t) => {
350
+ this._audioToggleMicrophoneHidden = !t, this._audioSelectDisabled = !t;
351
+ }), this.subConfigValue("cameraModes", (t) => {
352
+ if (!this.isConnected) return;
353
+ let T = deserializeCsv(t);
354
+ this._handleCameraModes(T.filter((t) => t === CameraSourceTypes.PHOTO || t === CameraSourceTypes.VIDEO));
355
+ }), this._onActivate();
356
+ }
357
+ firstUpdated(t) {
358
+ super.firstUpdated(t), this._applyVideoSource();
359
+ }
360
+ updated(t) {
361
+ super.updated(t), this._applyVideoSource();
362
+ }
363
+ _destroy() {
364
+ this._teardownPermissionListeners(), navigator.mediaDevices?.removeEventListener("devicechange", this._getDevices), this._detachPreviewListeners(this._videoRef.value), this._setVideoSource(null);
365
+ }
366
+ disconnectedCallback() {
367
+ super.disconnectedCallback(), this._onDeactivate(), this._destroy();
368
+ }
369
+ render() {
370
+ return b`
371
+ <uc-activity-header>
372
+ <button
373
+ type="button"
374
+ class="uc-mini-btn"
375
+ @click=${this.$["*historyBack"]}
376
+ title=${this.l10n("back")}
377
+ >
378
+ <uc-icon name="back"></uc-icon>
379
+ </button>
380
+ <div ?hidden=${!this._cameraSelectHidden}>
381
+ <uc-icon name="camera"></uc-icon>
382
+ <span>${this.l10n("caption-camera")}</span>
383
+ </div>
384
+ <uc-select
385
+ class="uc-camera-select"
386
+ .options=${this._cameraSelectOptions}
387
+ ?hidden=${this._cameraSelectHidden}
388
+ @change=${this._handleCameraSelectChange}
389
+ >
390
+ </uc-select>
391
+ <button
392
+ type="button"
393
+ class="uc-mini-btn uc-close-btn"
394
+ @click=${this.$["*closeModal"]}
395
+ title=${this.l10n("a11y-activity-header-button-close")}
396
+ aria-label=${this.l10n("a11y-activity-header-button-close")}
397
+ >
398
+ <uc-icon name="close"></uc-icon>
399
+ </button>
400
+ </uc-activity-header>
401
+ <div class="uc-content">
402
+ <video
403
+ muted
404
+ autoplay
405
+ playsinline
406
+ style=${o({ transform: this._videoTransformCss })}
407
+ ?hidden=${this._videoHidden}
408
+ ${n(this._videoRef)}
409
+ ></video>
410
+ <div class="uc-message-box" ?hidden=${this._messageHidden}>
411
+ <span>${this.l10n(this._l10nMessage)}</span>
412
+ <button
413
+ type="button"
414
+ @click=${this._handleRequestPermissions}
415
+ ?hidden=${this._requestBtnHidden}
416
+ >${this.l10n("camera-permissions-request")}</button>
417
+ </div>
418
+ </div>
419
+
420
+ <div class="uc-controls">
421
+ <div ${n(this._switcherRef)} class="uc-switcher" ?hidden=${!this._timerHidden}>
422
+ <button
423
+ data-id="photo"
424
+ type="button"
425
+ class="uc-switch uc-mini-btn"
426
+ @click=${this._handleClickTab}
427
+ ?hidden=${this._tabCameraHidden}
428
+ data-testid="tab-photo"
429
+ >
430
+ <uc-icon name="camera"></uc-icon>
431
+ </button>
432
+ <button
433
+ data-id="video"
434
+ type="button"
435
+ class="uc-switch uc-mini-btn"
436
+ @click=${this._handleClickTab}
437
+ ?hidden=${this._tabVideoHidden}
438
+ data-testid="tab-video"
439
+ >
440
+ <uc-icon name="video-camera"></uc-icon>
441
+ </button>
442
+ </div>
443
+
444
+ <button
445
+ class="uc-secondary-btn uc-recording-timer"
446
+ @click=${this._handleToggleRecording}
447
+ ?hidden=${this._timerHidden}
448
+ data-testid="recording-timer"
449
+ >
450
+ <uc-icon name=${this._currentTimelineIcon}></uc-icon>
451
+ <span ${n(this._timerRef)}> 00:00 </span>
452
+ <span ${n(this._lineRef)} class="uc-line"></span>
453
+ </button>
454
+
455
+ <div
456
+ class="uc-camera-actions uc-camera-action"
457
+ ?hidden=${this._cameraActionsHidden}
458
+ >
459
+ <button type="button" class="uc-secondary-btn" @click=${this._handleRetake}>
460
+ Retake
461
+ </button>
462
+ <button
463
+ type="button"
464
+ class="uc-primary-btn"
465
+ @click=${this._handleAccept}
466
+ data-testid="accept"
467
+ >
468
+ Accept
469
+ </button>
470
+ </div>
471
+
472
+ <button
473
+ type="button"
474
+ data-testid="shot"
475
+ @click=${this._handleStartCamera}
476
+ class=${this._mutableClassButton}
477
+ ?hidden=${this._cameraHidden}
478
+ >
479
+ <uc-icon name=${this._currentIcon}></uc-icon>
480
+ </button>
481
+
482
+ <div class="uc-select">
483
+ <button
484
+ type="button"
485
+ class="uc-mini-btn uc-btn-microphone"
486
+ @click=${this._handleToggleAudio}
487
+ ?hidden=${this._audioToggleMicrophoneHidden}
488
+ data-testid="toggle-microphone"
489
+ >
490
+ <uc-icon name=${this._toggleMicrophoneIcon}></uc-icon>
491
+ </button>
492
+
493
+ <uc-select
494
+ class="uc-audio-select"
495
+ .options=${this._audioSelectOptions}
496
+ ?hidden=${this._audioSelectHidden}
497
+ ?disabled=${this._audioSelectDisabled}
498
+ @change=${this._handleAudioSelectChange}
499
+ data-testid="audio-select"
500
+ >
501
+ </uc-select>
502
+ </div>
503
+ </div>
504
+ `;
505
+ }
506
+ };
507
+ __decorate([r()], CameraSource.prototype, "_videoTransformCss", void 0), __decorate([r()], CameraSource.prototype, "_videoHidden", void 0), __decorate([r()], CameraSource.prototype, "_messageHidden", void 0), __decorate([r()], CameraSource.prototype, "_requestBtnHidden", void 0), __decorate([r()], CameraSource.prototype, "_cameraSelectOptions", void 0), __decorate([r()], CameraSource.prototype, "_cameraSelectHidden", void 0), __decorate([r()], CameraSource.prototype, "_l10nMessage", void 0), __decorate([r()], CameraSource.prototype, "_timerHidden", void 0), __decorate([r()], CameraSource.prototype, "_cameraHidden", void 0), __decorate([r()], CameraSource.prototype, "_cameraActionsHidden", void 0), __decorate([r()], CameraSource.prototype, "_audioSelectOptions", void 0), __decorate([r()], CameraSource.prototype, "_audioSelectHidden", void 0), __decorate([r()], CameraSource.prototype, "_audioSelectDisabled", void 0), __decorate([r()], CameraSource.prototype, "_audioToggleMicrophoneHidden", void 0), __decorate([r()], CameraSource.prototype, "_tabCameraHidden", void 0), __decorate([r()], CameraSource.prototype, "_tabVideoHidden", void 0), __decorate([r()], CameraSource.prototype, "_currentIcon", void 0), __decorate([r()], CameraSource.prototype, "_currentTimelineIcon", void 0), __decorate([r()], CameraSource.prototype, "_toggleMicrophoneIcon", void 0), __decorate([r()], CameraSource.prototype, "_mutableClassButton", void 0);
508
+ export { Select as n, CameraSource as t };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Package: @uploadcare/file-uploader@1.28.0-alpha.1 (MIT)
4
+ * License: https://github.com/uploadcare/blob/main/LICENSE
5
+ * Built: 2026-03-02T20:26:14.841Z
6
+ */
7
+ import "./ref-BejJFG7m.js";
8
+ import { t as CameraSource } from "./CameraSource-BvBJ5Uzy.js";
9
+ import "./ActivityHeader-i4x6_Fne.js";
10
+ import "./style-map-CZ6fSV6e.js";
11
+ export { CameraSource };