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

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