@uploadcare/file-uploader 1.28.0-alpha.1 → 1.28.0-alpha.111
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.
- package/dist/abstract/CTX.d.ts +5 -3
- package/dist/abstract/CTX.d.ts.map +1 -0
- package/dist/abstract/TypedCollection.d.ts +2 -1
- package/dist/abstract/TypedCollection.d.ts.map +1 -0
- package/dist/abstract/TypedData.d.ts +3 -2
- package/dist/abstract/TypedData.d.ts.map +1 -0
- package/dist/abstract/UploaderPublicApi.d.ts +7 -6
- package/dist/abstract/UploaderPublicApi.d.ts.map +1 -0
- package/dist/abstract/buildOutputCollectionState.d.ts +3 -2
- package/dist/abstract/buildOutputCollectionState.d.ts.map +1 -0
- package/dist/abstract/customConfigOptions.d.ts +1 -0
- package/dist/abstract/customConfigOptions.d.ts.map +1 -0
- package/dist/abstract/defineComponents.d.ts +1 -0
- package/dist/abstract/defineComponents.d.ts.map +1 -0
- package/dist/abstract/features/ClipboardLayer.d.ts +2 -1
- package/dist/abstract/features/ClipboardLayer.d.ts.map +1 -0
- package/dist/abstract/loadFileUploaderFrom.d.ts +1 -0
- package/dist/abstract/loadFileUploaderFrom.d.ts.map +1 -0
- package/dist/abstract/loadFileUploaderFrom.js +1 -8
- package/dist/abstract/localeRegistry.d.ts +1 -0
- package/dist/abstract/localeRegistry.d.ts.map +1 -0
- package/dist/abstract/managers/LocaleManager.d.ts +3 -2
- package/dist/abstract/managers/LocaleManager.d.ts.map +1 -0
- package/dist/abstract/managers/ModalManager.d.ts +3 -2
- package/dist/abstract/managers/ModalManager.d.ts.map +1 -0
- package/dist/abstract/managers/SecureUploadsManager.d.ts +2 -1
- package/dist/abstract/managers/SecureUploadsManager.d.ts.map +1 -0
- package/dist/abstract/managers/TelemetryManager.d.ts +4 -3
- package/dist/abstract/managers/TelemetryManager.d.ts.map +1 -0
- package/dist/abstract/managers/ValidationManager.d.ts +7 -6
- package/dist/abstract/managers/ValidationManager.d.ts.map +1 -0
- package/dist/abstract/managers/a11y.d.ts +3 -2
- package/dist/abstract/managers/a11y.d.ts.map +1 -0
- package/dist/abstract/managers/plugin/PluginManager.d.ts +3 -2
- package/dist/abstract/managers/plugin/PluginManager.d.ts.map +1 -0
- package/dist/abstract/managers/plugin/PluginTypes.d.ts +4 -3
- package/dist/abstract/managers/plugin/PluginTypes.d.ts.map +1 -0
- package/dist/abstract/managers/plugin/index.d.ts +1 -0
- package/dist/abstract/managers/plugin/index.d.ts.map +1 -0
- package/dist/abstract/sharedConfigKey.d.ts +2 -1
- package/dist/abstract/sharedConfigKey.d.ts.map +1 -0
- package/dist/abstract/uploadEntrySchema.d.ts +4 -3
- package/dist/abstract/uploadEntrySchema.d.ts.map +1 -0
- package/dist/blocks/ActivityHeader/ActivityHeader.d.ts +2 -0
- package/dist/blocks/ActivityHeader/ActivityHeader.d.ts.map +1 -0
- package/dist/blocks/CameraSource/CameraSource.d.ts +7 -2
- package/dist/blocks/CameraSource/CameraSource.d.ts.map +1 -0
- package/dist/blocks/CameraSource/calcCameraModes.d.ts +2 -1
- package/dist/blocks/CameraSource/calcCameraModes.d.ts.map +1 -0
- package/dist/blocks/CameraSource/constants.d.ts +1 -0
- package/dist/blocks/CameraSource/constants.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/index.d.ts +2 -0
- package/dist/blocks/CloudImageEditor/index.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts +10 -2
- package/dist/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/CropFrame.d.ts +2 -1
- package/dist/blocks/CloudImageEditor/src/CropFrame.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorAspectRatioButtonControl.d.ts +5 -3
- package/dist/blocks/CloudImageEditor/src/EditorAspectRatioButtonControl.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorButtonControl.d.ts +4 -2
- package/dist/blocks/CloudImageEditor/src/EditorButtonControl.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts +3 -2
- package/dist/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorFilterControl.d.ts +4 -2
- package/dist/blocks/CloudImageEditor/src/EditorFilterControl.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +4 -2
- package/dist/blocks/CloudImageEditor/src/EditorImageCropper.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorImageFader.d.ts +3 -2
- package/dist/blocks/CloudImageEditor/src/EditorImageFader.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorOperationControl.d.ts +2 -1
- package/dist/blocks/CloudImageEditor/src/EditorOperationControl.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorScroller.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorScroller.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorSlider.d.ts +5 -3
- package/dist/blocks/CloudImageEditor/src/EditorSlider.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/EditorToolbar.d.ts +12 -2
- package/dist/blocks/CloudImageEditor/src/EditorToolbar.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/crop-utils.d.ts +2 -1
- package/dist/blocks/CloudImageEditor/src/crop-utils.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/cropper-constants.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/cropper-constants.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts +5 -3
- package/dist/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts +3 -2
- package/dist/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts +3 -2
- package/dist/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/index.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/index.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/classNames.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/classNames.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/linspace.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/linspace.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +3 -2
- package/dist/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/parseTabs.d.ts +2 -1
- package/dist/blocks/CloudImageEditor/src/lib/parseTabs.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/pick.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/pick.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +2 -1
- package/dist/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/state.d.ts +3 -2
- package/dist/blocks/CloudImageEditor/src/state.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/svg-sprite.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/svg-sprite.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/toolbar-constants.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/toolbar-constants.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/types.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/types.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/util.d.ts +2 -1
- package/dist/blocks/CloudImageEditor/src/util.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditor/src/utils/parseFilterValue.d.ts +1 -0
- package/dist/blocks/CloudImageEditor/src/utils/parseFilterValue.d.ts.map +1 -0
- package/dist/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +5 -2
- package/dist/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts.map +1 -0
- package/dist/blocks/Config/Config.d.ts +4 -2
- package/dist/blocks/Config/Config.d.ts.map +1 -0
- package/dist/blocks/Config/assertions.d.ts +2 -1
- package/dist/blocks/Config/assertions.d.ts.map +1 -0
- package/dist/blocks/Config/computed-properties.d.ts +2 -1
- package/dist/blocks/Config/computed-properties.d.ts.map +1 -0
- package/dist/blocks/Config/initialConfig.d.ts +2 -1
- package/dist/blocks/Config/initialConfig.d.ts.map +1 -0
- package/dist/blocks/Config/normalizeConfigValue.d.ts +2 -1
- package/dist/blocks/Config/normalizeConfigValue.d.ts.map +1 -0
- package/dist/blocks/Config/validatorsType.d.ts +5 -4
- package/dist/blocks/Config/validatorsType.d.ts.map +1 -0
- package/dist/blocks/Copyright/Copyright.d.ts +3 -1
- package/dist/blocks/Copyright/Copyright.d.ts.map +1 -0
- package/dist/blocks/DropArea/DropArea.d.ts +5 -2
- package/dist/blocks/DropArea/DropArea.d.ts.map +1 -0
- package/dist/blocks/DropArea/addDropzone.d.ts +1 -0
- package/dist/blocks/DropArea/addDropzone.d.ts.map +1 -0
- package/dist/blocks/DropArea/getDropItems.d.ts +1 -0
- package/dist/blocks/DropArea/getDropItems.d.ts.map +1 -0
- package/dist/blocks/ExternalSource/ExternalSource.d.ts +6 -1
- package/dist/blocks/ExternalSource/ExternalSource.d.ts.map +1 -0
- package/dist/blocks/ExternalSource/MessageBridge.d.ts +2 -1
- package/dist/blocks/ExternalSource/MessageBridge.d.ts.map +1 -0
- package/dist/blocks/ExternalSource/buildThemeDefinition.d.ts +2 -1
- package/dist/blocks/ExternalSource/buildThemeDefinition.d.ts.map +1 -0
- package/dist/blocks/ExternalSource/query-string.d.ts +1 -0
- package/dist/blocks/ExternalSource/query-string.d.ts.map +1 -0
- package/dist/blocks/ExternalSource/types.d.ts +1 -0
- package/dist/blocks/ExternalSource/types.d.ts.map +1 -0
- package/dist/blocks/FileItem/FileItem.d.ts +8 -3
- package/dist/blocks/FileItem/FileItem.d.ts.map +1 -0
- package/dist/blocks/FileItem/FileItemConfig.d.ts +2 -1
- package/dist/blocks/FileItem/FileItemConfig.d.ts.map +1 -0
- package/dist/blocks/FormInput/FormInput.d.ts +1 -0
- package/dist/blocks/FormInput/FormInput.d.ts.map +1 -0
- package/dist/blocks/Icon/Icon.d.ts +4 -2
- package/dist/blocks/Icon/Icon.d.ts.map +1 -0
- package/dist/blocks/Img/Img.d.ts +1 -0
- package/dist/blocks/Img/Img.d.ts.map +1 -0
- package/dist/blocks/Img/ImgBase.d.ts +1 -0
- package/dist/blocks/Img/ImgBase.d.ts.map +1 -0
- package/dist/blocks/Img/ImgConfig.d.ts +3 -2
- package/dist/blocks/Img/ImgConfig.d.ts.map +1 -0
- package/dist/blocks/Img/configurations.d.ts +1 -0
- package/dist/blocks/Img/configurations.d.ts.map +1 -0
- package/dist/blocks/Img/props-map.d.ts +1 -0
- package/dist/blocks/Img/props-map.d.ts.map +1 -0
- package/dist/blocks/Img/utils/parseObjectToString.d.ts +1 -0
- package/dist/blocks/Img/utils/parseObjectToString.d.ts.map +1 -0
- package/dist/blocks/Modal/Modal.d.ts +4 -2
- package/dist/blocks/Modal/Modal.d.ts.map +1 -0
- package/dist/blocks/PluginActivityRenderer/PluginActivityRenderer.d.ts +8 -5
- package/dist/blocks/PluginActivityRenderer/PluginActivityRenderer.d.ts.map +1 -0
- package/dist/blocks/PluginActivityRenderer/index.d.ts +1 -0
- package/dist/blocks/PluginActivityRenderer/index.d.ts.map +1 -0
- package/dist/blocks/ProgressBar/ProgressBar.d.ts +4 -2
- package/dist/blocks/ProgressBar/ProgressBar.d.ts.map +1 -0
- package/dist/blocks/ProgressBarCommon/ProgressBarCommon.d.ts +5 -2
- package/dist/blocks/ProgressBarCommon/ProgressBarCommon.d.ts.map +1 -0
- package/dist/blocks/Select/Select.d.ts +3 -1
- package/dist/blocks/Select/Select.d.ts.map +1 -0
- package/dist/blocks/SimpleBtn/SimpleBtn.d.ts +5 -1
- package/dist/blocks/SimpleBtn/SimpleBtn.d.ts.map +1 -0
- package/dist/blocks/SourceBtn/SourceBtn.d.ts +5 -2
- package/dist/blocks/SourceBtn/SourceBtn.d.ts.map +1 -0
- package/dist/blocks/SourceList/SourceList.d.ts +4 -2
- package/dist/blocks/SourceList/SourceList.d.ts.map +1 -0
- package/dist/blocks/Spinner/Spinner.d.ts +3 -1
- package/dist/blocks/Spinner/Spinner.d.ts.map +1 -0
- package/dist/blocks/StartFrom/StartFrom.d.ts +4 -2
- package/dist/blocks/StartFrom/StartFrom.d.ts.map +1 -0
- package/dist/blocks/Thumb/Thumb.d.ts +6 -3
- package/dist/blocks/Thumb/Thumb.d.ts.map +1 -0
- package/dist/blocks/UploadCtxProvider/EventEmitter.d.ts +5 -4
- package/dist/blocks/UploadCtxProvider/EventEmitter.d.ts.map +1 -0
- package/dist/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +2 -1
- package/dist/blocks/UploadCtxProvider/UploadCtxProvider.d.ts.map +1 -0
- package/dist/blocks/UploadList/UploadList.d.ts +7 -1
- package/dist/blocks/UploadList/UploadList.d.ts.map +1 -0
- package/dist/blocks/UrlSource/UrlSource.d.ts +5 -1
- package/dist/blocks/UrlSource/UrlSource.d.ts.map +1 -0
- package/dist/blocks/svg-backgrounds/svg-backgrounds.d.ts +1 -0
- package/dist/blocks/svg-backgrounds/svg-backgrounds.d.ts.map +1 -0
- package/dist/blocks/themes/uc-basic/svg-sprite.d.ts +1 -0
- package/dist/blocks/themes/uc-basic/svg-sprite.d.ts.map +1 -0
- package/dist/cameraPlugin.js +1 -0
- package/dist/{cloud-image-editor.css → cloudImageEditorPlugin.css} +334 -432
- package/dist/cloudImageEditorPlugin.js +1 -0
- package/dist/{cloud-image-editor.layered.css → cloudImageEditorPlugin.layered.css} +31 -291
- package/dist/core.d.ts +3 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/env.d.ts +1 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +1 -8
- package/dist/externalSourcesPlugin.js +1 -0
- package/dist/imageShrinkPlugin.js +1 -0
- package/dist/index.css +2012 -9
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -1796
- package/dist/index.layered.css +1960 -9
- package/dist/index.ssr.js +1290 -0
- package/dist/instagramPlugin.js +1 -0
- package/dist/lit/BaseComponent.d.ts +4 -3
- package/dist/lit/BaseComponent.d.ts.map +1 -0
- package/dist/lit/Constructor.d.ts +1 -0
- package/dist/lit/Constructor.d.ts.map +1 -0
- package/dist/lit/CssDataMixin.d.ts +3 -2
- package/dist/lit/CssDataMixin.d.ts.map +1 -0
- package/dist/lit/LightDomMixin.d.ts +3 -2
- package/dist/lit/LightDomMixin.d.ts.map +1 -0
- package/dist/lit/LitActivityBlock.d.ts +4 -3
- package/dist/lit/LitActivityBlock.d.ts.map +1 -0
- package/dist/lit/LitBlock.d.ts +17 -16
- package/dist/lit/LitBlock.d.ts.map +1 -0
- package/dist/lit/LitSolutionBlock.d.ts +6 -5
- package/dist/lit/LitSolutionBlock.d.ts.map +1 -0
- package/dist/lit/LitUploaderBlock.d.ts +8 -7
- package/dist/lit/LitUploaderBlock.d.ts.map +1 -0
- package/dist/lit/PubSubCompat.d.ts +1 -0
- package/dist/lit/PubSubCompat.d.ts.map +1 -0
- package/dist/lit/RegisterableElementMixin.d.ts +3 -2
- package/dist/lit/RegisterableElementMixin.d.ts.map +1 -0
- package/dist/lit/SharedState.d.ts +23 -22
- package/dist/lit/SharedState.d.ts.map +1 -0
- package/dist/lit/SymbioteCompatMixin.d.ts +3 -2
- package/dist/lit/SymbioteCompatMixin.d.ts.map +1 -0
- package/dist/lit/TestModeController.d.ts +3 -2
- package/dist/lit/TestModeController.d.ts.map +1 -0
- package/dist/lit/Uid.d.ts +1 -0
- package/dist/lit/Uid.d.ts.map +1 -0
- package/dist/lit/activity-constants.d.ts +2 -1
- package/dist/lit/activity-constants.d.ts.map +1 -0
- package/dist/lit/createDebugPrinter.d.ts +3 -2
- package/dist/lit/createDebugPrinter.d.ts.map +1 -0
- package/dist/lit/findBlockInCtx.d.ts +3 -2
- package/dist/lit/findBlockInCtx.d.ts.map +1 -0
- package/dist/lit/getOutputData.d.ts +3 -2
- package/dist/lit/getOutputData.d.ts.map +1 -0
- package/dist/lit/hasBlockInCtx.d.ts +3 -2
- package/dist/lit/hasBlockInCtx.d.ts.map +1 -0
- package/dist/lit/l10n.d.ts +3 -2
- package/dist/lit/l10n.d.ts.map +1 -0
- package/dist/lit/parseCssPropertyValue.d.ts +1 -0
- package/dist/lit/parseCssPropertyValue.d.ts.map +1 -0
- package/dist/lit/shared-instances.d.ts +15 -14
- package/dist/lit/shared-instances.d.ts.map +1 -0
- package/dist/locales/file-uploader/ar.d.ts +1 -0
- package/dist/locales/file-uploader/ar.d.ts.map +1 -0
- package/dist/locales/file-uploader/ar.js +1 -143
- package/dist/locales/file-uploader/az.d.ts +1 -0
- package/dist/locales/file-uploader/az.d.ts.map +1 -0
- package/dist/locales/file-uploader/az.js +1 -135
- package/dist/locales/file-uploader/ca.d.ts +1 -0
- package/dist/locales/file-uploader/ca.d.ts.map +1 -0
- package/dist/locales/file-uploader/ca.js +1 -137
- package/dist/locales/file-uploader/cs.d.ts +1 -0
- package/dist/locales/file-uploader/cs.d.ts.map +1 -0
- package/dist/locales/file-uploader/cs.js +1 -139
- package/dist/locales/file-uploader/da.d.ts +1 -0
- package/dist/locales/file-uploader/da.d.ts.map +1 -0
- package/dist/locales/file-uploader/da.js +1 -135
- package/dist/locales/file-uploader/de.d.ts +1 -0
- package/dist/locales/file-uploader/de.d.ts.map +1 -0
- package/dist/locales/file-uploader/de.js +1 -135
- package/dist/locales/file-uploader/el.d.ts +1 -0
- package/dist/locales/file-uploader/el.d.ts.map +1 -0
- package/dist/locales/file-uploader/el.js +1 -135
- package/dist/locales/file-uploader/en.d.ts +1 -0
- package/dist/locales/file-uploader/en.d.ts.map +1 -0
- package/dist/locales/file-uploader/en.js +1 -8
- package/dist/locales/file-uploader/es.d.ts +1 -0
- package/dist/locales/file-uploader/es.d.ts.map +1 -0
- package/dist/locales/file-uploader/es.js +1 -137
- package/dist/locales/file-uploader/et.d.ts +1 -0
- package/dist/locales/file-uploader/et.d.ts.map +1 -0
- package/dist/locales/file-uploader/et.js +1 -135
- package/dist/locales/file-uploader/fi.d.ts +1 -0
- package/dist/locales/file-uploader/fi.d.ts.map +1 -0
- package/dist/locales/file-uploader/fi.js +1 -135
- package/dist/locales/file-uploader/fr.d.ts +1 -0
- package/dist/locales/file-uploader/fr.d.ts.map +1 -0
- package/dist/locales/file-uploader/fr.js +1 -137
- package/dist/locales/file-uploader/he.d.ts +1 -0
- package/dist/locales/file-uploader/he.d.ts.map +1 -0
- package/dist/locales/file-uploader/he.js +1 -137
- package/dist/locales/file-uploader/hy.d.ts +1 -0
- package/dist/locales/file-uploader/hy.d.ts.map +1 -0
- package/dist/locales/file-uploader/hy.js +1 -135
- package/dist/locales/file-uploader/is.d.ts +1 -0
- package/dist/locales/file-uploader/is.d.ts.map +1 -0
- package/dist/locales/file-uploader/is.js +1 -135
- package/dist/locales/file-uploader/it.d.ts +1 -0
- package/dist/locales/file-uploader/it.d.ts.map +1 -0
- package/dist/locales/file-uploader/it.js +1 -137
- package/dist/locales/file-uploader/ja.d.ts +1 -0
- package/dist/locales/file-uploader/ja.d.ts.map +1 -0
- package/dist/locales/file-uploader/ja.js +1 -135
- package/dist/locales/file-uploader/ka.d.ts +1 -0
- package/dist/locales/file-uploader/ka.d.ts.map +1 -0
- package/dist/locales/file-uploader/ka.js +1 -135
- package/dist/locales/file-uploader/kk.d.ts +1 -0
- package/dist/locales/file-uploader/kk.d.ts.map +1 -0
- package/dist/locales/file-uploader/kk.js +1 -135
- package/dist/locales/file-uploader/ko.d.ts +1 -0
- package/dist/locales/file-uploader/ko.d.ts.map +1 -0
- package/dist/locales/file-uploader/ko.js +1 -135
- package/dist/locales/file-uploader/lv.d.ts +1 -0
- package/dist/locales/file-uploader/lv.d.ts.map +1 -0
- package/dist/locales/file-uploader/lv.js +1 -137
- package/dist/locales/file-uploader/nb.d.ts +1 -0
- package/dist/locales/file-uploader/nb.d.ts.map +1 -0
- package/dist/locales/file-uploader/nb.js +1 -135
- package/dist/locales/file-uploader/nl.d.ts +1 -0
- package/dist/locales/file-uploader/nl.d.ts.map +1 -0
- package/dist/locales/file-uploader/nl.js +1 -135
- package/dist/locales/file-uploader/pl.d.ts +1 -0
- package/dist/locales/file-uploader/pl.d.ts.map +1 -0
- package/dist/locales/file-uploader/pl.js +1 -139
- package/dist/locales/file-uploader/pt.d.ts +1 -0
- package/dist/locales/file-uploader/pt.d.ts.map +1 -0
- package/dist/locales/file-uploader/pt.js +1 -137
- package/dist/locales/file-uploader/ro.d.ts +1 -0
- package/dist/locales/file-uploader/ro.d.ts.map +1 -0
- package/dist/locales/file-uploader/ro.js +1 -137
- package/dist/locales/file-uploader/ru.d.ts +1 -0
- package/dist/locales/file-uploader/ru.d.ts.map +1 -0
- package/dist/locales/file-uploader/ru.js +1 -139
- package/dist/locales/file-uploader/sk.d.ts +1 -0
- package/dist/locales/file-uploader/sk.d.ts.map +1 -0
- package/dist/locales/file-uploader/sk.js +1 -139
- package/dist/locales/file-uploader/sr.d.ts +1 -0
- package/dist/locales/file-uploader/sr.d.ts.map +1 -0
- package/dist/locales/file-uploader/sr.js +1 -137
- package/dist/locales/file-uploader/sv.d.ts +1 -0
- package/dist/locales/file-uploader/sv.d.ts.map +1 -0
- package/dist/locales/file-uploader/sv.js +1 -135
- package/dist/locales/file-uploader/tr.d.ts +1 -0
- package/dist/locales/file-uploader/tr.d.ts.map +1 -0
- package/dist/locales/file-uploader/tr.js +1 -135
- package/dist/locales/file-uploader/uk.d.ts +1 -0
- package/dist/locales/file-uploader/uk.d.ts.map +1 -0
- package/dist/locales/file-uploader/uk.js +1 -139
- package/dist/locales/file-uploader/vi.d.ts +1 -0
- package/dist/locales/file-uploader/vi.d.ts.map +1 -0
- package/dist/locales/file-uploader/vi.js +1 -135
- package/dist/locales/file-uploader/zh-TW.d.ts +1 -0
- package/dist/locales/file-uploader/zh-TW.d.ts.map +1 -0
- package/dist/locales/file-uploader/zh-TW.js +1 -135
- package/dist/locales/file-uploader/zh.d.ts +1 -0
- package/dist/locales/file-uploader/zh.d.ts.map +1 -0
- package/dist/locales/file-uploader/zh.js +1 -135
- package/dist/plugins/cameraPlugin.d.ts +2 -1
- package/dist/plugins/cameraPlugin.d.ts.map +1 -0
- package/dist/plugins/cloudImageEditorPlugin.d.ts +2 -1
- package/dist/plugins/cloudImageEditorPlugin.d.ts.map +1 -0
- package/dist/plugins/externalSourcesPlugin.d.ts +2 -1
- package/dist/plugins/externalSourcesPlugin.d.ts.map +1 -0
- package/dist/plugins/imageShrinkPlugin.d.ts +2 -1
- package/dist/plugins/imageShrinkPlugin.d.ts.map +1 -0
- package/dist/plugins/instagramPlugin.d.ts +2 -1
- package/dist/plugins/instagramPlugin.d.ts.map +1 -0
- package/dist/plugins/unsplashPlugin.d.ts +2 -1
- package/dist/plugins/unsplashPlugin.d.ts.map +1 -0
- package/dist/plugins/urlSourcePlugin.d.ts +2 -1
- package/dist/plugins/urlSourcePlugin.d.ts.map +1 -0
- package/dist/solutions/adaptive-image/index.d.ts +1 -0
- package/dist/solutions/adaptive-image/index.d.ts.map +1 -0
- package/dist/solutions/cloud-image-editor/CloudImageEditor.d.ts +1 -0
- package/dist/solutions/cloud-image-editor/CloudImageEditor.d.ts.map +1 -0
- package/dist/solutions/cloud-image-editor/index.d.ts +2 -0
- package/dist/solutions/cloud-image-editor/index.d.ts.map +1 -0
- package/dist/solutions/file-uploader/inline/FileUploaderInline.d.ts +10 -1
- package/dist/solutions/file-uploader/inline/FileUploaderInline.d.ts.map +1 -0
- package/dist/solutions/file-uploader/inline/index.d.ts +1 -0
- package/dist/solutions/file-uploader/inline/index.d.ts.map +1 -0
- package/dist/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +11 -1
- package/dist/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts.map +1 -0
- package/dist/solutions/file-uploader/minimal/index.d.ts +1 -0
- package/dist/solutions/file-uploader/minimal/index.d.ts.map +1 -0
- package/dist/solutions/file-uploader/regular/FileUploaderRegular.d.ts +12 -1
- package/dist/solutions/file-uploader/regular/FileUploaderRegular.d.ts.map +1 -0
- package/dist/solutions/file-uploader/regular/index.d.ts +1 -0
- package/dist/solutions/file-uploader/regular/index.d.ts.map +1 -0
- package/dist/types/dom.d.ts +1 -0
- package/dist/types/dom.d.ts.map +1 -0
- package/dist/types/events.d.ts +2 -1
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/exported.d.ts +11 -10
- package/dist/types/exported.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -0
- package/dist/urlSourcePlugin.js +1 -0
- package/dist/utils/UID.d.ts +2 -1
- package/dist/utils/UID.d.ts.map +1 -0
- package/dist/utils/UploadSource.d.ts +1 -0
- package/dist/utils/UploadSource.d.ts.map +1 -0
- package/dist/utils/WindowHeightTracker.d.ts +2 -1
- package/dist/utils/WindowHeightTracker.d.ts.map +1 -0
- package/dist/utils/abilities.d.ts +1 -0
- package/dist/utils/abilities.d.ts.map +1 -0
- package/dist/utils/applyStyles.d.ts +1 -0
- package/dist/utils/applyStyles.d.ts.map +1 -0
- package/dist/utils/browser-info.d.ts +1 -0
- package/dist/utils/browser-info.d.ts.map +1 -0
- package/dist/utils/cdn-utils.d.ts +1 -0
- package/dist/utils/cdn-utils.d.ts.map +1 -0
- package/dist/utils/comma-separated.d.ts +1 -0
- package/dist/utils/comma-separated.d.ts.map +1 -0
- package/dist/utils/debounce.d.ts +1 -0
- package/dist/utils/debounce.d.ts.map +1 -0
- package/dist/utils/delay.d.ts +1 -0
- package/dist/utils/delay.d.ts.map +1 -0
- package/dist/utils/fileTypes.d.ts +1 -0
- package/dist/utils/fileTypes.d.ts.map +1 -0
- package/dist/utils/get-top-level-origin.d.ts +1 -0
- package/dist/utils/get-top-level-origin.d.ts.map +1 -0
- package/dist/utils/getLocaleDirection.d.ts +1 -0
- package/dist/utils/getLocaleDirection.d.ts.map +1 -0
- package/dist/utils/getPluralForm.d.ts +1 -0
- package/dist/utils/getPluralForm.d.ts.map +1 -0
- package/dist/utils/isPromiseLike.d.ts +1 -0
- package/dist/utils/isPromiseLike.d.ts.map +1 -0
- package/dist/utils/isSecureTokenExpired.d.ts +2 -1
- package/dist/utils/isSecureTokenExpired.d.ts.map +1 -0
- package/dist/utils/memoize.d.ts +1 -0
- package/dist/utils/memoize.d.ts.map +1 -0
- package/dist/utils/mixinClass.d.ts +1 -0
- package/dist/utils/mixinClass.d.ts.map +1 -0
- package/dist/utils/parseCdnUrl.d.ts +1 -0
- package/dist/utils/parseCdnUrl.d.ts.map +1 -0
- package/dist/utils/parseShrink.d.ts +1 -0
- package/dist/utils/parseShrink.d.ts.map +1 -0
- package/dist/utils/preloadImage.d.ts +1 -0
- package/dist/utils/preloadImage.d.ts.map +1 -0
- package/dist/utils/prettyBytes.d.ts +1 -0
- package/dist/utils/prettyBytes.d.ts.map +1 -0
- package/dist/utils/resizeImage.d.ts +1 -0
- package/dist/utils/resizeImage.d.ts.map +1 -0
- package/dist/utils/stringToArray.d.ts +1 -0
- package/dist/utils/stringToArray.d.ts.map +1 -0
- package/dist/utils/template-utils.d.ts +1 -0
- package/dist/utils/template-utils.d.ts.map +1 -0
- package/dist/utils/throttle.d.ts +1 -0
- package/dist/utils/throttle.d.ts.map +1 -0
- package/dist/utils/toKebabCase.d.ts +1 -0
- package/dist/utils/toKebabCase.d.ts.map +1 -0
- package/dist/utils/transparentPixelSrc.d.ts +1 -0
- package/dist/utils/transparentPixelSrc.d.ts.map +1 -0
- package/dist/utils/uniqueArray.d.ts +1 -0
- package/dist/utils/uniqueArray.d.ts.map +1 -0
- package/dist/utils/userAgent.d.ts +2 -1
- package/dist/utils/userAgent.d.ts.map +1 -0
- package/dist/utils/validators/collection/index.d.ts +1 -0
- package/dist/utils/validators/collection/index.d.ts.map +1 -0
- package/dist/utils/validators/collection/validateCollectionUploadError.d.ts +2 -1
- package/dist/utils/validators/collection/validateCollectionUploadError.d.ts.map +1 -0
- package/dist/utils/validators/collection/validateMultiple.d.ts +2 -1
- package/dist/utils/validators/collection/validateMultiple.d.ts.map +1 -0
- package/dist/utils/validators/file/index.d.ts +1 -0
- package/dist/utils/validators/file/index.d.ts.map +1 -0
- package/dist/utils/validators/file/validateFileType.d.ts +2 -1
- package/dist/utils/validators/file/validateFileType.d.ts.map +1 -0
- package/dist/utils/validators/file/validateIsImage.d.ts +2 -1
- package/dist/utils/validators/file/validateIsImage.d.ts.map +1 -0
- package/dist/utils/validators/file/validateMaxSizeLimit.d.ts +2 -1
- package/dist/utils/validators/file/validateMaxSizeLimit.d.ts.map +1 -0
- package/dist/utils/validators/file/validateUploadError.d.ts +2 -1
- package/dist/utils/validators/file/validateUploadError.d.ts.map +1 -0
- package/dist/utils/warnOnce.d.ts +1 -0
- package/dist/utils/warnOnce.d.ts.map +1 -0
- package/dist/utils/wildcardRegexp.d.ts +1 -0
- package/dist/utils/wildcardRegexp.d.ts.map +1 -0
- package/dist/utils/withResolvers.d.ts +1 -0
- package/dist/utils/withResolvers.d.ts.map +1 -0
- package/package.json +3 -5
- package/web/file-uploader.iife.min.js +8 -697
- package/web/file-uploader.min.js +8 -1859
- package/web/uc-basic.layered.min.css +1578 -4381
- package/web/uc-basic.min.css +1862 -3788
- package/web/uc-cloud-image-editor.layered.min.css +148 -123
- package/web/uc-cloud-image-editor.min.css +359 -175
- package/web/uc-cloud-image-editor.min.js +8 -457
- package/web/uc-file-uploader-inline.layered.min.css +2145 -3254
- package/web/uc-file-uploader-inline.min.css +2848 -3123
- package/web/uc-file-uploader-inline.min.js +8 -1859
- package/web/uc-file-uploader-minimal.layered.min.css +2145 -3254
- package/web/uc-file-uploader-minimal.min.css +2848 -3123
- package/web/uc-file-uploader-minimal.min.js +8 -1859
- package/web/uc-file-uploader-regular.layered.min.css +2145 -3254
- package/web/uc-file-uploader-regular.min.css +2848 -3123
- package/web/uc-file-uploader-regular.min.js +8 -1859
- package/web/uc-img.min.js +5 -895
- package/dist/ActivityHeader-R6Mlx-dA.js +0 -9
- package/dist/ActivityHeader.css +0 -23
- package/dist/ActivityHeader.layered.css +0 -24
- package/dist/CameraSource-DDwj1jCV.js +0 -511
- package/dist/CameraSource-n1tun2Df.js +0 -10
- package/dist/CameraSource.css +0 -180
- package/dist/CameraSource.layered.css +0 -209
- package/dist/CloudImageEditor-DcVoIRb3.js +0 -2163
- package/dist/CloudImageEditorActivity-Csij4nlC.js +0 -87
- package/dist/CloudImageEditorActivity-DD4NdU0P.js +0 -9
- package/dist/CloudImageEditorActivity.css +0 -14
- package/dist/CloudImageEditorActivity.layered.css +0 -15
- package/dist/Config-DKOromHY.js +0 -433
- package/dist/Config.css +0 -4
- package/dist/Config.layered.css +0 -5
- package/dist/ExternalSource-6MSUgxqy.js +0 -10
- package/dist/ExternalSource-DVEjSkPB.js +0 -253
- package/dist/ExternalSource.css +0 -98
- package/dist/ExternalSource.layered.css +0 -116
- package/dist/Icon-tXRTvEF2.js +0 -1810
- package/dist/Icon.css +0 -14
- package/dist/Icon.layered.css +0 -15
- package/dist/LitUploaderBlock-LxeOZ0ya.js +0 -998
- package/dist/UrlSource-BkyX00I2.js +0 -73
- package/dist/UrlSource-RI8TSD48.js +0 -10
- package/dist/UrlSource.css +0 -17
- package/dist/UrlSource.layered.css +0 -18
- package/dist/abstract/TypedCollection.test.d.ts +0 -1
- package/dist/abstract/TypedData.test.d.ts +0 -1
- package/dist/abstract/managers/__tests__/ModalManager.test.d.ts +0 -13
- package/dist/abstract/managers/__tests__/SecureUploadsManager.test.d.ts +0 -1
- package/dist/blocks/CameraSource/__tests__/calcCameraModes.test.d.ts +0 -1
- package/dist/blocks/CloudImageEditor/src/crop-utils.test.d.ts +0 -1
- package/dist/blocks/CloudImageEditor/src/lib/classNames.test.d.ts +0 -1
- package/dist/blocks/CloudImageEditor/src/lib/linspace.test.d.ts +0 -1
- package/dist/blocks/CloudImageEditor/src/lib/parseCropPreset.test.d.ts +0 -1
- package/dist/blocks/CloudImageEditor/src/lib/pick.test.d.ts +0 -1
- package/dist/blocks/CloudImageEditor/src/utils/parseFilterValue.test.d.ts +0 -1
- package/dist/blocks/Config/computed-properties.test.d.ts +0 -1
- package/dist/cameraPlugin-weRKO7eG.js +0 -8
- package/dist/cloud-image-editor-hhbyNWLG.js +0 -11
- package/dist/cloudImageEditorPlugin-FjUgbMK3.js +0 -8
- package/dist/en-8OWEmZim.js +0 -135
- package/dist/env-mM-ksNPq.js +0 -8
- package/dist/externalSourcesPlugin-CMBmLT8S.js +0 -8
- package/dist/imageShrinkPlugin-BN6loiP2.js +0 -8
- package/dist/index-base.css +0 -2497
- package/dist/index-base.layered.css +0 -2837
- package/dist/instagramPlugin-CXRm8MGL.js +0 -8
- package/dist/loadFileUploaderFrom-Bfz8L3VB.js +0 -28
- package/dist/plugins-CGUls7EV.js +0 -278
- package/dist/urlSourcePlugin-_WdbEhq2.js +0 -8
- package/dist/utils/UID.test.d.ts +0 -1
- package/dist/utils/browser-info.test.d.ts +0 -1
- package/dist/utils/cdn-utils.test.d.ts +0 -1
- package/dist/utils/fileTypes.test.d.ts +0 -1
- package/dist/utils/get-top-level-origin.test.d.ts +0 -1
- package/dist/utils/getPluralForm.test.d.ts +0 -1
- package/dist/utils/isPromiseLike.test.d.ts +0 -1
- package/dist/utils/isSecureTokenExpired.test.d.ts +0 -1
- package/dist/utils/memoize.test.d.ts +0 -1
- package/dist/utils/parseCdnUrl.test.d.ts +0 -1
- package/dist/utils/parseShrink.test.d.ts +0 -1
- package/dist/utils/prettyBytes.test.d.ts +0 -1
- package/dist/utils/stringToArray.test.d.ts +0 -1
- package/dist/utils/template-utils.test.d.ts +0 -1
- package/dist/utils/toKebabCase.test.d.ts +0 -1
- package/dist/utils/uniqueArray.test.d.ts +0 -1
- package/dist/utils/wildcardRegexp.test.d.ts +0 -1
- package/dist/utils/withResolvers.test.d.ts +0 -1
- package/web/ActivityHeader-BFdTdVfD.js +0 -9
- package/web/ActivityHeader-DQy6rII1.js +0 -9
- package/web/ActivityHeader-DvzMl0uj.js +0 -9
- package/web/ActivityHeader-i4x6_Fne.js +0 -9
- package/web/CameraSource-BAWIA4Wm.js +0 -508
- package/web/CameraSource-BqZCQcij.js +0 -11
- package/web/CameraSource-Brxr4tz4.js +0 -508
- package/web/CameraSource-BvBJ5Uzy.js +0 -508
- package/web/CameraSource-CkHzIE-h.js +0 -11
- package/web/CameraSource-D964yPLu.js +0 -508
- package/web/CameraSource-DE48Az-f.js +0 -11
- package/web/CameraSource-DyPebtRF.js +0 -478
- package/web/CameraSource-pj7Xo81m.js +0 -11
- package/web/CloudImageEditor-CTgUWB07.js +0 -2192
- package/web/CloudImageEditor-CxqV9Lwm.js +0 -2192
- package/web/CloudImageEditor-DoLWHpqV.js +0 -2192
- package/web/CloudImageEditor-Drywn265.js +0 -2192
- package/web/CloudImageEditor-MXcaDtMx.js +0 -2187
- package/web/CloudImageEditorActivity-BPzmfaJV.js +0 -85
- package/web/CloudImageEditorActivity-Br8pU5gd.js +0 -11
- package/web/CloudImageEditorActivity-Cw8b2CEz.js +0 -11
- package/web/CloudImageEditorActivity-Df1ySGq0.js +0 -86
- package/web/CloudImageEditorActivity-DinG5r0y.js +0 -11
- package/web/CloudImageEditorActivity-DmnLLINR.js +0 -85
- package/web/CloudImageEditorActivity-U90BGCek.js +0 -85
- package/web/CloudImageEditorActivity-dNLQZRZI.js +0 -11
- package/web/CloudImageEditorActivity-ur-hQ-6p.js +0 -85
- package/web/Config-8hlBNhvs.js +0 -455
- package/web/Config-BDZhPIyz.js +0 -455
- package/web/Config-CJVNrrjj.js +0 -455
- package/web/Config-DvkVtlQ7.js +0 -455
- package/web/ExternalSource-B9ycBFiD.js +0 -10
- package/web/ExternalSource-BE7HX47E.js +0 -250
- package/web/ExternalSource-BL5GSlol.js +0 -250
- package/web/ExternalSource-BXQY6Dlc.js +0 -10
- package/web/ExternalSource-BXxH3JCD.js +0 -250
- package/web/ExternalSource-BYSS-PPV.js +0 -245
- package/web/ExternalSource-C57a61QN.js +0 -10
- package/web/ExternalSource-CKfMtOgU.js +0 -250
- package/web/ExternalSource-DP6q8ylB.js +0 -10
- package/web/LitUploaderBlock-AX6jOdAS.js +0 -996
- package/web/LitUploaderBlock-BjAaoLl2.js +0 -996
- package/web/LitUploaderBlock-D8E5HuwH.js +0 -996
- package/web/LitUploaderBlock-Dl3ce0Tc.js +0 -996
- package/web/LitUploaderBlock-Oi33U0uf.js +0 -996
- package/web/UrlSource-B9SX3K0L.js +0 -10
- package/web/UrlSource-C3zB1rCb.js +0 -70
- package/web/UrlSource-C7bEU6Xv.js +0 -10
- package/web/UrlSource-CE389CBz.js +0 -70
- package/web/UrlSource-CnvAJ58Y.js +0 -10
- package/web/UrlSource-CqF0h6B-.js +0 -10
- package/web/UrlSource-D-971Nut.js +0 -70
- package/web/UrlSource-DhI3YCt5.js +0 -70
- package/web/UrlSource-hWV7jtB2.js +0 -70
- package/web/abstract/CTX.d.ts +0 -40
- package/web/abstract/TypedCollection.d.ts +0 -47
- package/web/abstract/TypedCollection.test.d.ts +0 -1
- package/web/abstract/TypedData.d.ts +0 -12
- package/web/abstract/TypedData.test.d.ts +0 -1
- package/web/abstract/UploaderPublicApi.d.ts +0 -41
- package/web/abstract/buildOutputCollectionState.d.ts +0 -3
- package/web/abstract/customConfigOptions.d.ts +0 -65
- package/web/abstract/defineComponents.d.ts +0 -1
- package/web/abstract/features/ClipboardLayer.d.ts +0 -12
- package/web/abstract/loadFileUploaderFrom.d.ts +0 -13
- package/web/abstract/localeRegistry.d.ts +0 -5
- package/web/abstract/managers/LocaleManager.d.ts +0 -10
- package/web/abstract/managers/ModalManager.d.ts +0 -53
- package/web/abstract/managers/SecureUploadsManager.d.ts +0 -7
- package/web/abstract/managers/TelemetryManager.d.ts +0 -41
- package/web/abstract/managers/ValidationManager.d.ts +0 -34
- package/web/abstract/managers/__tests__/ModalManager.test.d.ts +0 -13
- package/web/abstract/managers/__tests__/SecureUploadsManager.test.d.ts +0 -1
- package/web/abstract/managers/a11y.d.ts +0 -9
- package/web/abstract/managers/plugin/PluginManager.d.ts +0 -25
- package/web/abstract/managers/plugin/PluginTypes.d.ts +0 -146
- package/web/abstract/managers/plugin/index.d.ts +0 -2
- package/web/abstract/sharedConfigKey.d.ts +0 -2
- package/web/abstract/uploadEntrySchema.d.ts +0 -34
- package/web/blocks/ActivityHeader/ActivityHeader.d.ts +0 -8
- package/web/blocks/CameraSource/CameraSource.d.ts +0 -121
- package/web/blocks/CameraSource/__tests__/calcCameraModes.test.d.ts +0 -1
- package/web/blocks/CameraSource/calcCameraModes.d.ts +0 -5
- package/web/blocks/CameraSource/constants.d.ts +0 -15
- package/web/blocks/CloudImageEditor/index.d.ts +0 -1
- package/web/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts +0 -60
- package/web/blocks/CloudImageEditor/src/CropFrame.d.ts +0 -56
- package/web/blocks/CloudImageEditor/src/EditorAspectRatioButtonControl.d.ts +0 -24
- package/web/blocks/CloudImageEditor/src/EditorButtonControl.d.ts +0 -14
- package/web/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts +0 -13
- package/web/blocks/CloudImageEditor/src/EditorFilterControl.d.ts +0 -35
- package/web/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +0 -56
- package/web/blocks/CloudImageEditor/src/EditorImageFader.d.ts +0 -63
- package/web/blocks/CloudImageEditor/src/EditorOperationControl.d.ts +0 -15
- package/web/blocks/CloudImageEditor/src/EditorScroller.d.ts +0 -15
- package/web/blocks/CloudImageEditor/src/EditorSlider.d.ts +0 -33
- package/web/blocks/CloudImageEditor/src/EditorToolbar.d.ts +0 -68
- package/web/blocks/CloudImageEditor/src/crop-utils.d.ts +0 -36
- package/web/blocks/CloudImageEditor/src/crop-utils.test.d.ts +0 -1
- package/web/blocks/CloudImageEditor/src/cropper-constants.d.ts +0 -10
- package/web/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts +0 -31
- package/web/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts +0 -19
- package/web/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts +0 -27
- package/web/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts +0 -38
- package/web/blocks/CloudImageEditor/src/index.d.ts +0 -15
- package/web/blocks/CloudImageEditor/src/lib/classNames.d.ts +0 -5
- package/web/blocks/CloudImageEditor/src/lib/classNames.test.d.ts +0 -1
- package/web/blocks/CloudImageEditor/src/lib/linspace.d.ts +0 -1
- package/web/blocks/CloudImageEditor/src/lib/linspace.test.d.ts +0 -1
- package/web/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +0 -4
- package/web/blocks/CloudImageEditor/src/lib/parseCropPreset.test.d.ts +0 -1
- package/web/blocks/CloudImageEditor/src/lib/parseTabs.d.ts +0 -2
- package/web/blocks/CloudImageEditor/src/lib/pick.d.ts +0 -1
- package/web/blocks/CloudImageEditor/src/lib/pick.test.d.ts +0 -1
- package/web/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +0 -7
- package/web/blocks/CloudImageEditor/src/state.d.ts +0 -20
- package/web/blocks/CloudImageEditor/src/svg-sprite.d.ts +0 -2
- package/web/blocks/CloudImageEditor/src/toolbar-constants.d.ts +0 -61
- package/web/blocks/CloudImageEditor/src/types.d.ts +0 -60
- package/web/blocks/CloudImageEditor/src/util.d.ts +0 -2
- package/web/blocks/CloudImageEditor/src/utils/parseFilterValue.d.ts +0 -7
- package/web/blocks/CloudImageEditor/src/utils/parseFilterValue.test.d.ts +0 -1
- package/web/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +0 -25
- package/web/blocks/Config/Config.d.ts +0 -60
- package/web/blocks/Config/assertions.d.ts +0 -5
- package/web/blocks/Config/computed-properties.d.ts +0 -24
- package/web/blocks/Config/computed-properties.test.d.ts +0 -1
- package/web/blocks/Config/initialConfig.d.ts +0 -6
- package/web/blocks/Config/normalizeConfigValue.d.ts +0 -2
- package/web/blocks/Config/validatorsType.d.ts +0 -18
- package/web/blocks/Copyright/Copyright.d.ts +0 -10
- package/web/blocks/DropArea/DropArea.d.ts +0 -47
- package/web/blocks/DropArea/addDropzone.d.ts +0 -17
- package/web/blocks/DropArea/getDropItems.d.ts +0 -12
- package/web/blocks/ExternalSource/ExternalSource.d.ts +0 -45
- package/web/blocks/ExternalSource/MessageBridge.d.ts +0 -11
- package/web/blocks/ExternalSource/buildThemeDefinition.d.ts +0 -4
- package/web/blocks/ExternalSource/query-string.d.ts +0 -1
- package/web/blocks/ExternalSource/types.d.ts +0 -105
- package/web/blocks/FileItem/FileItem.d.ts +0 -50
- package/web/blocks/FileItem/FileItemConfig.d.ts +0 -10
- package/web/blocks/FormInput/FormInput.d.ts +0 -18
- package/web/blocks/Icon/Icon.d.ts +0 -19
- package/web/blocks/Img/Img.d.ts +0 -14
- package/web/blocks/Img/ImgBase.d.ts +0 -29
- package/web/blocks/Img/ImgConfig.d.ts +0 -28
- package/web/blocks/Img/configurations.d.ts +0 -11
- package/web/blocks/Img/props-map.d.ts +0 -28
- package/web/blocks/Img/utils/parseObjectToString.d.ts +0 -2
- package/web/blocks/Modal/Modal.d.ts +0 -34
- package/web/blocks/PluginActivityRenderer/PluginActivityRenderer.d.ts +0 -32
- package/web/blocks/PluginActivityRenderer/index.d.ts +0 -1
- package/web/blocks/ProgressBar/ProgressBar.d.ts +0 -21
- package/web/blocks/ProgressBarCommon/ProgressBarCommon.d.ts +0 -17
- package/web/blocks/Select/Select.d.ts +0 -18
- package/web/blocks/SimpleBtn/SimpleBtn.d.ts +0 -15
- package/web/blocks/SourceBtn/SourceBtn.d.ts +0 -23
- package/web/blocks/SourceList/SourceList.d.ts +0 -24
- package/web/blocks/Spinner/Spinner.d.ts +0 -9
- package/web/blocks/StartFrom/StartFrom.d.ts +0 -12
- package/web/blocks/Thumb/Thumb.d.ts +0 -35
- package/web/blocks/UploadCtxProvider/EventEmitter.d.ts +0 -70
- package/web/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +0 -44
- package/web/blocks/UploadList/UploadList.d.ts +0 -39
- package/web/blocks/UrlSource/UrlSource.d.ts +0 -14
- package/web/blocks/svg-backgrounds/svg-backgrounds.d.ts +0 -3
- package/web/blocks/themes/uc-basic/svg-sprite.d.ts +0 -2
- package/web/cameraPlugin-DeedXMWV.js +0 -8
- package/web/cameraPlugin-Duy1QwjB.js +0 -8
- package/web/cameraPlugin-QS9SUOtO.js +0 -8
- package/web/cameraPlugin-bq8ggY04.js +0 -8
- package/web/cameraPlugin-cel9YgP_.js +0 -8
- package/web/cloud-image-editor-8DrVRZ7E.js +0 -12
- package/web/cloud-image-editor-BX50EK1U.js +0 -12
- package/web/cloud-image-editor-DSW3oWq-.js +0 -12
- package/web/cloud-image-editor-DuI2Lx4M.js +0 -12
- package/web/cloudImageEditorPlugin-5my6aD36.js +0 -8
- package/web/cloudImageEditorPlugin-Bk19DmJv.js +0 -8
- package/web/cloudImageEditorPlugin-CcdnmtBW.js +0 -8
- package/web/cloudImageEditorPlugin-DQJmDl03.js +0 -8
- package/web/cloudImageEditorPlugin-kojghfqw.js +0 -8
- package/web/constants-BCfCF0cJ.js +0 -4025
- package/web/core.d.ts +0 -42
- package/web/env.d.ts +0 -2
- package/web/externalSourcesPlugin-BTeRm5C0.js +0 -8
- package/web/externalSourcesPlugin-BXgVeojg.js +0 -8
- package/web/externalSourcesPlugin-BgLpuIK9.js +0 -8
- package/web/externalSourcesPlugin-DMc9zs4T.js +0 -8
- package/web/externalSourcesPlugin-Dm9vnTBv.js +0 -8
- package/web/imageShrinkPlugin-BdHgEGZH.js +0 -8
- package/web/imageShrinkPlugin-BjkMGfvT.js +0 -8
- package/web/imageShrinkPlugin-CCkGHL2w.js +0 -8
- package/web/imageShrinkPlugin-D4WjaRGo.js +0 -8
- package/web/imageShrinkPlugin-DqYGutVx.js +0 -8
- package/web/index.d.ts +0 -42
- package/web/instagramPlugin-BTMz0K2a.js +0 -8
- package/web/instagramPlugin-BbIKgTH7.js +0 -8
- package/web/instagramPlugin-CQQhsEJa.js +0 -8
- package/web/instagramPlugin-Cm7lWKae.js +0 -8
- package/web/instagramPlugin-DcclxM_d.js +0 -8
- package/web/lit/BaseComponent.d.ts +0 -12
- package/web/lit/Constructor.d.ts +0 -1
- package/web/lit/CssDataMixin.d.ts +0 -7
- package/web/lit/LightDomMixin.d.ts +0 -8
- package/web/lit/LitActivityBlock.d.ts +0 -53
- package/web/lit/LitBlock.d.ts +0 -83
- package/web/lit/LitSolutionBlock.d.ts +0 -21
- package/web/lit/LitUploaderBlock.d.ts +0 -53
- package/web/lit/PubSubCompat.d.ts +0 -18
- package/web/lit/RegisterableElementMixin.d.ts +0 -7
- package/web/lit/SharedState.d.ts +0 -119
- package/web/lit/SymbioteCompatMixin.d.ts +0 -40
- package/web/lit/TestModeController.d.ts +0 -16
- package/web/lit/Uid.d.ts +0 -3
- package/web/lit/activity-constants.d.ts +0 -11
- package/web/lit/createDebugPrinter.d.ts +0 -3
- package/web/lit/findBlockInCtx.d.ts +0 -3
- package/web/lit/getOutputData.d.ts +0 -2
- package/web/lit/hasBlockInCtx.d.ts +0 -3
- package/web/lit/l10n.d.ts +0 -5
- package/web/lit/parseCssPropertyValue.d.ts +0 -1
- package/web/lit/shared-instances.d.ts +0 -65
- package/web/locales/file-uploader/ar.d.ts +0 -137
- package/web/locales/file-uploader/az.d.ts +0 -129
- package/web/locales/file-uploader/ca.d.ts +0 -131
- package/web/locales/file-uploader/cs.d.ts +0 -133
- package/web/locales/file-uploader/da.d.ts +0 -129
- package/web/locales/file-uploader/de.d.ts +0 -129
- package/web/locales/file-uploader/el.d.ts +0 -129
- package/web/locales/file-uploader/en.d.ts +0 -129
- package/web/locales/file-uploader/es.d.ts +0 -131
- package/web/locales/file-uploader/et.d.ts +0 -129
- package/web/locales/file-uploader/fi.d.ts +0 -129
- package/web/locales/file-uploader/fr.d.ts +0 -131
- package/web/locales/file-uploader/he.d.ts +0 -131
- package/web/locales/file-uploader/hy.d.ts +0 -129
- package/web/locales/file-uploader/is.d.ts +0 -129
- package/web/locales/file-uploader/it.d.ts +0 -131
- package/web/locales/file-uploader/ja.d.ts +0 -129
- package/web/locales/file-uploader/ka.d.ts +0 -129
- package/web/locales/file-uploader/kk.d.ts +0 -129
- package/web/locales/file-uploader/ko.d.ts +0 -129
- package/web/locales/file-uploader/lv.d.ts +0 -131
- package/web/locales/file-uploader/nb.d.ts +0 -129
- package/web/locales/file-uploader/nl.d.ts +0 -129
- package/web/locales/file-uploader/pl.d.ts +0 -133
- package/web/locales/file-uploader/pt.d.ts +0 -131
- package/web/locales/file-uploader/ro.d.ts +0 -131
- package/web/locales/file-uploader/ru.d.ts +0 -133
- package/web/locales/file-uploader/sk.d.ts +0 -133
- package/web/locales/file-uploader/sr.d.ts +0 -131
- package/web/locales/file-uploader/sv.d.ts +0 -129
- package/web/locales/file-uploader/tr.d.ts +0 -129
- package/web/locales/file-uploader/uk.d.ts +0 -133
- package/web/locales/file-uploader/vi.d.ts +0 -129
- package/web/locales/file-uploader/zh-TW.d.ts +0 -129
- package/web/locales/file-uploader/zh.d.ts +0 -129
- package/web/plugins/cameraPlugin.d.ts +0 -2
- package/web/plugins/cloudImageEditorPlugin.d.ts +0 -2
- package/web/plugins/externalSourcesPlugin.d.ts +0 -2
- package/web/plugins/imageShrinkPlugin.d.ts +0 -2
- package/web/plugins/instagramPlugin.d.ts +0 -2
- package/web/plugins/unsplashPlugin.d.ts +0 -16
- package/web/plugins/urlSourcePlugin.d.ts +0 -2
- package/web/plugins-Bt7FXHKx.js +0 -562
- package/web/plugins-CaaolyMk.js +0 -562
- package/web/plugins-Cjgw5oWg.js +0 -562
- package/web/plugins-CzNtrVQB.js +0 -562
- package/web/plugins-DS0hIs2V.js +0 -563
- package/web/ref-BOnG19ns.js +0 -4040
- package/web/ref-BejJFG7m.js +0 -4040
- package/web/ref-DcRg7zo9.js +0 -4040
- package/web/ref-ZWPcLQB9.js +0 -4040
- package/web/solutions/adaptive-image/index.d.ts +0 -2
- package/web/solutions/cloud-image-editor/CloudImageEditor.d.ts +0 -11
- package/web/solutions/cloud-image-editor/index.d.ts +0 -5
- package/web/solutions/file-uploader/inline/FileUploaderInline.d.ts +0 -20
- package/web/solutions/file-uploader/inline/index.d.ts +0 -1
- package/web/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +0 -23
- package/web/solutions/file-uploader/minimal/index.d.ts +0 -1
- package/web/solutions/file-uploader/regular/FileUploaderRegular.d.ts +0 -17
- package/web/solutions/file-uploader/regular/index.d.ts +0 -1
- package/web/style-map-BmZdux7T.js +0 -37
- package/web/style-map-CZ6fSV6e.js +0 -37
- package/web/style-map-Dk7mLCrB.js +0 -37
- package/web/style-map-HkHnu9oA.js +0 -37
- package/web/style-map-tw1yUEaj.js +0 -37
- package/web/types/dom.d.ts +0 -1
- package/web/types/events.d.ts +0 -4
- package/web/types/exported.d.ts +0 -492
- package/web/types/index.d.ts +0 -5
- package/web/urlSourcePlugin-9lhcr02f.js +0 -8
- package/web/urlSourcePlugin-C-sLGhGb.js +0 -8
- package/web/urlSourcePlugin-DNXDpnRD.js +0 -8
- package/web/urlSourcePlugin-JnD0cnxb.js +0 -8
- package/web/urlSourcePlugin-hcMU2K6T.js +0 -8
- package/web/utils/UID.d.ts +0 -5
- package/web/utils/UID.test.d.ts +0 -1
- package/web/utils/UploadSource.d.ts +0 -37
- package/web/utils/WindowHeightTracker.d.ts +0 -9
- package/web/utils/abilities.d.ts +0 -1
- package/web/utils/applyStyles.d.ts +0 -1
- package/web/utils/browser-info.d.ts +0 -12
- package/web/utils/browser-info.test.d.ts +0 -1
- package/web/utils/cdn-utils.d.ts +0 -53
- package/web/utils/cdn-utils.test.d.ts +0 -1
- package/web/utils/comma-separated.d.ts +0 -2
- package/web/utils/debounce.d.ts +0 -3
- package/web/utils/delay.d.ts +0 -1
- package/web/utils/fileTypes.d.ts +0 -11
- package/web/utils/fileTypes.test.d.ts +0 -1
- package/web/utils/get-top-level-origin.d.ts +0 -1
- package/web/utils/get-top-level-origin.test.d.ts +0 -1
- package/web/utils/getLocaleDirection.d.ts +0 -1
- package/web/utils/getPluralForm.d.ts +0 -1
- package/web/utils/getPluralForm.test.d.ts +0 -1
- package/web/utils/isPromiseLike.d.ts +0 -1
- package/web/utils/isPromiseLike.test.d.ts +0 -1
- package/web/utils/isSecureTokenExpired.d.ts +0 -8
- package/web/utils/isSecureTokenExpired.test.d.ts +0 -1
- package/web/utils/memoize.d.ts +0 -1
- package/web/utils/memoize.test.d.ts +0 -1
- package/web/utils/mixinClass.d.ts +0 -8
- package/web/utils/parseCdnUrl.d.ts +0 -11
- package/web/utils/parseCdnUrl.test.d.ts +0 -1
- package/web/utils/parseShrink.d.ts +0 -7
- package/web/utils/parseShrink.test.d.ts +0 -1
- package/web/utils/preloadImage.d.ts +0 -10
- package/web/utils/prettyBytes.d.ts +0 -11
- package/web/utils/prettyBytes.test.d.ts +0 -1
- package/web/utils/resizeImage.d.ts +0 -1
- package/web/utils/stringToArray.d.ts +0 -1
- package/web/utils/stringToArray.test.d.ts +0 -1
- package/web/utils/template-utils.d.ts +0 -16
- package/web/utils/template-utils.test.d.ts +0 -1
- package/web/utils/throttle.d.ts +0 -3
- package/web/utils/toKebabCase.d.ts +0 -2
- package/web/utils/toKebabCase.test.d.ts +0 -1
- package/web/utils/transparentPixelSrc.d.ts +0 -1
- package/web/utils/uniqueArray.d.ts +0 -1
- package/web/utils/uniqueArray.test.d.ts +0 -1
- package/web/utils/userAgent.d.ts +0 -2
- package/web/utils/validators/collection/index.d.ts +0 -2
- package/web/utils/validators/collection/validateCollectionUploadError.d.ts +0 -2
- package/web/utils/validators/collection/validateMultiple.d.ts +0 -2
- package/web/utils/validators/file/index.d.ts +0 -4
- package/web/utils/validators/file/validateFileType.d.ts +0 -2
- package/web/utils/validators/file/validateIsImage.d.ts +0 -2
- package/web/utils/validators/file/validateMaxSizeLimit.d.ts +0 -2
- package/web/utils/validators/file/validateUploadError.d.ts +0 -2
- package/web/utils/warnOnce.d.ts +0 -1
- package/web/utils/wildcardRegexp.d.ts +0 -1
- package/web/utils/wildcardRegexp.test.d.ts +0 -1
- package/web/utils/withResolvers.d.ts +0 -5
- package/web/utils/withResolvers.test.d.ts +0 -1
|
@@ -1,1859 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* License: https://github.com/uploadcare/blob/main/LICENSE
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { $ as CancelError, At as __decorate, B as i, Bt as b, Ct as createOriginalUrl, Dt as defineLocale, Ft as LightDomMixin, G as applyTemplateData, H as LitBlock, It as CssDataMixin, J as EventType, K as PACKAGE_NAME, Lt as i$1, Mt as r, Nt as n, Ot as UID, Pt as RegisterableElementMixin, R as o, St as createCdnUrlModifiers, V as t, Vt as PubSub, Y as InternalEventType, Z as solutionBlockCtx, a as p, at as uploadFile, bt as stringToArray, c as Icon, i as h, jt as debounce, kt as SymbioteMixin, n as n$1, o as u, q as PACKAGE_VERSION, r as M, rt as UploadcareError, s as v, st as ModalEvents, t as e, xt as createCdnUrl, z as e$1, zt as E } from "./ref-BOnG19ns.js";
|
|
8
|
-
import { c as UploadSource, m as defineComponents, s as ExternalUploadSource } from "./plugins-Cjgw5oWg.js";
|
|
9
|
-
import { n as toKebabCase, t as Config } from "./Config-8hlBNhvs.js";
|
|
10
|
-
import { n as LitActivityBlock, r as applyStyles, t as LitUploaderBlock } from "./LitUploaderBlock-BjAaoLl2.js";
|
|
11
|
-
import { n as Select, t as CameraSource } from "./CameraSource-D964yPLu.js";
|
|
12
|
-
import { n as Spinner, t as ExternalSource } from "./ExternalSource-CKfMtOgU.js";
|
|
13
|
-
import { b as preloadImage, x as TRANSPARENT_PIXEL_SRC, y as throttle } from "./CloudImageEditor-CTgUWB07.js";
|
|
14
|
-
import { t as ActivityHeader } from "./ActivityHeader-DQy6rII1.js";
|
|
15
|
-
import { t as UrlSource } from "./UrlSource-CE389CBz.js";
|
|
16
|
-
import "./style-map-HkHnu9oA.js";
|
|
17
|
-
import "./CloudImageEditorActivity-DmnLLINR.js";
|
|
18
|
-
var BaseComponent = class extends RegisterableElementMixin(SymbioteMixin()(CssDataMixin(LightDomMixin(i$1)))) {};
|
|
19
|
-
function loadFileUploaderFrom(g, B = !1) {
|
|
20
|
-
return new Promise((V, H) => {
|
|
21
|
-
if (typeof document != "object") {
|
|
22
|
-
V(null);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
if (typeof window == "object" && window.UC) {
|
|
26
|
-
V(window.UC);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
let U = document.createElement("script");
|
|
30
|
-
U.async = !0, U.src = g, U.onerror = () => {
|
|
31
|
-
H();
|
|
32
|
-
}, U.onload = () => {
|
|
33
|
-
let g = window.UC;
|
|
34
|
-
B && defineComponents(g), V(g);
|
|
35
|
-
}, document.head.appendChild(U);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
var svg_sprite_default = "<svg width='0' height='0' style='position:absolute'><symbol viewBox='0 0 24 24' id='uc-icon-about' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.152 14.12v.1h1.523v-.1c.007-.409.053-.752.138-1.028.086-.277.22-.517.405-.72.188-.202.434-.397.735-.586.32-.191.593-.412.82-.66.232-.249.41-.531.533-.847.125-.32.187-.678.187-1.076 0-.579-.137-1.085-.41-1.518a2.717 2.717 0 0 0-1.14-1.018c-.49-.245-1.062-.367-1.715-.367-.597 0-1.142.114-1.636.34-.49.228-.884.564-1.182 1.008-.299.44-.46.98-.485 1.619h1.62c.024-.377.118-.684.282-.922a1.48 1.48 0 0 1 .617-.532c.25-.114.51-.17.784-.17.301 0 .575.063.82.191.248.124.447.302.597.533.149.23.223.504.223.82 0 .263-.05.502-.149.72a1.91 1.91 0 0 1-.405.574 3.48 3.48 0 0 1-.575.453 4.22 4.22 0 0 0-.847.66c-.234.242-.415.558-.543.949-.125.39-.19.916-.197 1.577Zm.053 3.03c.21.206.46.31.75.31.196 0 .374-.049.534-.144a1.1 1.1 0 0 0 .383-.384c.1-.163.15-.343.15-.538a1 1 0 0 0-.32-.746 1.019 1.019 0 0 0-.746-.314c-.291 0-.542.105-.751.314-.21.206-.314.455-.314.746 0 .295.104.547.314.756ZM24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12Zm-1.5 0c0 5.799-4.701 10.5-10.5 10.5S1.5 17.799 1.5 12 6.201 1.5 12 1.5 22.5 6.201 22.5 12Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-add' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.75 21a.75.75 0 0 1-1.5 0v-8.25H3a.75.75 0 0 1 0-1.5h8.25V3a.75.75 0 0 1 1.5 0v8.25H21a.75.75 0 0 1 0 1.5h-8.25V21Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-arrow-down' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.5 23.03a.75.75 0 0 0 .999 0l9.29-8.276a.75.75 0 0 0-.998-1.12l-8.042 7.164V1.53a.75.75 0 0 0-1.5 0v19.267l-8.04-7.163a.75.75 0 0 0-.998 1.12z'/></symbol><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='M7.395 22.5H2.454v-5.25m14.824 5.25h4.94v-5.25m0-10.5V1.5h-4.94m-9.883 0H2.454v5.25'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-back' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M20.251 12a.75.75 0 0 1-.75.75H6.067l5.72 5.85a.75.75 0 1 1-1.072 1.05L4.136 12.92a1.292 1.292 0 0 1 0-1.842l6.579-6.728a.75.75 0 1 1 1.072 1.048l-5.72 5.851H19.5a.75.75 0 0 1 .75.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.6 18.4a1.6 1.6 0 1 1-3.2 0 1.6 1.6 0 0 1 3.2 0zM12 4.5A1.5 1.5 0 0 1 13.5 6v7a1.5 1.5 0 0 1-3 0V6A1.5 1.5 0 0 1 12 4.5z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-success' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m10.5 18.204 7.6-8.183a1.5 1.5 0 0 0-2.2-2.042l-5.4 5.817-2.4-2.586a1.5 1.5 0 1 0-2.2 2.041l4.6 4.953Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-box' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M1.01 4.148a.75.75 0 0 1 .75.75v4.348a4.437 4.437 0 0 1 2.988-1.153c1.734 0 3.23.992 3.978 2.438a4.478 4.478 0 0 1 3.978-2.438c2.49 0 4.488 2.044 4.488 4.543 0 2.5-1.999 4.544-4.488 4.544a4.478 4.478 0 0 1-3.978-2.438 4.478 4.478 0 0 1-3.978 2.438C2.26 17.18.26 15.135.26 12.636V4.898a.75.75 0 0 1 .75-.75Zm.75 8.488c0 1.692 1.348 3.044 2.988 3.044s2.989-1.352 2.989-3.044c0-1.691-1.349-3.043-2.989-3.043S1.76 10.945 1.76 12.636Zm10.944-3.043c-1.64 0-2.988 1.352-2.988 3.043 0 1.692 1.348 3.044 2.988 3.044s2.988-1.352 2.988-3.044c0-1.69-1.348-3.043-2.988-3.043Zm4.328-1.23a.75.75 0 0 1 1.052.128l2.333 2.983 2.333-2.983a.75.75 0 0 1 1.181.924l-2.562 3.277 2.562 3.276a.75.75 0 1 1-1.181.924l-2.333-2.983-2.333 2.983a.75.75 0 1 1-1.181-.924l2.562-3.276-2.562-3.277a.75.75 0 0 1 .129-1.052Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-camera-full' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' clip-rule='evenodd' d='M2 4.667a2 2 0 0 0-2 2V16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6.667a2 2 0 0 0-2-2h-2.667l-2-2.667H6.667l-2 2.667H2Zm8 10a3.667 3.667 0 1 0 0-7.334 3.667 3.667 0 0 0 0 7.334Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-close' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M4.604 4.604a.75.75 0 0 1 1.06 0L12 10.939l6.335-6.335a.75.75 0 1 1 1.061 1.06L13.061 12l6.335 6.335a.75.75 0 1 1-1.06 1.061L12 13.061l-6.335 6.335a.75.75 0 0 1-1.061-1.06L10.939 12 4.604 5.665a.75.75 0 0 1 0-1.061z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-collapse' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3.116 12a.75.75 0 0 1 .75-.75h16.268a.75.75 0 0 1 0 1.5H3.866a.75.75 0 0 1-.75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-default' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-dropbox' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.019 1.92a.75.75 0 0 1 .806 0L12 5.219l5.176-3.297a.75.75 0 0 1 .806 0l5.577 3.553a.75.75 0 0 1 0 1.265l-4.574 2.914 4.574 2.914a.75.75 0 0 1 0 1.265l-5.577 3.554a.75.75 0 0 1-.806 0L12 14.089l-5.175 3.297a.75.75 0 0 1-.806 0L.44 13.833a.75.75 0 0 1 0-1.266l4.575-2.914L.44 6.74a.75.75 0 0 1 0-1.265zm.403 8.616L2.24 13.2l4.182 2.664 4.181-2.664zm6.975 2.664 4.182 2.664L21.76 13.2l-4.181-2.664zm2.776-3.547L12 12.311 7.828 9.653 12 6.995zm1.406-.882 4.181-2.664-4.181-2.664-4.182 2.664zm-6.976-2.664L6.422 3.443 2.24 6.107 6.422 8.77zM5.791 18.544a.75.75 0 0 1 1.035-.23l5.175 3.297 5.175-3.297a.75.75 0 1 1 .806 1.265l-5.578 3.554a.75.75 0 0 1-.806 0L6.02 19.579a.75.75 0 0 1-.23-1.035z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-evernote' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M9.804 2.27v-.048c.055-.263.313-.562.85-.562h.44c.142 0 .325.014.526.033.066.009.124.023.267.06l.13.032h.002c.319.079.515.275.644.482a1.461 1.461 0 0 1 .16.356l.004.012a.75.75 0 0 0 .603.577l1.191.207a1988.512 1988.512 0 0 0 2.332.402c.512.083 1.1.178 1.665.442.64.3 1.19.795 1.376 1.77.548 2.931.657 5.829.621 8a39.233 39.233 0 0 1-.125 2.602 17.518 17.518 0 0 1-.092.849.735.735 0 0 0-.024.112c-.378 2.705-1.269 3.796-2.04 4.27-.746.457-1.53.451-2.217.447h-.192c-.46 0-1.073-.23-1.581-.635-.518-.412-.763-.87-.763-1.217 0-.45.188-.688.355-.786.161-.095.436-.137.796.087a.75.75 0 1 0 .792-1.274c-.766-.476-1.64-.52-2.345-.108-.7.409-1.098 1.188-1.098 2.08 0 .996.634 1.84 1.329 2.392.704.56 1.638.96 2.515.96l.185.002c.667.009 1.874.025 3.007-.67 1.283-.786 2.314-2.358 2.733-5.276a4.213 4.213 0 0 0 .056-.335c.023-.184.051-.445.079-.772.055-.655.111-1.585.13-2.704.037-2.234-.074-5.239-.647-8.301v-.002c-.294-1.544-1.233-2.391-2.215-2.85-.777-.363-1.623-.496-2.129-.576a8.872 8.872 0 0 1-.25-.041l-.006-.001-1.99-.345-.761-.132a2.93 2.93 0 0 0-.182-.338A2.532 2.532 0 0 0 12.379.329l-.091-.023a3.967 3.967 0 0 0-.493-.103L11.769.2a7.846 7.846 0 0 0-.675-.04h-.44c-.733 0-1.368.284-1.795.742L2.416 7.431c-.468.428-.751 1.071-.751 1.81 0 .02 0 .041.003.062l.003.034c.017.21.038.468.096.796.107.715.275 1.47.391 1.994.029.13.055.245.075.342l.002.008c.258 1.141.641 1.94.978 2.466.168.263.323.456.444.589a2.808 2.808 0 0 0 .192.194c1.536 1.562 3.713 2.196 5.731 2.08.13-.005.35-.032.537-.073a2.627 2.627 0 0 0 .652-.24c.425-.26.75-.661.992-1.046.184-.294.342-.61.473-.915a3.8 3.8 0 0 0 .627.493 5.022 5.022 0 0 0 1.97.709l.023.002.018.003.11.016c.088.014.205.035.325.058l.056.014c.088.022.164.04.235.061a1.736 1.736 0 0 1 .145.048l.03.014c.765.34 1.302 1.09 1.302 1.871a.75.75 0 0 0 1.5 0c0-1.456-.964-2.69-2.18-3.235a3.595 3.595 0 0 0-.679-.217l-.063-.015a10.616 10.616 0 0 0-.606-.105l-.02-.003-.03-.003h-.002a3.542 3.542 0 0 1-1.331-.485c-.471-.298-.788-.692-.828-1.234a.75.75 0 0 0-1.48-.106l-.001.003-.004.017a8.23 8.23 0 0 1-.092.352 9.963 9.963 0 0 1-.298.892c-.132.34-.29.68-.47.966-.174.276-.339.454-.478.549a1.178 1.178 0 0 1-.221.072 1.949 1.949 0 0 1-.241.036h-.013l-.032.002c-1.684.1-3.423-.437-4.604-1.65a.746.746 0 0 0-.053-.05L4.84 14.6a1.348 1.348 0 0 1-.07-.073 2.99 2.99 0 0 1-.293-.392c-.242-.379-.558-1.014-.778-1.985a54.1 54.1 0 0 0-.083-.376 27.494 27.494 0 0 1-.367-1.872l-.003-.02a6.791 6.791 0 0 1-.08-.67c.004-.277.086-.475.2-.609l.067-.067a.63.63 0 0 1 .292-.145h.05c.18 0 1.095.055 2.013.115l1.207.08.534.037a.747.747 0 0 0 .052.002c.782 0 1.349-.206 1.759-.585l.005-.005c.553-.52.622-1.225.622-1.76V6.24l-.026-.565A774.97 774.97 0 0 1 9.885 4.4c-.042-.961-.081-1.939-.081-2.13ZM4.995 6.953a251.126 251.126 0 0 1 2.102.137l.508.035c.48-.004.646-.122.715-.185.07-.068.146-.209.147-.649l-.024-.548a791.69 791.69 0 0 1-.095-2.187L4.995 6.953Zm16.122 9.996Zm-5.479-5.323a.75.75 0 0 0 1.014.31 2.04 2.04 0 0 1 .304-.089 1.84 1.84 0 0 1 .544-.039c.215.023.321.06.37.085.033.016.039.026.047.04a.75.75 0 0 0 1.289-.767c-.337-.567-.906-.783-1.552-.85a3.334 3.334 0 0 0-1.002.062c-.27.056-.531.14-.705.234a.75.75 0 0 0-.31 1.014Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-expand' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m12 8.337-8.47 8.47a.75.75 0 0 1-1.06-1.06l8.605-8.606a1.29 1.29 0 0 1 1.85 0l8.605 8.605a.75.75 0 1 1-1.06 1.06L12 8.338Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-external-source-placeholder' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-facebook' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12 1.5C6.201 1.5 1.5 6.201 1.5 12c0 4.943 3.416 9.089 8.016 10.204v-6.108H7.383a.75.75 0 0 1-.75-.75v-3.281a.75.75 0 0 1 .75-.75h2.133V9.393c0-.958.225-2.511 1.38-3.65 1.194-1.177 3.174-1.718 6.254-1.056a.75.75 0 0 1 .592.733v2.754a.75.75 0 0 1-.75.75c-.692 0-1.203.026-1.584.082-.387.057-.578.137-.675.202-.109.073-.237.205-.237 1.029v1.078h2.39a.75.75 0 0 1 .742.866l-.516 3.281a.75.75 0 0 1-.74.634h-1.876v6.106C19.09 21.082 22.5 16.939 22.5 12c0-5.799-4.701-10.5-10.5-10.5zM0 12C0 5.373 5.373 0 12 0s12 5.373 12 12c0 5.995-4.395 10.961-10.138 11.856a.75.75 0 0 1-.866-.74v-7.77a.75.75 0 0 1 .75-.75h1.984l.28-1.781h-2.264a.75.75 0 0 1-.75-.75v-1.828c0-.829.089-1.729.9-2.274.363-.244.807-.37 1.293-.441a9.623 9.623 0 0 1 1.053-.086V6.04c-2.41-.405-3.645.132-4.293.771-.737.728-.933 1.793-.933 2.582v2.672a.75.75 0 0 1-.75.75H8.133v1.78h2.133a.75.75 0 0 1 .75.75v7.772a.75.75 0 0 1-.865.741C4.4 22.968 0 18 0 12z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M2.895 1.201c0-.473.383-.857.857-.857h8.4c.227 0 .445.09.606.251l8.4 8.4c.16.16.25.379.25.606v13.2a.857.857 0 0 1-.856.857h-16.8a.857.857 0 0 1-.857-.857zm1.714.857v19.886h15.085V10.458h-7.542a.857.857 0 0 1-.858-.857V2.058zm8.4 1.213 5.473 5.473H13.01z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-flickr' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M5.959 7.926c-2.298 0-4.14 1.834-4.14 4.073 0 2.241 1.842 4.075 4.14 4.075 2.302 0 4.145-1.834 4.145-4.075 0-2.238-1.843-4.073-4.145-4.073Zm-5.64 4.073c0-3.086 2.533-5.573 5.64-5.573 3.11 0 5.645 2.486 5.645 5.573 0 3.089-2.535 5.575-5.645 5.575-3.107 0-5.64-2.487-5.64-5.575Zm18.07-4.073c-2.301 0-4.144 1.835-4.144 4.073 0 2.24 1.843 4.075 4.145 4.075 2.299 0 4.141-1.834 4.141-4.075 0-2.239-1.842-4.073-4.141-4.073Zm-5.644 4.073c0-3.087 2.535-5.573 5.645-5.573 3.108 0 5.641 2.487 5.641 5.573 0 3.088-2.533 5.575-5.641 5.575-3.11 0-5.645-2.486-5.645-5.575Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gphotos' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.51 0c-.702 0-1.272.57-1.272 1.273V7.35A6.381 6.381 0 0 0 0 11.489c0 .703.57 1.273 1.273 1.273H7.35A6.381 6.381 0 0 0 11.488 24c.704 0 1.274-.57 1.274-1.273V16.65A6.381 6.381 0 0 0 24 12.51c0-.703-.57-1.273-1.273-1.273H16.65A6.381 6.381 0 0 0 12.511 0Zm.252 11.232V1.53a4.857 4.857 0 0 1 0 9.702Zm-1.53.006H1.53a4.857 4.857 0 0 1 9.702 0Zm1.536 1.524a4.857 4.857 0 0 0 9.702 0h-9.702Zm-6.136 4.857c0-2.598 2.04-4.72 4.606-4.85v9.7a4.857 4.857 0 0 1-4.606-4.85Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-huddle' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.204 2.002c-.252.23-.357.486-.357.67V21.07c0 .15.084.505.313.812.208.28.499.477.929.477.519 0 .796-.174.956-.365.178-.212.286-.535.286-.924v-.013l.117-6.58c.004-1.725 1.419-3.883 3.867-3.883 1.33 0 2.332.581 2.987 1.364.637.762.95 1.717.95 2.526v6.47c0 .392.11.751.305.995.175.22.468.41 1.008.41.52 0 .816-.198 1.002-.437.207-.266.31-.633.31-.969V14.04c0-2.81-1.943-5.108-4.136-5.422a5.971 5.971 0 0 0-3.183.41c-.912.393-1.538.96-1.81 1.489a.75.75 0 0 1-1.417-.344v-7.5c0-.587-.47-1.031-1.242-1.031-.315 0-.638.136-.885.36ZM5.194.892A2.844 2.844 0 0 1 7.09.142c1.328 0 2.742.867 2.742 2.53v5.607a6.358 6.358 0 0 1 1.133-.629 7.47 7.47 0 0 1 3.989-.516c3.056.436 5.425 3.482 5.425 6.906v6.914c0 .602-.177 1.313-.627 1.89-.47.605-1.204 1.016-2.186 1.016-.96 0-1.698-.37-2.179-.973-.46-.575-.633-1.294-.633-1.933v-6.469c0-.456-.19-1.071-.602-1.563-.394-.471-.986-.827-1.836-.827-1.447 0-2.367 1.304-2.367 2.39v.014l-.117 6.58c-.001.64-.177 1.333-.637 1.881-.48.57-1.2.9-2.105.9-.995 0-1.7-.5-2.132-1.081-.41-.552-.61-1.217-.61-1.708V2.672c0-.707.366-1.341.847-1.78Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-info' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-local' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3 3.75a1.5 1.5 0 0 0-1.5 1.5v13.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V9A1.5 1.5 0 0 0 21 7.5h-9a.75.75 0 0 1-.643-.364L9.325 3.75zm-3 1.5a3 3 0 0 1 3-3h6.75a.75.75 0 0 1 .643.364L12.425 6H21a3 3 0 0 1 3 3v9.75a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0v6.469a4.5 4.5 0 1 1-9 0V4.781Zm4.5-3a3 3 0 0 0-3 3v6.469a3 3 0 1 0 6 0V4.781a3 3 0 0 0-3-3Zm-8.156 8.11a.75.75 0 0 1 .75.75 7.406 7.406 0 1 0 14.812 0 .75.75 0 0 1 1.5 0 8.907 8.907 0 0 1-8.156 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.907 8.907 0 0 1-8.156-8.875.75.75 0 0 1 .75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone-mute' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0V6l3.524-3.524a.75.75 0 1 1 1.061 1.06L5.036 19.585a.75.75 0 0 1-1.06-1.06l1.656-1.657a8.88 8.88 0 0 1-2.538-6.227.75.75 0 0 1 1.5 0c0 2.009.8 3.83 2.1 5.166l1.771-1.772A4.483 4.483 0 0 1 7.5 11.25V4.781Zm2.037 8.182L15 7.5V4.781a3 3 0 1 0-6 0v6.469c0 .637.198 1.227.537 1.713Zm10.62-3.072a.75.75 0 0 1 .75.75 8.907 8.907 0 0 1-8.157 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.855 8.855 0 0 1-3.035-.811.75.75 0 1 1 .638-1.358 7.406 7.406 0 0 0 10.553-6.707.75.75 0 0 1 .75-.75ZM15 10.81a.75.75 0 0 1 1.5 0v.439a4.5 4.5 0 0 1-5 4.473.75.75 0 1 1 .166-1.491A3 3 0 0 0 15 11.25v-.44Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-photo-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-ngdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-onedrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.616 4.147a7.689 7.689 0 0 0-7.642 3.285A6.299 6.299 0 0 0 1.455 17.3c.684.894 2.473 2.658 5.17 2.658h12.141c.95 0 1.882-.256 2.697-.743.815-.486 1.514-1.247 1.964-2.083a5.26 5.26 0 0 0-3.713-7.612 7.69 7.69 0 0 0-6.098-5.373ZM3.34 17.15c.674.63 1.761 1.308 3.284 1.308h12.142a3.76 3.76 0 0 0 2.915-1.383l-7.494-4.489L3.34 17.15Zm10.875-6.25 2.47-1.038a5.239 5.239 0 0 1 1.427-.389 6.19 6.19 0 0 0-10.3-1.952 6.338 6.338 0 0 1 2.118.813l4.285 2.567Zm4.55.033c-.512 0-1.019.104-1.489.307l-.006.003-1.414.594 6.521 3.906a3.76 3.76 0 0 0-3.357-4.8l-.254-.01ZM4.097 9.617A4.799 4.799 0 0 1 6.558 8.9c.9 0 1.84.25 2.587.713l3.4 2.037-10.17 4.28a4.799 4.799 0 0 1 1.721-6.312Z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-pause' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' d='M1 0h2.5v10H1zM6.5 0H9v10H6.5z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-play' xmlns='http://www.w3.org/2000/svg'><path d='m1 0 9 5-9 5V0Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-remove-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.955 3.3A2.969 2.969 0 0 0 8.998 6h5.914a2.97 2.97 0 0 0-2.957-2.7zM16.416 6a4.47 4.47 0 0 0-8.922 0h-2.32a.755.755 0 0 0-.111.008H3.075a.75.75 0 1 0 0 1.5h1.35V19.35a2.85 2.85 0 0 0 2.85 2.85h9.45a2.85 2.85 0 0 0 2.85-2.85V7.508h1.35a.75.75 0 0 0 0-1.5h-1.989A.754.754 0 0 0 18.825 6zM5.925 7.508V19.35a1.35 1.35 0 0 0 1.35 1.35h9.45a1.35 1.35 0 0 0 1.35-1.35V7.508z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-select' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m7 10 5 5 5-5H7Z'/></symbol><symbol fill='none' viewBox='0 0 20 20' id='uc-icon-square' xmlns='http://www.w3.org/2000/svg'><rect width='20' height='20' rx='4' fill='#fff'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-url' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M19.11 3.67c-1.71-1.709-4.578-1.682-6.408.148l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221C14.018.381 17.836.276 20.17 2.61l1.22 1.22c2.335 2.334 2.23 6.153-.147 8.529l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221c1.83-1.83 1.856-4.698.147-6.408zm-3.36 4.58a.75.75 0 0 1 0 1.06l-6.439 6.44a.75.75 0 0 1-1.06-1.06l6.439-6.44a.75.75 0 0 1 1.06 0zM6.04 9.42a.75.75 0 0 1 0 1.061l-2.222 2.222c-1.83 1.83-1.856 4.698-.147 6.407l1.22 1.22c1.71 1.71 4.578 1.683 6.408-.147l2.221-2.221a.75.75 0 1 1 1.06 1.06l-2.22 2.222c-2.377 2.376-6.195 2.481-8.53.147l-1.22-1.22c-2.334-2.334-2.228-6.153.148-8.53l2.221-2.22a.75.75 0 0 1 1.06 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-video-camera-full' xmlns='http://www.w3.org/2000/svg'><path d='M2 3.333a2 2 0 0 0-2 2v9.334a2 2 0 0 0 2 2h10.938a2 2 0 0 0 2-2v-2.013L20 15.646V4.354l-5.063 3.03v-2.05a2 2 0 0 0-2-2H2Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-vk' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol></svg>", LitSolutionBlock = class extends LitBlock {
|
|
39
|
-
constructor(...g) {
|
|
40
|
-
super(...g), this.init$ = solutionBlockCtx(this);
|
|
41
|
-
}
|
|
42
|
-
static {
|
|
43
|
-
this.styleAttrs = ["uc-wgt-common"];
|
|
44
|
-
}
|
|
45
|
-
initCallback() {
|
|
46
|
-
super.initCallback(), this.a11y?.registerBlock(this), this.clipboardLayer?.registerBlock(this), this.sharedCtx.pub("*solution", this.tagName);
|
|
47
|
-
}
|
|
48
|
-
render() {
|
|
49
|
-
return b`${o(svg_sprite_default)}`;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
const uniqueArray = (g) => [...new Set(g)], CSS_PREF = "--uc-img-", UNRESOLVED_ATTR = "unresolved", DEV_MODE = !window.location.host.trim() || window.location.host.includes(":") || window.location.hostname.includes("localhost"), ImgTypeEnum = Object.freeze({
|
|
53
|
-
PREVIEW: "PREVIEW",
|
|
54
|
-
MAIN: "MAIN"
|
|
55
|
-
});
|
|
56
|
-
var DEFAULT_CDN_BASE = "https://ucarecdn.com";
|
|
57
|
-
const PROPS_MAP = Object.freeze({
|
|
58
|
-
"dev-mode": {},
|
|
59
|
-
pubkey: {},
|
|
60
|
-
uuid: {},
|
|
61
|
-
src: {},
|
|
62
|
-
lazy: { default: 1 },
|
|
63
|
-
intersection: {},
|
|
64
|
-
breakpoints: {},
|
|
65
|
-
"cdn-cname": { default: DEFAULT_CDN_BASE },
|
|
66
|
-
"proxy-cname": {},
|
|
67
|
-
"secure-delivery-proxy": {},
|
|
68
|
-
"hi-res-support": { default: 1 },
|
|
69
|
-
"ultra-res-support": {},
|
|
70
|
-
format: {},
|
|
71
|
-
"cdn-operations": {},
|
|
72
|
-
progressive: {},
|
|
73
|
-
quality: {},
|
|
74
|
-
"is-background-for": {},
|
|
75
|
-
"is-preview-blur": { default: 1 }
|
|
76
|
-
});
|
|
77
|
-
var ImgConfig = class extends CssDataMixin(RegisterableElementMixin(i$1)) {
|
|
78
|
-
createRenderRoot() {
|
|
79
|
-
return this;
|
|
80
|
-
}
|
|
81
|
-
constructor() {
|
|
82
|
-
for (let g in super(), this._state = {}, this._subscribers = /* @__PURE__ */ new Map(), this._isnObserver = null, this._observed = null, PROPS_MAP) {
|
|
83
|
-
let B = PROPS_MAP[g];
|
|
84
|
-
this._state[CSS_PREF + g] = B?.default || "";
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
$$(g) {
|
|
88
|
-
return this._state[CSS_PREF + g];
|
|
89
|
-
}
|
|
90
|
-
set$$(g) {
|
|
91
|
-
for (let B in g) {
|
|
92
|
-
let V = CSS_PREF + B, H = g[B];
|
|
93
|
-
this._state[V] = H, this._notify(V, H);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
sub$$(g, B) {
|
|
97
|
-
let V = CSS_PREF + g;
|
|
98
|
-
this._subscribers.has(V) || this._subscribers.set(V, /* @__PURE__ */ new Set()), this._subscribers.get(V)?.add(B);
|
|
99
|
-
let H = this._state[V];
|
|
100
|
-
H !== null && H !== "" && B(H);
|
|
101
|
-
}
|
|
102
|
-
_notify(g, B) {
|
|
103
|
-
this._subscribers.has(g) && this._subscribers.get(g)?.forEach((g) => {
|
|
104
|
-
B === null || B === "" || g(B);
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
analyticsParams() {
|
|
108
|
-
return `-/@clib/${PACKAGE_NAME}/${PACKAGE_VERSION}/uc-img/`;
|
|
109
|
-
}
|
|
110
|
-
initAttributes(g) {
|
|
111
|
-
Array.from(this.attributes).forEach((B) => {
|
|
112
|
-
let V = B;
|
|
113
|
-
PROPS_MAP[V.name] || g.setAttribute(V.name, V.value);
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
initIntersection(g, B) {
|
|
117
|
-
this._isnObserver = new IntersectionObserver((V) => {
|
|
118
|
-
V.forEach((V) => {
|
|
119
|
-
V.isIntersecting && (B(), this._isnObserver?.unobserve(g));
|
|
120
|
-
});
|
|
121
|
-
}, {
|
|
122
|
-
root: null,
|
|
123
|
-
rootMargin: "0px"
|
|
124
|
-
}), this._isnObserver.observe(g), this._observed ||= /* @__PURE__ */ new Set(), this._observed.add(g);
|
|
125
|
-
}
|
|
126
|
-
connectedCallback() {
|
|
127
|
-
super.connectedCallback(), this._initCssProperties();
|
|
128
|
-
}
|
|
129
|
-
_initCssProperties() {
|
|
130
|
-
for (let g in PROPS_MAP) {
|
|
131
|
-
let B = CSS_PREF + g, V = this.getCssData(B, !0);
|
|
132
|
-
V != null && (this._state[B] = V);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
disconnectedCallback() {
|
|
136
|
-
super.disconnectedCallback(), this._isnObserver &&= (this._observed?.forEach((g) => {
|
|
137
|
-
this._isnObserver?.unobserve(g);
|
|
138
|
-
}), null), this._subscribers.clear();
|
|
139
|
-
}
|
|
140
|
-
static get observedAttributes() {
|
|
141
|
-
return Object.keys(PROPS_MAP);
|
|
142
|
-
}
|
|
143
|
-
attributeChangedCallback(g, B, V) {
|
|
144
|
-
window.setTimeout(() => {
|
|
145
|
-
let B = CSS_PREF + g;
|
|
146
|
-
this._state[B] = V, this._notify(B, V);
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
const parseObjectToString = (g) => Object.entries(g).filter(([g, B]) => B !== void 0 && B !== "").map(([g, B]) => g === "cdn-operations" || g === "analytics" ? B : `${g}/${B}`);
|
|
151
|
-
var ImgBase = class extends ImgConfig {
|
|
152
|
-
constructor(...g) {
|
|
153
|
-
super(...g), this._img = new Image(), this._imgPreview = new Image();
|
|
154
|
-
}
|
|
155
|
-
_fmtAbs(g) {
|
|
156
|
-
return !g.includes("//") && !DEV_MODE && (g = new URL(g, document.baseURI).href), g;
|
|
157
|
-
}
|
|
158
|
-
_validateSize(g) {
|
|
159
|
-
if (!g) return;
|
|
160
|
-
let B = g, V = B.match(/\d+/)?.[0], H = B.match(/[a-zA-Z]+/)?.[0];
|
|
161
|
-
if (!V || !H) return;
|
|
162
|
-
let U = parseInt(V, 10);
|
|
163
|
-
return Number(U) > 5e3 && this._hasFormatJPG ? 5e3 + H : Number(U) > 3e3 && !this._hasFormatJPG ? 3e3 + H : g;
|
|
164
|
-
}
|
|
165
|
-
_getCdnModifiers(g, B) {
|
|
166
|
-
return createCdnUrlModifiers(...parseObjectToString({
|
|
167
|
-
format: this._getTypedCssValue("format"),
|
|
168
|
-
quality: this._getTypedCssValue("quality"),
|
|
169
|
-
resize: this._validateSize(g),
|
|
170
|
-
blur: B,
|
|
171
|
-
"cdn-operations": this._getTypedCssValue("cdn-operations") ?? void 0,
|
|
172
|
-
analytics: this.analyticsParams()
|
|
173
|
-
}));
|
|
174
|
-
}
|
|
175
|
-
_getTypedCssValue(g) {
|
|
176
|
-
let B = this.$$(g);
|
|
177
|
-
if (B == null || typeof B == "string" || typeof B == "number" || typeof B == "boolean") return B;
|
|
178
|
-
}
|
|
179
|
-
_getUrlBase(g = "", B = "") {
|
|
180
|
-
let V = this.$$("src");
|
|
181
|
-
if (V.startsWith("data:") || V.startsWith("blob:")) return V;
|
|
182
|
-
if (DEV_MODE && V && !V.includes("//")) return this._proxyUrl(V);
|
|
183
|
-
let H = this._getCdnModifiers(g, B), W = this.$$("cdn-cname"), G = W;
|
|
184
|
-
if (V.startsWith(String(W))) return createCdnUrl(V, H);
|
|
185
|
-
let K = this.$$("uuid");
|
|
186
|
-
if (G && K || K) return this._proxyUrl(createCdnUrl(createOriginalUrl(G, K), H));
|
|
187
|
-
let q = this.$$("proxy-cname");
|
|
188
|
-
if (q) return this._proxyUrl(createCdnUrl(q, H, this._fmtAbs(V)));
|
|
189
|
-
let J = this.$$("pubkey");
|
|
190
|
-
if (J) return this._proxyUrl(createCdnUrl(`https://${J}.ucr.io/`, H, this._fmtAbs(V)));
|
|
191
|
-
}
|
|
192
|
-
_proxyUrl(g) {
|
|
193
|
-
let B = this.$$("secure-delivery-proxy");
|
|
194
|
-
return B ? applyTemplateData(B, { previewUrl: g }, { transform: (g) => window.encodeURIComponent(g) }) : g;
|
|
195
|
-
}
|
|
196
|
-
_getElSize(g, B = 1, V = !0) {
|
|
197
|
-
let H = g.getBoundingClientRect(), U = B * Math.round(H.width), W = V ? "" : B * Math.round(H.height);
|
|
198
|
-
return U || W ? `${U || ""}x${W || ""}` : null;
|
|
199
|
-
}
|
|
200
|
-
_setupEventProxy(g) {
|
|
201
|
-
let B = (g) => {
|
|
202
|
-
g.stopPropagation();
|
|
203
|
-
let B = new Event(g.type, g);
|
|
204
|
-
this.dispatchEvent(B);
|
|
205
|
-
};
|
|
206
|
-
for (let V of ["load", "error"]) g.addEventListener(V, B);
|
|
207
|
-
}
|
|
208
|
-
get img() {
|
|
209
|
-
return this._hasPreviewImage || (this._setupConfigForImage({ elNode: this._img }), this.appendChild(this._img)), this._img;
|
|
210
|
-
}
|
|
211
|
-
get _currentImg() {
|
|
212
|
-
return this._hasPreviewImage ? {
|
|
213
|
-
type: ImgTypeEnum.PREVIEW,
|
|
214
|
-
img: this._imgPreview
|
|
215
|
-
} : {
|
|
216
|
-
type: ImgTypeEnum.MAIN,
|
|
217
|
-
img: this.img
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
get _hasPreviewImage() {
|
|
221
|
-
return this.$$("is-preview-blur");
|
|
222
|
-
}
|
|
223
|
-
get _bgSelector() {
|
|
224
|
-
return this.$$("is-background-for");
|
|
225
|
-
}
|
|
226
|
-
get _breakpoints() {
|
|
227
|
-
let g = this.$$("breakpoints");
|
|
228
|
-
return g ? uniqueArray(stringToArray(g).map((g) => parseInt(g, 10))) : null;
|
|
229
|
-
}
|
|
230
|
-
get _hasFormatJPG() {
|
|
231
|
-
return this.$$("format").toLowerCase() === "jpeg";
|
|
232
|
-
}
|
|
233
|
-
_renderBg(g) {
|
|
234
|
-
let B = /* @__PURE__ */ new Set();
|
|
235
|
-
B.add(`url("${this._getUrlBase(this._getElSize(g))}") 1x`), this.$$("hi-res-support") && B.add(`url("${this._getUrlBase(this._getElSize(g, 2))}") 2x`), this.$$("ultra-res-support") && B.add(`url("${this._getUrlBase(this._getElSize(g, 3))}") 3x`);
|
|
236
|
-
let V = `image-set(${[...B].join(", ")})`;
|
|
237
|
-
g.style.setProperty("background-image", V), g.style.setProperty("background-image", `-webkit-${V}`);
|
|
238
|
-
}
|
|
239
|
-
_getSrcset() {
|
|
240
|
-
let g = /* @__PURE__ */ new Set();
|
|
241
|
-
return this._breakpoints ? this._breakpoints.forEach((B) => {
|
|
242
|
-
g.add(`${this._getUrlBase(`${B}x`)} ${this._validateSize(`${B}w`)}`), this.$$("hi-res-support") && g.add(`${this._getUrlBase(`${B * 2}x`)} ${this._validateSize(`${B * 2}w`)}`), this.$$("ultra-res-support") && g.add(`${this._getUrlBase(`${B * 3}x`)} ${this._validateSize(`${B * 3}w`)}`);
|
|
243
|
-
}) : (g.add(`${this._getUrlBase(this._getElSize(this._currentImg.img))} 1x`), this.$$("hi-res-support") && g.add(`${this._getUrlBase(this._getElSize(this._currentImg.img, 2))} 2x`), this.$$("ultra-res-support") && g.add(`${this._getUrlBase(this._getElSize(this._currentImg.img, 3))} 3x`)), [...g].join();
|
|
244
|
-
}
|
|
245
|
-
_getSrc() {
|
|
246
|
-
return this._getUrlBase();
|
|
247
|
-
}
|
|
248
|
-
get _srcUrlPreview() {
|
|
249
|
-
return this._getUrlBase("100x", "100");
|
|
250
|
-
}
|
|
251
|
-
_renderBackground() {
|
|
252
|
-
let g = this._bgSelector;
|
|
253
|
-
[...document.querySelectorAll(g)].forEach((g) => {
|
|
254
|
-
this.$$("intersection") ? this.initIntersection(g, () => {
|
|
255
|
-
this._renderBg(g);
|
|
256
|
-
}) : this._renderBg(g);
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
_appendURL({ elNode: g, src: B, srcset: V }) {
|
|
260
|
-
B && (g.src = B), V && (g.srcset = V);
|
|
261
|
-
}
|
|
262
|
-
_setupConfigForImage({ elNode: g }) {
|
|
263
|
-
this._setupEventProxy(g), this.initAttributes(g);
|
|
264
|
-
}
|
|
265
|
-
_loaderImage({ src: g, srcset: B, elNode: V }) {
|
|
266
|
-
return new Promise((H, U) => {
|
|
267
|
-
this._setupConfigForImage({ elNode: V }), V.setAttribute(UNRESOLVED_ATTR, ""), V.addEventListener("load", () => {
|
|
268
|
-
V.removeAttribute(UNRESOLVED_ATTR), H(V);
|
|
269
|
-
}), V.addEventListener("error", () => {
|
|
270
|
-
U(!1);
|
|
271
|
-
}), this._appendURL({
|
|
272
|
-
elNode: V,
|
|
273
|
-
src: g,
|
|
274
|
-
srcset: B
|
|
275
|
-
});
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
async _renderImage() {
|
|
279
|
-
if (this.$$("intersection")) {
|
|
280
|
-
this._hasPreviewImage && (this._setupConfigForImage({ elNode: this._imgPreview }), this.appendChild(this._imgPreview)), this.initIntersection(this._currentImg.img, async () => {
|
|
281
|
-
this._hasPreviewImage && (this._imgPreview.src = this._srcUrlPreview);
|
|
282
|
-
try {
|
|
283
|
-
await this._loaderImage({
|
|
284
|
-
src: this._getSrc(),
|
|
285
|
-
srcset: this._getSrcset(),
|
|
286
|
-
elNode: this._img
|
|
287
|
-
}), this._hasPreviewImage && await this._imgPreview.remove(), this.appendChild(this._img);
|
|
288
|
-
} catch {
|
|
289
|
-
this._hasPreviewImage && await this._imgPreview?.remove(), this.appendChild(this._img);
|
|
290
|
-
}
|
|
291
|
-
});
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
try {
|
|
295
|
-
this._hasPreviewImage && (await this._loaderImage({
|
|
296
|
-
src: this._srcUrlPreview,
|
|
297
|
-
elNode: this._imgPreview
|
|
298
|
-
}), this.appendChild(this._imgPreview)), await this._loaderImage({
|
|
299
|
-
src: this._getSrc(),
|
|
300
|
-
srcset: this._getSrcset(),
|
|
301
|
-
elNode: this._img
|
|
302
|
-
}), this._hasPreviewImage && await this._imgPreview?.remove(), this.appendChild(this._img);
|
|
303
|
-
} catch {
|
|
304
|
-
this._hasPreviewImage && await this._imgPreview?.remove(), this.appendChild(this._img);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
init() {
|
|
308
|
-
this._bgSelector ? this._renderBackground() : this._renderImage();
|
|
309
|
-
}
|
|
310
|
-
}, Img = class extends ImgBase {
|
|
311
|
-
connectedCallback() {
|
|
312
|
-
super.connectedCallback(), this.sub$$("src", () => {
|
|
313
|
-
this.init();
|
|
314
|
-
}), this.sub$$("uuid", () => {
|
|
315
|
-
this.init();
|
|
316
|
-
}), this.sub$$("lazy", (g) => {
|
|
317
|
-
!this.$$("is-background-for") && !this.$$("is-preview-blur") && (this.img.loading = g ? "lazy" : "eager");
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
}, LAST_ACTIVE_MODAL_ID = null, Modal = class extends LitBlock {
|
|
321
|
-
constructor(...g) {
|
|
322
|
-
super(...g), this.dialogEl = e(), this.strokes = !1, this.blockBodyScrolling = !1, this.closeDialog = () => {
|
|
323
|
-
this.modalManager?.close(this.id), this.modalManager?.hasActiveModals || (document.body.style.overflow = "", this.$["*currentActivity"] = null);
|
|
324
|
-
}, this._handleDialogClose = () => {
|
|
325
|
-
this.closeDialog();
|
|
326
|
-
}, this._handleDialogMouseDown = (g) => {
|
|
327
|
-
this._mouseDownTarget = g.target;
|
|
328
|
-
}, this._handleDialogMouseUp = (g) => {
|
|
329
|
-
let B = g.target;
|
|
330
|
-
B === this.dialogEl.value && B === this._mouseDownTarget && this.closeDialog();
|
|
331
|
-
}, this._handleModalOpen = ({ id: g }) => {
|
|
332
|
-
g === this.id ? (LAST_ACTIVE_MODAL_ID = g, this.show(), this.emit(EventType.MODAL_OPEN, { modalId: g }, { debounce: !0 })) : this.hide();
|
|
333
|
-
}, this._handleModalClose = ({ id: g }) => {
|
|
334
|
-
g === this.id && (this.hide(), this.emit(EventType.MODAL_CLOSE, {
|
|
335
|
-
modalId: g,
|
|
336
|
-
hasActiveModals: this.modalManager?.hasActiveModals
|
|
337
|
-
}, { debounce: !0 }));
|
|
338
|
-
}, this._handleModalCloseAll = (g) => {
|
|
339
|
-
this.hide(), LAST_ACTIVE_MODAL_ID === this.id && this.emit(EventType.MODAL_CLOSE, {
|
|
340
|
-
modalId: LAST_ACTIVE_MODAL_ID,
|
|
341
|
-
hasActiveModals: this.modalManager?.hasActiveModals
|
|
342
|
-
}, { debounce: !0 });
|
|
343
|
-
};
|
|
344
|
-
}
|
|
345
|
-
static {
|
|
346
|
-
this.styleAttrs = [...super.styleAttrs, "uc-modal"];
|
|
347
|
-
}
|
|
348
|
-
show() {
|
|
349
|
-
let g = this.dialogEl.value;
|
|
350
|
-
typeof g.showModal == "function" ? (this.setAttribute("aria-modal", "true"), g.showModal()) : g.setAttribute("open", ""), this.cfg.modalScrollLock && (document.body.style.overflow = "hidden");
|
|
351
|
-
}
|
|
352
|
-
hide() {
|
|
353
|
-
let g = this.dialogEl.value;
|
|
354
|
-
g && (typeof g.close == "function" ? (this.setAttribute("aria-modal", "false"), g.close()) : g.removeAttribute("open"));
|
|
355
|
-
}
|
|
356
|
-
initCallback() {
|
|
357
|
-
super.initCallback(), this.modalManager?.registerModal(this.id, this), this.subConfigValue("modalBackdropStrokes", (g) => {
|
|
358
|
-
g ? this.setAttribute("strokes", "") : this.removeAttribute("strokes");
|
|
359
|
-
}), this.modalManager?.subscribe(ModalEvents.OPEN, this._handleModalOpen), this.modalManager?.subscribe(ModalEvents.CLOSE, this._handleModalClose), this.modalManager?.subscribe(ModalEvents.CLOSE_ALL, this._handleModalCloseAll);
|
|
360
|
-
}
|
|
361
|
-
disconnectedCallback() {
|
|
362
|
-
super.disconnectedCallback(), document.body.style.overflow = "", this._mouseDownTarget = void 0, this.modalManager?.unsubscribe(ModalEvents.OPEN, this._handleModalOpen), this.modalManager?.unsubscribe(ModalEvents.CLOSE, this._handleModalClose), this.modalManager?.unsubscribe(ModalEvents.CLOSE_ALL, this._handleModalCloseAll);
|
|
363
|
-
}
|
|
364
|
-
_handleDialogRef(g) {
|
|
365
|
-
this.dialogEl = { value: g }, this.dialogEl.value?.addEventListener("close", this._handleDialogClose), this.dialogEl.value?.addEventListener("mousedown", this._handleDialogMouseDown), this.dialogEl.value?.addEventListener("mouseup", this._handleDialogMouseUp);
|
|
366
|
-
}
|
|
367
|
-
render() {
|
|
368
|
-
return b`
|
|
369
|
-
<dialog ${n$1(this._handleDialogRef)}>
|
|
370
|
-
${this.yield("")}
|
|
371
|
-
</dialog>
|
|
372
|
-
`;
|
|
373
|
-
}
|
|
374
|
-
};
|
|
375
|
-
__decorate([n({
|
|
376
|
-
type: Boolean,
|
|
377
|
-
noAccessor: !0
|
|
378
|
-
})], Modal.prototype, "strokes", void 0), __decorate([n({
|
|
379
|
-
type: Boolean,
|
|
380
|
-
attribute: "block-body-scrolling",
|
|
381
|
-
noAccessor: !0
|
|
382
|
-
})], Modal.prototype, "blockBodyScrolling", void 0);
|
|
383
|
-
var FormInput = class extends LitUploaderBlock {
|
|
384
|
-
constructor(...g) {
|
|
385
|
-
super(...g), this._validationInputElement = null, this._dynamicInputsContainer = null;
|
|
386
|
-
}
|
|
387
|
-
get _inputName() {
|
|
388
|
-
return this.nameAttrValue ?? this.ctxName;
|
|
389
|
-
}
|
|
390
|
-
_createValidationInput() {
|
|
391
|
-
let g = document.createElement("input");
|
|
392
|
-
return g.type = "text", g.name = this._inputName, g.required = this.cfg.multipleMin > 0, g.tabIndex = -1, applyStyles(g, {
|
|
393
|
-
opacity: 0,
|
|
394
|
-
height: 0,
|
|
395
|
-
width: 0
|
|
396
|
-
}), g;
|
|
397
|
-
}
|
|
398
|
-
initCallback() {
|
|
399
|
-
super.initCallback(), this._validationInputElement = this._createValidationInput(), this.appendChild(this._validationInputElement), this.sub("*collectionState", (g) => {
|
|
400
|
-
if (!g) return;
|
|
401
|
-
if (!this._dynamicInputsContainer) {
|
|
402
|
-
let g = document.createElement("div");
|
|
403
|
-
this.appendChild(g), this._dynamicInputsContainer = g;
|
|
404
|
-
}
|
|
405
|
-
if (!this._validationInputElement) {
|
|
406
|
-
let g = this._createValidationInput();
|
|
407
|
-
this.appendChild(g), this._validationInputElement = g;
|
|
408
|
-
}
|
|
409
|
-
if (this._dynamicInputsContainer.innerHTML = "", g.status === "uploading" || g.status === "idle") {
|
|
410
|
-
this._validationInputElement.value = "", this._validationInputElement.setCustomValidity("");
|
|
411
|
-
return;
|
|
412
|
-
}
|
|
413
|
-
if (g.status === "failed") {
|
|
414
|
-
let B = g.errors[0]?.message;
|
|
415
|
-
this._validationInputElement.value = "", this._validationInputElement.setCustomValidity(B ?? "");
|
|
416
|
-
return;
|
|
417
|
-
}
|
|
418
|
-
let B = g.group ? g.group : null;
|
|
419
|
-
if (B) {
|
|
420
|
-
this._validationInputElement.value = B.cdnUrl ?? "", this._validationInputElement.setCustomValidity("");
|
|
421
|
-
return;
|
|
422
|
-
}
|
|
423
|
-
let V = g.allEntries.map((g) => g.cdnUrl).filter((g) => typeof g == "string");
|
|
424
|
-
if (!this.cfg.multiple && V.length === 1 && V[0]) {
|
|
425
|
-
this._validationInputElement.value = V[0], this._validationInputElement.setCustomValidity("");
|
|
426
|
-
return;
|
|
427
|
-
}
|
|
428
|
-
this._validationInputElement.remove(), this._validationInputElement = null;
|
|
429
|
-
let H = new DocumentFragment();
|
|
430
|
-
for (let g of V) {
|
|
431
|
-
let B = document.createElement("input");
|
|
432
|
-
B.type = "hidden", B.name = `${this._inputName}[]`, B.value = g, H.appendChild(B);
|
|
433
|
-
}
|
|
434
|
-
this._dynamicInputsContainer.replaceChildren(H);
|
|
435
|
-
}, !1);
|
|
436
|
-
}
|
|
437
|
-
};
|
|
438
|
-
__decorate([n({
|
|
439
|
-
type: String,
|
|
440
|
-
noAccessor: !0,
|
|
441
|
-
attribute: "name"
|
|
442
|
-
})], FormInput.prototype, "nameAttrValue", void 0);
|
|
443
|
-
var Copyright = class extends LitBlock {
|
|
444
|
-
initCallback() {
|
|
445
|
-
super.initCallback(), this.subConfigValue("removeCopyright", (g) => {
|
|
446
|
-
this.toggleAttribute("hidden", !!g);
|
|
447
|
-
});
|
|
448
|
-
}
|
|
449
|
-
render() {
|
|
450
|
-
return b`
|
|
451
|
-
<a
|
|
452
|
-
href="https://uploadcare.com/?utm_source=copyright&utm_medium=referral&utm_campaign=v4"
|
|
453
|
-
target="_blank noopener"
|
|
454
|
-
class="uc-credits"
|
|
455
|
-
>Powered by Uploadcare</a
|
|
456
|
-
>
|
|
457
|
-
`;
|
|
458
|
-
}
|
|
459
|
-
}, ProgressBar = class extends LitBlock {
|
|
460
|
-
constructor(...g) {
|
|
461
|
-
super(...g), this.hasFileName = !1, this.value = 0, this.visible = !0, this._progressValue = 0, this._fakeProgressLineRef = e(), this._handleFakeProgressAnimation = () => {
|
|
462
|
-
let g = this._fakeProgressLineRef.value;
|
|
463
|
-
if (g) {
|
|
464
|
-
if (!this.visible) {
|
|
465
|
-
g.classList.add("uc-fake-progress--hidden");
|
|
466
|
-
return;
|
|
467
|
-
}
|
|
468
|
-
this._progressValue > 0 && g.classList.add("uc-fake-progress--hidden");
|
|
469
|
-
}
|
|
470
|
-
};
|
|
471
|
-
}
|
|
472
|
-
firstUpdated(g) {
|
|
473
|
-
super.firstUpdated(g), this._progressValue = this._normalizeProgressValue(this.value), this._updateProgressValueStyle(), this._fakeProgressLineRef.value?.addEventListener("animationiteration", this._handleFakeProgressAnimation);
|
|
474
|
-
}
|
|
475
|
-
updated(g) {
|
|
476
|
-
if (super.updated(g), g.has("value")) {
|
|
477
|
-
let g = this._normalizeProgressValue(this.value);
|
|
478
|
-
if (!this.visible) this._progressValue = g;
|
|
479
|
-
else {
|
|
480
|
-
let B = Math.max(this._progressValue, g);
|
|
481
|
-
B !== this._progressValue && (this._progressValue = B, this._updateProgressValueStyle());
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
g.has("visible") && (this.classList.toggle("uc-progress-bar--hidden", !this.visible), this.visible ? this._updateProgressValueStyle() : this._progressValue = this._normalizeProgressValue(this.value));
|
|
485
|
-
}
|
|
486
|
-
disconnectedCallback() {
|
|
487
|
-
super.disconnectedCallback(), this._fakeProgressLineRef.value?.removeEventListener("animationiteration", this._handleFakeProgressAnimation);
|
|
488
|
-
}
|
|
489
|
-
_normalizeProgressValue(g) {
|
|
490
|
-
return Number.isFinite(g) ? Math.min(100, Math.max(0, g)) : 0;
|
|
491
|
-
}
|
|
492
|
-
_updateProgressValueStyle() {
|
|
493
|
-
this.visible && this.style.setProperty("--l-progress-value", this._progressValue.toString());
|
|
494
|
-
}
|
|
495
|
-
render() {
|
|
496
|
-
return b`
|
|
497
|
-
<div ${n$1(this._fakeProgressLineRef)} class="uc-fake-progress"></div>
|
|
498
|
-
<div class="uc-progress"></div>
|
|
499
|
-
`;
|
|
500
|
-
}
|
|
501
|
-
};
|
|
502
|
-
__decorate([n({
|
|
503
|
-
type: Boolean,
|
|
504
|
-
noAccessor: !0
|
|
505
|
-
})], ProgressBar.prototype, "hasFileName", void 0), __decorate([n({ type: Number })], ProgressBar.prototype, "value", void 0), __decorate([n({
|
|
506
|
-
type: Boolean,
|
|
507
|
-
reflect: !0
|
|
508
|
-
})], ProgressBar.prototype, "visible", void 0);
|
|
509
|
-
var ProgressBarCommon = class extends LitUploaderBlock {
|
|
510
|
-
constructor() {
|
|
511
|
-
super(), this._visible = !1, this._value = 0, this.init$ = {
|
|
512
|
-
...this.init$,
|
|
513
|
-
"*commonProgress": 0
|
|
514
|
-
};
|
|
515
|
-
}
|
|
516
|
-
initCallback() {
|
|
517
|
-
super.initCallback(), this._unobserveCollectionCb = this.uploadCollection.observeProperties(() => {
|
|
518
|
-
this._visible = this.uploadCollection.items().some((g) => this.uploadCollection.read(g)?.getValue("isUploading") ?? !1);
|
|
519
|
-
}), this.sub("*commonProgress", (g) => {
|
|
520
|
-
this._value = g;
|
|
521
|
-
});
|
|
522
|
-
}
|
|
523
|
-
updated(g) {
|
|
524
|
-
super.updated(g), g.has("visible") && (this._visible ? this.setAttribute("active", "") : this.removeAttribute("active"));
|
|
525
|
-
}
|
|
526
|
-
disconnectedCallback() {
|
|
527
|
-
super.disconnectedCallback(), this._unobserveCollectionCb?.(), this._unobserveCollectionCb = void 0;
|
|
528
|
-
}
|
|
529
|
-
render() {
|
|
530
|
-
return b` <uc-progress-bar .value=${this._value} .visible=${this._visible}></uc-progress-bar> `;
|
|
531
|
-
}
|
|
532
|
-
};
|
|
533
|
-
__decorate([r()], ProgressBarCommon.prototype, "_visible", void 0), __decorate([r()], ProgressBarCommon.prototype, "_value", void 0);
|
|
534
|
-
var SourceBtn = class extends LitUploaderBlock {
|
|
535
|
-
constructor(...g) {
|
|
536
|
-
super(...g), this.couldBeCtxOwner = !0, this._iconName = "default", this._srcTypeKey = "";
|
|
537
|
-
}
|
|
538
|
-
willUpdate(g) {
|
|
539
|
-
super.willUpdate(g), g.has("source") && this._applySource(this.source);
|
|
540
|
-
}
|
|
541
|
-
_applySource(g) {
|
|
542
|
-
if (!g) {
|
|
543
|
-
this._srcTypeKey = "", this._iconName = "default";
|
|
544
|
-
return;
|
|
545
|
-
}
|
|
546
|
-
let { label: B, icon: V, id: H } = g;
|
|
547
|
-
this._srcTypeKey = B, this._iconName = V ?? H ?? "default";
|
|
548
|
-
}
|
|
549
|
-
activate() {
|
|
550
|
-
this.source && this.source.onClick();
|
|
551
|
-
}
|
|
552
|
-
render() {
|
|
553
|
-
return b`
|
|
554
|
-
<button type="button" @click=${this.activate}>
|
|
555
|
-
<uc-icon name=${this._iconName}></uc-icon>
|
|
556
|
-
<div class="uc-txt">${this.l10n(this._srcTypeKey)}</div>
|
|
557
|
-
</button>
|
|
558
|
-
`;
|
|
559
|
-
}
|
|
560
|
-
};
|
|
561
|
-
__decorate([n({ attribute: !1 })], SourceBtn.prototype, "source", void 0), __decorate([r()], SourceBtn.prototype, "_iconName", void 0), __decorate([r()], SourceBtn.prototype, "_srcTypeKey", void 0);
|
|
562
|
-
var SourceList = class extends LitUploaderBlock {
|
|
563
|
-
constructor(...g) {
|
|
564
|
-
super(...g), this._rawSourceList = [], this._sources = [], this.wrap = !1;
|
|
565
|
-
}
|
|
566
|
-
initCallback() {
|
|
567
|
-
super.initCallback(), this.subConfigValue("sourceList", (g) => {
|
|
568
|
-
this._rawSourceList = stringToArray(g), this._updateSources();
|
|
569
|
-
});
|
|
570
|
-
let g = this._sharedInstancesBag.pluginManager;
|
|
571
|
-
g?.onPluginsChange && (this._unsubscribePlugins = g.onPluginsChange(() => this._updateSources()));
|
|
572
|
-
}
|
|
573
|
-
updated(g) {
|
|
574
|
-
super.updated(g), this.cfg.sourceListWrap ? this.style.removeProperty("display") : this.style.display = "contents";
|
|
575
|
-
}
|
|
576
|
-
_updateSources() {
|
|
577
|
-
let g = this._sharedInstancesBag.pluginManager?.snapshot().sources ?? [], B = new Map(g.map((g) => [g.id, g])), V = [];
|
|
578
|
-
this._rawSourceList.forEach((g) => {
|
|
579
|
-
let H = this._expandSource(g, B);
|
|
580
|
-
if (H.length !== 1 || H[0] !== g) {
|
|
581
|
-
for (let g of H) {
|
|
582
|
-
let H = this._makeBuiltInSourceConfig(g);
|
|
583
|
-
if (H) {
|
|
584
|
-
V.push(H);
|
|
585
|
-
continue;
|
|
586
|
-
}
|
|
587
|
-
let U = B.get(g);
|
|
588
|
-
U && V.push(this._makePluginSourceConfig(U));
|
|
589
|
-
}
|
|
590
|
-
return;
|
|
591
|
-
}
|
|
592
|
-
let U = this._makeBuiltInSourceConfig(g);
|
|
593
|
-
if (U) {
|
|
594
|
-
V.push(U);
|
|
595
|
-
return;
|
|
596
|
-
}
|
|
597
|
-
let W = B.get(g);
|
|
598
|
-
W && V.push(this._makePluginSourceConfig(W));
|
|
599
|
-
}), this._sources = V;
|
|
600
|
-
}
|
|
601
|
-
_expandSource(g, B) {
|
|
602
|
-
let V = B.get(g);
|
|
603
|
-
return V?.expand ? V.expand() : [g];
|
|
604
|
-
}
|
|
605
|
-
_makeBuiltInSourceConfig(g) {
|
|
606
|
-
switch (g) {
|
|
607
|
-
case UploadSource.LOCAL: return {
|
|
608
|
-
id: g,
|
|
609
|
-
label: `src-type-${g}`,
|
|
610
|
-
icon: g,
|
|
611
|
-
onClick: () => this.api.openSystemDialog()
|
|
612
|
-
};
|
|
613
|
-
default: break;
|
|
614
|
-
}
|
|
615
|
-
return null;
|
|
616
|
-
}
|
|
617
|
-
_makePluginSourceConfig(g) {
|
|
618
|
-
return {
|
|
619
|
-
id: g.id,
|
|
620
|
-
label: g.label,
|
|
621
|
-
icon: g.icon,
|
|
622
|
-
onClick: () => g.onSelect()
|
|
623
|
-
};
|
|
624
|
-
}
|
|
625
|
-
render() {
|
|
626
|
-
return b`${this._sources.map((g) => b`<uc-source-btn role="listitem" .source=${g} data-source-id=${g.id}></uc-source-btn>`)}`;
|
|
627
|
-
}
|
|
628
|
-
disconnectedCallback() {
|
|
629
|
-
this._unsubscribePlugins?.(), this._unsubscribePlugins = void 0, super.disconnectedCallback();
|
|
630
|
-
}
|
|
631
|
-
};
|
|
632
|
-
__decorate([r()], SourceList.prototype, "_sources", void 0), __decorate([n({
|
|
633
|
-
type: Boolean,
|
|
634
|
-
attribute: "wrap",
|
|
635
|
-
noAccessor: !0
|
|
636
|
-
})], SourceList.prototype, "wrap", void 0);
|
|
637
|
-
function generateThumb(g, B = 40) {
|
|
638
|
-
if (g.type === "image/svg+xml") return URL.createObjectURL(g);
|
|
639
|
-
let V = document.createElement("canvas"), H = V.getContext("2d");
|
|
640
|
-
if (!H) return Promise.reject(/* @__PURE__ */ Error("Canvas context not supported"));
|
|
641
|
-
let U = new Image(), W = new Promise((g, W) => {
|
|
642
|
-
U.onload = () => {
|
|
643
|
-
let G = U.height / U.width;
|
|
644
|
-
G > 1 ? (V.width = B, V.height = B * G) : (V.height = B, V.width = B / G), H.fillStyle = "rgb(240, 240, 240)", H.fillRect(0, 0, V.width, V.height), H.drawImage(U, 0, 0, V.width, V.height), V.toBlob((B) => {
|
|
645
|
-
if (!B) {
|
|
646
|
-
W();
|
|
647
|
-
return;
|
|
648
|
-
}
|
|
649
|
-
g(URL.createObjectURL(B));
|
|
650
|
-
});
|
|
651
|
-
}, U.onerror = (g) => {
|
|
652
|
-
W(g);
|
|
653
|
-
};
|
|
654
|
-
});
|
|
655
|
-
return U.src = URL.createObjectURL(g), W;
|
|
656
|
-
}
|
|
657
|
-
var FileItemConfig = class extends LitUploaderBlock {
|
|
658
|
-
constructor(...g) {
|
|
659
|
-
super(...g), this._entrySubs = /* @__PURE__ */ new Set(), this.entry = null;
|
|
660
|
-
}
|
|
661
|
-
withEntry(g) {
|
|
662
|
-
return (...B) => {
|
|
663
|
-
let V = this.entry;
|
|
664
|
-
if (!V) {
|
|
665
|
-
console.warn("No entry found");
|
|
666
|
-
return;
|
|
667
|
-
}
|
|
668
|
-
return g(V, ...B);
|
|
669
|
-
};
|
|
670
|
-
}
|
|
671
|
-
subEntry(g, B) {
|
|
672
|
-
this.withEntry((g, B, V) => {
|
|
673
|
-
let H = g.subscribe(B, (g) => {
|
|
674
|
-
this.isConnected && V(g);
|
|
675
|
-
});
|
|
676
|
-
this._entrySubs.add(H);
|
|
677
|
-
})(g, B);
|
|
678
|
-
}
|
|
679
|
-
reset() {
|
|
680
|
-
for (let g of this._entrySubs) g();
|
|
681
|
-
this._entrySubs = /* @__PURE__ */ new Set(), this.entry = null;
|
|
682
|
-
}
|
|
683
|
-
disconnectedCallback() {
|
|
684
|
-
super.disconnectedCallback(), this._entrySubs = /* @__PURE__ */ new Set();
|
|
685
|
-
}
|
|
686
|
-
};
|
|
687
|
-
function createSvgBlobUrl(g) {
|
|
688
|
-
let B = new Blob([g], { type: "image/svg+xml" });
|
|
689
|
-
return URL.createObjectURL(B);
|
|
690
|
-
}
|
|
691
|
-
function fileCssBg(g = "hsl(209, 21%, 65%)", B = 32, V = 32) {
|
|
692
|
-
return createSvgBlobUrl(`
|
|
693
|
-
<svg width="${B}" height="${V}" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
694
|
-
<path fill-rule="evenodd" fill="${g}" d="M9.68848 8.70068C9.68848 8.42454 9.91233 8.20068 10.1885 8.20068H15.0885C15.2211 8.20068 15.3483 8.25336 15.442 8.34713L20.342 13.2471C20.4358 13.3409 20.4885 13.4681 20.4885 13.6007V21.3007C20.4885 21.5768 20.2646 21.8007 19.9885 21.8007H10.1885C9.91233 21.8007 9.68848 21.5768 9.68848 21.3007V8.70068ZM10.6885 9.20068V20.8007H19.4885V14.1007L15.0885 14.1007C14.8123 14.1007 14.5885 13.8768 14.5885 13.6007L14.5885 9.20068H10.6885ZM15.5885 9.90779L18.7814 13.1007L15.5885 13.1007L15.5885 9.90779Z"/>
|
|
695
|
-
</svg>
|
|
696
|
-
`);
|
|
697
|
-
}
|
|
698
|
-
var CDN_MAX_OUTPUT_DIMENSION = 3e3, Thumb = class extends FileItemConfig {
|
|
699
|
-
constructor(...g) {
|
|
700
|
-
super(...g), this.badgeIcon = "", this.uid = "", this._thumbUrl = "", this._renderedGridOnce = !1, this._thumbRect = null, this._isIntersecting = !1, this._firstViewMode = this.cfg.filesViewMode, this._generateThumbnail = this.withEntry(async (g, B = !1) => {
|
|
701
|
-
let V = g.getValue("fileInfo"), H = g.getValue("isImage"), W = g.getValue("uuid"), G = g.getValue("thumbUrl"), K = this._calculateThumbSize(B);
|
|
702
|
-
if (V && H && W) {
|
|
703
|
-
let B = await this.proxyUrl(createCdnUrl(createOriginalUrl(this.cfg.cdnCname, W), createCdnUrlModifiers(g.getValue("cdnUrlModifiers"), "stretch/off", `scale_crop/${K}x${K}/center`)));
|
|
704
|
-
if (G === B) return;
|
|
705
|
-
let { promise: V } = preloadImage(B);
|
|
706
|
-
V.then(() => {
|
|
707
|
-
g.setValue("thumbUrl", B), G?.startsWith("blob:") && URL.revokeObjectURL(G);
|
|
708
|
-
}).catch(async () => {
|
|
709
|
-
if (!G?.startsWith("blob:")) try {
|
|
710
|
-
let B = g.getValue("file");
|
|
711
|
-
if (!B) return;
|
|
712
|
-
let V = await generateThumb(B, K);
|
|
713
|
-
g.setValue("thumbUrl", V);
|
|
714
|
-
} catch (B) {
|
|
715
|
-
this.telemetryManager.sendEventError(B, "thumbnail generation. Failed to generate thumb from file");
|
|
716
|
-
let V = window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");
|
|
717
|
-
g.setValue("thumbUrl", fileCssBg(V));
|
|
718
|
-
}
|
|
719
|
-
});
|
|
720
|
-
return;
|
|
721
|
-
}
|
|
722
|
-
if (g.getValue("thumbUrl")) return;
|
|
723
|
-
let q = g.getValue("file");
|
|
724
|
-
if (q?.type.includes("image")) try {
|
|
725
|
-
let B = await generateThumb(q, K);
|
|
726
|
-
g.setValue("thumbUrl", B);
|
|
727
|
-
} catch (B) {
|
|
728
|
-
this.telemetryManager.sendEventError(B, "thumbnail generation. Failed to generate thumb from file");
|
|
729
|
-
let V = window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");
|
|
730
|
-
g.setValue("thumbUrl", fileCssBg(V));
|
|
731
|
-
}
|
|
732
|
-
else {
|
|
733
|
-
let B = window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");
|
|
734
|
-
g.setValue("thumbUrl", fileCssBg(B));
|
|
735
|
-
}
|
|
736
|
-
}), this._debouncedGenerateThumb = debounce(this._generateThumbnail.bind(this), 100);
|
|
737
|
-
}
|
|
738
|
-
_calculateThumbSize(g = !1) {
|
|
739
|
-
g && (this._thumbRect = this.getBoundingClientRect());
|
|
740
|
-
let B = Math.max(parseInt(String(this?._thumbRect?.height || 0), 10), parseInt(String(this?._thumbRect?.width || 0), 10), this.cfg.thumbSize);
|
|
741
|
-
return window.devicePixelRatio > 1 && (B *= window.devicePixelRatio), Math.min(B, CDN_MAX_OUTPUT_DIMENSION);
|
|
742
|
-
}
|
|
743
|
-
_decodeImage(g, B) {
|
|
744
|
-
return new Promise((V, H) => {
|
|
745
|
-
let U = new Image();
|
|
746
|
-
U.decoding = "async";
|
|
747
|
-
let W = () => {
|
|
748
|
-
U &&= (U.onload = null, U.onerror = null, U.src = TRANSPARENT_PIXEL_SRC, B?.removeEventListener("abort", G), null);
|
|
749
|
-
}, G = () => {
|
|
750
|
-
W(), H(new DOMException("Aborted", "AbortError"));
|
|
751
|
-
};
|
|
752
|
-
if (B) {
|
|
753
|
-
if (B.aborted) {
|
|
754
|
-
G();
|
|
755
|
-
return;
|
|
756
|
-
}
|
|
757
|
-
B.addEventListener("abort", G, { once: !0 });
|
|
758
|
-
}
|
|
759
|
-
let K = () => {
|
|
760
|
-
W(), V();
|
|
761
|
-
}, q = (g) => {
|
|
762
|
-
W(), H(g);
|
|
763
|
-
};
|
|
764
|
-
if (typeof U.decode == "function") {
|
|
765
|
-
U.src = g, U.decode().then(K).catch(q);
|
|
766
|
-
return;
|
|
767
|
-
}
|
|
768
|
-
U.onload = K, U.onerror = q, U.src = g;
|
|
769
|
-
});
|
|
770
|
-
}
|
|
771
|
-
_cancelPendingThumbUpdate() {
|
|
772
|
-
this._pendingThumbUpdate?.cancel(), this._pendingThumbUpdate = void 0;
|
|
773
|
-
}
|
|
774
|
-
_scheduleThumbUpdate(g) {
|
|
775
|
-
if (this._cancelPendingThumbUpdate(), !g) {
|
|
776
|
-
this._thumbUrl &&= "";
|
|
777
|
-
return;
|
|
778
|
-
}
|
|
779
|
-
if (g === this._thumbUrl) return;
|
|
780
|
-
let B = new AbortController(), V = {
|
|
781
|
-
controller: B,
|
|
782
|
-
cancel: () => {
|
|
783
|
-
B.abort(), V.rafId !== void 0 && window.cancelAnimationFrame(V.rafId);
|
|
784
|
-
}
|
|
785
|
-
};
|
|
786
|
-
this._pendingThumbUpdate = V, this._decodeImage(g, B.signal).then(() => {
|
|
787
|
-
B.signal.aborted || (V.rafId = window.requestAnimationFrame(() => {
|
|
788
|
-
B.signal.aborted || (this._thumbUrl = g);
|
|
789
|
-
}));
|
|
790
|
-
}).catch((g) => {
|
|
791
|
-
B.signal.aborted || g instanceof DOMException && g.name === "AbortError" || console.warn("[Thumb] Failed to decode thumbnail image", g);
|
|
792
|
-
});
|
|
793
|
-
}
|
|
794
|
-
_requestThumbGeneration(g = !1) {
|
|
795
|
-
if (this.entry) {
|
|
796
|
-
if (g) {
|
|
797
|
-
this._generateThumbnail(!0);
|
|
798
|
-
return;
|
|
799
|
-
}
|
|
800
|
-
this._isIntersecting && this._debouncedGenerateThumb();
|
|
801
|
-
}
|
|
802
|
-
}
|
|
803
|
-
firstUpdated(g) {
|
|
804
|
-
super.firstUpdated(g), this._bindToEntry();
|
|
805
|
-
}
|
|
806
|
-
updated(g) {
|
|
807
|
-
super.updated(g), g.has("uid") && this._bindToEntry();
|
|
808
|
-
}
|
|
809
|
-
_observerCallback(g) {
|
|
810
|
-
let [B] = g;
|
|
811
|
-
B && (this._isIntersecting = B.isIntersecting, B.isIntersecting && (this._thumbRect = B.boundingClientRect, this._requestThumbGeneration(), this._observer?.disconnect()), B.intersectionRatio === 0 && this._debouncedGenerateThumb.cancel());
|
|
812
|
-
}
|
|
813
|
-
reset() {
|
|
814
|
-
super.reset(), this._debouncedGenerateThumb.cancel(), this._cancelPendingThumbUpdate(), this._thumbUrl &&= "";
|
|
815
|
-
}
|
|
816
|
-
_bindToEntry() {
|
|
817
|
-
let g = this.uid?.trim();
|
|
818
|
-
if (!g) {
|
|
819
|
-
this.entry && this.reset();
|
|
820
|
-
return;
|
|
821
|
-
}
|
|
822
|
-
let B = this.uploadCollection?.read(g);
|
|
823
|
-
if (!B || B === this.entry) return;
|
|
824
|
-
this.reset(), this.entry = B;
|
|
825
|
-
let V = () => {
|
|
826
|
-
this._requestThumbGeneration();
|
|
827
|
-
};
|
|
828
|
-
this.subEntry("fileInfo", (g) => {
|
|
829
|
-
g?.isImage && V();
|
|
830
|
-
}), this.subEntry("thumbUrl", (g) => {
|
|
831
|
-
this._scheduleThumbUpdate(g ?? void 0);
|
|
832
|
-
}), this.subEntry("cdnUrlModifiers", V), this._requestThumbGeneration(!0);
|
|
833
|
-
}
|
|
834
|
-
initCallback() {
|
|
835
|
-
super.initCallback(), this.subConfigValue("filesViewMode", (g) => {
|
|
836
|
-
g === "grid" && !this._renderedGridOnce && (this._firstViewMode === "list" && this._requestThumbGeneration(!0), this._renderedGridOnce = !0);
|
|
837
|
-
});
|
|
838
|
-
}
|
|
839
|
-
connectedCallback() {
|
|
840
|
-
super.connectedCallback(), this._observer?.disconnect(), this._observer = new window.IntersectionObserver(this._observerCallback.bind(this), { threshold: .1 }), this._observer.observe(this);
|
|
841
|
-
}
|
|
842
|
-
disconnectedCallback() {
|
|
843
|
-
super.disconnectedCallback(), this._debouncedGenerateThumb.cancel(), this._cancelPendingThumbUpdate(), this._observer?.disconnect();
|
|
844
|
-
}
|
|
845
|
-
render() {
|
|
846
|
-
return b`
|
|
847
|
-
<div class="uc-thumb">
|
|
848
|
-
<img
|
|
849
|
-
class="uc-thumb__img"
|
|
850
|
-
src=${this._thumbUrl || "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="}
|
|
851
|
-
role="img"
|
|
852
|
-
alt="Preview of uploaded image"
|
|
853
|
-
?hidden=${!this._thumbUrl}
|
|
854
|
-
draggable="false"
|
|
855
|
-
/>
|
|
856
|
-
<div class="uc-badge">
|
|
857
|
-
<uc-icon name=${this.badgeIcon}></uc-icon>
|
|
858
|
-
</div>
|
|
859
|
-
</div>
|
|
860
|
-
`;
|
|
861
|
-
}
|
|
862
|
-
};
|
|
863
|
-
__decorate([n({ type: String })], Thumb.prototype, "badgeIcon", void 0), __decorate([n({ attribute: !1 })], Thumb.prototype, "uid", void 0), __decorate([r()], Thumb.prototype, "_thumbUrl", void 0);
|
|
864
|
-
var StartFrom = class extends LitActivityBlock {
|
|
865
|
-
constructor(...g) {
|
|
866
|
-
super(...g), this.historyTracked = !0, this.activityType = LitActivityBlock.activities.START_FROM;
|
|
867
|
-
}
|
|
868
|
-
initCallback() {
|
|
869
|
-
super.initCallback(), this.registerActivity(this.activityType ?? "");
|
|
870
|
-
}
|
|
871
|
-
render() {
|
|
872
|
-
return b` <div class="uc-content">${this.yield("")}</div> `;
|
|
873
|
-
}
|
|
874
|
-
}, UploadCtxProvider = class extends LitUploaderBlock {
|
|
875
|
-
constructor(...g) {
|
|
876
|
-
super(...g), this._unbindEventEmitter = null;
|
|
877
|
-
}
|
|
878
|
-
static {
|
|
879
|
-
this.styleAttrs = ["uc-wgt-common"];
|
|
880
|
-
}
|
|
881
|
-
static {
|
|
882
|
-
this.EventType = EventType;
|
|
883
|
-
}
|
|
884
|
-
initCallback() {
|
|
885
|
-
super.initCallback(), this._unbindEventEmitter = this.eventEmitter.bindTarget(this);
|
|
886
|
-
}
|
|
887
|
-
disconnectedCallback() {
|
|
888
|
-
super.disconnectedCallback(), this._unbindEventEmitter?.();
|
|
889
|
-
}
|
|
890
|
-
}, u$1 = (g, B, V) => {
|
|
891
|
-
let H = /* @__PURE__ */ new Map();
|
|
892
|
-
for (let U = B; U <= V; U++) H.set(g[U], U);
|
|
893
|
-
return H;
|
|
894
|
-
}, c = e$1(class extends i {
|
|
895
|
-
constructor(g) {
|
|
896
|
-
if (super(g), g.type !== t.CHILD) throw Error("repeat() can only be used in text expressions");
|
|
897
|
-
}
|
|
898
|
-
dt(g, B, V) {
|
|
899
|
-
let H;
|
|
900
|
-
V === void 0 ? V = B : B !== void 0 && (H = B);
|
|
901
|
-
let U = [], W = [], G = 0;
|
|
902
|
-
for (let B of g) U[G] = H ? H(B, G) : G, W[G] = V(B, G), G++;
|
|
903
|
-
return {
|
|
904
|
-
values: W,
|
|
905
|
-
keys: U
|
|
906
|
-
};
|
|
907
|
-
}
|
|
908
|
-
render(g, B, V) {
|
|
909
|
-
return this.dt(g, B, V).values;
|
|
910
|
-
}
|
|
911
|
-
update(g, [B, V, H]) {
|
|
912
|
-
let U = M(g), { values: W, keys: G } = this.dt(B, V, H);
|
|
913
|
-
if (!Array.isArray(U)) return this.ut = G, W;
|
|
914
|
-
let K = this.ut ??= [], q = [], J, Y, X = 0, Z = U.length - 1, Q = 0, $ = W.length - 1;
|
|
915
|
-
for (; X <= Z && Q <= $;) if (U[X] === null) X++;
|
|
916
|
-
else if (U[Z] === null) Z--;
|
|
917
|
-
else if (K[X] === G[Q]) q[Q] = u(U[X], W[Q]), X++, Q++;
|
|
918
|
-
else if (K[Z] === G[$]) q[$] = u(U[Z], W[$]), Z--, $--;
|
|
919
|
-
else if (K[X] === G[$]) q[$] = u(U[X], W[$]), v(g, q[$ + 1], U[X]), X++, $--;
|
|
920
|
-
else if (K[Z] === G[Q]) q[Q] = u(U[Z], W[Q]), v(g, U[X], U[Z]), Z--, Q++;
|
|
921
|
-
else if (J === void 0 && (J = u$1(G, Q, $), Y = u$1(K, X, Z)), J.has(K[X])) if (J.has(K[Z])) {
|
|
922
|
-
let B = Y.get(G[Q]), V = B === void 0 ? null : U[B];
|
|
923
|
-
if (V === null) {
|
|
924
|
-
let B = v(g, U[X]);
|
|
925
|
-
u(B, W[Q]), q[Q] = B;
|
|
926
|
-
} else q[Q] = u(V, W[Q]), v(g, U[X], V), U[B] = null;
|
|
927
|
-
Q++;
|
|
928
|
-
} else h(U[Z]), Z--;
|
|
929
|
-
else h(U[X]), X++;
|
|
930
|
-
for (; Q <= $;) {
|
|
931
|
-
let B = v(g, q[$ + 1]);
|
|
932
|
-
u(B, W[Q]), q[Q++] = B;
|
|
933
|
-
}
|
|
934
|
-
for (; X <= Z;) {
|
|
935
|
-
let g = U[X++];
|
|
936
|
-
g !== null && h(g);
|
|
937
|
-
}
|
|
938
|
-
return this.ut = G, p(g, q), E;
|
|
939
|
-
}
|
|
940
|
-
}), FileItemState = Object.freeze({
|
|
941
|
-
FINISHED: Symbol("FINISHED"),
|
|
942
|
-
FAILED: Symbol("FAILED"),
|
|
943
|
-
UPLOADING: Symbol("UPLOADING"),
|
|
944
|
-
VALIDATION: Symbol("VALIDATION"),
|
|
945
|
-
QUEUED_UPLOADING: Symbol("QUEUED-UPLOADING"),
|
|
946
|
-
QUEUED_VALIDATION: Symbol("QUEUED-VALIDATION"),
|
|
947
|
-
IDLE: Symbol("IDLE")
|
|
948
|
-
}), FileItem = class B extends FileItemConfig {
|
|
949
|
-
constructor(...B) {
|
|
950
|
-
super(...B), this.couldBeCtxOwner = !0, this._pauseRender = !0, this.uid = "", this._itemName = "", this._errorText = "", this._hint = "", this._progressValue = 0, this._progressVisible = !1, this._badgeIcon = "", this._isFinished = !1, this._isFailed = !1, this._isUploading = !1, this._isFocused = !1, this._showFileNames = !1, this._ariaLabelStatusFile = "", this._pluginFileActions = [], this._renderedOnce = !1, this._handleRemove = () => {
|
|
951
|
-
this.telemetryManager.sendEvent({ payload: { metadata: {
|
|
952
|
-
event: "remove-file",
|
|
953
|
-
node: this.tagName
|
|
954
|
-
} } }), this.uid && this.uploadCollection.hasItem(this.uid) && this.uploadCollection.remove(this.uid);
|
|
955
|
-
}, this._handleUploadClick = () => {
|
|
956
|
-
this._upload();
|
|
957
|
-
}, this._debouncedCalculateState = debounce(() => this._calculateState(), 100), this._updateHintAndProgress = this.withEntry(throttle((g, B) => {
|
|
958
|
-
let V = g.getValue("errors")?.[0]?.message ?? "", H = g.getValue("source"), U = g.getValue("externalUrl"), W = B === FileItemState.FINISHED, G = B === FileItemState.UPLOADING, K = B === FileItemState.QUEUED_UPLOADING, q = B === FileItemState.QUEUED_VALIDATION, J = B === FileItemState.VALIDATION, Y = g.getValue("fileName"), X = "";
|
|
959
|
-
V ? X = "" : !W && U && H && Object.values(ExternalUploadSource).includes(H) && (X = this.l10n("waiting-for", { source: this.l10n(`src-type-${H}`) })), this._hint = X, this._errorText = V, this._progressVisible = G || K || q || J, this._progressValue = q || J ? 0 : g.getValue("uploadProgress"), this._ariaLabelStatusFile = Y ? this.l10n("a11y-file-item-status", {
|
|
960
|
-
fileName: Y,
|
|
961
|
-
status: this.l10n(B?.description?.toLocaleLowerCase() ?? "").toLocaleLowerCase()
|
|
962
|
-
}) : "";
|
|
963
|
-
}, 100)), this._upload = this.withEntry(async (B) => {
|
|
964
|
-
if (!this.uploadCollection.read(B.uid) || B.getValue("fileInfo") || B.getValue("isUploading") || B.getValue("errors").length > 0 || B.getValue("isValidationPending")) return;
|
|
965
|
-
let V = this.cfg.multiple ? this.cfg.multipleMax : 1;
|
|
966
|
-
if (!(V && this.uploadCollection.size > V)) {
|
|
967
|
-
B.setMultipleValues({
|
|
968
|
-
isUploading: !0,
|
|
969
|
-
errors: [],
|
|
970
|
-
isQueuedForUploading: !0
|
|
971
|
-
}), this._debouncedCalculateState();
|
|
972
|
-
try {
|
|
973
|
-
let g = new AbortController();
|
|
974
|
-
B.setValue("abortController", g);
|
|
975
|
-
let V = await this.$["*uploadQueue"].add(async () => {
|
|
976
|
-
B.setValue("isQueuedForUploading", !1);
|
|
977
|
-
let V = B.getValue("file");
|
|
978
|
-
if (V instanceof File || V instanceof Blob) {
|
|
979
|
-
let g = (this._sharedInstancesBag.pluginManager?.snapshot().fileHooks ?? []).filter((g) => g.type === "beforeUpload");
|
|
980
|
-
for (let H of g) try {
|
|
981
|
-
let { file: g, mimeType: U } = await H.handler({
|
|
982
|
-
file: V,
|
|
983
|
-
mimeType: B.getValue("mimeType")
|
|
984
|
-
});
|
|
985
|
-
V = g, U !== B.getValue("mimeType") && B.setValue("mimeType", U);
|
|
986
|
-
} catch (g) {
|
|
987
|
-
this.debugPrint(`File hook "beforeUpload" from plugin "${H.pluginId}" failed`, g);
|
|
988
|
-
}
|
|
989
|
-
}
|
|
990
|
-
let H = V || B.getValue("externalUrl") || B.getValue("uuid");
|
|
991
|
-
if (!H) throw Error("No file input");
|
|
992
|
-
let U = {
|
|
993
|
-
...await this.getUploadClientOptions(),
|
|
994
|
-
fileName: B.getValue("fileName") ?? void 0,
|
|
995
|
-
source: B.getValue("source") ?? void 0,
|
|
996
|
-
onProgress: (g) => {
|
|
997
|
-
if (g.isComputable) {
|
|
998
|
-
let V = g.value * 100;
|
|
999
|
-
B.setValue("uploadProgress", V);
|
|
1000
|
-
}
|
|
1001
|
-
},
|
|
1002
|
-
signal: g.signal,
|
|
1003
|
-
metadata: await this.getMetadataFor(B.uid)
|
|
1004
|
-
};
|
|
1005
|
-
return this.debugPrint("upload options", H, U), uploadFile(H, U);
|
|
1006
|
-
});
|
|
1007
|
-
B.setMultipleValues({
|
|
1008
|
-
fileInfo: V,
|
|
1009
|
-
isQueuedForUploading: !1,
|
|
1010
|
-
isUploading: !1,
|
|
1011
|
-
fileName: V.originalFilename,
|
|
1012
|
-
fileSize: V.size,
|
|
1013
|
-
isImage: V.isImage ?? !1,
|
|
1014
|
-
mimeType: V.contentInfo?.mime?.mime ?? V.mimeType,
|
|
1015
|
-
uuid: V.uuid,
|
|
1016
|
-
cdnUrl: B.getValue("cdnUrl") ?? V.cdnUrl,
|
|
1017
|
-
cdnUrlModifiers: B.getValue("cdnUrlModifiers") ?? "",
|
|
1018
|
-
uploadProgress: 100,
|
|
1019
|
-
source: B.getValue("source") ?? null
|
|
1020
|
-
}), B === this.entry && this._debouncedCalculateState();
|
|
1021
|
-
} catch (V) {
|
|
1022
|
-
this.telemetryManager.sendEventError(V, "file upload. Failed to upload file"), V instanceof CancelError && V.isCancel ? B.setMultipleValues({
|
|
1023
|
-
isUploading: !1,
|
|
1024
|
-
uploadProgress: 0
|
|
1025
|
-
}) : V instanceof UploadcareError ? B.setMultipleValues({
|
|
1026
|
-
isUploading: !1,
|
|
1027
|
-
uploadProgress: 0,
|
|
1028
|
-
uploadError: V
|
|
1029
|
-
}) : (console.error("Unknown upload error", V), B.setMultipleValues({
|
|
1030
|
-
isUploading: !1,
|
|
1031
|
-
uploadProgress: 0,
|
|
1032
|
-
uploadError: Error("Something went wrong", { cause: V })
|
|
1033
|
-
})), B === this.entry && this._debouncedCalculateState();
|
|
1034
|
-
}
|
|
1035
|
-
}
|
|
1036
|
-
});
|
|
1037
|
-
}
|
|
1038
|
-
_calculateState() {
|
|
1039
|
-
let g = this.entry;
|
|
1040
|
-
if (!g) return;
|
|
1041
|
-
let B = FileItemState.IDLE;
|
|
1042
|
-
g.getValue("errors").length > 0 ? B = FileItemState.FAILED : g.getValue("isQueuedForUploading") ? B = FileItemState.QUEUED_UPLOADING : g.getValue("isQueuedForValidation") ? B = FileItemState.QUEUED_VALIDATION : g.getValue("isValidationPending") ? B = FileItemState.VALIDATION : g.getValue("isUploading") ? B = FileItemState.UPLOADING : g.getValue("fileInfo") && (B = FileItemState.FINISHED), this._handleState(g, B);
|
|
1043
|
-
}
|
|
1044
|
-
_handleState(g, B) {
|
|
1045
|
-
B === FileItemState.FAILED ? this._badgeIcon = "badge-error" : B === FileItemState.FINISHED && (this._badgeIcon = "badge-success"), B === FileItemState.UPLOADING && (this._isFocused = !1, this.removeAttribute("focused")), this._isFailed = B === FileItemState.FAILED, this._isUploading = B === FileItemState.UPLOADING, this._isFinished = B === FileItemState.FINISHED, this._updateHintAndProgress(B);
|
|
1046
|
-
}
|
|
1047
|
-
reset() {
|
|
1048
|
-
super.reset(), this._debouncedCalculateState.cancel();
|
|
1049
|
-
}
|
|
1050
|
-
_observerCallback(g) {
|
|
1051
|
-
let [B] = g;
|
|
1052
|
-
B && B.isIntersecting && !this._renderedOnce && (this._pauseRender = !1, this._renderedOnce = !0);
|
|
1053
|
-
}
|
|
1054
|
-
_handleEntryId(g) {
|
|
1055
|
-
this.reset();
|
|
1056
|
-
let B = this.uploadCollection?.read(g);
|
|
1057
|
-
if (this.entry = B, !B) {
|
|
1058
|
-
this._updatePluginFileActions();
|
|
1059
|
-
return;
|
|
1060
|
-
}
|
|
1061
|
-
this.subEntry("isQueuedForValidation", () => {
|
|
1062
|
-
this._debouncedCalculateState();
|
|
1063
|
-
}), this.subEntry("isValidationPending", () => {
|
|
1064
|
-
this._debouncedCalculateState();
|
|
1065
|
-
}), this.subEntry("uploadProgress", () => {
|
|
1066
|
-
this._debouncedCalculateState();
|
|
1067
|
-
}), this.subEntry("isQueuedForUploading", () => {
|
|
1068
|
-
this._debouncedCalculateState();
|
|
1069
|
-
}), this.subEntry("fileName", (g) => {
|
|
1070
|
-
this._itemName = g || B.getValue("externalUrl") || this.l10n("file-no-name"), this._debouncedCalculateState();
|
|
1071
|
-
}), this.subEntry("externalUrl", (g) => {
|
|
1072
|
-
this._itemName = B.getValue("fileName") || g || this.l10n("file-no-name");
|
|
1073
|
-
}), this.subEntry("fileInfo", () => {
|
|
1074
|
-
this._debouncedCalculateState();
|
|
1075
|
-
}), this.subEntry("errors", () => this._debouncedCalculateState()), this.subEntry("isUploading", () => this._debouncedCalculateState()), this.subEntry("fileSize", () => this._debouncedCalculateState()), this.subEntry("mimeType", () => this._debouncedCalculateState()), this.subEntry("isImage", () => this._debouncedCalculateState()), this.subEntry("fileInfo", () => this._updatePluginFileActions()), this.subEntry("isUploading", () => this._updatePluginFileActions()), this.subEntry("errors", () => this._updatePluginFileActions()), this._calculateState(), this._updatePluginFileActions(), this._applyOnAddHooks(B);
|
|
1076
|
-
}
|
|
1077
|
-
async _applyOnAddHooks(g) {
|
|
1078
|
-
let B = g.getValue("file");
|
|
1079
|
-
if (!B) return;
|
|
1080
|
-
let V = (this._sharedInstancesBag.pluginManager?.snapshot().fileHooks ?? []).filter((g) => g.type === "onAdd"), H = B, U = g.getValue("mimeType");
|
|
1081
|
-
for (let g of V) try {
|
|
1082
|
-
({file: H, mimeType: U} = await g.handler({
|
|
1083
|
-
file: H,
|
|
1084
|
-
mimeType: U
|
|
1085
|
-
}));
|
|
1086
|
-
} catch (B) {
|
|
1087
|
-
this.debugPrint(`File hook "onAdd" from plugin "${g.pluginId}" failed`, B);
|
|
1088
|
-
}
|
|
1089
|
-
H !== B && (g.setValue("file", H), g.setValue("fileSize", H.size)), U !== g.getValue("mimeType") && g.setValue("mimeType", U);
|
|
1090
|
-
}
|
|
1091
|
-
_updateShowFileNames(g) {
|
|
1092
|
-
if (this.cfg.filesViewMode === "list") {
|
|
1093
|
-
this._showFileNames = !0;
|
|
1094
|
-
return;
|
|
1095
|
-
}
|
|
1096
|
-
this._showFileNames = g;
|
|
1097
|
-
}
|
|
1098
|
-
willUpdate(g) {
|
|
1099
|
-
super.willUpdate(g), g.has("uid") && this._handleEntryId(this.uid);
|
|
1100
|
-
}
|
|
1101
|
-
_updatePluginFileActions() {
|
|
1102
|
-
let g = this._sharedInstancesBag.pluginManager;
|
|
1103
|
-
if (!g || !this.uid) {
|
|
1104
|
-
this._pluginFileActions = [];
|
|
1105
|
-
return;
|
|
1106
|
-
}
|
|
1107
|
-
let B = g.snapshot().fileActions, V = this.api.getOutputItem(this.uid);
|
|
1108
|
-
if (!V) {
|
|
1109
|
-
this._pluginFileActions = [];
|
|
1110
|
-
return;
|
|
1111
|
-
}
|
|
1112
|
-
this._pluginFileActions = B.filter((g) => {
|
|
1113
|
-
try {
|
|
1114
|
-
return g.shouldRender(V);
|
|
1115
|
-
} catch (B) {
|
|
1116
|
-
return console.error(`Error in plugin file action shouldRender (${g.id}):`, B), !1;
|
|
1117
|
-
}
|
|
1118
|
-
});
|
|
1119
|
-
}
|
|
1120
|
-
_handlePluginFileAction(g) {
|
|
1121
|
-
if (!this.uid) return;
|
|
1122
|
-
let B = this.api.getOutputItem(this.uid);
|
|
1123
|
-
if (B) try {
|
|
1124
|
-
g.onClick(B);
|
|
1125
|
-
} catch (B) {
|
|
1126
|
-
console.error(`Error in plugin file action onClick (${g.id}):`, B);
|
|
1127
|
-
}
|
|
1128
|
-
}
|
|
1129
|
-
initCallback() {
|
|
1130
|
-
super.initCallback(), this._handleEntryId(this.uid), this.subConfigValue("filesViewMode", (g) => {
|
|
1131
|
-
this._updateShowFileNames(this.cfg.gridShowFileNames), this.setAttribute("mode", g);
|
|
1132
|
-
}), this.subConfigValue("gridShowFileNames", (g) => {
|
|
1133
|
-
this._updateShowFileNames(g);
|
|
1134
|
-
}), this.onclick = () => {
|
|
1135
|
-
B.activeInstances.forEach((g) => {
|
|
1136
|
-
g === this ? g.setAttribute("focused", "") : g.removeAttribute("focused");
|
|
1137
|
-
});
|
|
1138
|
-
}, this.sub("*uploadTrigger", (g) => {
|
|
1139
|
-
this.entry && !g.has(this.entry.uid) || setTimeout(() => this.isConnected && this._upload());
|
|
1140
|
-
});
|
|
1141
|
-
let g = this._sharedInstancesBag.pluginManager;
|
|
1142
|
-
g?.onPluginsChange && (this._unsubscribePlugins = g.onPluginsChange(() => this._updatePluginFileActions())), this._updatePluginFileActions(), B.activeInstances.add(this);
|
|
1143
|
-
}
|
|
1144
|
-
connectedCallback() {
|
|
1145
|
-
super.connectedCallback(), this._observer = new window.IntersectionObserver(this._observerCallback.bind(this), { threshold: [0, 1] }), this._observer.observe(this);
|
|
1146
|
-
}
|
|
1147
|
-
disconnectedCallback() {
|
|
1148
|
-
this._unsubscribePlugins?.(), this._unsubscribePlugins = void 0, super.disconnectedCallback(), this._observer?.disconnect(), B.activeInstances.delete(this), this.reset();
|
|
1149
|
-
}
|
|
1150
|
-
static {
|
|
1151
|
-
this.activeInstances = /* @__PURE__ */ new Set();
|
|
1152
|
-
}
|
|
1153
|
-
shouldUpdate(g) {
|
|
1154
|
-
return this._pauseRender ? !1 : super.shouldUpdate(g);
|
|
1155
|
-
}
|
|
1156
|
-
render() {
|
|
1157
|
-
return b`
|
|
1158
|
-
<div
|
|
1159
|
-
class="uc-inner"
|
|
1160
|
-
?data-finished=${this._isFinished}
|
|
1161
|
-
?data-uploading=${this._isUploading}
|
|
1162
|
-
?data-failed=${this._isFailed}
|
|
1163
|
-
?data-focused=${this._isFocused}
|
|
1164
|
-
>
|
|
1165
|
-
<uc-thumb .uid=${this.uid} .badgeIcon=${this._badgeIcon}></uc-thumb>
|
|
1166
|
-
|
|
1167
|
-
<div aria-atomic="true" aria-live="polite" class="uc-file-name-wrapper" aria-label=${this._ariaLabelStatusFile}>
|
|
1168
|
-
<span class="uc-file-name" ?hidden=${!this._showFileNames}>${this._itemName}</span>
|
|
1169
|
-
<span class="uc-file-error" ?hidden=${!this._errorText}>${this._errorText}</span>
|
|
1170
|
-
<span class="uc-file-hint" ?hidden=${!this._hint}>${this._hint}</span>
|
|
1171
|
-
</div>
|
|
1172
|
-
<div class="uc-file-actions">
|
|
1173
|
-
${this._pluginFileActions.map((g) => b`
|
|
1174
|
-
<button
|
|
1175
|
-
type="button"
|
|
1176
|
-
@click=${() => this._handlePluginFileAction(g)}
|
|
1177
|
-
title=${g.id}
|
|
1178
|
-
aria-label=${g.id}
|
|
1179
|
-
class="uc-plugin-action-btn uc-mini-btn"
|
|
1180
|
-
data-plugin-action-id=${g.id}
|
|
1181
|
-
>
|
|
1182
|
-
<uc-icon name=${g.icon}></uc-icon>
|
|
1183
|
-
</button>
|
|
1184
|
-
`)}
|
|
1185
|
-
<button
|
|
1186
|
-
type="button"
|
|
1187
|
-
@click=${this._handleRemove}
|
|
1188
|
-
title=${this.l10n("file-item-remove-button")}
|
|
1189
|
-
aria-label=${this.l10n("file-item-remove-button")}
|
|
1190
|
-
class="uc-remove-btn uc-mini-btn"
|
|
1191
|
-
>
|
|
1192
|
-
<uc-icon name="remove-file"></uc-icon>
|
|
1193
|
-
</button>
|
|
1194
|
-
<button type="button" class="uc-upload-btn uc-mini-btn" @click=${this._handleUploadClick}>
|
|
1195
|
-
<uc-icon name="upload"></uc-icon>
|
|
1196
|
-
</button>
|
|
1197
|
-
</div>
|
|
1198
|
-
<uc-progress-bar class="uc-progress-bar" .value=${this._progressValue} .visible=${this._progressVisible} ?hasFileName=${this._showFileNames}>
|
|
1199
|
-
</uc-progress-bar>
|
|
1200
|
-
</div>
|
|
1201
|
-
`;
|
|
1202
|
-
}
|
|
1203
|
-
};
|
|
1204
|
-
__decorate([r()], FileItem.prototype, "_pauseRender", void 0), __decorate([n({ attribute: !1 })], FileItem.prototype, "uid", void 0), __decorate([r()], FileItem.prototype, "_itemName", void 0), __decorate([r()], FileItem.prototype, "_errorText", void 0), __decorate([r()], FileItem.prototype, "_hint", void 0), __decorate([r()], FileItem.prototype, "_progressValue", void 0), __decorate([r()], FileItem.prototype, "_progressVisible", void 0), __decorate([r()], FileItem.prototype, "_badgeIcon", void 0), __decorate([r()], FileItem.prototype, "_isFinished", void 0), __decorate([r()], FileItem.prototype, "_isFailed", void 0), __decorate([r()], FileItem.prototype, "_isUploading", void 0), __decorate([r()], FileItem.prototype, "_isFocused", void 0), __decorate([r()], FileItem.prototype, "_showFileNames", void 0), __decorate([r()], FileItem.prototype, "_ariaLabelStatusFile", void 0), __decorate([r()], FileItem.prototype, "_pluginFileActions", void 0);
|
|
1205
|
-
function checkIsDirectory(g) {
|
|
1206
|
-
return new Promise((B) => {
|
|
1207
|
-
typeof window.FileReader != "function" && B(!1);
|
|
1208
|
-
try {
|
|
1209
|
-
let V = new FileReader();
|
|
1210
|
-
V.onerror = () => {
|
|
1211
|
-
B(!0);
|
|
1212
|
-
};
|
|
1213
|
-
let H = (g) => {
|
|
1214
|
-
g.type !== "loadend" && V.abort(), B(!1);
|
|
1215
|
-
};
|
|
1216
|
-
V.onloadend = H, V.onprogress = H, V.readAsDataURL(g);
|
|
1217
|
-
} catch {
|
|
1218
|
-
B(!1);
|
|
1219
|
-
}
|
|
1220
|
-
});
|
|
1221
|
-
}
|
|
1222
|
-
function readEntryContentAsync(g, B) {
|
|
1223
|
-
return new Promise((V) => {
|
|
1224
|
-
let H = 0, U = [], W = (g) => {
|
|
1225
|
-
if (!g) {
|
|
1226
|
-
console.warn("Unexpectedly received empty content entry", { scope: "drag-and-drop" }), V(null);
|
|
1227
|
-
return;
|
|
1228
|
-
}
|
|
1229
|
-
g.isFile ? (H++, g.file((W) => {
|
|
1230
|
-
H--;
|
|
1231
|
-
let G = new File([W], W.name, { type: W.type || B });
|
|
1232
|
-
U.push({
|
|
1233
|
-
type: "file",
|
|
1234
|
-
file: G,
|
|
1235
|
-
fullPath: g.fullPath
|
|
1236
|
-
}), H === 0 && V(U);
|
|
1237
|
-
})) : g.isDirectory && G(g.createReader());
|
|
1238
|
-
}, G = (g) => {
|
|
1239
|
-
H++, g.readEntries((g) => {
|
|
1240
|
-
H--;
|
|
1241
|
-
for (let B of g) W(B);
|
|
1242
|
-
H === 0 && V(U);
|
|
1243
|
-
});
|
|
1244
|
-
};
|
|
1245
|
-
W(g);
|
|
1246
|
-
});
|
|
1247
|
-
}
|
|
1248
|
-
function getDropItems(g) {
|
|
1249
|
-
let B = [], V = [];
|
|
1250
|
-
for (let H = 0; H < g.items.length; H++) {
|
|
1251
|
-
let U = g.items[H];
|
|
1252
|
-
if (U) if (U.kind === "file") {
|
|
1253
|
-
let g = U.type, H = U;
|
|
1254
|
-
if (typeof H.webkitGetAsEntry == "function" || typeof H.getAsEntry == "function") {
|
|
1255
|
-
let U = typeof H.webkitGetAsEntry == "function" ? H.webkitGetAsEntry() : H.getAsEntry?.();
|
|
1256
|
-
U && V.push(readEntryContentAsync(U, g).then((g) => {
|
|
1257
|
-
g && B.push(...g);
|
|
1258
|
-
}));
|
|
1259
|
-
continue;
|
|
1260
|
-
}
|
|
1261
|
-
let W = U.getAsFile();
|
|
1262
|
-
W && V.push(checkIsDirectory(W).then((g) => {
|
|
1263
|
-
g || B.push({
|
|
1264
|
-
type: "file",
|
|
1265
|
-
file: W
|
|
1266
|
-
});
|
|
1267
|
-
}));
|
|
1268
|
-
} else U.kind === "string" && /^text\/uri-list/.test(U.type) && V.push(new Promise((g) => {
|
|
1269
|
-
U.getAsString((V) => {
|
|
1270
|
-
B.push({
|
|
1271
|
-
type: "url",
|
|
1272
|
-
url: V
|
|
1273
|
-
}), g();
|
|
1274
|
-
});
|
|
1275
|
-
}));
|
|
1276
|
-
}
|
|
1277
|
-
return Promise.all(V).then(() => B);
|
|
1278
|
-
}
|
|
1279
|
-
const DropzoneState = Object.freeze({
|
|
1280
|
-
ACTIVE: 0,
|
|
1281
|
-
INACTIVE: 1,
|
|
1282
|
-
NEAR: 2,
|
|
1283
|
-
OVER: 3
|
|
1284
|
-
});
|
|
1285
|
-
var RESET_EVENTS = ["focus"], NEAR_OFFSET = 100, nearnessRegistry = /* @__PURE__ */ new Map();
|
|
1286
|
-
function distance(g, B) {
|
|
1287
|
-
let V = Math.max(Math.min(g[0], B.x + B.width), B.x), H = Math.max(Math.min(g[1], B.y + B.height), B.y);
|
|
1288
|
-
return Math.sqrt((g[0] - V) * (g[0] - V) + (g[1] - H) * (g[1] - H));
|
|
1289
|
-
}
|
|
1290
|
-
function addDropzone(g) {
|
|
1291
|
-
let B = 0, V = document.body, H = /* @__PURE__ */ new Set(), U = (g) => {
|
|
1292
|
-
H.add(g);
|
|
1293
|
-
}, W = DropzoneState.INACTIVE, G = (B) => {
|
|
1294
|
-
g.shouldIgnore() && B !== DropzoneState.INACTIVE || (W !== B && H.forEach((g) => {
|
|
1295
|
-
g(B);
|
|
1296
|
-
}), W = B);
|
|
1297
|
-
}, K = () => B > 0;
|
|
1298
|
-
U((B) => g.onChange(B));
|
|
1299
|
-
let q = () => {
|
|
1300
|
-
B = 0, G(DropzoneState.INACTIVE);
|
|
1301
|
-
}, J = () => {
|
|
1302
|
-
B += 1, W === DropzoneState.INACTIVE && G(DropzoneState.ACTIVE);
|
|
1303
|
-
}, Y = () => {
|
|
1304
|
-
--B, K() || G(DropzoneState.INACTIVE);
|
|
1305
|
-
}, X = (g) => {
|
|
1306
|
-
g.preventDefault(), B = 0, G(DropzoneState.INACTIVE);
|
|
1307
|
-
}, Z = (V) => {
|
|
1308
|
-
if (g.shouldIgnore()) return;
|
|
1309
|
-
K() || (B += 1);
|
|
1310
|
-
let H = [V.x, V.y], U = g.element.getBoundingClientRect(), W = Math.floor(distance(H, U)), q = W < NEAR_OFFSET, J = V.composedPath().includes(g.element);
|
|
1311
|
-
nearnessRegistry.set(g.element, W);
|
|
1312
|
-
let Y = Math.min(...nearnessRegistry.values()) === W;
|
|
1313
|
-
J && Y ? (V.preventDefault(), G(DropzoneState.OVER)) : G(q && Y ? DropzoneState.NEAR : DropzoneState.ACTIVE);
|
|
1314
|
-
}, Q = async (B) => {
|
|
1315
|
-
if (g.shouldIgnore()) return;
|
|
1316
|
-
B.preventDefault();
|
|
1317
|
-
let { dataTransfer: V } = B;
|
|
1318
|
-
if (!V) return;
|
|
1319
|
-
let H = await getDropItems(V);
|
|
1320
|
-
g.onItems(H), G(DropzoneState.INACTIVE);
|
|
1321
|
-
};
|
|
1322
|
-
return V.addEventListener("drop", X), V.addEventListener("dragleave", Y), V.addEventListener("dragenter", J), V.addEventListener("dragover", Z), g.element.addEventListener("drop", Q), RESET_EVENTS.forEach((g) => {
|
|
1323
|
-
window.addEventListener(g, q);
|
|
1324
|
-
}), () => {
|
|
1325
|
-
nearnessRegistry.delete(g.element), V.removeEventListener("drop", X), V.removeEventListener("dragleave", Y), V.removeEventListener("dragenter", J), V.removeEventListener("dragover", Z), g.element.removeEventListener("drop", Q), RESET_EVENTS.forEach((g) => {
|
|
1326
|
-
window.removeEventListener(g, q);
|
|
1327
|
-
});
|
|
1328
|
-
};
|
|
1329
|
-
}
|
|
1330
|
-
var dropAreaRegistry = /* @__PURE__ */ new Set(), DropArea = class extends LitUploaderBlock {
|
|
1331
|
-
constructor(...g) {
|
|
1332
|
-
super(...g), this.single = !1, this.ghost = !1, this.disabled = !1, this.clickable = !1, this.withIcon = !1, this.fullscreen = !1, this.initflow = !1, this._isEnabled = !0, this._isVisible = !0, this._destroyDropzone = null, this._destroyContentWrapperDropzone = null, this._contentWrapperRef = e(), this._handleAreaInteraction = (g) => {
|
|
1333
|
-
if (g instanceof KeyboardEvent) {
|
|
1334
|
-
if (g.code !== "Space" && g.code !== "Enter") return;
|
|
1335
|
-
} else if (!(g instanceof MouseEvent)) return;
|
|
1336
|
-
if (this.initflow) {
|
|
1337
|
-
this.api.initFlow();
|
|
1338
|
-
return;
|
|
1339
|
-
}
|
|
1340
|
-
this.api.openSystemDialog();
|
|
1341
|
-
}, this._sourceListAllowsLocal = !0, this._clickableListenersAttached = !1;
|
|
1342
|
-
}
|
|
1343
|
-
static {
|
|
1344
|
-
this.styleAttrs = [...super.styleAttrs, "uc-drop-area"];
|
|
1345
|
-
}
|
|
1346
|
-
get _localizedText() {
|
|
1347
|
-
let g = this.text;
|
|
1348
|
-
return typeof g == "string" && g.length > 0 ? this.l10n(g) || g : this.l10n("drop-files-here");
|
|
1349
|
-
}
|
|
1350
|
-
isActive() {
|
|
1351
|
-
if (!this._isEnabled) return !1;
|
|
1352
|
-
let g = this.getBoundingClientRect(), B = g.width > 0 && g.height > 0, V = g.top >= 0 && g.left >= 0 && g.bottom <= (window.innerHeight || document.documentElement.clientHeight) && g.right <= (window.innerWidth || document.documentElement.clientWidth), H = window.getComputedStyle(this), U = H.visibility !== "hidden" && H.display !== "none";
|
|
1353
|
-
return B && U && V;
|
|
1354
|
-
}
|
|
1355
|
-
initCallback() {
|
|
1356
|
-
super.initCallback(), dropAreaRegistry.add(this), this._updateIsEnabled(), this._updateVisibility(), this._updateClickableListeners(), this._updateDragStateAttribute(DropzoneState.INACTIVE), this._destroyDropzone = addDropzone({
|
|
1357
|
-
element: this,
|
|
1358
|
-
shouldIgnore: () => this._shouldIgnore(),
|
|
1359
|
-
onChange: (g) => {
|
|
1360
|
-
this._updateDragStateAttribute(g);
|
|
1361
|
-
},
|
|
1362
|
-
onItems: (g) => {
|
|
1363
|
-
g.length && (g.forEach((g) => {
|
|
1364
|
-
g.type === "url" ? this.api.addFileFromUrl(g.url, { source: UploadSource.DROP_AREA }) : g.type === "file" && this.api.addFileFromObject(g.file, {
|
|
1365
|
-
source: UploadSource.DROP_AREA,
|
|
1366
|
-
fullPath: g.fullPath
|
|
1367
|
-
});
|
|
1368
|
-
}), this.uploadCollection.size && (this.set$({ "*currentActivity": LitActivityBlock.activities.UPLOAD_LIST }), this.modalManager?.open(LitActivityBlock.activities.UPLOAD_LIST)));
|
|
1369
|
-
}
|
|
1370
|
-
}), this.updateComplete.then(() => this._setupContentWrapperDropzone()), this.subConfigValue("sourceList", (g) => {
|
|
1371
|
-
this._sourceListAllowsLocal = stringToArray(g).includes(UploadSource.LOCAL), this._updateIsEnabled(), this._updateVisibility();
|
|
1372
|
-
});
|
|
1373
|
-
}
|
|
1374
|
-
willUpdate(g) {
|
|
1375
|
-
super.willUpdate(g), g.has("disabled") && (this._updateIsEnabled(), this._updateVisibility());
|
|
1376
|
-
}
|
|
1377
|
-
updated(g) {
|
|
1378
|
-
super.updated(g), g.has("clickable") && this._updateClickableListeners();
|
|
1379
|
-
}
|
|
1380
|
-
_shouldIgnore() {
|
|
1381
|
-
if (!this._isEnabled || !this._couldHandleFiles()) return !0;
|
|
1382
|
-
if (!this.fullscreen) return !1;
|
|
1383
|
-
let g = dropAreaRegistry;
|
|
1384
|
-
return g.size === 0 ? !1 : [...g].filter((g) => g !== this).filter((g) => g.isActive()).length > 0;
|
|
1385
|
-
}
|
|
1386
|
-
_couldHandleFiles() {
|
|
1387
|
-
let g = this.cfg.multiple, B = this.cfg.multipleMax, V = this.uploadCollection.size;
|
|
1388
|
-
return !(g && B && V >= B || !g && V > 0);
|
|
1389
|
-
}
|
|
1390
|
-
_updateIsEnabled() {
|
|
1391
|
-
this._isEnabled = this._sourceListAllowsLocal && !this.disabled;
|
|
1392
|
-
}
|
|
1393
|
-
_updateVisibility() {
|
|
1394
|
-
let g = this._isEnabled || !this.querySelector("[data-default-slot]");
|
|
1395
|
-
this._isVisible = g, this.hidden = !g;
|
|
1396
|
-
}
|
|
1397
|
-
_updateDragStateAttribute(g) {
|
|
1398
|
-
let B = Object.entries(DropzoneState).find(([, B]) => B === g)?.[0].toLowerCase();
|
|
1399
|
-
B && this.setAttribute("drag-state", B);
|
|
1400
|
-
}
|
|
1401
|
-
_setupContentWrapperDropzone() {
|
|
1402
|
-
if (this._destroyContentWrapperDropzone) return;
|
|
1403
|
-
let g = this._contentWrapperRef.value;
|
|
1404
|
-
g && (this._destroyContentWrapperDropzone = addDropzone({
|
|
1405
|
-
element: g,
|
|
1406
|
-
onChange: (B) => {
|
|
1407
|
-
let V = Object.entries(DropzoneState).find(([, g]) => g === B)?.[0].toLowerCase();
|
|
1408
|
-
V && g.setAttribute("drag-state", V);
|
|
1409
|
-
},
|
|
1410
|
-
onItems: () => {},
|
|
1411
|
-
shouldIgnore: () => this._shouldIgnore()
|
|
1412
|
-
}));
|
|
1413
|
-
}
|
|
1414
|
-
_updateClickableListeners() {
|
|
1415
|
-
this.clickable && !this._clickableListenersAttached ? (this.addEventListener("keydown", this._handleAreaInteraction), this.addEventListener("click", this._handleAreaInteraction), this._clickableListenersAttached = !0) : !this.clickable && this._clickableListenersAttached && (this.removeEventListener("keydown", this._handleAreaInteraction), this.removeEventListener("click", this._handleAreaInteraction), this._clickableListenersAttached = !1);
|
|
1416
|
-
}
|
|
1417
|
-
disconnectedCallback() {
|
|
1418
|
-
super.disconnectedCallback(), dropAreaRegistry.delete(this), this._destroyDropzone?.(), this._destroyContentWrapperDropzone?.(), this._clickableListenersAttached &&= (this.removeEventListener("keydown", this._handleAreaInteraction), this.removeEventListener("click", this._handleAreaInteraction), !1);
|
|
1419
|
-
}
|
|
1420
|
-
render() {
|
|
1421
|
-
return b`
|
|
1422
|
-
${this.yield("", b`<div data-default-slot hidden></div>
|
|
1423
|
-
<div ${n$1(this._contentWrapperRef)} class="uc-content-wrapper" ?hidden=${!this._isVisible}>
|
|
1424
|
-
<div class="uc-icon-container" ?hidden=${!this.withIcon}>
|
|
1425
|
-
<uc-icon name="default"></uc-icon>
|
|
1426
|
-
<uc-icon name="arrow-down"></uc-icon>
|
|
1427
|
-
</div>
|
|
1428
|
-
<span class="uc-text">${this._localizedText}</span>
|
|
1429
|
-
</div>`)}
|
|
1430
|
-
`;
|
|
1431
|
-
}
|
|
1432
|
-
};
|
|
1433
|
-
__decorate([n({
|
|
1434
|
-
type: Boolean,
|
|
1435
|
-
noAccessor: !0
|
|
1436
|
-
})], DropArea.prototype, "single", void 0), __decorate([n({
|
|
1437
|
-
type: Boolean,
|
|
1438
|
-
noAccessor: !0
|
|
1439
|
-
})], DropArea.prototype, "ghost", void 0), __decorate([n({
|
|
1440
|
-
type: Boolean,
|
|
1441
|
-
reflect: !0
|
|
1442
|
-
})], DropArea.prototype, "disabled", void 0), __decorate([n({
|
|
1443
|
-
type: Boolean,
|
|
1444
|
-
reflect: !0
|
|
1445
|
-
})], DropArea.prototype, "clickable", void 0), __decorate([n({
|
|
1446
|
-
type: Boolean,
|
|
1447
|
-
attribute: "with-icon",
|
|
1448
|
-
reflect: !0
|
|
1449
|
-
})], DropArea.prototype, "withIcon", void 0), __decorate([n({
|
|
1450
|
-
type: Boolean,
|
|
1451
|
-
reflect: !0
|
|
1452
|
-
})], DropArea.prototype, "fullscreen", void 0), __decorate([n({
|
|
1453
|
-
type: Boolean,
|
|
1454
|
-
reflect: !0
|
|
1455
|
-
})], DropArea.prototype, "initflow", void 0), __decorate([n({ type: String })], DropArea.prototype, "text", void 0), __decorate([r()], DropArea.prototype, "_isEnabled", void 0), __decorate([r()], DropArea.prototype, "_isVisible", void 0);
|
|
1456
|
-
var UploadList = class extends LitUploaderBlock {
|
|
1457
|
-
constructor(...g) {
|
|
1458
|
-
super(...g), this.couldBeCtxOwner = !0, this.historyTracked = !0, this.activityType = LitActivityBlock.activities.UPLOAD_LIST, this._doneBtnVisible = !1, this._doneBtnEnabled = !1, this._uploadBtnVisible = !1, this._addMoreBtnVisible = !1, this._addMoreBtnEnabled = !1, this._commonErrorMessage = null, this._hasFiles = !1, this._latestSummary = null, this._handleAdd = () => {
|
|
1459
|
-
this.telemetryManager.sendEvent({
|
|
1460
|
-
eventType: InternalEventType.ACTION_EVENT,
|
|
1461
|
-
payload: { metadata: {
|
|
1462
|
-
event: "add-more",
|
|
1463
|
-
node: this.tagName
|
|
1464
|
-
} }
|
|
1465
|
-
}), this.api.initFlow(!0);
|
|
1466
|
-
}, this._handleUpload = () => {
|
|
1467
|
-
this.emit(EventType.UPLOAD_CLICK), this.api.uploadAll(), this._throttledHandleCollectionUpdate();
|
|
1468
|
-
}, this._handleDone = () => {
|
|
1469
|
-
this.emit(EventType.DONE_CLICK, this.api.getOutputCollectionState()), this.api.doneFlow();
|
|
1470
|
-
}, this._handleCancel = () => {
|
|
1471
|
-
this.telemetryManager.sendEvent({
|
|
1472
|
-
eventType: InternalEventType.ACTION_EVENT,
|
|
1473
|
-
payload: { metadata: {
|
|
1474
|
-
event: "clear-all",
|
|
1475
|
-
node: this.tagName
|
|
1476
|
-
} }
|
|
1477
|
-
}), this.uploadCollection.clearAll();
|
|
1478
|
-
}, this._throttledHandleCollectionUpdate = throttle(() => {
|
|
1479
|
-
this.isConnected && (this._updateUploadsState(), !this.couldOpenActivity && this.$["*currentActivity"] === this.activityType && this.historyBack(), this.cfg.confirmUpload || this.api.uploadAll());
|
|
1480
|
-
}, 300);
|
|
1481
|
-
}
|
|
1482
|
-
get _headerText() {
|
|
1483
|
-
return this._latestSummary ? this._getHeaderText(this._latestSummary) : "";
|
|
1484
|
-
}
|
|
1485
|
-
_updateUploadsState() {
|
|
1486
|
-
let g = this.api.getOutputCollectionState(), B = {
|
|
1487
|
-
total: g.totalCount,
|
|
1488
|
-
succeed: g.successCount,
|
|
1489
|
-
uploading: g.uploadingCount,
|
|
1490
|
-
failed: g.failedCount,
|
|
1491
|
-
validatingBeforeUploading: g.idleEntries.filter((g) => g.isValidationPending).length
|
|
1492
|
-
}, V = !g.errors.some((g) => g.type === "TOO_MANY_FILES" || g.type === "TOO_FEW_FILES"), H = g.errors.some((g) => g.type === "TOO_MANY_FILES"), U = g.totalCount === (this.cfg.multiple ? this.cfg.multipleMax : 1), W = g.allEntries.some((g) => g.isValidationPending), G = B.failed === 0 && g.errors.length === 0 && !W, K = !1, q = !1, J = !1;
|
|
1493
|
-
if (B.total - B.succeed - B.uploading - B.failed > 0 && V && G && this.cfg.confirmUpload) K = !0;
|
|
1494
|
-
else {
|
|
1495
|
-
q = !0;
|
|
1496
|
-
let H = this.cfg.groupOutput ? !!g.group : !0;
|
|
1497
|
-
J = B.total === B.succeed && V && G && H;
|
|
1498
|
-
}
|
|
1499
|
-
this._doneBtnVisible = q, this._doneBtnEnabled = J, this._uploadBtnVisible = K, this._addMoreBtnEnabled = B.total === 0 || !H && !U, this._addMoreBtnVisible = !U || this.cfg.multiple, this._hasFiles = B.total > 0, this._latestSummary = B;
|
|
1500
|
-
}
|
|
1501
|
-
_getHeaderText(g) {
|
|
1502
|
-
let B = (B) => {
|
|
1503
|
-
let V = g[B];
|
|
1504
|
-
return B === "uploading" && (V += g.validatingBeforeUploading), this.l10n(`header-${B}`, { count: V });
|
|
1505
|
-
};
|
|
1506
|
-
return g.uploading > 0 || g.validatingBeforeUploading > 0 ? B("uploading") : g.failed > 0 ? B("failed") : g.succeed > 0 ? B("succeed") : B("total");
|
|
1507
|
-
}
|
|
1508
|
-
get couldOpenActivity() {
|
|
1509
|
-
return this.cfg.showEmptyList || this.uploadCollection.size > 0;
|
|
1510
|
-
}
|
|
1511
|
-
initCallback() {
|
|
1512
|
-
super.initCallback(), this.registerActivity(this.activityType), this.subConfigValue("multiple", this._throttledHandleCollectionUpdate), this.subConfigValue("multipleMin", this._throttledHandleCollectionUpdate), this.subConfigValue("multipleMax", this._throttledHandleCollectionUpdate), this.sub("*groupInfo", (g) => {
|
|
1513
|
-
g && this._throttledHandleCollectionUpdate();
|
|
1514
|
-
}), this.subConfigValue("filesViewMode", (g) => {
|
|
1515
|
-
this.setAttribute("mode", g);
|
|
1516
|
-
}), this.sub("*currentActivity", (g) => {
|
|
1517
|
-
!this.couldOpenActivity && g === this.activityType && (this.$["*currentActivity"] = this.initActivity);
|
|
1518
|
-
}), this.uploadCollection.observeProperties(this._throttledHandleCollectionUpdate), this.uploadCollection.observeCollection(this._throttledHandleCollectionUpdate), this.sub("*collectionErrors", (g) => {
|
|
1519
|
-
let B = g.filter((g) => g.type !== "SOME_FILES_HAS_ERRORS")[0];
|
|
1520
|
-
if (!B) {
|
|
1521
|
-
this._commonErrorMessage = null;
|
|
1522
|
-
return;
|
|
1523
|
-
}
|
|
1524
|
-
this._commonErrorMessage = B.message;
|
|
1525
|
-
});
|
|
1526
|
-
}
|
|
1527
|
-
disconnectedCallback() {
|
|
1528
|
-
super.disconnectedCallback(), this.has("*uploadCollection") && (this.uploadCollection.unobserveProperties(this._throttledHandleCollectionUpdate), this.uploadCollection.unobserveCollection(this._throttledHandleCollectionUpdate));
|
|
1529
|
-
}
|
|
1530
|
-
render() {
|
|
1531
|
-
return b`
|
|
1532
|
-
<uc-activity-header>
|
|
1533
|
-
<span aria-live="polite" class="uc-header-text">${this._headerText}</span>
|
|
1534
|
-
<button
|
|
1535
|
-
type="button"
|
|
1536
|
-
class="uc-mini-btn uc-close-btn"
|
|
1537
|
-
@click=${this.$["*closeModal"]}
|
|
1538
|
-
title=${this.l10n("a11y-activity-header-button-close")}
|
|
1539
|
-
aria-label=${this.l10n("a11y-activity-header-button-close")}
|
|
1540
|
-
>
|
|
1541
|
-
<uc-icon name="close"></uc-icon>
|
|
1542
|
-
</button>
|
|
1543
|
-
</uc-activity-header>
|
|
1544
|
-
|
|
1545
|
-
<div class="uc-no-files" ?hidden=${this._hasFiles}>
|
|
1546
|
-
${this.yield("empty", b`<span>${this.l10n("no-files")}</span>`)}
|
|
1547
|
-
</div>
|
|
1548
|
-
|
|
1549
|
-
<div class="uc-files">
|
|
1550
|
-
<div class="uc-files-wrapper">
|
|
1551
|
-
${c(this.$["*uploadList"] ?? [], ({ uid: g }) => g, ({ uid: g }) => b`<uc-file-item .uid=${g}></uc-file-item>`)}
|
|
1552
|
-
</div>
|
|
1553
|
-
<button
|
|
1554
|
-
type="button"
|
|
1555
|
-
class="uc-add-more-btn uc-secondary-btn"
|
|
1556
|
-
@click=${this._handleAdd}
|
|
1557
|
-
?disabled=${!this._addMoreBtnEnabled}
|
|
1558
|
-
?hidden=${!this._addMoreBtnVisible}
|
|
1559
|
-
>
|
|
1560
|
-
<uc-icon name="add"></uc-icon><span>${this.l10n("add-more")}</span>
|
|
1561
|
-
</button>
|
|
1562
|
-
</div>
|
|
1563
|
-
|
|
1564
|
-
<div class="uc-common-error"
|
|
1565
|
-
?hidden=${!this._commonErrorMessage}
|
|
1566
|
-
>
|
|
1567
|
-
${this._commonErrorMessage ?? ""}
|
|
1568
|
-
</div>
|
|
1569
|
-
|
|
1570
|
-
<div class="uc-toolbar">
|
|
1571
|
-
<button type="button" class="uc-cancel-btn uc-secondary-btn" @click=${this._handleCancel}>${this.l10n("clear")}</button>
|
|
1572
|
-
<div class="uc-toolbar-spacer"></div>
|
|
1573
|
-
<button
|
|
1574
|
-
type="button"
|
|
1575
|
-
class="uc-add-more-btn uc-secondary-btn"
|
|
1576
|
-
?hidden=${!this._addMoreBtnVisible}
|
|
1577
|
-
?disabled=${!this._addMoreBtnEnabled}
|
|
1578
|
-
@click=${this._handleAdd}
|
|
1579
|
-
>
|
|
1580
|
-
<uc-icon name="add"></uc-icon><span>${this.l10n("add-more")}</span>
|
|
1581
|
-
</button>
|
|
1582
|
-
<button
|
|
1583
|
-
type="button"
|
|
1584
|
-
class="uc-upload-btn uc-primary-btn"
|
|
1585
|
-
?hidden=${!this._uploadBtnVisible}
|
|
1586
|
-
@click=${this._handleUpload}
|
|
1587
|
-
>${this.l10n("upload")}</button>
|
|
1588
|
-
<button
|
|
1589
|
-
type="button"
|
|
1590
|
-
class="uc-done-btn uc-primary-btn"
|
|
1591
|
-
?hidden=${!this._doneBtnVisible}
|
|
1592
|
-
?disabled=${!this._doneBtnEnabled}
|
|
1593
|
-
@click=${this._handleDone}
|
|
1594
|
-
>
|
|
1595
|
-
${this.l10n("done")}
|
|
1596
|
-
</button>
|
|
1597
|
-
</div>
|
|
1598
|
-
|
|
1599
|
-
<uc-drop-area ghost></uc-drop-area>
|
|
1600
|
-
`;
|
|
1601
|
-
}
|
|
1602
|
-
};
|
|
1603
|
-
__decorate([r()], UploadList.prototype, "_doneBtnVisible", void 0), __decorate([r()], UploadList.prototype, "_doneBtnEnabled", void 0), __decorate([r()], UploadList.prototype, "_uploadBtnVisible", void 0), __decorate([r()], UploadList.prototype, "_addMoreBtnVisible", void 0), __decorate([r()], UploadList.prototype, "_addMoreBtnEnabled", void 0), __decorate([r()], UploadList.prototype, "_commonErrorMessage", void 0), __decorate([r()], UploadList.prototype, "_hasFiles", void 0), __decorate([r()], UploadList.prototype, "_latestSummary", void 0);
|
|
1604
|
-
var SimpleBtn = class extends LitUploaderBlock {
|
|
1605
|
-
constructor(...g) {
|
|
1606
|
-
super(...g), this.couldBeCtxOwner = !0, this.dropzone = !0, this._buttonTextKey = "upload-file", this._handleClick = () => {
|
|
1607
|
-
this.api.initFlow();
|
|
1608
|
-
};
|
|
1609
|
-
}
|
|
1610
|
-
static {
|
|
1611
|
-
this.styleAttrs = [...super.styleAttrs, "uc-simple-btn"];
|
|
1612
|
-
}
|
|
1613
|
-
initCallback() {
|
|
1614
|
-
super.initCallback(), this.subConfigValue("multiple", (g) => {
|
|
1615
|
-
this._buttonTextKey = g ? "upload-files" : "upload-file";
|
|
1616
|
-
});
|
|
1617
|
-
}
|
|
1618
|
-
render() {
|
|
1619
|
-
return b`
|
|
1620
|
-
<uc-drop-area .disabled=${!this.dropzone}>
|
|
1621
|
-
<button type="button" @click=${this._handleClick}>
|
|
1622
|
-
<uc-icon name="upload"></uc-icon>
|
|
1623
|
-
<span>${this.l10n(this._buttonTextKey)}</span>
|
|
1624
|
-
${this.yield("")}
|
|
1625
|
-
<div class="uc-visual-drop-area">${this.l10n("drop-files-here")}</div>
|
|
1626
|
-
</button>
|
|
1627
|
-
</uc-drop-area>
|
|
1628
|
-
`;
|
|
1629
|
-
}
|
|
1630
|
-
};
|
|
1631
|
-
__decorate([n({
|
|
1632
|
-
attribute: "dropzone",
|
|
1633
|
-
type: Boolean
|
|
1634
|
-
})], SimpleBtn.prototype, "dropzone", void 0), __decorate([r()], SimpleBtn.prototype, "_buttonTextKey", void 0);
|
|
1635
|
-
var PluginActivityHost = class extends LitActivityBlock {
|
|
1636
|
-
constructor(...g) {
|
|
1637
|
-
super(...g), this.activityType = null, this._containerRef = e();
|
|
1638
|
-
}
|
|
1639
|
-
initCallback() {
|
|
1640
|
-
this.activityType = this.registration?.id ?? null, super.initCallback(), this._ensureRegistered();
|
|
1641
|
-
}
|
|
1642
|
-
willUpdate(g) {
|
|
1643
|
-
super.willUpdate(g), g.has("registration") && (this._ensureRegistered(), this.isActivityActive && (this._disposeActivity(), this._renderActivity()));
|
|
1644
|
-
}
|
|
1645
|
-
_ensureRegistered() {
|
|
1646
|
-
this.registration && (this._isActivityRegistered() || this.registerActivity(this.activityType ?? "", {
|
|
1647
|
-
onActivate: () => this._renderActivity(),
|
|
1648
|
-
onDeactivate: () => this._disposeActivity()
|
|
1649
|
-
}));
|
|
1650
|
-
}
|
|
1651
|
-
_renderActivity() {
|
|
1652
|
-
let g = this._containerRef.value;
|
|
1653
|
-
if (!g || !this.registration) return;
|
|
1654
|
-
this._disposeActivity();
|
|
1655
|
-
let B = this.$["*currentActivityParams"];
|
|
1656
|
-
this._dispose = this.registration.render(g, B) ?? void 0;
|
|
1657
|
-
}
|
|
1658
|
-
_disposeActivity() {
|
|
1659
|
-
this._dispose?.(), this._dispose = void 0;
|
|
1660
|
-
let g = this._containerRef.value;
|
|
1661
|
-
g && g.replaceChildren();
|
|
1662
|
-
}
|
|
1663
|
-
disconnectedCallback() {
|
|
1664
|
-
this._disposeActivity(), super.disconnectedCallback();
|
|
1665
|
-
}
|
|
1666
|
-
render() {
|
|
1667
|
-
return b`<div
|
|
1668
|
-
style="display: flex; flex-direction: column; width: 100%; min-height: 0;"
|
|
1669
|
-
${n$1(this._containerRef)}
|
|
1670
|
-
></div>`;
|
|
1671
|
-
}
|
|
1672
|
-
};
|
|
1673
|
-
__decorate([n({ attribute: !1 })], PluginActivityHost.prototype, "registration", void 0);
|
|
1674
|
-
var PluginActivityRenderer = class extends LitBlock {
|
|
1675
|
-
constructor(...g) {
|
|
1676
|
-
super(...g), this.mode = "modal", this._activities = [];
|
|
1677
|
-
}
|
|
1678
|
-
initCallback() {
|
|
1679
|
-
super.initCallback();
|
|
1680
|
-
let g = this._sharedInstancesBag.pluginManager;
|
|
1681
|
-
g?.onPluginsChange && (this._unsubscribePlugins = g.onPluginsChange(() => this._syncActivities())), this._syncActivities();
|
|
1682
|
-
}
|
|
1683
|
-
_syncActivities() {
|
|
1684
|
-
let g = this._sharedInstancesBag.pluginManager;
|
|
1685
|
-
if (!g) {
|
|
1686
|
-
this._activities = [];
|
|
1687
|
-
return;
|
|
1688
|
-
}
|
|
1689
|
-
this._activities = g.snapshot().activities;
|
|
1690
|
-
}
|
|
1691
|
-
disconnectedCallback() {
|
|
1692
|
-
this._unsubscribePlugins?.(), this._unsubscribePlugins = void 0, super.disconnectedCallback();
|
|
1693
|
-
}
|
|
1694
|
-
render() {
|
|
1695
|
-
return this.mode === "inline" ? b`${c(this._activities, (g) => g.id, (g) => b`<uc-plugin-activity-host .registration=${g}></uc-plugin-activity-host>`)}` : b`${c(this._activities, (g) => g.id, (g) => b`
|
|
1696
|
-
<uc-modal id=${g.id} strokes block-body-scrolling>
|
|
1697
|
-
<uc-plugin-activity-host .registration=${g}></uc-plugin-activity-host>
|
|
1698
|
-
</uc-modal>
|
|
1699
|
-
`)}`;
|
|
1700
|
-
}
|
|
1701
|
-
};
|
|
1702
|
-
__decorate([n({ type: String })], PluginActivityRenderer.prototype, "mode", void 0), __decorate([r()], PluginActivityRenderer.prototype, "_activities", void 0);
|
|
1703
|
-
var FileUploaderRegular = class extends LitSolutionBlock {
|
|
1704
|
-
static {
|
|
1705
|
-
this.styleAttrs = [...super.styleAttrs, "uc-file-uploader-regular"];
|
|
1706
|
-
}
|
|
1707
|
-
constructor() {
|
|
1708
|
-
super(), this.headless = !1, this.init$ = { ...this.init$ };
|
|
1709
|
-
}
|
|
1710
|
-
initCallback() {
|
|
1711
|
-
super.initCallback(), this.telemetryManager.sendEvent({ eventType: InternalEventType.INIT_SOLUTION });
|
|
1712
|
-
}
|
|
1713
|
-
render() {
|
|
1714
|
-
return b`
|
|
1715
|
-
${super.render()}
|
|
1716
|
-
<uc-simple-btn ?hidden=${this.headless}></uc-simple-btn>
|
|
1717
|
-
|
|
1718
|
-
<uc-modal id="start-from" strokes block-body-scrolling>
|
|
1719
|
-
<uc-start-from>
|
|
1720
|
-
<uc-drop-area with-icon clickable></uc-drop-area>
|
|
1721
|
-
<uc-source-list role="list" wrap></uc-source-list>
|
|
1722
|
-
<button type="button" class="uc-secondary-btn" @click=${this.$["*historyBack"]}>${this.l10n("start-from-cancel")}</button>
|
|
1723
|
-
<uc-copyright></uc-copyright>
|
|
1724
|
-
</uc-start-from>
|
|
1725
|
-
</uc-modal>
|
|
1726
|
-
|
|
1727
|
-
<uc-modal id="upload-list" strokes block-body-scrolling>
|
|
1728
|
-
<uc-upload-list></uc-upload-list>
|
|
1729
|
-
</uc-modal>
|
|
1730
|
-
|
|
1731
|
-
<uc-plugin-activity-renderer mode="modal"></uc-plugin-activity-renderer>
|
|
1732
|
-
`;
|
|
1733
|
-
}
|
|
1734
|
-
};
|
|
1735
|
-
__decorate([n({ type: Boolean })], FileUploaderRegular.prototype, "headless", void 0);
|
|
1736
|
-
var FileUploaderInline = class extends LitSolutionBlock {
|
|
1737
|
-
static {
|
|
1738
|
-
this.styleAttrs = [...super.styleAttrs, "uc-file-uploader-inline"];
|
|
1739
|
-
}
|
|
1740
|
-
constructor() {
|
|
1741
|
-
super(), this._couldCancel = !1, this._handleCancel = () => {
|
|
1742
|
-
if (this._couldHistoryBack) {
|
|
1743
|
-
let g = this.$["*historyBack"];
|
|
1744
|
-
g?.();
|
|
1745
|
-
return;
|
|
1746
|
-
}
|
|
1747
|
-
this._couldShowList && (this.$["*currentActivity"] = LitActivityBlock.activities.UPLOAD_LIST);
|
|
1748
|
-
}, this.init$ = { ...this.init$ };
|
|
1749
|
-
}
|
|
1750
|
-
get _couldHistoryBack() {
|
|
1751
|
-
let g = this.$["*history"];
|
|
1752
|
-
return !g || g.length <= 1 ? !1 : g[g.length - 1] !== LitActivityBlock.activities.START_FROM;
|
|
1753
|
-
}
|
|
1754
|
-
get _couldShowList() {
|
|
1755
|
-
let g = this.$["*uploadList"];
|
|
1756
|
-
return this.cfg.showEmptyList || Array.isArray(g) && g.length > 0;
|
|
1757
|
-
}
|
|
1758
|
-
_getInitActivity() {
|
|
1759
|
-
return this.getCssData("--cfg-init-activity") || LitActivityBlock.activities.START_FROM;
|
|
1760
|
-
}
|
|
1761
|
-
initCallback() {
|
|
1762
|
-
super.initCallback(), this.telemetryManager.sendEvent({ eventType: InternalEventType.INIT_SOLUTION });
|
|
1763
|
-
let g = this._getInitActivity();
|
|
1764
|
-
this.sub("*currentActivity", (B) => {
|
|
1765
|
-
B || (this.$["*currentActivity"] = g);
|
|
1766
|
-
}), this.sub("*uploadList", (B) => {
|
|
1767
|
-
Array.isArray(B) && B.length > 0 && this.$["*currentActivity"] === g && (this.$["*currentActivity"] = LitActivityBlock.activities.UPLOAD_LIST);
|
|
1768
|
-
}), this.sub("*history", () => {
|
|
1769
|
-
this._couldCancel = this._couldHistoryBack || this._couldShowList;
|
|
1770
|
-
});
|
|
1771
|
-
}
|
|
1772
|
-
render() {
|
|
1773
|
-
return b`
|
|
1774
|
-
${super.render()}
|
|
1775
|
-
<uc-start-from>
|
|
1776
|
-
<uc-drop-area with-icon clickable></uc-drop-area>
|
|
1777
|
-
<uc-source-list role="list" wrap></uc-source-list>
|
|
1778
|
-
<button
|
|
1779
|
-
type="button"
|
|
1780
|
-
class="uc-cancel-btn uc-secondary-btn"
|
|
1781
|
-
@click=${this._handleCancel}
|
|
1782
|
-
?hidden=${!this._couldCancel}
|
|
1783
|
-
>
|
|
1784
|
-
${this.l10n("start-from-cancel")}
|
|
1785
|
-
</button>
|
|
1786
|
-
<uc-copyright></uc-copyright>
|
|
1787
|
-
</uc-start-from>
|
|
1788
|
-
<uc-upload-list></uc-upload-list>
|
|
1789
|
-
<uc-plugin-activity-renderer mode="inline"></uc-plugin-activity-renderer>
|
|
1790
|
-
`;
|
|
1791
|
-
}
|
|
1792
|
-
};
|
|
1793
|
-
__decorate([r()], FileUploaderInline.prototype, "_couldCancel", void 0);
|
|
1794
|
-
var ACTIVE_CLASS = "active", EMPTY_CLASS = "", FileUploaderMinimal = class extends LitSolutionBlock {
|
|
1795
|
-
static {
|
|
1796
|
-
this.styleAttrs = [...super.styleAttrs, "uc-file-uploader-minimal"];
|
|
1797
|
-
}
|
|
1798
|
-
_getInitActivity() {
|
|
1799
|
-
return this.getCssData("--cfg-init-activity") || LitActivityBlock.activities.START_FROM;
|
|
1800
|
-
}
|
|
1801
|
-
constructor() {
|
|
1802
|
-
super(), this._singleUpload = !1, this._isHiddenStartFrom = !1, this._classUploadList = EMPTY_CLASS, this._classStartFrom = EMPTY_CLASS, this._handleModalOpen = (g) => {
|
|
1803
|
-
g.id === LitActivityBlock.activities.CLOUD_IMG_EDIT && (this._classUploadList = ACTIVE_CLASS), this.$["*currentActivity"] === LitActivityBlock.activities.UPLOAD_LIST && (this._classUploadList = ACTIVE_CLASS, this._isHiddenStartFrom = !0);
|
|
1804
|
-
let B = this.$["*uploadList"];
|
|
1805
|
-
(!B || B.length <= 0) && (this._classStartFrom = ACTIVE_CLASS);
|
|
1806
|
-
}, this._handleModalClose = (g) => {
|
|
1807
|
-
g.id === this.$["*currentActivity"] && (this.$["*currentActivity"] = LitActivityBlock.activities.UPLOAD_LIST, this._isHiddenStartFrom = !1), g.id === LitActivityBlock.activities.CLOUD_IMG_EDIT && (this.$["*currentActivity"] = LitActivityBlock.activities.UPLOAD_LIST);
|
|
1808
|
-
}, this.init$ = { ...this.init$ };
|
|
1809
|
-
}
|
|
1810
|
-
initCallback() {
|
|
1811
|
-
super.initCallback(), this.telemetryManager.sendEvent({ eventType: InternalEventType.INIT_SOLUTION });
|
|
1812
|
-
let g = this._getInitActivity();
|
|
1813
|
-
this.sub("*currentActivity", (B) => {
|
|
1814
|
-
B === LitActivityBlock.activities.UPLOAD_LIST && this.modalManager?.closeAll(), B || (this.$["*currentActivity"] = g);
|
|
1815
|
-
}), this.sub("*uploadList", (B) => {
|
|
1816
|
-
Array.isArray(B) && B.length > 0 ? (this.$["*currentActivity"] = LitActivityBlock.activities.UPLOAD_LIST, this._classStartFrom = EMPTY_CLASS) : (this._classUploadList = EMPTY_CLASS, this._isHiddenStartFrom = !1, this.$["*currentActivity"] = g);
|
|
1817
|
-
}), this.subConfigValue("confirmUpload", (g) => {
|
|
1818
|
-
g !== !1 && (this.cfg.confirmUpload = !1);
|
|
1819
|
-
}), this.subConfigValue("filesViewMode", (g) => {
|
|
1820
|
-
this.setAttribute("mode", g), this.subConfigValue("multiple", (B) => {
|
|
1821
|
-
g === "grid" ? (B ? this.style.removeProperty("--uc-grid-col") : this.style.setProperty("--uc-grid-col", "1"), this._singleUpload = !B) : (this.style.removeProperty("--uc-grid-col"), this._singleUpload = !1);
|
|
1822
|
-
});
|
|
1823
|
-
}), this.modalManager?.subscribe(ModalEvents.OPEN, this._handleModalOpen), this.modalManager?.subscribe(ModalEvents.CLOSE, this._handleModalClose);
|
|
1824
|
-
}
|
|
1825
|
-
disconnectedCallback() {
|
|
1826
|
-
super.disconnectedCallback(), this.modalManager?.unsubscribe(ModalEvents.OPEN, this._handleModalOpen), this.modalManager?.unsubscribe(ModalEvents.CLOSE, this._handleModalClose);
|
|
1827
|
-
}
|
|
1828
|
-
render() {
|
|
1829
|
-
return b`
|
|
1830
|
-
${super.render()}
|
|
1831
|
-
<uc-start-from ?hidden=${this._isHiddenStartFrom} class=${this._classStartFrom}>
|
|
1832
|
-
<uc-drop-area
|
|
1833
|
-
?single=${this._singleUpload}
|
|
1834
|
-
initflow
|
|
1835
|
-
clickable
|
|
1836
|
-
tabindex="0"
|
|
1837
|
-
><span>${this.l10n("choose-file")}</span></uc-drop-area>
|
|
1838
|
-
<uc-copyright></uc-copyright>
|
|
1839
|
-
</uc-start-from>
|
|
1840
|
-
<uc-upload-list class=${this._classUploadList}></uc-upload-list>
|
|
1841
|
-
|
|
1842
|
-
<uc-modal id="start-from" strokes block-body-scrolling>
|
|
1843
|
-
<uc-start-from>
|
|
1844
|
-
<uc-drop-area with-icon clickable></uc-drop-area>
|
|
1845
|
-
<uc-source-list role="list" wrap></uc-source-list>
|
|
1846
|
-
<button
|
|
1847
|
-
type="button"
|
|
1848
|
-
class="uc-secondary-btn"
|
|
1849
|
-
@click=${this.$["*historyBack"]}
|
|
1850
|
-
>${this.l10n("start-from-cancel")}</button>
|
|
1851
|
-
</uc-start-from>
|
|
1852
|
-
</uc-modal>
|
|
1853
|
-
|
|
1854
|
-
<uc-plugin-activity-renderer mode="modal"></uc-plugin-activity-renderer>
|
|
1855
|
-
`;
|
|
1856
|
-
}
|
|
1857
|
-
};
|
|
1858
|
-
__decorate([r()], FileUploaderMinimal.prototype, "_singleUpload", void 0), __decorate([r()], FileUploaderMinimal.prototype, "_isHiddenStartFrom", void 0), __decorate([r()], FileUploaderMinimal.prototype, "_classUploadList", void 0), __decorate([r()], FileUploaderMinimal.prototype, "_classStartFrom", void 0);
|
|
1859
|
-
export { LitActivityBlock as ActivityBlock, ActivityHeader, BaseComponent, LitBlock as Block, CameraSource, Config, Copyright, PubSub as Data, DropArea, ExternalSource, ExternalUploadSource, FileItem, FileUploaderInline, FileUploaderMinimal, FileUploaderRegular, FormInput, Icon, Img, Modal, ModalEvents, PACKAGE_NAME, PACKAGE_VERSION, PluginActivityHost, PluginActivityRenderer, ProgressBar, ProgressBarCommon, Select, SimpleBtn, LitSolutionBlock as SolutionBlock, SourceBtn, SourceList, Spinner, StartFrom, Thumb, UID, UploadCtxProvider, UploadList, UploadSource, LitUploaderBlock as UploaderBlock, UrlSource, defineComponents, defineLocale, loadFileUploaderFrom, toKebabCase };
|
|
1
|
+
var __webpack_modules__={7992(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{HU:()=>blockCtx,_H:()=>activityBlockCtx,lu:()=>uploaderBlockCtx,u8:()=>solutionBlockCtx});var _uploadcare_upload_client__rspack_import_0=__webpack_require__(3074);let blockCtx=()=>({}),activityBlockCtx=fnCtx=>({...blockCtx(),"*currentActivity":null,"*currentActivityParams":{},"*history":[],"*historyBack":null,"*closeModal":()=>{fnCtx.modalManager?.close(fnCtx.$["*currentActivity"]),fnCtx.pub("*currentActivity",null)}}),uploaderBlockCtx=fnCtx=>({...activityBlockCtx(fnCtx),"*commonProgress":0,"*uploadList":[],"*uploadQueue":new _uploadcare_upload_client__rspack_import_0.op(1),"*collectionErrors":[],"*collectionState":null,"*groupInfo":null,"*uploadTrigger":new Set}),solutionBlockCtx=fnCtx=>({...uploaderBlockCtx(fnCtx),"*solution":null})},3962(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Y:()=>defineComponents});let EXCLUDE_COMPONENTS=["UploaderBlock","ActivityBlock","Block","SolutionBlock"];function defineComponents(blockExports){for(let blockName in blockExports){if(EXCLUDE_COMPONENTS.includes(blockName))continue;let tagName=[...blockName].reduce((name,char)=>(char.toUpperCase()===char&&(char=`-${char.toLowerCase()}`),name+=char),"");tagName.startsWith("-")&&(tagName=tagName.replace("-","")),tagName.startsWith("uc-")||(tagName=`uc-${tagName}`),blockExports[blockName].reg&&blockExports[blockName].reg(tagName)}}},7444(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{m:()=>defineLocale,s:()=>resolveLocaleDefinition});var _locales_file_uploader_en__rspack_import_0=__webpack_require__(1491);let localeRegistry=new Map,localeResolvers=new Map,defineLocaleSync=(localeName,definition)=>{localeRegistry.has(localeName)&&console.log(`Locale ${localeName} is already defined. Overwriting...`);let locale={..._locales_file_uploader_en__rspack_import_0.A,...definition};return localeRegistry.set(localeName,locale),locale},defineLocale=(localeName,definitionOrResolver)=>{if("function"==typeof definitionOrResolver)localeResolvers.set(localeName,definitionOrResolver);else defineLocaleSync(localeName,definitionOrResolver)},resolveLocaleDefinition=async localeName=>{let localeDefinition=localeRegistry.get(localeName);if(!localeDefinition){let definitionResolver=localeResolvers.get(localeName);if(!definitionResolver)throw Error(`Locale ${localeName} is not defined`);localeDefinition=defineLocaleSync(localeName,await definitionResolver())}return localeDefinition};defineLocale("en",_locales_file_uploader_en__rspack_import_0.A)},7959(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{OZ:()=>LocaleManager,PI:()=>localeStateKey});var _lit_shared_instances__rspack_import_0=__webpack_require__(5890),_locales_file_uploader_en__rspack_import_1=__webpack_require__(1491),_localeRegistry__rspack_import_3=__webpack_require__(7444),_sharedConfigKey__rspack_import_2=__webpack_require__(1971);let localeStateKey=key=>`*l10n/${key}`;class LocaleManager extends _lit_shared_instances__rspack_import_0.jM{constructor(sharedInstancesBag){for(let[key,value]of(super(sharedInstancesBag),this._localeName="",Object.entries(_locales_file_uploader_en__rspack_import_1.A))){let noTranslation=!this._ctx.has(localeStateKey(key))||!this._ctx.read(localeStateKey(key));this._ctx.add(localeStateKey(key),value,noTranslation)}let pluginManager=sharedInstancesBag.pluginManager;pluginManager?.onPluginsChange&&this.addSub(pluginManager.onPluginsChange(()=>{this._localeName&&this._applyPluginLocales(this._localeName)})),this.addSub(this._ctx.sub((0,_sharedConfigKey__rspack_import_2.T)("localeName"),async localeName=>{if(!localeName)return;this._localeName=localeName;let definition=await (0,_localeRegistry__rspack_import_3.s)(localeName);("en"===localeName||this._localeName===localeName)&&(this._applyPluginLocales(localeName),this._applyOverrides(localeName,definition))})),this.addSub(this._ctx.sub((0,_sharedConfigKey__rspack_import_2.T)("localeDefinitionOverride"),localeDefinitionOverride=>{if(!localeDefinitionOverride)return;let definition=localeDefinitionOverride[this._localeName];definition&&this._applyOverrides(this._localeName,definition)}))}_applyOverrides(localeName,definition){let overrides=this._cfg.localeDefinitionOverride?.[localeName];for(let[key,value]of Object.entries(definition)){let overriddenValue=overrides?.[key];this._ctx.add(localeStateKey(key),overriddenValue??value,!0)}}_applyPluginLocales(localeName){let pluginManager=this._sharedInstancesBag.pluginManager;if(pluginManager)for(let entry of pluginManager.snapshot().i18n){let{pluginId:_pluginId,...locales}=entry,pluginDefinition=locales[localeName];if(pluginDefinition)for(let[key,value]of Object.entries(pluginDefinition))void 0!==value&&this._ctx.add(localeStateKey(key),value,!0)}}}},3076(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{D:()=>ModalEvents,P:()=>ModalManager});var _lit_shared_instances__rspack_import_0=__webpack_require__(5890);let ModalEvents=Object.freeze({ADD:"modal:add",DELETE:"modal:delete",OPEN:"modal:open",CLOSE:"modal:close",CLOSE_ALL:"modal:closeAll",DESTROY:"modal:destroy"});class ModalManager extends _lit_shared_instances__rspack_import_0.jM{registerModal(id,modal){this._modals.set(id,modal),this._notify(ModalEvents.ADD,{id,modal})}deleteModal(id){let modal=this._modals.get(id);return!!modal&&(this._modals.delete(id),this._activeModals.delete(id),this._notify(ModalEvents.DELETE,{id,modal}),!0)}open(id){let modal=this._modals.get(id);return modal?(this._activeModals.add(id),this._notify(ModalEvents.OPEN,{modal,id}),!0):(this._debugPrint(`Modal with ID "${id}" not found`),!1)}close(id){let modal=this._modals.get(id);return modal&&this._activeModals.has(id)?(this._activeModals.delete(id),this._notify(ModalEvents.CLOSE,{id,modal}),!0):(this._debugPrint(`Modal with ID "${id}" not found or not active`),!1)}toggle(id){return this._modals.has(id)?this._activeModals.has(id)?this.close(id):this.open(id):(this._debugPrint(`Modal with ID "${id}" not found`),!1)}get hasActiveModals(){return this._activeModals.size>0}back(){if(0===this._activeModals.size)return this._debugPrint("No active modals to go back from"),!1;let lastModalId=Array.from(this._activeModals).pop();return!!lastModalId&&this.close(lastModalId)}closeAll(){let count=this._activeModals.size;return this._activeModals.clear(),this._notify(ModalEvents.CLOSE_ALL,{}),count}subscribe(event,callback){return this._subscribers.has(event)||this._subscribers.set(event,new Set),this._subscribers.get(event)?.add(callback),()=>this.unsubscribe(event,callback)}unsubscribe(event,callback){this._subscribers.has(event)&&this._subscribers.get(event)?.delete(callback)}_notify(event,data){if(this._subscribers.has(event))for(let callback of this._subscribers.get(event)??new Set)try{callback(data)}catch(error){this._sharedInstancesBag.telemetryManager.sendEventError(error,"modal subscriber"),this._debugPrint("Error in modal subscriber:",error)}}destroy(){super.destroy(),this.closeAll(),this._modals.clear(),this._subscribers.clear(),this._notify(ModalEvents.DESTROY,{})}constructor(...args){super(...args),this._modals=new Map,this._activeModals=new Set,this._subscribers=new Map}}},1971(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{T:()=>sharedConfigKey});let sharedConfigKey=key=>`*cfg/${key}`},4252(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{r:()=>CameraSource});var lit=__webpack_require__(7825),lit_decorators=__webpack_require__(7093),LitActivityBlock=__webpack_require__(5923),LitUploaderBlock=__webpack_require__(5544),comma_separated=__webpack_require__(9101),debounce=__webpack_require__(4441),stringToArray=__webpack_require__(2513),UploadSource=__webpack_require__(5730),EventEmitter=__webpack_require__(9963),ref=__webpack_require__(2258),style_map=__webpack_require__(5350),constants=__webpack_require__(5973);function _ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}let DEFAULT_VIDEO_CONFIG={width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}},DEFAULT_PERMISSIONS=["camera","microphone"];function formatTime(time){let minutes=Math.floor(time/60).toString().padStart(2,"0"),seconds=Math.floor(time%60).toString().padStart(2,"0");return`${minutes}:${seconds}`}let DEFAULT_PICTURE_FORMAT="image/jpeg",DEFAULT_VIDEO_FORMAT="video/webm";class CameraSource extends LitUploaderBlock.z{_attachPreviewListeners(videoElement){this._detachPreviewListeners(videoElement),videoElement.addEventListener("play",this._handlePreviewPlay),videoElement.addEventListener("pause",this._handlePreviewPause)}_detachPreviewListeners(videoElement){videoElement?.removeEventListener("play",this._handlePreviewPlay),videoElement?.removeEventListener("pause",this._handlePreviewPause)}_setVideoSource(stream){this._currentVideoSource!==stream&&(this._currentVideoSource=stream,this._applyVideoSource())}_applyVideoSource(){let videoElement=this._videoRef.value;if(!videoElement)return;let nextSource=this._currentVideoSource??null;videoElement.srcObject!==nextSource&&(videoElement.srcObject=nextSource)}_shot(){if(this._setCameraState("shot"),this._canvas=document.createElement("canvas"),this._ctx=this._canvas.getContext("2d"),!this._ctx)throw Error("Failed to get canvas context");let videoEl=this._videoRef.value;if(!videoEl)throw Error("Video element not found");this._canvas.height=videoEl.videoHeight,this._canvas.width=videoEl.videoWidth,this.cfg.cameraMirror&&(this._ctx.translate(this._canvas.width,0),this._ctx.scale(-1,1)),this._ctx.drawImage(videoEl,0,0),videoEl.pause()}_guessExtensionByMime(mime){let knownContainers={mp4:"mp4",ogg:"ogg",webm:"webm",quicktime:"mov","x-matroska":"mkv"};if(""===mime)return"webm";if(mime){let parts=mime.split("/");if(parts?.[0]==="video"){let rest=parts.slice(1).join("/"),container=rest?.split(";")[0];if(container&&knownContainers[container])return knownContainers[container]}}return"avi"}get _cameraModes(){return(0,stringToArray.G)(this.cfg.cameraModes).filter(mode=>mode===constants.S.PHOTO||mode===constants.S.VIDEO)}_teardownPermissionListeners(){if(0!==this._permissionCleanupFns.length){for(let cleanup of this._permissionCleanupFns)cleanup();this._permissionCleanupFns=[],this._unsubPermissions=null}}initCallback(){super.initCallback(),this.subConfigValue("cameraMirror",val=>{this._videoTransformCss=val?"scaleX(-1)":null}),this.subConfigValue("enableAudioRecording",val=>{this._audioToggleMicrophoneHidden=!val,this._audioSelectDisabled=!val}),this.subConfigValue("cameraModes",val=>{if(!this.isConnected)return;let cameraModes=(0,comma_separated.A)(val);this._handleCameraModes(cameraModes.filter(mode=>mode===constants.S.PHOTO||mode===constants.S.VIDEO))}),this._onActivate()}firstUpdated(changedProperties){super.firstUpdated(changedProperties),this._applyVideoSource()}updated(changedProperties){super.updated(changedProperties),this._applyVideoSource()}_destroy(){this._teardownPermissionListeners(),navigator.mediaDevices?.removeEventListener("devicechange",this._getDevices),this._detachPreviewListeners(this._videoRef.value),this._setVideoSource(null)}disconnectedCallback(){super.disconnectedCallback(),this._onDeactivate(),this._destroy()}render(){return(0,lit.qy)`<uc-activity-header><button type="button" class="uc-mini-btn" @click=${this.$["*historyBack"]} title=${this.l10n("back")} ><uc-icon name="back"></uc-icon></button><div ?hidden=${!this._cameraSelectHidden}><uc-icon name="camera"></uc-icon><span>${this.l10n("caption-camera")}</span></div><uc-select class="uc-camera-select" .options=${this._cameraSelectOptions} ?hidden=${this._cameraSelectHidden} @change=${this._handleCameraSelectChange} ></uc-select><button type="button" class="uc-mini-btn uc-close-btn" @click=${this.$["*closeModal"]} title=${this.l10n("a11y-activity-header-button-close")} aria-label=${this.l10n("a11y-activity-header-button-close")} ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><video muted autoplay playsinline style=${(0,style_map.W)({transform:this._videoTransformCss})} ?hidden=${this._videoHidden} ${(0,ref.K)(this._videoRef)} ></video><div class="uc-message-box" ?hidden=${this._messageHidden}><span>${this.l10n(this._l10nMessage)}</span><button type="button" @click=${this._handleRequestPermissions} ?hidden=${this._requestBtnHidden} >${this.l10n("camera-permissions-request")}</button></div></div><div class="uc-controls"><div ${(0,ref.K)(this._switcherRef)} class="uc-switcher" ?hidden=${!this._timerHidden}><button data-id="photo" type="button" class="uc-switch uc-mini-btn" @click=${this._handleClickTab} ?hidden=${this._tabCameraHidden} data-testid="tab-photo" ><uc-icon name="camera"></uc-icon></button><button data-id="video" type="button" class="uc-switch uc-mini-btn" @click=${this._handleClickTab} ?hidden=${this._tabVideoHidden} data-testid="tab-video" ><uc-icon name="video-camera"></uc-icon></button></div><button class="uc-secondary-btn uc-recording-timer" @click=${this._handleToggleRecording} ?hidden=${this._timerHidden} data-testid="recording-timer" ><uc-icon name=${this._currentTimelineIcon}></uc-icon><span ${(0,ref.K)(this._timerRef)}> 00:00 </span><span ${(0,ref.K)(this._lineRef)} class="uc-line"></span></button><div class="uc-camera-actions uc-camera-action" ?hidden=${this._cameraActionsHidden} ><button type="button" class="uc-secondary-btn" @click=${this._handleRetake}> Retake </button><button type="button" class="uc-primary-btn" @click=${this._handleAccept} data-testid="accept" > Accept </button></div><button type="button" data-testid="shot" @click=${this._handleStartCamera} class=${this._mutableClassButton} ?hidden=${this._cameraHidden} ><uc-icon name=${this._currentIcon}></uc-icon></button><div class="uc-select"><button type="button" class="uc-mini-btn uc-btn-microphone" @click=${this._handleToggleAudio} ?hidden=${this._audioToggleMicrophoneHidden} data-testid="toggle-microphone" ><uc-icon name=${this._toggleMicrophoneIcon}></uc-icon></button><uc-select class="uc-audio-select" .options=${this._audioSelectOptions} ?hidden=${this._audioSelectHidden} ?disabled=${this._audioSelectDisabled} @change=${this._handleAudioSelectChange} data-testid="audio-select" ></uc-select></div></div>`}constructor(...args){super(...args),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=()=>{this._startTimeline(),this._currentTimelineIcon="pause"},this._handlePreviewPause=()=>{this._currentTimelineIcon="play",this._stopTimeline()},this._timerRef=(0,ref._)(),this._lineRef=(0,ref._)(),this._videoRef=(0,ref._)(),this._switcherRef=(0,ref._)(),this._startTime=0,this._elapsedTime=0,this._videoTransformCss=null,this._videoHidden=!0,this._messageHidden=!0,this._requestBtnHidden=void 0!==navigator.permissions,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=()=>{if(this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{event:"start-camera",node:this.tagName,tabId:this._activeTab}}}),this._activeTab===constants.S.PHOTO&&this._shot(),this._activeTab===constants.S.VIDEO){if(this._mediaRecorder?.state==="recording")return void this._stopRecording();this._startRecording()}},this._handleCameraSelectChange=event=>{let target=event.target;target&&(this._selectedCameraId=target.value,this._capture())},this._handleAudioSelectChange=event=>{let target=event.target;target&&(this._selectedAudioId=target.value,this._capture())},this._handleRequestPermissions=()=>{this._capture()},this._handleStartCamera=()=>{this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{event:"shot-camera",node:this.tagName,tabId:this._activeTab}}}),this._chooseActionWithCamera()},this._handleToggleRecording=()=>{this._toggleRecording()},this._handleToggleAudio=()=>{this._toggleEnableAudio()},this._handleRetake=()=>{this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{event:"retake-camera",node:this.tagName,tabId:this._activeTab}}}),this._retake()},this._handleAccept=()=>{this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{event:"accept-camera",node:this.tagName,tabId:this._activeTab}}}),this._accept()},this._handleClickTab=event=>{let target=event.currentTarget,id=target?.getAttribute("data-id");id&&this._handleActiveTab(id)},this._updateTimer=()=>{let currentTime=Math.floor((performance.now()-this._startTime+this._elapsedTime)/1e3);if("number"==typeof this.cfg.maxVideoRecordingDuration&&this.cfg.maxVideoRecordingDuration>0){let remainingTime=this.cfg.maxVideoRecordingDuration-currentTime;if(remainingTime<=0){let timer=this._timerRef.value;timer&&(timer.textContent=formatTime(remainingTime)),this._stopRecording();return}let timer=this._timerRef.value;timer&&(timer.textContent=formatTime(remainingTime))}else{let timer=this._timerRef.value;timer&&(timer.textContent=formatTime(currentTime))}this._animationFrameId=requestAnimationFrame(this._updateTimer)},this._startTimer=()=>{this._startTime=performance.now(),this._elapsedTime=0,this._updateTimer()},this._stopTimer=()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)},this._startTimeline=()=>{let video=this._videoRef.value;if(!video)return;let currentTime=video.currentTime,duration=video.duration||1,line=this._lineRef.value;line&&(line.style.transform=`scaleX(${currentTime/duration})`);let timer=this._timerRef.value;timer&&(timer.textContent=formatTime(currentTime)),this._animationFrameId=requestAnimationFrame(this._startTimeline)},this._stopTimeline=()=>{this._animationFrameId&&cancelAnimationFrame(this._animationFrameId)},this._animationFrameId=null,this._startRecording=()=>{try{this._chunks=[],this._options={...this.cfg.mediaRecorderOptions};let{mimeType}=this.cfg.mediaRecorderOptions||{};mimeType&&MediaRecorder.isTypeSupported(mimeType)?this._options.mimeType=mimeType: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",event=>{this._chunks.push(event.data)}),this._startTimer(),this.classList.add("uc-recording"),this._setCameraState(constants.q.PLAY))}catch(error){console.error("Failed to start recording",error),this.telemetryManager.sendEventError(error,"camera recording. Failed to start recording")}},this._stopRecording=()=>{this._mediaRecorder?.addEventListener("stop",()=>{this._previewVideo(),this._stopTimer(),this._setCameraState(constants.q.STOP)}),this._mediaRecorder?.stop(),this.classList.remove("uc-recording"),this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{event:"stop-camera",node:this.tagName,tabId:this._activeTab}}})},this._toggleRecording=()=>{if(this._mediaRecorder?.state==="recording")return;let videoEl=this._videoRef.value;videoEl&&(videoEl.paused||videoEl.ended||!(videoEl.readyState>2)?videoEl.paused&&videoEl.play():videoEl.pause())},this._toggleEnableAudio=()=>{this._stream?.getAudioTracks().forEach(track=>{track.enabled=!track.enabled,this._toggleMicrophoneIcon=track.enabled?"microphone":"microphone-mute",this._audioSelectDisabled=!track.enabled})},this._previewVideo=()=>{try{let blob=new Blob(this._chunks,{type:this._mediaRecorder?.mimeType}),videoURL=URL.createObjectURL(blob),videoElement=this._videoRef.value;if(!videoElement)return;videoElement.muted=!1,videoElement.volume=1,this._setVideoSource(null),videoElement.src=videoURL,this._attachPreviewListeners(videoElement)}catch(error){console.error("Failed to preview video",error),this.telemetryManager.sendEventError(error,"camera previewing. Failed to preview video")}},this._retake=()=>{if(this._setCameraState(constants.q.RETAKE),this._activeTab===constants.S.VIDEO){this._setVideoSource(this._stream);let videoElement=this._videoRef.value;videoElement&&(videoElement.muted=!0)}this._videoRef.value?.play?.()},this._accept=()=>{if(this._setCameraState(constants.q.ACCEPT),this._activeTab===constants.S.PHOTO)return void this._canvas?.toBlob(blob=>{if(!blob)return;let file=this._createFile("camera","jpeg",DEFAULT_PICTURE_FORMAT,blob);this._toSend(file)},DEFAULT_PICTURE_FORMAT);let blob=new Blob(this._chunks,{type:this._mediaRecorder?.mimeType}),ext=this._guessExtensionByMime(this._mediaRecorder?.mimeType),file=this._createFile("video",ext,`video/${ext}`,blob);this._toSend(file),this._chunks=[]},this._handlePhoto=status=>{status===constants.q.SHOT&&(this._tabVideoHidden=!0,this._cameraHidden=!0,this._tabCameraHidden=!0,this._cameraActionsHidden=!1,this._cameraSelectHidden=!0),(status===constants.q.RETAKE||status===constants.q.ACCEPT)&&(this._tabVideoHidden=!this._cameraModes.includes(constants.S.VIDEO),this._tabCameraHidden=!this._cameraModes.includes(constants.S.PHOTO),this._cameraHidden=!1,this._cameraActionsHidden=!0,this._cameraSelectHidden=this._cameraDevices.length<=1)},this._handleVideo=status=>{status===constants.q.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"),status===constants.q.STOP&&(this._timerHidden=!1,this._cameraHidden=!0,this._audioToggleMicrophoneHidden=!0,this._cameraActionsHidden=!1),(status===constants.q.RETAKE||status===constants.q.ACCEPT)&&(this._timerHidden=!0,this._tabVideoHidden=!this._cameraModes.includes(constants.S.VIDEO),this._tabCameraHidden=!this._cameraModes.includes(constants.S.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)},this._setCameraState=status=>{this._activeTab===constants.S.PHOTO&&("shot"===status||"retake"===status||"accept"===status)&&this._handlePhoto(status),this._activeTab===constants.S.VIDEO&&("play"===status||"stop"===status||"retake"===status||"accept"===status||"pause"===status||"resume"===status)&&this._handleVideo(status)},this._handleActiveTab=tabId=>{let switcher=this._switcherRef.value;switcher?.querySelectorAll("button").forEach(btn=>{btn.classList.toggle("uc-active",btn.getAttribute("data-id")===tabId)}),tabId===constants.S.PHOTO&&(this._currentIcon="camera-full",this._audioSelectHidden=!0,this._audioToggleMicrophoneHidden=!0),tabId===constants.S.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({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{event:"camera-tab-switch",node:this.tagName,tabId}}}),this._activeTab=tabId},this._createFile=(type,ext,format,blob)=>{let date=Date.now();return new File([blob],`${type}-${date}.${ext}`,{lastModified:date,type:format})},this._toSend=file=>{this.api.addFileFromObject(file,{source:UploadSource.pc.CAMERA}),this.set$({"*currentActivity":LitActivityBlock.S.activities.UPLOAD_LIST}),this.modalManager?.open(LitActivityBlock.S.activities.UPLOAD_LIST)},this._setPermissionsState=(0,debounce.s)(state=>{this.classList.toggle("uc-initialized","granted"===state);let visibleAudio=this._activeTab===constants.S.VIDEO&&this.cfg.enableAudioRecording,currentIcon=this._activeTab===constants.S.PHOTO?"camera-full":"video-camera-full";"granted"===state?(this._videoHidden=!1,this._cameraHidden=!1,this._tabCameraHidden=!this._cameraModes.includes(constants.S.PHOTO),this._tabVideoHidden=!this._cameraModes.includes(constants.S.VIDEO),this._messageHidden=!0,this._timerHidden=!0,this._currentIcon=currentIcon,this._audioToggleMicrophoneHidden=!visibleAudio,this._audioSelectHidden=!visibleAudio):("prompt"===state?(this._l10nMessage="camera-permissions-prompt",this._videoHidden=!0,this._cameraHidden=!0,this._tabCameraHidden=!0,this._messageHidden=!1):(this._l10nMessage="camera-permissions-denied",this._videoHidden=!0,this._messageHidden=!1,this._tabCameraHidden=!this._cameraModes.includes(constants.S.PHOTO),this._tabVideoHidden=!this._cameraModes.includes(constants.S.VIDEO),this._cameraActionsHidden=!0,this._mutableClassButton="uc-shot-btn uc-camera-action"),this._stopCapture())},300),this._makeStreamInactive=()=>{if(!this._stream)return!1;let audioTracks=this._stream?.getAudioTracks(),videoTracks=this._stream?.getVideoTracks();return audioTracks.forEach(track=>{track.stop()}),videoTracks.forEach(track=>{track.stop()}),!0},this._stopCapture=()=>{if(this._capturing){this._videoRef.value&&(this._videoRef.value.volume=0);let tracks=this._currentVideoSource?.getTracks?.();tracks?.[0]?.stop(),this._detachPreviewListeners(this._videoRef.value),this._setVideoSource(null),this._makeStreamInactive(),this._stopTimer(),this._capturing=!1}},this._capture=async()=>{let constraints={video:{...DEFAULT_VIDEO_CONFIG},audio:!!this.cfg.enableAudioRecording&&{}};this._selectedCameraId&&(constraints.video={deviceId:{exact:this._selectedCameraId}}),this._selectedAudioId&&this.cfg.enableAudioRecording&&(constraints.audio={deviceId:{exact:this._selectedAudioId}}),this._videoRef.value&&(this._videoRef.value.volume=0);try{this._setPermissionsState("prompt"),this._stream=await navigator.mediaDevices.getUserMedia(constraints),this._stream.addEventListener("inactive",()=>{this._setPermissionsState("denied")}),this._setVideoSource(this._stream),this._capturing=!0,this._setPermissionsState("granted")}catch(error){this._setPermissionsState("denied"),console.log("Failed to capture camera",error),this.telemetryManager.sendEventError(error,"camera capturing. Failed to capture camera")}},this._handlePermissionsChange=()=>{this._capture()},this._permissionAccess=async()=>{try{for(let permission of(this._teardownPermissionListeners(),DEFAULT_PERMISSIONS)){let response=await navigator.permissions.query({name:permission});this._permissionResponses[permission]=response,response.addEventListener("change",this._handlePermissionsChange),this._permissionCleanupFns.push(()=>{response.removeEventListener("change",this._handlePermissionsChange)})}this._unsubPermissions=()=>{this._teardownPermissionListeners()}}catch(error){this._teardownPermissionListeners(),console.log("Failed to use permissions API. Fallback to manual request mode.",error),this.telemetryManager.sendEventError(error,"camera permissions. Failed to use permissions API"),this._capture()}},this._requestDeviceAccess=async()=>{try{await navigator.mediaDevices.getUserMedia({video:!0,audio:this.cfg.enableAudioRecording}),await this._getDevices(),navigator.mediaDevices.addEventListener("devicechange",this._getDevices)}catch(error){this.telemetryManager.sendEventError(error,"camera devices. Failed to get user media"),console.log("Failed to get user media",error)}},this._getDevices=async()=>{try{let devices=await navigator.mediaDevices.enumerateDevices();this._cameraDevices=devices.filter(device=>"videoinput"===device.kind).map((device,index)=>({text:device.label.trim()||`${this.l10n("caption-camera")} ${index+1}`,value:device.deviceId})),this._audioDevices=this.cfg.enableAudioRecording?devices.filter(device=>"audioinput"===device.kind).map(device=>({text:device.label.trim(),value:device.deviceId})):[],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}catch(error){this.telemetryManager.sendEventError(error,"camera devices. Failed to get devices"),console.log("Failed to get devices",error)}},this._onActivate=async()=>{await this._permissionAccess(),await this._requestDeviceAccess(),await this._capture(),this._handleCameraModes(this._cameraModes)},this._onDeactivate=async()=>{this._unsubPermissions&&this._unsubPermissions(),window.chrome||this._setPermissionsState("denied"),this._stopCapture()},this._handleCameraModes=cameraModes=>{this._tabVideoHidden=!cameraModes.includes(constants.S.VIDEO),this._tabCameraHidden=!cameraModes.includes(constants.S.PHOTO);let defaultTab=cameraModes[0];!defaultTab||this._activeTab&&cameraModes.includes(this._activeTab)||this._handleActiveTab(defaultTab)}}}_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_videoTransformCss",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_videoHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_messageHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_requestBtnHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_cameraSelectOptions",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_cameraSelectHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_l10nMessage",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_timerHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_cameraHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_cameraActionsHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_audioSelectOptions",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_audioSelectHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_audioSelectDisabled",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_audioToggleMicrophoneHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_tabCameraHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_tabVideoHidden",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_currentIcon",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_currentTimelineIcon",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_toggleMicrophoneIcon",void 0),_ts_decorate([(0,lit_decorators.wk)()],CameraSource.prototype,"_mutableClassButton",void 0)},5973(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{S:()=>CameraSourceTypes,q:()=>CameraSourceEvents});let CameraSourceTypes=Object.freeze({PHOTO:"photo",VIDEO:"video"}),CameraSourceEvents=Object.freeze({IDLE:"idle",SHOT:"shot",PLAY:"play",PAUSE:"pause",RESUME:"resume",STOP:"stop",RETAKE:"retake",ACCEPT:"accept"})},8996(__unused_rspack_module,__webpack_exports__,__webpack_require__){function setSvgNodeAttrs(node,attrs){for(let[name,value]of Object.entries(attrs))node.setAttributeNS(null,name,value.toString())}function createSvgNode(name,attrs={}){let node=document.createElementNS("http://www.w3.org/2000/svg",name);return setSvgNodeAttrs(node,attrs),node}function cornerPath(rect,direction,sizeMultiplier){let{x,y,width,height}=rect,wMul=+!direction.includes("w"),hMul=+!direction.includes("n"),xSide=0===wMul?-1:1,ySide=0===hMul?-1:1,p1=[x+wMul*width+1.5*xSide,y+hMul*height+1.5*ySide-24*sizeMultiplier*ySide],p2=[x+wMul*width+1.5*xSide,y+hMul*height+1.5*ySide],p3=[x+wMul*width-24*sizeMultiplier*xSide+1.5*xSide,y+hMul*height+1.5*ySide];return{d:`M ${p1[0]} ${p1[1]} L ${p2[0]} ${p2[1]} L ${p3[0]} ${p3[1]}`,center:[p2[0],p2[1]]}}function sidePath(rect,direction,sizeMultiplier){let p1,p2,{x,y,width,height}=rect,isHorizontal="n"===direction||"s"===direction,wMul=isHorizontal?.5:+("w"!==direction),hMul="w"===direction||"e"===direction?.5:+("n"!==direction),xSide="w"===direction?-1:+("e"===direction),ySide="n"===direction?-1:+("s"===direction);return isHorizontal?(p1=[x+wMul*width-34*sizeMultiplier/2,y+hMul*height+1.5*ySide],p2=[x+wMul*width+34*sizeMultiplier/2,y+hMul*height+1.5*ySide]):(p1=[x+wMul*width+1.5*xSide,y+hMul*height-34*sizeMultiplier/2],p2=[x+wMul*width+1.5*xSide,y+hMul*height+34*sizeMultiplier/2]),{d:`M ${p1[0]} ${p1[1]} L ${p2[0]} ${p2[1]}`,center:[(p1[0]+p2[0])/2,(p1[1]+p2[1])/2]}}function thumbCursor(direction){return""===direction?"move":["e","w"].includes(direction)?"ew-resize":["n","s"].includes(direction)?"ns-resize":["nw","se"].includes(direction)?"nwse-resize":"nesw-resize"}function moveRect({rect,delta:[dx,dy],imageBox}){return constraintRect({...rect,x:rect.x+dx,y:rect.y+dy},imageBox)}function constraintRect(rect1,rect2){let{x}=rect1,{y}=rect1;return rect1.x<rect2.x?x=rect2.x:rect1.x+rect1.width>rect2.x+rect2.width&&(x=rect2.x+rect2.width-rect1.width),rect1.y<rect2.y?y=rect2.y:rect1.y+rect1.height>rect2.y+rect2.height&&(y=rect2.y+rect2.height-rect1.height),{...rect1,x,y}}function resizeRect({direction,...rest}){switch(direction){case"n":return function({rect,delta,aspectRatio,imageBox}){let[,dy]=delta,{y,width,height}=rect;y+=dy,height-=dy,aspectRatio&&(width=height*aspectRatio);let x=rect.x+rect.width/2-width/2;return y<=imageBox.y&&(y=imageBox.y,height=rect.y+rect.height-y,aspectRatio&&(width=height*aspectRatio,x=rect.x+rect.width/2-width/2)),x<=imageBox.x&&(x=imageBox.x,y=rect.y+rect.height-height),x+width>=imageBox.x+imageBox.width&&(x=Math.max(imageBox.x,imageBox.x+imageBox.width-width),width=imageBox.x+imageBox.width-x,aspectRatio&&(height=width/aspectRatio),y=rect.y+rect.height-height),height<1&&(height=1,aspectRatio&&(width=height*aspectRatio,x=rect.x+rect.width/2-width/2),y=rect.y+rect.height-height),width<1&&(width=1,aspectRatio&&(height=width/aspectRatio,x=rect.x+rect.width/2-width/2),y=rect.y+rect.height-height),{x,y,width,height}}(rest);case"w":return function({rect,delta,aspectRatio,imageBox}){let[dx]=delta,{x,width,height}=rect;x+=dx,width-=dx,aspectRatio&&(height=width/aspectRatio);let y=rect.y+rect.height/2-height/2;return x<=imageBox.x&&(x=imageBox.x,width=rect.x+rect.width-x,aspectRatio&&(height=width/aspectRatio,y=rect.y+rect.height/2-height/2)),y<=imageBox.y&&(y=imageBox.y,x=rect.x+rect.width-width),y+height>=imageBox.y+imageBox.height&&(y=Math.max(imageBox.y,imageBox.y+imageBox.height-height),height=imageBox.y+imageBox.height-y,aspectRatio&&(width=height*aspectRatio),x=rect.x+rect.width-width),height<1&&(height=1,aspectRatio&&(width=height*aspectRatio),y=rect.y+rect.height/2-height/2,x=rect.x+rect.width-width),width<1&&(width=1,aspectRatio&&(height=width/aspectRatio),y=rect.y+rect.height/2-height/2,x=rect.x+rect.width-width),{x,y,width,height}}(rest);case"s":return function({rect,delta,aspectRatio,imageBox}){let[,dy]=delta,{y,width,height}=rect;height+=dy,aspectRatio&&(width=height*aspectRatio);let x=rect.x+rect.width/2-width/2;return y+height>=imageBox.y+imageBox.height&&(height=imageBox.y+imageBox.height-y,aspectRatio&&(width=height*aspectRatio),x=rect.x+rect.width/2-width/2),x<=imageBox.x&&(x=imageBox.x,y=rect.y),x+width>=imageBox.x+imageBox.width&&(x=Math.max(imageBox.x,imageBox.x+imageBox.width-width),width=imageBox.x+imageBox.width-x,aspectRatio&&(height=width/aspectRatio),y=rect.y),height<1&&(height=1,aspectRatio&&(width=height*aspectRatio),x=rect.x+rect.width/2-width/2),width<1&&(width=1,aspectRatio&&(height=width/aspectRatio),x=rect.x+rect.width/2-width/2),{x,y,width,height}}(rest);case"e":return function({rect,delta,aspectRatio,imageBox}){let[dx]=delta,{x,width,height}=rect;width+=dx,aspectRatio&&(height=width/aspectRatio);let y=rect.y+rect.height/2-height/2;return x+width>=imageBox.x+imageBox.width&&(width=imageBox.x+imageBox.width-x,aspectRatio&&(height=width/aspectRatio),y=rect.y+rect.height/2-height/2),y<=imageBox.y&&(y=imageBox.y,x=rect.x),y+height>=imageBox.y+imageBox.height&&(y=Math.max(imageBox.y,imageBox.y+imageBox.height-height),height=imageBox.y+imageBox.height-y,aspectRatio&&(width=height*aspectRatio),x=rect.x),height<1&&(height=1,aspectRatio&&(width=height*aspectRatio),y=rect.y+rect.height/2-height/2),width<1&&(width=1,aspectRatio&&(height=width/aspectRatio),y=rect.y+rect.height/2-height/2),{x,y,width,height}}(rest);case"nw":return function({rect,delta,aspectRatio,imageBox}){let[dx,dy]=delta,{x,y,width,height}=rect;return x+dx<imageBox.x&&(dx=imageBox.x-x),y+dy<imageBox.y&&(dy=imageBox.y-y),x+=dx,width-=dx,y+=dy,height-=dy,aspectRatio&&Math.abs(width/height)>aspectRatio?(dy=width/aspectRatio-height,height+=dy,(y-=dy)<=imageBox.y&&(height-=imageBox.y-y,width=height*aspectRatio,x=rect.x+rect.width-width,y=imageBox.y)):aspectRatio&&(dx=height*aspectRatio-width,width+=dx,(x-=dx)<=imageBox.x&&(width-=imageBox.x-x,height=width/aspectRatio,x=imageBox.x,y=rect.y+rect.height-height)),height<1&&(height=1,aspectRatio&&(width=height*aspectRatio),x=rect.x+rect.width-width,y=rect.y+rect.height-height),width<1&&(width=1,aspectRatio&&(height=width/aspectRatio),x=rect.x+rect.width-width,y=rect.y+rect.height-height),{x,y,width,height}}(rest);case"ne":return function({rect,delta,aspectRatio,imageBox}){let[dx,dy]=delta,{x,y,width,height}=rect;return x+width+dx>imageBox.x+imageBox.width&&(dx=imageBox.x+imageBox.width-x-width),y+dy<imageBox.y&&(dy=imageBox.y-y),width+=dx,y+=dy,height-=dy,aspectRatio&&Math.abs(width/height)>aspectRatio?(dy=width/aspectRatio-height,height+=dy,(y-=dy)<=imageBox.y&&(height-=imageBox.y-y,width=height*aspectRatio,x=rect.x,y=imageBox.y)):aspectRatio&&(dx=height*aspectRatio-width,x+(width+=dx)>=imageBox.x+imageBox.width&&(height=(width=imageBox.x+imageBox.width-x)/aspectRatio,x=imageBox.x+imageBox.width-width,y=rect.y+rect.height-height)),height<1&&(height=1,aspectRatio&&(width=height*aspectRatio),y=rect.y+rect.height-height),width<1&&(width=1,aspectRatio&&(height=width/aspectRatio),y=rect.y+rect.height-height),{x,y,width,height}}(rest);case"sw":return function({rect,delta,aspectRatio,imageBox}){let[dx,dy]=delta,{x,y,width,height}=rect;return x+dx<imageBox.x&&(dx=imageBox.x-x),y+height+dy>imageBox.y+imageBox.height&&(dy=imageBox.y+imageBox.height-y-height),x+=dx,width-=dx,height+=dy,aspectRatio&&Math.abs(width/height)>aspectRatio?(dy=width/aspectRatio-height,y+(height+=dy)>=imageBox.y+imageBox.height&&(width=(height=imageBox.y+imageBox.height-y)*aspectRatio,x=rect.x+rect.width-width,y=imageBox.y+imageBox.height-height)):aspectRatio&&(dx=height*aspectRatio-width,width+=dx,(x-=dx)<=imageBox.x&&(width-=imageBox.x-x,height=width/aspectRatio,x=imageBox.x,y=rect.y)),height<1&&(height=1,aspectRatio&&(width=height*aspectRatio),x=rect.x+rect.width-width),width<1&&(width=1,aspectRatio&&(height=width/aspectRatio),x=rect.x+rect.width-width),{x,y,width,height}}(rest);case"se":return function({rect,delta,aspectRatio,imageBox}){let[dx,dy]=delta,{x,y,width,height}=rect;return x+width+dx>imageBox.x+imageBox.width&&(dx=imageBox.x+imageBox.width-x-width),y+height+dy>imageBox.y+imageBox.height&&(dy=imageBox.y+imageBox.height-y-height),width+=dx,height+=dy,aspectRatio&&Math.abs(width/height)>aspectRatio?(dy=width/aspectRatio-height,y+(height+=dy)>=imageBox.y+imageBox.height&&(width=(height=imageBox.y+imageBox.height-y)*aspectRatio,x=rect.x,y=imageBox.y+imageBox.height-height)):aspectRatio&&(dx=height*aspectRatio-width,x+(width+=dx)>=imageBox.x+imageBox.width&&(height=(width=imageBox.x+imageBox.width-x)/aspectRatio,x=imageBox.x+imageBox.width-width,y=rect.y)),height<1&&(height=1,aspectRatio&&(width=height*aspectRatio)),width<1&&(width=1,aspectRatio&&(height=width/aspectRatio)),{x,y,width,height}}(rest);default:return rest.rect}}function rectContainsPoint(rect,[x,y]){return rect.x<=x&&x<=rect.x+rect.width&&rect.y<=y&&y<=rect.y+rect.height}function isRectInsideRect(rect1,rect2){return rect1.x>=rect2.x&&rect1.y>=rect2.y&&rect1.x+rect1.width<=rect2.x+rect2.width&&rect1.y+rect1.height<=rect2.y+rect2.height}function isRectMatchesAspectRatio(rect,aspectRatio){return .1>Math.abs(rect.width/rect.height-aspectRatio)}function rotateSize({width,height},angle){let swap=angle/90%2!=0;return{width:swap?height:width,height:swap?width:height}}function calculateMaxCenteredCropFrame(width,height,aspectRatio){let cropWidth,cropHeight;width/height>aspectRatio?(cropWidth=Math.round(height*aspectRatio),cropHeight=height):(cropWidth=width,cropHeight=Math.round(width/aspectRatio));let cropX=Math.round((width-cropWidth)/2),cropY=Math.round((height-cropHeight)/2);return cropX+cropWidth>width&&(cropWidth=width-cropX),cropY+cropHeight>height&&(cropHeight=height-cropY),{x:cropX,y:cropY,width:cropWidth,height:cropHeight}}function roundRect(rect){return{x:Math.round(rect.x),y:Math.round(rect.y),width:Math.round(rect.width),height:Math.round(rect.height)}}function clamp(value,min,max){return Math.min(Math.max(value,min),max)}__webpack_require__.d(__webpack_exports__,{BT:()=>rotateSize,F2:()=>setSvgNodeAttrs,VH:()=>cornerPath,YH:()=>constraintRect,Ze:()=>isRectInsideRect,_J:()=>moveRect,_c:()=>rectContainsPoint,dz:()=>resizeRect,fN:()=>sidePath,l8:()=>createSvgNode,n:()=>isRectMatchesAspectRatio,qE:()=>clamp,rH:()=>roundRect,u3:()=>calculateMaxCenteredCropFrame,vv:()=>thumbCursor})},5342(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{j:()=>parseCropPreset,t:()=>getClosestAspectRatio});var _utils_stringToArray__rspack_import_0=__webpack_require__(2513),_utils_UID__rspack_import_1=__webpack_require__(5446);let EXCLUDED_TYPES=["free"],parseCropPreset=cropPreset=>{let items=(0,_utils_stringToArray__rspack_import_0.G)(cropPreset);if(!items||0===items.length)return[];let result=[];for(let item of items){let raw=item.trim();if(!raw)continue;let sep=raw.indexOf(":");if(-1===sep&&!EXCLUDED_TYPES.includes(raw)){console.warn(`Invalid crop preset: ${raw}`);continue}let w=Number(raw.slice(0,sep)),h=Number(raw.slice(sep+1));if((!Number.isFinite(w)||!Number.isFinite(h)||w<=0||h<=0)&&!EXCLUDED_TYPES.includes(raw)){console.warn(`Invalid crop preset: ${raw}`);continue}result.push({id:_utils_UID__rspack_import_1.V.generateFastUid(),type:"aspect-ratio",width:EXCLUDED_TYPES.includes(raw)?0:w,height:EXCLUDED_TYPES.includes(raw)?0:h,hasFreeform:EXCLUDED_TYPES.includes(raw)})}return result},getClosestAspectRatio=(width,height,ratios,tolerance=.1)=>{let inputRatio=width/height,closest=null,minDiff=1/0;for(let r of ratios){let[w,h]=[r.width,r.height],diff=Math.abs(inputRatio-w/h);diff<minDiff&&(minDiff=diff,closest=r)}if(closest){let[cw,ch]=[closest.width,closest.height],closestRatio=cw/ch;if(Math.abs(inputRatio-closestRatio)/closestRatio>tolerance)return null}return closest}},8930(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{ON:()=>transformationsToOperations,jO:()=>COMMON_OPERATIONS,yj:()=>OPERATIONS_DEFAULTS,ym:()=>operationsToTransformations});var _utils_cdn_utils_js__rspack_import_0=__webpack_require__(6339),_utils_stringToArray_js__rspack_import_1=__webpack_require__(2513);let OPERATIONS_DEFAULTS=Object.freeze({brightness:0,exposure:0,gamma:100,contrast:0,saturation:0,vibrance:0,warmth:0,enhance:0,filter:0,rotate:0,mirror:!1,flip:!1,crop:void 0}),SUPPORTED_OPERATIONS_ORDERED=["enhance","brightness","exposure","gamma","contrast","saturation","vibrance","warmth","filter","mirror","flip","rotate","crop"];function transformationsToOperations(transformations){return(0,_utils_cdn_utils_js__rspack_import_0.OB)(...SUPPORTED_OPERATIONS_ORDERED.filter(operation=>void 0!==transformations[operation]&&null!==transformations[operation]).map(operation=>{let options=transformations[operation];return function(operation,options){if("number"==typeof options)return OPERATIONS_DEFAULTS[operation]!==options?`${operation}/${options}`:"";if("boolean"==typeof options)return OPERATIONS_DEFAULTS[operation]!==options?`${operation}`:"";if("filter"===operation&&options){let{name,amount}=options;return OPERATIONS_DEFAULTS.filter===amount?"":`${operation}/${name}/${amount}`}if("crop"===operation&&options){let{dimensions,coords}=options;return`${operation}/${dimensions.join("x")}/${coords.join(",")}`}return""}(operation,options)}).filter(str=>!!str))}let COMMON_OPERATIONS=(0,_utils_cdn_utils_js__rspack_import_0.OB)("format/auto","progressive/yes"),asNumber=([value])=>void 0!==value?Number(value):void 0,asBoolean=()=>!0,OPERATION_PROCESSORS=Object.freeze({enhance:asNumber,brightness:asNumber,exposure:asNumber,gamma:asNumber,contrast:asNumber,saturation:asNumber,vibrance:asNumber,warmth:asNumber,filter:([name,amount])=>({name,amount:void 0!==amount?Number(amount):100}),mirror:asBoolean,flip:asBoolean,rotate:asNumber,crop:args=>{let[dimensions,alignment]=args,{dimensions:parsedDimensions,coords}=(([dimensions,alignment])=>{if(!/\d+x\d+/.test(dimensions)||!/\d+,\d+/.test(alignment))throw Error("Crop by aspect ratio, percentage or alignment shortcuts is not supported.");return{dimensions:(0,_utils_stringToArray_js__rspack_import_1.G)(dimensions,"x").map(Number),coords:(0,_utils_stringToArray_js__rspack_import_1.G)(alignment).map(Number)}})([dimensions,alignment]);return{dimensions:parsedDimensions,coords:coords}}});function operationsToTransformations(operations){let transformations={};for(let operation of operations){let[name,...args]=operation.split("/");if(!name||!SUPPORTED_OPERATIONS_ORDERED.includes(name))continue;let processor=OPERATION_PROCESSORS[name];try{let value=processor(args);transformations[name]=value}catch(err){console.warn([`Failed to parse URL operation "${operation}". It will be ignored.`,err instanceof Error?`Error message: "${err.message}"`:err,"If you need this functionality, please feel free to open an issue at https://github.com/uploadcare/blocks/issues/new"].join("\n"))}}return transformations}},1583(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{DY:()=>ALL_COLOR_OPERATIONS,UA:()=>COLOR_OPERATIONS_CONFIG,XB:()=>TabId,Y_:()=>ALL_CROP_OPERATIONS,_6:()=>ALL_FILTERS,nz:()=>ALL_TABS});var _lib_transformationUtils_js__rspack_import_0=__webpack_require__(8930);let TabId=Object.freeze({CROP:"crop",TUNING:"tuning",FILTERS:"filters"}),ALL_TABS=Object.freeze([TabId.CROP,TabId.TUNING,TabId.FILTERS]),ALL_COLOR_OPERATIONS=Object.freeze(["brightness","exposure","gamma","contrast","saturation","vibrance","warmth","enhance"]),ALL_FILTERS=Object.freeze(["adaris","briaril","calarel","carris","cynarel","cyren","elmet","elonni","enzana","erydark","fenralan","ferand","galen","gavin","gethriel","iorill","iothari","iselva","jadis","lavra","misiara","namala","nerion","nethari","pamaya","sarnar","sedis","sewen","sorahel","sorlen","tarian","thellassan","varriel","varven","vevera","virkas","yedis","yllara","zatvel","zevcen"]),ALL_CROP_OPERATIONS=Object.freeze(["rotate","mirror","flip"]),NUMERIC_OPERATION_DEFAULTS=_lib_transformationUtils_js__rspack_import_0.yj,COLOR_OPERATIONS_CONFIG=Object.freeze({brightness:{zero:NUMERIC_OPERATION_DEFAULTS.brightness,range:[-100,100],keypointsNumber:2},exposure:{zero:NUMERIC_OPERATION_DEFAULTS.exposure,range:[-500,500],keypointsNumber:2},gamma:{zero:NUMERIC_OPERATION_DEFAULTS.gamma,range:[0,1e3],keypointsNumber:2},contrast:{zero:NUMERIC_OPERATION_DEFAULTS.contrast,range:[-100,500],keypointsNumber:2},saturation:{zero:NUMERIC_OPERATION_DEFAULTS.saturation,range:[-100,500],keypointsNumber:1},vibrance:{zero:NUMERIC_OPERATION_DEFAULTS.vibrance,range:[-100,500],keypointsNumber:1},warmth:{zero:NUMERIC_OPERATION_DEFAULTS.warmth,range:[-100,100],keypointsNumber:1},enhance:{zero:NUMERIC_OPERATION_DEFAULTS.enhance,range:[0,100],keypointsNumber:1},filter:{zero:NUMERIC_OPERATION_DEFAULTS.filter,range:[0,100],keypointsNumber:1}})},5642(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{T:()=>Config});var sharedConfigKey=__webpack_require__(1971),toKebabCase=__webpack_require__(2402),debounce=__webpack_require__(4441),warnOnce=__webpack_require__(6783);let ASSERTIONS=[{test:cfg=>!!cfg.accept&&!!cfg.imgOnly,message:"There could be a mistake.\nBoth `accept` and `imgOnly` parameters are set.\nThe value of `accept` will be concatenated with the internal image mime types list."},{test:cfg=>null!==cfg.enableVideoRecording,message:"The `enableVideoRecording` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."},{test:cfg=>null!==cfg.defaultCameraMode,message:"The `defaultCameraMode` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."}],runAssertions=(0,debounce.s)(cfg=>{for(let{test,message}of ASSERTIONS)test(cfg)&&(0,warnOnce.m)(message)},0);var LitBlock=__webpack_require__(8288);let async_c=async n=>{let s=new TextEncoder().encode(n),e=Array.from(new Uint8Array(await window.crypto.subtle.digest("SHA-256",s))).map(a=>a.toString(16).padStart(2,"0")).join("");return BigInt(`0x${e}`)},d=async n=>(e=>{if(e<=0n)return"0";let r="";for(;e>0n;)r="0123456789abcdefghijklmnopqrstuvwxyz"[Number(e%36n)]+r,e/=36n;return r})(await async_c(n)).slice(0,10),f=async(n,s)=>{var e;let n1;return e=await d(n),(n1=new URL(s)).hostname=`${e}.${n1.hostname}`,n1.toString().replace(/\/$/,"")};var comma_separated=__webpack_require__(9101);let isPromiseLike=value=>value instanceof Promise||!!(value&&"object"==typeof value&&"then"in value&&"function"==typeof value.then);var UploadSource=__webpack_require__(5730),initialConfig=__webpack_require__(318);let withLazyPlugins=async({plugins,entries,signal})=>{let current=plugins(),lazyIds=new Set(entries.map(e=>e.pluginId)),userPlugins=current.filter(p=>!lazyIds.has(p?.id)),loadResults=await Promise.all(entries.map(async entry=>{if(!entry.isEnabled())return null;let existing=current.find(p=>p?.id===entry.pluginId);if(existing)return existing;try{let plugin=await entry.load();if(signal.aborted||!entry.isEnabled())return null;return plugin??null}catch(error){return signal.aborted||console.warn(`[${entry.pluginId}] Failed to load plugin`,error),null}}));if(signal.aborted)return current;let next=[...userPlugins,...loadResults.filter(p=>null!==p)];return next.length===current.length&&next.every((p,i)=>p===current[i])?current:next},COMPUTED_PROPERTIES=[{key:"cameraModes",deps:["enableVideoRecording"],fn:({cameraModes,enableVideoRecording})=>{let evr=enableVideoRecording();if(null===evr)return cameraModes();let cameraModesCsv=(0,comma_separated.A)(cameraModes());return evr&&!cameraModesCsv.includes("video")?cameraModesCsv=cameraModesCsv.concat("video"):evr||(cameraModesCsv=cameraModesCsv.filter(mode=>"video"!==mode)),(0,comma_separated.L)(cameraModesCsv)}},{key:"cameraModes",deps:["defaultCameraMode"],fn:({cameraModes,defaultCameraMode})=>{let dcm=defaultCameraMode();if(null===dcm)return cameraModes();let cameraModesCsv=(0,comma_separated.A)(cameraModes());return cameraModesCsv=cameraModesCsv.sort((a,b)=>a===dcm?-1:+(b===dcm)),(0,comma_separated.L)(cameraModesCsv)}},{key:"cdnCname",deps:["pubkey","cdnCnamePrefixed"],fn:({pubkey,cdnCname,cdnCnamePrefixed})=>{let pk=pubkey(),cname=cdnCname(),prefixed=cdnCnamePrefixed();return pk&&(cname===initialConfig.Tw||((e,r)=>{try{let n=new URL(e),t=new URL(r);return n.hostname.endsWith(t.hostname)}catch{return!1}})(cname,prefixed))?f(pk,prefixed):cname}},{key:"plugins",deps:["useCloudImageEditor","imageShrink","sourceList"],fn:({plugins,useCloudImageEditor,imageShrink,sourceList},{signal})=>withLazyPlugins({plugins,entries:[{pluginId:"cloud-image-editor",isEnabled:()=>!!useCloudImageEditor(),load:async()=>{let{cloudImageEditorPlugin}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,2997));return cloudImageEditorPlugin}},{pluginId:"image-shrink",isEnabled:()=>!!imageShrink(),load:async()=>{let{imageShrinkPlugin}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,5271));return imageShrinkPlugin}},{pluginId:"camera",isEnabled:()=>(0,comma_separated.A)(sourceList()).includes("camera"),load:async()=>{let{cameraPlugin}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,7777));return cameraPlugin}},{pluginId:"instagram",isEnabled:()=>(0,comma_separated.A)(sourceList()).includes("instagram"),load:async()=>{let{instagramPlugin}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,1746));return instagramPlugin}},{pluginId:"external-sources",isEnabled:()=>Object.values(UploadSource.y5).some(src=>(0,comma_separated.A)(sourceList()).includes(src)),load:async()=>{let{externalSourcesPlugin}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,2061));return externalSourcesPlugin}},{pluginId:"url-source",isEnabled:()=>(0,comma_separated.A)(sourceList()).includes("url"),load:async()=>{let{urlSourcePlugin}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,1938));return urlSourcePlugin}}],signal})}],computeProperty=({key,setValue,getValue,computationControllers})=>{for(let computed of COMPUTED_PROPERTIES)if(computed.deps.includes(key)){let result,args={[computed.key]:()=>getValue(computed.key)};for(let dep of computed.deps)args[dep]=()=>getValue(dep);let abortController=new AbortController;computationControllers.get(computed.fn)?.abort(),computationControllers.set(computed.fn,abortController);try{result=computed.fn(args,{signal:abortController.signal})}catch(error){computationControllers.get(computed.fn)===abortController&&computationControllers.delete(computed.fn),console.error(`Failed to compute value for "${computed.key}"`,error);return}isPromiseLike(result)?result.then(resolvedValue=>{abortController.signal.aborted||setValue(computed.key,resolvedValue)}).catch(error=>{abortController.signal.aborted||console.error(`Failed to compute value for "${computed.key}"`,error)}).finally(()=>{computationControllers.get(computed.fn)===abortController&&computationControllers.delete(computed.fn)}):setValue(computed.key,result)}};var constants=__webpack_require__(5973);let asString=value=>String(value),asNumber=value=>{let number=Number(value);if(Number.isNaN(number))throw Error(`Invalid number: "${value}"`);return number},asBoolean=value=>{if(null==value)return!1;if("boolean"==typeof value)return value;if("true"===value||""===value)return!0;if("false"===value)return!1;throw Error(`Invalid boolean: "${value}"`)},asObject=value=>{if("object"==typeof value)return value;throw Error("Invalid value. Must be an object.")},asFunction=value=>{if("function"==typeof value)return value;throw Error("Invalid value. Must be a function.")},asArray=value=>{if(Array.isArray(value))return value;throw Error("Must be an array.")},mapping={pubkey:asString,multiple:asBoolean,multipleMin:asNumber,multipleMax:asNumber,confirmUpload:asBoolean,imgOnly:asBoolean,accept:asString,externalSourcesPreferredTypes:asString,externalSourcesEmbedCss:asString,store:value=>"auto"===value?value:asBoolean(value),cameraMirror:asBoolean,cameraCapture:value=>{let strValue=asString(value);if("user"!==strValue&&"environment"!==strValue&&""!==strValue)throw Error(`Invalid value: "${strValue}"`);return strValue},sourceList:asString,topLevelOrigin:asString,maxLocalFileSizeBytes:asNumber,thumbSize:asNumber,showEmptyList:asBoolean,useLocalImageEditor:asBoolean,useCloudImageEditor:asBoolean,cloudImageEditorTabs:asString,removeCopyright:asBoolean,cropPreset:asString,imageShrink:asString,modalScrollLock:asBoolean,modalBackdropStrokes:asBoolean,sourceListWrap:asBoolean,remoteTabSessionKey:asString,cdnCname:asString,cdnCnamePrefixed:asString,baseUrl:asString,socialBaseUrl:asString,secureSignature:asString,secureExpire:asString,secureDeliveryProxy:asString,retryThrottledRequestMaxTimes:asNumber,retryNetworkErrorMaxTimes:asNumber,multipartMinFileSize:asNumber,multipartChunkSize:asNumber,maxConcurrentRequests:asNumber,multipartMaxConcurrentRequests:asNumber,multipartMaxAttempts:asNumber,checkForUrlDuplicates:asBoolean,saveUrlForRecurrentUploads:asBoolean,groupOutput:asBoolean,userAgentIntegration:asString,debug:asBoolean,localeName:asString,metadata:value=>{if("object"==typeof value&&!Array.isArray(value)||"function"==typeof value)return value;throw Error("Invalid metadata value. Must be an object or function.")},secureUploadsExpireThreshold:asNumber,localeDefinitionOverride:value=>asObject(value),secureUploadsSignatureResolver:value=>asFunction(value),secureDeliveryProxyUrlResolver:value=>asFunction(value),iconHrefResolver:value=>asFunction(value),plugins:value=>asArray(value),fileValidators:asArray,collectionValidators:asArray,validationTimeout:asNumber,validationConcurrency:asNumber,cameraModes:value=>{let str=asString(value),array=(0,comma_separated.A)(str);if(array.some(item=>!Object.values(constants.S).includes(item)))throw Error(`Invalid value: "${JSON.stringify(array)}"`);return str},defaultCameraMode:value=>{let strValue=asString(value);if(!Object.values(constants.S).includes(strValue))throw Error(`Invalid value: "${strValue}"`);return strValue},enableAudioRecording:asBoolean,enableVideoRecording:asBoolean,mediaRecorderOptions:asObject,maxVideoRecordingDuration:asNumber,filesViewMode:value=>{let strValue=asString(value);if(["grid","list"].includes(strValue))return strValue;throw Error(`Invalid value: "${strValue}"`)},gridShowFileNames:asBoolean,cloudImageEditorAutoOpen:asBoolean,cloudImageEditorMaskHref:asString,testMode:asBoolean,qualityInsights:asBoolean,pasteScope:value=>{let strValue=asString(value);if("local"===strValue||"global"===strValue)return strValue;if(!1===asBoolean(value))return!1;throw Error(`Invalid value: "${strValue}"`)}},allConfigKeys=[...new Set(["debug",...Object.keys(initialConfig.Dz)])],complexConfigKeys=["metadata","plugins","localeDefinitionOverride","secureUploadsSignatureResolver","secureDeliveryProxyUrlResolver","iconHrefResolver","fileValidators","collectionValidators","mediaRecorderOptions"],plainConfigKeys=allConfigKeys.filter(key=>!complexConfigKeys.includes(key)),builtinAttrKeyMapping={...Object.fromEntries(plainConfigKeys.map(key=>[(0,toKebabCase.f)(key),key])),...Object.fromEntries(plainConfigKeys.map(key=>[key.toLowerCase(),key]))},getLocalPropName=key=>`__${key}`;class Config extends LitBlock.x{_isCustomConfig(key){return this._customConfigKeys.has(key)}_getCustomConfigDefinition(key){let pluginManager=this._sharedInstancesBag.pluginManager;if(pluginManager)return pluginManager.configRegistry.get(key)}_getAttributeNames(key){return[...new Set([(0,toKebabCase.f)(key),key.toLowerCase()])]}_flushValueToAttribute(key,value){if(!complexConfigKeys.includes(key)){if(this._isCustomConfig(key)){let config=this._getCustomConfigDefinition(key);if(config?.attribute===!1)return}for(let attr of this._getAttributeNames(key))null==value?this.removeAttribute(attr):this.getAttribute(attr)!==value.toString()&&this.setAttribute(attr,value.toString())}}_flushValueToState(key,value){let stateKey=(0,sharedConfigKey.T)(key);if(this.$[stateKey]!==value)if(null==value){let defaultValue=initialConfig.Dz[key];this.$[stateKey]=void 0!==defaultValue?defaultValue:value}else this.$[stateKey]=value}_setValue(key,value){let normalizedValue;if(this._isCustomConfig(key)){let config=this._getCustomConfigDefinition(key);normalizedValue=config?.normalize?.(value)??value}else normalizedValue=((key,value)=>{if(null!=value)try{return mapping[key](value)}catch(reason){return console.error(`Invalid value for config key "${key}".`,reason),initialConfig.Dz[key]}})(key,value);let localPropName=getLocalPropName(key);this[localPropName]!==normalizedValue&&(this._assertSameValueDifferentReference(key,this[localPropName],normalizedValue),this[localPropName]=normalizedValue,this._flushValueToAttribute(key,normalizedValue),this._flushValueToState(key,normalizedValue),this.debugPrint(`"${key}"`,normalizedValue),this._isCustomConfig(key)||runAssertions(this.cfg))}_getValue(key){return this[getLocalPropName(key)]??this.$[(0,sharedConfigKey.T)(key)]}_assertSameValueDifferentReference(key,previousValue,nextValue){this.cfg.debug&&nextValue!==previousValue&&"object"==typeof nextValue&&"object"==typeof previousValue&&JSON.stringify(nextValue)===JSON.stringify(previousValue)&&(console.warn(`[uc-config] Option "${key}" value is the same as the previous one but the reference is different`),console.warn("[uc-config] You should avoid changing the reference of the object to prevent unnecessary calculations"),console.warn(`[uc-config] "${key}" previous value:`,previousValue),console.warn(`[uc-config] "${key}" new value:`,nextValue))}_processCustomConfigs(pluginManager){let customConfigs=pluginManager.configRegistry.getAll();for(let[name,unsub]of(this._customAttrKeyMapping={},this._customConfigKeys=new Set(customConfigs.keys()),this._customConfigSubscriptions))customConfigs.has(name)||(unsub(),this._customConfigSubscriptions.delete(name));for(let[name,definition]of customConfigs){let stateKey=(0,sharedConfigKey.T)(name);if(definition.attribute)for(let attrName of this._getAttributeNames(name))this._customAttrKeyMapping[attrName]=name;this.sharedCtx.has(stateKey)||this.sharedCtx.add(stateKey,definition.defaultValue);let descriptor=Object.getOwnPropertyDescriptor(this,name);if(descriptor&&descriptor.set&&descriptor.get||Object.defineProperty(this,name,{set:value=>{this._setValue(name,value)},get:()=>this._getValue(name),enumerable:!0,configurable:!0}),!this._customConfigSubscriptions.has(name)){let unsub=this.sub(stateKey,value=>{this._setValue(name,value)},!1);this._customConfigSubscriptions.set(name,unsub)}}}_setupCustomConfigs(){this._sharedInstancesBag.when("pluginManager",pluginManager=>{this._processCustomConfigs(pluginManager),this._pluginChangeUnsubscribe=pluginManager.onPluginsChange(()=>{this._processCustomConfigs(pluginManager)})})}_setupMutationObserver(){this._mutationObserver=new MutationObserver(mutations=>{for(let mutation of mutations)if("attributes"===mutation.type&&mutation.attributeName){let attrName=mutation.attributeName,oldValue=mutation.oldValue,newValue=this.getAttribute(attrName);if(oldValue===newValue||attrName in builtinAttrKeyMapping)continue;attrName in this._customAttrKeyMapping&&this.attributeChangedCallback(attrName,oldValue??"",newValue??"")}}),this._mutationObserver.observe(this,{attributes:!0,attributeOldValue:!0})}initCallback(){for(let key of(super.initCallback(),this._setupCustomConfigs(),this._setupMutationObserver(),plainConfigKeys))this.sub((0,sharedConfigKey.T)(key),value=>{this._setValue(key,value)},!1);for(let key of allConfigKeys){let initialValue=this[key]??this.$[(0,sharedConfigKey.T)(key)];initialValue!==initialConfig.Dz[key]&&this._setValue(key,initialValue);let descriptor=Object.getOwnPropertyDescriptor(this,key);descriptor&&descriptor.set&&descriptor.get||Object.defineProperty(this,key,{set:value=>{this._setValue(key,value)},get:()=>this._getValue(key)})}for(let key of allConfigKeys)this.sub((0,sharedConfigKey.T)(key),()=>{computeProperty({key,setValue:this._setValue.bind(this),getValue:this._getValue.bind(this),computationControllers:this._computationControllers})})}attributeChangedCallback(name,oldVal,newVal){if(super.attributeChangedCallback(name,oldVal,newVal),oldVal===newVal)return;let builtInKey=builtinAttrKeyMapping[name];builtInKey?this[builtInKey]=newVal:this._sharedInstancesBag.when("pluginManager",pluginManager=>{if(this.getAttribute(name)!==newVal)return;let key=this._customAttrKeyMapping[name],config=key?pluginManager.configRegistry.get(key):void 0;if(key&&config){let val=config.fromAttribute?config.fromAttribute(newVal):newVal;if(this._getValue(key)===val)return;this._setValue(key,val)}})}disconnectedCallback(){for(let unsub of(super.disconnectedCallback(),this._pluginChangeUnsubscribe&&(this._pluginChangeUnsubscribe(),this._pluginChangeUnsubscribe=void 0),this._mutationObserver&&(this._mutationObserver.disconnect(),this._mutationObserver=void 0),this._customConfigSubscriptions.values()))unsub();this._customConfigSubscriptions.clear()}static get observedAttributes(){return[...super.observedAttributes,...Object.keys(builtinAttrKeyMapping)]}constructor(...args){super(...args),this.init$={...this.init$,...Object.fromEntries(Object.entries(initialConfig.Dz).map(([key,value])=>[(0,sharedConfigKey.T)(key),value]))},this._computationControllers=new Map,this._customAttrKeyMapping={},this._customConfigKeys=new Set,this._customConfigSubscriptions=new Map}}for(let key of allConfigKeys)Config.prototype[key]=void 0},318(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Dz:()=>initialConfig,Tw:()=>DEFAULT_CDN_CNAME});var _utils_comma_separated__rspack_import_0=__webpack_require__(9101),_CloudImageEditor_src_toolbar_constants__rspack_import_1=__webpack_require__(1583);let DEFAULT_CDN_CNAME="https://ucarecdn.com",initialConfig=Object.freeze({pubkey:"",multiple:!0,multipleMin:0,multipleMax:Number.MAX_SAFE_INTEGER,confirmUpload:!1,imgOnly:!1,accept:"",externalSourcesPreferredTypes:"",externalSourcesEmbedCss:"",store:"auto",cameraMirror:!1,cameraCapture:"",sourceList:"local, url, camera, dropbox, gdrive",topLevelOrigin:"",maxLocalFileSizeBytes:0,thumbSize:76,showEmptyList:!1,useLocalImageEditor:!1,removeCopyright:!1,cropPreset:"",imageShrink:"",modalScrollLock:!0,modalBackdropStrokes:!1,sourceListWrap:!0,remoteTabSessionKey:"",cdnCname:DEFAULT_CDN_CNAME,cdnCnamePrefixed:"https://ucarecd.net",baseUrl:"https://upload.uploadcare.com",socialBaseUrl:"https://social.uploadcare.com",secureSignature:"",secureExpire:"",secureDeliveryProxy:"",retryThrottledRequestMaxTimes:3,retryNetworkErrorMaxTimes:3,multipartMinFileSize:0x1900000,multipartChunkSize:5242880,maxConcurrentRequests:10,multipartMaxConcurrentRequests:4,multipartMaxAttempts:3,checkForUrlDuplicates:!1,saveUrlForRecurrentUploads:!1,groupOutput:!1,userAgentIntegration:"",debug:!1,metadata:null,localeName:"en",localeDefinitionOverride:null,secureUploadsExpireThreshold:6e5,secureUploadsSignatureResolver:null,secureDeliveryProxyUrlResolver:null,iconHrefResolver:null,fileValidators:[],collectionValidators:[],validationTimeout:15e3,validationConcurrency:100,cameraModes:"photo, video",defaultCameraMode:null,enableAudioRecording:!0,enableVideoRecording:null,maxVideoRecordingDuration:null,mediaRecorderOptions:null,filesViewMode:"list",gridShowFileNames:!1,useCloudImageEditor:!0,cloudImageEditorAutoOpen:!1,cloudImageEditorTabs:(0,_utils_comma_separated__rspack_import_0.L)(_CloudImageEditor_src_toolbar_constants__rspack_import_1.nz),cloudImageEditorMaskHref:null,testMode:!1,qualityInsights:!0,pasteScope:"local",plugins:[]})},7860(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{B:()=>ExternalSource});var LitActivityBlock=__webpack_require__(5923),stringToArray=__webpack_require__(2513),UploadSource=__webpack_require__(5730);let escapeRegExp=str=>str.replace(/[\\-\\[]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),wildcardRegexp=(str,flags="i")=>{let parts=str.split("*").map(escapeRegExp);return RegExp(`^${parts.join(".+")}$`,flags)},ucCustomProperties=["--uc-font-family","--uc-font-size","--uc-line-height","--uc-button-size","--uc-preview-size","--uc-input-size","--uc-padding","--uc-radius","--uc-transition","--uc-background","--uc-foreground","--uc-primary","--uc-primary-hover","--uc-primary-transparent","--uc-primary-foreground","--uc-secondary","--uc-secondary-hover","--uc-secondary-foreground","--uc-muted","--uc-muted-foreground","--uc-destructive","--uc-destructive-foreground","--uc-border"],getCssValue=(element,propName)=>window.getComputedStyle(element).getPropertyValue(propName).trim();var lit=__webpack_require__(7825),lit_decorators=__webpack_require__(7093),ref=__webpack_require__(2258),LitUploaderBlock=__webpack_require__(5544);let MESSAGE_TYPE_WHITELIST=["selected-files-change","toolbar-state-change"];class MessageBridge{constructor(context,getTargetOrigin){this._handlerMap=new Map,this._handleMessage=e=>{if(e.source!==this._context)return;let message=e.data;if(!(message=>{if(!message||"object"!=typeof message||!("type"in message))return!1;let type=message.type;return"string"==typeof type&&!!MESSAGE_TYPE_WHITELIST.includes(type)})(message))return;let handlers=this._handlerMap.get(message.type);if(handlers)for(let handler of handlers)handler(message)},this._context=context,this._getTargetOrigin=getTargetOrigin,window.addEventListener("message",this._handleMessage)}on(type,handler){let handlers=this._handlerMap.get(type)??new Set;this._handlerMap.has(type)||this._handlerMap.set(type,handlers),handlers.add(handler)}send(message){let targetOrigin=this._getTargetOrigin();this._context.postMessage(message,targetOrigin)}destroy(){window.removeEventListener("message",this._handleMessage)}}function _ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}let SOCIAL_SOURCE_MAPPING={[UploadSource.y5.GDRIVE]:"ngdrive"};class ExternalSource extends LitUploaderBlock.z{get _counterText(){if(!this._latestSelectionSummary)return"";let{selectedCount,total}=this._latestSelectionSummary;return this.l10n("selected-count",{count:selectedCount,total})}get activityParams(){let params=super.activityParams;if("externalSourceType"in params)return params;throw Error("External Source activity params not found")}initCallback(){super.initCallback();let{externalSourceType}=this.activityParams;externalSourceType?this._mountIframe():console.error('Param "externalSourceType" is required for external source activity'),this.sub("*currentActivityParams",()=>{setTimeout(()=>{this.isConnected&&(this._unmountIframe(),this._mountIframe())})}),this.subConfigValue("multiple",multiple=>{this._showSelectionStatus=multiple}),this.subConfigValue("localeName",()=>{this._setupL10n()}),this.subConfigValue("externalSourcesEmbedCss",embedCss=>{this._applyEmbedCss(embedCss)})}_extractUrlFromSelectedFile(selectedFile){if(selectedFile.alternatives)for(let preferredType of(0,stringToArray.G)(this.cfg.externalSourcesPreferredTypes)){let regexp=wildcardRegexp(preferredType);for(let[type,typeUrl]of Object.entries(selectedFile.alternatives))if(regexp.test(type))return typeUrl}return selectedFile.url}_handleToolbarStateChange(message){this._toolbarVisible=message.isVisible}async _handleSelectedFilesChange(message){this.cfg.multiple!==message.isMultipleMode?console.error("Multiple mode mismatch"):(this._setSelectionSummary(message.selectedCount,message.total),this._doneBtnTextClass=message.isReady?"":"uc-hidden",this._isSelectionReady=message.isReady,this._isDoneBtnEnabled=message.isReady&&message.selectedFiles.length>0,this._showSelectionStatus=message.isMultipleMode&&message.total>0,this._couldSelectAll=message.selectedCount<message.total,this._couldDeselectAll=message.selectedCount===message.total,this._selectedList=message.selectedFiles??[],this._showDoneBtn=message.total>0)}_handleIframeLoad(){this._applyEmbedCss(this.cfg.externalSourcesEmbedCss),this._applyTheme(),this._setupL10n()}_applyTheme(){this._messageBridge?.send({type:"set-theme-definition",theme:(element=>{let theme={};for(let prop of ucCustomProperties){let value=getCssValue(element,prop);value&&(theme[prop]=value)}return theme})(this)})}_applyEmbedCss(css){this._messageBridge?.send({type:"set-embed-css",css})}_setupL10n(){this._messageBridge?.send({type:"set-locale-definition",localeDefinition:this.cfg.localeName})}_remoteUrl(){let{pubkey,remoteTabSessionKey,socialBaseUrl,multiple}=this.cfg,{externalSourceType}=this.activityParams,sourceName=SOCIAL_SOURCE_MAPPING[externalSourceType]??externalSourceType,params={lang:this.l10n("social-source-lang")?.split("-")?.[0]||"en",public_key:pubkey,images_only:(!1).toString(),session_key:remoteTabSessionKey,wait_for_theme:!0,multiple:multiple.toString(),origin:this.cfg.topLevelOrigin||(()=>{let topLevelWindow=globalThis.top??globalThis.parent??globalThis.self;try{return topLevelWindow.location.origin}catch(e){return console.warn("Unable to access top-level window location:",e),globalThis.location.origin}})(),debug:this.cfg.debug},url=new URL(`/window4/${sourceName}`,socialBaseUrl);return url.search=function(params){let list=[];for(let[key,value]of Object.entries(params))null!=value&&("string"!=typeof value||0!==value.length)&&list.push(`${key}=${encodeURIComponent(value)}`);return list.join("&")}(params),url.toString()}_setSelectionSummary(selectedCount,total){this._latestSelectionSummary={selectedCount,total}}_mountIframe(){let iframe=document.createElement("iframe");iframe.src=this._remoteUrl(),iframe.marginHeight=0,iframe.marginWidth=0,iframe.frameBorder="0",iframe.allowTransparency=!0,iframe.addEventListener("load",this._handleIframeLoad.bind(this)),iframe.addEventListener("load",this._handleIframeLoad.bind(this)),this._iframeRef.value&&(this._iframeRef.value.innerHTML="",this._iframeRef.value.appendChild(iframe)),iframe.contentWindow&&(this._messageBridge?.destroy(),this._messageBridge=new MessageBridge(iframe.contentWindow,()=>this.cfg.socialBaseUrl),this._messageBridge.on("selected-files-change",this._handleSelectedFilesChange.bind(this)),this._messageBridge.on("toolbar-state-change",this._handleToolbarStateChange.bind(this)),this._resetSelectionStatus())}_unmountIframe(){this._messageBridge?.destroy(),this._messageBridge=void 0,this._iframeRef.value&&(this._iframeRef.value.innerHTML=""),this._resetSelectionStatus()}_resetSelectionStatus(){this._selectedList=[],this._isSelectionReady=!1,this._isDoneBtnEnabled=!1,this._couldSelectAll=!1,this._couldDeselectAll=!1,this._showSelectionStatus=!1,this._showDoneBtn=!1,this._doneBtnTextClass="uc-hidden",this._latestSelectionSummary=null}disconnectedCallback(){super.disconnectedCallback(),this._unmountIframe()}render(){return(0,lit.qy)`<uc-activity-header><button type="button" class="uc-mini-btn uc-close-btn" @click=${this.$["*historyBack"]} title=${this.l10n("a11y-activity-header-button-close")} aria-label=${this.l10n("a11y-activity-header-button-close")} ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-content"><div ${(0,ref.K)(this._iframeRef)} class="uc-iframe-wrapper"></div><div class="uc-toolbar" ?hidden=${!this._toolbarVisible}><button type="button" class="uc-cancel-btn uc-secondary-btn" @click=${this._handleCancel}>${this.l10n("cancel")}</button><div class="uc-selection-status-box" ?hidden=${!this._showSelectionStatus}><span>${this._counterText}</span><button type="button" @click=${this._handleSelectAll} ?hidden=${!this._couldSelectAll}>${this.l10n("select-all")}</button><button type="button" @click=${this._handleDeselectAll} ?hidden=${!this._couldDeselectAll}>${this.l10n("deselect-all")}</button></div><button type="button" class="uc-done-btn uc-primary-btn" @click=${this._handleDone} ?disabled=${!this._isDoneBtnEnabled} ?hidden=${!this._showDoneBtn} ><uc-spinner ?hidden=${this._isSelectionReady}></uc-spinner><span class=${this._doneBtnTextClass}>${this.l10n("done")}</span></button></div></div>`}constructor(...args){super(...args),this.couldBeCtxOwner=!0,this._iframeRef=(0,ref._)(),this._latestSelectionSummary=null,this._selectedList=[],this._isSelectionReady=!1,this._isDoneBtnEnabled=!1,this._couldSelectAll=!1,this._couldDeselectAll=!1,this._showSelectionStatus=!1,this._showDoneBtn=!1,this._doneBtnTextClass="uc-hidden",this._toolbarVisible=!0,this._handleDone=()=>{for(let message of this._selectedList){let url=this._extractUrlFromSelectedFile(message),{filename}=message,{externalSourceType}=this.activityParams;this.api.addFileFromUrl(url,{fileName:filename,source:externalSourceType})}this.$["*currentActivity"]=LitActivityBlock.S.activities.UPLOAD_LIST,this.modalManager?.open(LitActivityBlock.S.activities.UPLOAD_LIST)},this._handleCancel=()=>{this.historyBack()},this._handleSelectAll=()=>{this._messageBridge?.send({type:"select-all"})},this._handleDeselectAll=()=>{this._messageBridge?.send({type:"deselect-all"})}}}_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_selectedList",void 0),_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_isSelectionReady",void 0),_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_isDoneBtnEnabled",void 0),_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_couldSelectAll",void 0),_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_couldDeselectAll",void 0),_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_showSelectionStatus",void 0),_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_showDoneBtn",void 0),_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_doneBtnTextClass",void 0),_ts_decorate([(0,lit_decorators.wk)()],ExternalSource.prototype,"_toolbarVisible",void 0)},8610(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{I:()=>Icon});var lit__rspack_import_0=__webpack_require__(7825),lit_decorators_js__rspack_import_1=__webpack_require__(7093),lit_directives_unsafe_svg_js__rspack_import_2=__webpack_require__(640),_lit_LitBlock__rspack_import_3=__webpack_require__(8288);function _ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}class Icon extends _lit_LitBlock__rspack_import_3.x{initCallback(){super.initCallback(),this.setAttribute("aria-hidden","true"),this.subConfigValue("iconHrefResolver",resolver=>{this._iconHrefResolver=resolver,this._updateResolvedHref()});let pluginManager=this._sharedInstancesBag.pluginManager;pluginManager?.onPluginsChange&&(this._unsubscribePlugins=pluginManager.onPluginsChange(()=>this._updateResolvedHref()))}willUpdate(changedProperties){super.willUpdate(changedProperties),changedProperties.has("name")&&this._updateResolvedHref()}_updateResolvedHref(){if(!this.name){this._resolvedHref="",this._pluginSvg=null;return}let pluginManager=this._sharedInstancesBag.pluginManager,pluginIcon=pluginManager?.snapshot().icons.find(icon=>icon.name===this.name);if(pluginIcon){this._pluginSvg=pluginIcon.svg,this._resolvedHref="";return}this._pluginSvg=null;let defaultHref=`#uc-icon-${this.name}`,customHref=this._iconHrefResolver?.(this.name);this._resolvedHref=customHref??defaultHref}render(){return this._pluginSvg?(0,lit__rspack_import_0.qy)`${this.yield("",(0,lit__rspack_import_0.qy)`${(0,lit_directives_unsafe_svg_js__rspack_import_2.T)(this._pluginSvg)}`)}`:(0,lit__rspack_import_0.qy)` ${this.yield("",(0,lit__rspack_import_0.qy)`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><use href=${this._resolvedHref}></use></svg>`)} `}disconnectedCallback(){this._unsubscribePlugins?.(),this._unsubscribePlugins=void 0,super.disconnectedCallback()}constructor(...args){super(...args),this.name="",this._resolvedHref="",this._pluginSvg=null,this._iconHrefResolver=null}}_ts_decorate([(0,lit_decorators_js__rspack_import_1.MZ)({type:String})],Icon.prototype,"name",void 0),_ts_decorate([(0,lit_decorators_js__rspack_import_1.wk)()],Icon.prototype,"_resolvedHref",void 0),_ts_decorate([(0,lit_decorators_js__rspack_import_1.wk)()],Icon.prototype,"_pluginSvg",void 0)},9963(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Bx:()=>EventType,Kc:()=>InternalEventType,bk:()=>EventEmitter});var _lit_shared_instances__rspack_import_0=__webpack_require__(5890);let InternalEventType=Object.freeze({INIT_SOLUTION:"init-solution",CHANGE_CONFIG:"change-config",ACTION_EVENT:"action-event",ERROR_EVENT:"error-event"}),EventType=Object.freeze({FILE_ADDED:"file-added",FILE_REMOVED:"file-removed",FILE_UPLOAD_START:"file-upload-start",FILE_UPLOAD_PROGRESS:"file-upload-progress",FILE_UPLOAD_SUCCESS:"file-upload-success",FILE_UPLOAD_FAILED:"file-upload-failed",FILE_URL_CHANGED:"file-url-changed",MODAL_OPEN:"modal-open",MODAL_CLOSE:"modal-close",DONE_CLICK:"done-click",UPLOAD_CLICK:"upload-click",ACTIVITY_CHANGE:"activity-change",COMMON_UPLOAD_START:"common-upload-start",COMMON_UPLOAD_PROGRESS:"common-upload-progress",COMMON_UPLOAD_SUCCESS:"common-upload-success",COMMON_UPLOAD_FAILED:"common-upload-failed",CHANGE:"change",GROUP_CREATED:"group-created"});class EventEmitter extends _lit_shared_instances__rspack_import_0.jM{bindTarget(target){return this._targets.add(target),()=>{this._targets.delete(target)}}_dispatch(type,payload){for(let target of this._targets)target.dispatchEvent(new CustomEvent(type,{detail:payload}));this._debugPrint?.(()=>[`event "${type}"`,payload&&"object"==typeof payload?{...payload}:payload])}emit(type,payload,options={}){let{debounce}=options;if("number"!=typeof debounce&&!debounce)return void this._dispatch(type,"function"==typeof payload?payload():payload);this._timeoutStore.has(type)&&window.clearTimeout(this._timeoutStore.get(type));let timeoutId=window.setTimeout(()=>{try{let data="function"==typeof payload?payload():payload;this._dispatch(type,data),this._timeoutStore.delete(type)}catch(error){this._debugPrint?.(()=>`Error while getting payload for event "${type}"`,error)}},"number"==typeof debounce?debounce:20);this._timeoutStore.set(type,timeoutId)}destroy(){for(let timeoutId of this._timeoutStore.values())window.clearTimeout(timeoutId);this._targets.clear()}constructor(...args){super(...args),this._timeoutStore=new Map,this._targets=new Set}}},8130(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{T:()=>UrlSource});var lit__rspack_import_0=__webpack_require__(7825),lit_decorators_js__rspack_import_1=__webpack_require__(7093),lit_directives_ref_js__rspack_import_2=__webpack_require__(2258),_lit_LitActivityBlock__rspack_import_6=__webpack_require__(5923),_lit_LitUploaderBlock__rspack_import_3=__webpack_require__(5544),_utils_UploadSource__rspack_import_5=__webpack_require__(5730),_UploadCtxProvider_EventEmitter__rspack_import_4=__webpack_require__(9963);class UrlSource extends _lit_LitUploaderBlock__rspack_import_3.z{firstUpdated(){let input=this._inputRef.value;input&&(input.value="",input.focus())}render(){return(0,lit__rspack_import_0.qy)`<uc-activity-header><button type="button" class="uc-mini-btn" @click=${this.historyBack} title=${this.l10n("back")} aria-label=${this.l10n("back")}><uc-icon name="back"></uc-icon></button><div><uc-icon name="url"></uc-icon><span>${this.l10n("caption-from-url")}</span></div><button type="button" class="uc-mini-btn uc-close-btn" @click=${this.$["*closeModal"]} title=${this.l10n("a11y-activity-header-button-close")} aria-label=${this.l10n("a11y-activity-header-button-close")} ><uc-icon name="close"></uc-icon></button></uc-activity-header><form class="uc-content" @submit=${this._handleUpload}><label><input ${(0,lit_directives_ref_js__rspack_import_2.K)(this._inputRef)} placeholder="https://" class="uc-url-input" type="text" @input=${this._handleInput} /></label><button type="submit" class="uc-url-upload-btn uc-primary-btn" ?disabled=${this._formState.importDisabled} >${this.l10n("upload-url")}</button></form>`}constructor(...args){super(...args),this._formState={importDisabled:!0},this._inputRef=(0,lit_directives_ref_js__rspack_import_2._)(),this._handleInput=event=>{let value=event.target?.value??"";this._formState={importDisabled:!value}},this._handleUpload=event=>{event.preventDefault(),this.telemetryManager.sendEvent({eventType:_UploadCtxProvider_EventEmitter__rspack_import_4.Kc.ACTION_EVENT,payload:{metadata:{event:"upload-from-url",node:this.tagName}}});let input=this._inputRef.value,url=input?.value?.trim();url&&(this.api.addFileFromUrl(url,{source:_utils_UploadSource__rspack_import_5.pc.URL}),this.$["*currentActivity"]=_lit_LitActivityBlock__rspack_import_6.S.activities.UPLOAD_LIST,this.modalManager?.open(_lit_LitActivityBlock__rspack_import_6.S.activities.UPLOAD_LIST))}}}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators_js__rspack_import_1.wk)()],UrlSource.prototype,"_formState",void 0)},5704(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{r:()=>PACKAGE_NAME,i:()=>PACKAGE_VERSION});var package_namespaceObject=JSON.parse('{"rE":"1.28.0-alpha.111"}');let PACKAGE_NAME="blocks",PACKAGE_VERSION=package_namespaceObject.rE},3361(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{N:()=>CssDataMixin});let ESCAPED_PATTERN=/\\([0-9a-fA-F]{1,6} ?)/g;function CssDataMixin(ctor){return class extends ctor{getCssData(propName,silentCheck=!1){let cssDataCache=this._cssDataCache??Object.create(null);if(!Object.keys(cssDataCache).includes(propName)||!cssDataCache[propName]){this._computedStyle||(this._computedStyle=window.getComputedStyle(this));let val=this._computedStyle.getPropertyValue(propName).trim();try{cssDataCache[propName]=function(input){let output=input;if(!(input.length<2)&&('"'===input[0]||"'"===input[0])&&('"'===input[input.length-1]||"'"===input[input.length-1])){let result;('"'===(result=output)[0]||"'"===result[0])&&(result=result.slice(1)),('"'===result[result.length-1]||"'"===result[result.length-1])&&(result=result.slice(0,-1)),output='"'+(output=function(str){let result="",prev="";for(let i=0;i<str.length;i++){let next=str[i+1];"\\"===str[i]&&'"'===next?(result+='\\"',i++):'"'===str[i]&&"\\"!==prev?result+='\\"':result+=str[i],prev=str[i]??""}return result}(output=(output=(output=result).replace(ESCAPED_PATTERN,(_match,group)=>String.fromCodePoint(parseInt(group.trim(),16)))).replaceAll("\\\n","\\n")))+'"'}try{return JSON.parse(output)}catch(_error){return}}(val)}catch(error){silentCheck||console.warn(`CSS Data error: ${propName}`,error),cssDataCache[propName]=null}}return this._cssDataCache=cssDataCache,cssDataCache[propName]}constructor(...args){super(...args),this._cssDataCache=null,this._computedStyle=null}}}},7337(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Q:()=>LightDomMixin});var lit__rspack_import_0=__webpack_require__(7825);function LightDomMixin(ctor){return class extends ctor{createRenderRoot(){return this}connectedCallback(){this._initialLightDomChildren||(this._initialLightDomChildren=Array.from(this.childNodes)),super.connectedCallback()}_adoptChildren(){if(this._hasAdoptedChildren)return;this._hasAdoptedChildren=!0,this._slotsMap={};let directChildren=Array.from(this.childNodes);for(let child of directChildren.length?directChildren:this._initialLightDomChildren??[]){let slotName=this._getSlotNameForChild(child),slotContent=this._slotsMap[slotName]??[];child instanceof Element&&(child.removeAttribute("slot"),child.removeAttribute("content-for")),slotContent.push(child),this._slotsMap[slotName]=slotContent}this._initialLightDomChildren=null}_getSlotNameForChild(child){return child instanceof Comment&&child.nextSibling instanceof Element?this._getSlotNameForChild(child.nextSibling):"contentFor"in child?child.contentFor||"":child instanceof Element&&child.hasAttribute("content-for")&&child.getAttribute("content-for")||""}_isTextNodeEmpty(node){return!node.textContent||!node.textContent.trim()}_isSlotEmpty(slot){let content=this._slotsMap[slot];return!content||content.every(child=>child instanceof Comment||child instanceof Text&&this._isTextNodeEmpty(child))}update(changedProperties){!this.hasUpdated&&this.willYield&&this._adoptChildren(),super.update(changedProperties)}yield(slot,defaultContent){if(""===slot&&!this._slotsMap[slot]&&!this._hasAdoptedChildren&&this._initialLightDomChildren?.length){let slotContent=[];for(let child of this._initialLightDomChildren)child instanceof Element&&(child.removeAttribute("slot"),child.removeAttribute("content-for")),slotContent.push(child);this._slotsMap[slot]=slotContent,this._hasAdoptedChildren=!0,this._initialLightDomChildren=null}let slotContent=this._slotsMap[slot];return(0,lit__rspack_import_0.qy)`
|
|
2
|
+
${slotContent}
|
|
3
|
+
${this._isSlotEmpty(slot)?defaultContent:void 0}
|
|
4
|
+
`}constructor(...args){super(...args),this.willYield=!0,this._slotsMap={},this._initialLightDomChildren=null,this._hasAdoptedChildren=!1}}}},5923(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{S:()=>LitActivityBlock});var _abstract_CTX__rspack_import_2=__webpack_require__(7992),_blocks_UploadCtxProvider_EventEmitter__rspack_import_1=__webpack_require__(9963),_utils_debounce__rspack_import_3=__webpack_require__(4441),_activity_constants__rspack_import_4=__webpack_require__(7715),_LitBlock__rspack_import_0=__webpack_require__(8288);let ACTIVE_ATTR="active",ACTIVE_PROP="___ACTIVITY_IS_ACTIVE___";class LitActivityBlock extends _LitBlock__rspack_import_0.x{_deactivate(){let actDesc=LitActivityBlock._activityCallbacks.get(this);this[ACTIVE_PROP]=!1,this.removeAttribute(ACTIVE_ATTR),actDesc?.deactivateCallback?.()}_activate(){let actDesc=LitActivityBlock._activityCallbacks.get(this);this.$["*historyBack"]=this.historyBack.bind(this),this[ACTIVE_PROP]=!0,this.setAttribute(ACTIVE_ATTR,""),actDesc?.activateCallback?.(),this._debouncedHistoryFlush(),this.emit(_blocks_UploadCtxProvider_EventEmitter__rspack_import_1.Bx.ACTIVITY_CHANGE,{activity:this.activityType})}initCallback(){super.initCallback(),this.activityType&&(this.hasAttribute("activity")||this.setAttribute("activity",this.activityType),this.sub("*currentActivity",val=>{try{this.activityType!==val&&this[ACTIVE_PROP]?this._deactivate():this.activityType!==val||this[ACTIVE_PROP]||this._activate()}catch(err){this.telemetryManager.sendEventError(err,`activity "${this.activityType}"`),console.error(`Error in activity "${this.activityType}". `,err);let nextActivity=this.$["*history"][this.$["*history"].length-1];this.$["*currentActivity"]=nextActivity??null}val||(this.$["*history"]=[])}))}_historyFlush(){let history=this.$["*history"];history&&(history.length>10&&(history=history.slice(history.length-11,history.length-1)),this.historyTracked&&history[history.length-1]!==this.activityType&&history.push(this.activityType),this.$["*history"]=history)}_isActivityRegistered(){return!!this.activityType&&LitActivityBlock._activityCallbacks.has(this)}static{this._activityCallbacks=new Map}get isActivityActive(){return!!this[ACTIVE_PROP]}get couldOpenActivity(){return!0}registerActivity(_name,options={}){let{onActivate,onDeactivate}=options;LitActivityBlock._activityCallbacks.set(this,{activateCallback:onActivate,deactivateCallback:onDeactivate})}_unregisterActivity(){this.isActivityActive&&this._deactivate(),LitActivityBlock._activityCallbacks.delete(this)}disconnectedCallback(){super.disconnectedCallback(),this._isActivityRegistered()&&this._unregisterActivity();let currentActivity=this.$["*currentActivity"];this.blocksRegistry&&([...this.blocksRegistry].find(block=>block instanceof LitActivityBlock&&block.activityType===currentActivity)||(this.$["*currentActivity"]=null,this.modalManager?.closeAll()))}get activityParams(){return this.$["*currentActivityParams"]}get initActivity(){return this.getCssData("--cfg-init-activity")??null}get doneActivity(){return this.getCssData("--cfg-done-activity")??null}historyBack(){let history=this.$["*history"];if(history){let nextActivity=history.pop();for(;nextActivity===this.activityType;)nextActivity=history.pop();let couldOpenActivity=!!nextActivity;if(nextActivity){let nextLitActivityBlock=[...this.blocksRegistry].find(block=>block.activityType===nextActivity);couldOpenActivity=nextLitActivityBlock?.couldOpenActivity??!1}nextActivity=couldOpenActivity?nextActivity:null,this.$["*currentActivity"]=nextActivity??null,nextActivity&&this.modalManager?.open(nextActivity),this.$["*history"]=history,nextActivity||this.modalManager?.closeAll()}}constructor(...args){super(...args),this.historyTracked=!1,this.init$=(0,_abstract_CTX__rspack_import_2._H)(this),this._debouncedHistoryFlush=(0,_utils_debounce__rspack_import_3.s)(this._historyFlush.bind(this),10)}}LitActivityBlock.activities=_activity_constants__rspack_import_4.g},8288(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{x:()=>LitBlock});var lit=__webpack_require__(7825),CTX=__webpack_require__(7992),activity_constants=__webpack_require__(7715),shared_instances=__webpack_require__(5890);class ClipboardLayer extends shared_instances.jM{constructor(sharedInstancesBag){super(sharedInstancesBag),this.scopes=new Set,this.listener=this._listener.bind(this),window.addEventListener("paste",this.listener)}openUploadList(){this._sharedInstancesBag.api.setCurrentActivity(activity_constants.g.UPLOAD_LIST),this._sharedInstancesBag.api.setModalState(!0)}async _listener(event){if(event.clipboardData){for(let scope of this.scopes)if(scope.isConnected)switch(this._cfg.pasteScope){case"global":await this.handlePaste(event);break;case"local":if(!scope.contains(event.target))continue;await this.handlePaste(event);break;default:continue}}}async handlePaste(event){let items=Array.from(event.clipboardData.items),files=items.map(item=>item.getAsFile()).filter(file=>null!==file),urls=items.filter(item=>"string"===item.kind&&"text/plain"===item.type).map(item=>new Promise(resolve=>{item.getAsString(text=>{resolve(text)})}));files.length>0&&(files.forEach(file=>{this._sharedInstancesBag.api.addFileFromObject(file,{source:"clipboard"})}),this.openUploadList()),urls.length>0&&((await Promise.all(urls)).forEach(url=>{this._sharedInstancesBag.api.addFileFromUrl(url,{source:"clipboard"})}),this.openUploadList())}registerBlock(scope){return this.scopes.add(scope),()=>{this.scopes.delete(scope)}}destroy(){super.destroy(),window.removeEventListener("paste",this.listener),this.scopes.clear()}}let ROLES={button:["toolbar"],checkbox:["toolbar"],menuitem:["menu","menubar"],option:["listbox"],tab:["tablist"]};function focus_group_focus(current,next){next.tabIndex=0,next.focus(),current.tabIndex=-1}function findGroupNodeByEventTarget(target){let itemRole=target.role||target.type||target.tagName;if(!itemRole)return null;let groupRoles=ROLES[itemRole.toLowerCase()];if(!groupRoles)return null;for(let role of groupRoles){let node=target.closest(`[role=${role}]`);if(node)return node}}function getItems(target,group){return"toolbar"===group.role?[...group.querySelectorAll("*")].filter(item=>"button"===item.role||"button"===item.type||"checkbox"===item.role||"checkbox"===item.type):group.querySelectorAll(`[role=${target.role}]`)}class ScopedMinimalWindow{addEventListener(type,listener){let wrappedListener=event=>{let target=event.target;target instanceof Node&&this._scope.some(el=>el===target||el.contains(target))&&listener(event)};this._listeners.set(listener,wrappedListener),window.addEventListener(type,wrappedListener)}removeEventListener(type,listener){let wrappedListener=this._listeners.get(listener);wrappedListener&&window.removeEventListener(type,wrappedListener),this._listeners.delete(listener)}get CustomEvent(){return window.CustomEvent}get document(){return window.document}get navigator(){return window.navigator}registerScope(scope){this._scope.push(scope)}destroy(){for(let wrappedListener of(this._scope=[],this._listeners.values()))window.removeEventListener("keydown",wrappedListener),window.removeEventListener("keyup",wrappedListener);this._listeners.clear()}constructor(){this._listeners=new Map,this._scope=[]}}class A11y{constructor(){var window1;let unbinds;this._scopedWindow=new ScopedMinimalWindow,this._destroyKeyUX=(window1=this._scopedWindow,unbinds=[window1=>{let inGroup=!1,lastTyped=0,searchPrefix="";function keyDown(event){let group=findGroupNodeByEventTarget(event.target);if(!group)return void stop();let items=getItems(event.target,group),index=Array.from(items).indexOf(event.target),nextKey="ArrowDown",prevKey="ArrowUp";if(function(group){let ariaOrientation=group.getAttribute("aria-orientation");if("vertical"===ariaOrientation)return!1;if("horizontal"===ariaOrientation)return!0;let role=group.role;return"menubar"===role||"tablist"===role||"toolbar"===role}(group)&&("rtl"===window1.document.dir?(nextKey="ArrowLeft",prevKey="ArrowRight"):(nextKey="ArrowRight",prevKey="ArrowLeft")),event.key===nextKey)event.preventDefault(),focus_group_focus(event.target,items[index+1]||items[0]);else if(event.key===prevKey)event.preventDefault(),focus_group_focus(event.target,items[index-1]||items[items.length-1]);else if("Home"===event.key)event.preventDefault(),focus_group_focus(event.target,items[0]);else if("End"===event.key)event.preventDefault(),focus_group_focus(event.target,items[items.length-1]);else if(1===event.key.length&&"tablist"!==group.role){let now=Date.now();now-lastTyped<=300?searchPrefix+=event.key.toLowerCase():searchPrefix=event.key.toLowerCase(),lastTyped=now;let found=Array.from(items).find(item=>item.textContent?.trim()?.toLowerCase()?.startsWith(searchPrefix));found&&(event.preventDefault(),focus_group_focus(event.target,found))}}function stop(){inGroup=!1,window1.removeEventListener("keydown",keyDown)}function focusIn(event){let group=findGroupNodeByEventTarget(event.target);if(group)for(let item of(inGroup||(inGroup=!0,window1.addEventListener("keydown",keyDown)),getItems(event.target,group)))item!==event.target&&item.setAttribute("tabindex",-1);else inGroup&&stop()}function focusOut(event){event.relatedTarget&&event.relatedTarget!==window1.document||stop()}function click(event){let group=findGroupNodeByEventTarget(event.target);if(group){for(let item of getItems(event.target,group))item!==event.target&&item.setAttribute("tabindex",-1);event.target.setAttribute("tabindex",0)}}return window1.addEventListener("click",click),window1.addEventListener("focusin",focusIn),window1.addEventListener("focusout",focusOut),()=>{stop(),window1.removeEventListener("click",click),window1.removeEventListener("focusin",focusIn),window1.removeEventListener("focusout",focusOut)}},function(pressedClass){let pressedElement,down,classes=pressedClass.split(" ");function keyDown(event){"Enter"===event.key&&("BUTTON"===event.target.tagName||"A"===event.target.tagName)&&(keyUp(),event.target.classList.add(...classes),pressedElement=event.target,down=event.target)}function keyUp(){pressedElement&&pressedElement.classList.remove(...classes),down=null}function click(event){0===event.clientX&&0===event.clientY&&down!==event.target&&(keyUp(),event.target.classList.add(...classes),pressedElement=event.target)}return window1=>(window1.addEventListener("click",click),window1.addEventListener("keydown",keyDown),window1.addEventListener("keyup",keyUp),()=>{window1.removeEventListener("click",click),window1.removeEventListener("keydown",keyDown),window1.removeEventListener("keyup",keyUp)})}("is-pressed"),window1=>{let finding,jumps=[],tries=0;function keyDown(event){var from;let ariaControls;event.target.getAttribute("aria-controls")&&"Enter"===event.key&&(from=event.target,clearInterval(finding),ariaControls=from.getAttribute("aria-controls"),finding=setInterval(()=>{if(tries++>50)return void clearInterval(finding);let area=window1.document.getElementById(ariaControls);if(area){let next=area.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');if(next){let current;clearInterval(finding),area.dispatchEvent(new window1.CustomEvent("keyuxJump",{bubbles:!0})),(current=window1.document.activeElement)&¤t!==window1.document.body&&jumps.push(new WeakRef(current)),next.focus({focusVisible:!0})}}},50)),"Escape"===event.key&&function back(){let ref=jumps.pop();if(!ref)return void window1.document.activeElement.blur();let el=ref.deref();el&&el.isConnected?el.focus():back()}()}return window1.addEventListener("keydown",keyDown),()=>{window1.removeEventListener("keydown",keyDown)}},window1=>{let allowed,wasHidden;function jump(e){if("true"===e.target.getAttribute("aria-hidden")){(allowed=e.target).setAttribute("aria-hidden","false"),(wasHidden=allowed.hidden)&&(allowed.hidden=!1);let first=e.target.querySelector('a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])');first&&(first.tabIndex=0)}}function focusOut(e){allowed&&allowed.contains(e.target)&&(!e.relatedTarget||!allowed.contains(e.relatedTarget))&&(e.target.tabIndex=-1,allowed.setAttribute("aria-hidden","true"),wasHidden&&(allowed.hidden=!0),allowed=null)}return window1.addEventListener("keyuxJump",jump),window1.addEventListener("focusout",focusOut),()=>{window1.removeEventListener("keyuxJump",jump),window1.removeEventListener("focusout",focusOut)}}].map(plugin=>plugin(window1)),()=>{unbinds.forEach(unbind=>unbind())})}registerBlock(scope){this._scopedWindow.registerScope(scope)}destroy(){this._destroyKeyUX?.(),this._scopedWindow.destroy()}}var LocaleManager=__webpack_require__(7959),ModalManager=__webpack_require__(3076);class CustomConfigRegistry{register(pluginId,definition){if(this._definitions.has(definition.name))return void console.warn(`[CustomConfig] Config option "${definition.name}" is already registered`);let ownedDefinition={attribute:!0,...definition,pluginId};this._definitions.set(definition.name,ownedDefinition)}unregister(name){this._definitions.delete(name)}unregisterByPlugin(pluginId){for(let[name,definition]of this._definitions)definition.pluginId===pluginId&&this._definitions.delete(name)}get(name){return this._definitions.get(name)}getAll(){return new Map(this._definitions)}constructor(){this._definitions=new Map}}var sharedConfigKey=__webpack_require__(1971);class PluginManager extends shared_instances.jM{constructor(sharedInstancesBag){super(sharedInstancesBag),this._plugins=new Map,this._sources=[],this._activities=[],this._fileActions=[],this._fileHooks=[],this._icons=[],this._i18n=[],this._subscribers=new Set,this._pluginsUpdate=Promise.resolve(),this.configRegistry=new CustomConfigRegistry,this.addSub(this._ctx.sub((0,sharedConfigKey.T)("plugins"),plugins=>{this._pluginsUpdate=this._pluginsUpdate.then(()=>this._syncPlugins(plugins))}))}onPluginsChange(callback){return this._subscribers.add(callback),()=>{this._subscribers.delete(callback)}}async _syncPlugins(plugins){let currentPluginIds=new Set(this._plugins.keys()),processedIds=new Set;for(let plugin of plugins){if(processedIds.has(plugin.id)){this._debugPrint(`Plugin "${plugin.id}" is already in the list, skipping duplicate`);continue}processedIds.add(plugin.id);let registered=this._plugins.get(plugin.id);if(!registered||registered.plugin!==plugin)try{await this._registerPlugin(plugin)}catch(error){this._purgeRegistrations(plugin.id),this._notifySubscribers(),this._debugPrint(`Plugin "${plugin.id}" setup failed`,error)}currentPluginIds.delete(plugin.id)}for(let pluginId of currentPluginIds)this._unregisterPlugin(pluginId)}async _registerPlugin(plugin){let pluginExports;this._plugins.has(plugin.id)&&this._unregisterPlugin(plugin.id);let registrations={sources:[],activities:[],fileActions:[],fileHooks:[],icons:[],i18n:[]},configSubscriptions=[],uploaderApi=this._sharedInstancesBag.api;try{pluginExports=await plugin.setup({pluginApi:{registry:{registerSource:source=>this._register(this._sources,registrations.sources,plugin.id,source),registerActivity:activity=>this._register(this._activities,registrations.activities,plugin.id,activity),registerFileAction:fileAction=>this._register(this._fileActions,registrations.fileActions,plugin.id,fileAction),registerFileHook:hook=>this._register(this._fileHooks,registrations.fileHooks,plugin.id,hook),registerIcon:icon=>this._register(this._icons,registrations.icons,plugin.id,icon),registerI18n:i18n=>this._register(this._i18n,registrations.i18n,plugin.id,i18n),registerConfig:definition=>{this.configRegistry.register(plugin.id,definition)}},config:{get:configName=>{let stateKey=(0,sharedConfigKey.T)(configName);return this._ctx.read(stateKey)},subscribe:(configName,callback)=>{let stateKey=(0,sharedConfigKey.T)(configName),unsub=this._ctx.sub(stateKey,value=>{callback(value)});return configSubscriptions.push(unsub),unsub}},activity:{getParams:()=>this._ctx.read("*currentActivityParams"),subscribeToParams:callback=>{let unsub=this._ctx.sub("*currentActivityParams",params=>{callback(params)});return configSubscriptions.push(unsub),unsub}},files:{update:(internalId,changes)=>{let entry=this._sharedInstancesBag.uploadCollection?.read(internalId);entry&&(void 0!==changes.file&&(entry.setValue("file",changes.file),entry.setValue("fileSize",changes.file.size)),void 0!==changes.cdnUrl&&entry.setValue("cdnUrl",changes.cdnUrl),void 0!==changes.cdnUrlModifiers&&entry.setValue("cdnUrlModifiers",changes.cdnUrlModifiers),void 0!==changes.mimeType&&entry.setValue("mimeType",changes.mimeType))}}},uploaderApi})??void 0}catch(error){for(let unsub of configSubscriptions)try{unsub()}catch(e){this._debugPrint("Failed to unsubscribe config listener",e)}throw error}this._plugins.set(plugin.id,{plugin,exports:pluginExports,registrations,configSubscriptions}),this._notifySubscribers()}_unregisterPlugin(pluginId){let registered=this._plugins.get(pluginId);if(registered){for(let unsub of(this._purgeRegistrations(pluginId),registered.configSubscriptions))try{unsub()}catch(error){this._debugPrint("Failed to unsubscribe config listener",error)}registered.exports?.dispose?.(),this._plugins.delete(pluginId),this._notifySubscribers()}}snapshot(){return{sources:[...this._sources],activities:[...this._activities],fileActions:[...this._fileActions],fileHooks:[...this._fileHooks],icons:[...this._icons],i18n:[...this._i18n]}}destroy(){for(let pluginId of Array.from(this._plugins.keys()))this._unregisterPlugin(pluginId);super.destroy()}_register(target,bucket,pluginId,registration){let owned={...registration,pluginId};return target.push(owned),bucket.push(owned),registration}_purgeRegistrations(pluginId){this._sources=this._sources.filter(item=>item.pluginId!==pluginId),this._activities=this._activities.filter(item=>item.pluginId!==pluginId),this._fileActions=this._fileActions.filter(item=>item.pluginId!==pluginId),this._fileHooks=this._fileHooks.filter(item=>item.pluginId!==pluginId),this._icons=this._icons.filter(item=>item.pluginId!==pluginId),this._i18n=this._i18n.filter(item=>item.pluginId!==pluginId),this.configRegistry.unregisterByPlugin(pluginId)}_notifySubscribers(){for(let callback of this._subscribers)try{callback()}catch{}}}function a(e){return{ok:!1,error:e}}class y{constructor(r="https://tlm.uploadcare.com/api/"){this.baseUrl=r}async base(r,s={}){let t=`${this.baseUrl}${r}`;try{let n=await fetch(t,s);if(!n.ok)return a(Error(`Got non-200 response from "${t}". Status: ${n.status.toString()}`));try{var e;return e=await n.json(),{ok:!0,value:e}}catch(o){return a(Error(`Error parsing JSON from "${t}". Error: ${o}`))}}catch(n){return a(Error(`Error fetching data from "${t}". Error: ${n}`))}}async post(r,s,t={}){return await this.base(r,{...t,method:"POST",body:JSON.stringify(function c(e){return Array.isArray(e)?e.map(r=>"object"==typeof r&&null!==r?c(r):r):"object"!=typeof e||null===e?e:Object.fromEntries(Object.entries(e).map(([r,s])=>{let t=r.replace(/[A-Z]/g,r=>`_${r.toLowerCase()}`).replace(/__/g,"_");return"object"==typeof s&&null!==s?[t,c(s)]:[t,s]}))}(s)),headers:{"Content-Type":"application/json",...t.headers||{}}})}async get(r,s={}){return await this.base(r,{method:"GET",...s})}}let p=async(e,r)=>({success:!0,data:r}),f=async e=>p(void 0,e);class h extends y{constructor(){super()}async sendEvent(r,s){let t=await f(r);if(!t.success)throw console.error("TelemetryAPIService: events: body is invalid",t.error),Error("TelemetryAPIService: events: body is invalid");return this.post("v1/events",r,s)}}var index_browser=__webpack_require__(3074),initialConfig=__webpack_require__(318),EventEmitter=__webpack_require__(9963),env=__webpack_require__(5704),UID=__webpack_require__(5446);class TelemetryManager extends shared_instances.jM{constructor(sharedInstancesBag){for(let key of(super(sharedInstancesBag),this._sessionId=UID.V.generateRandomUUID(),this._config=structuredClone(initialConfig.Dz),this._initialized=!1,this._lastPayload=null,this._isEnabled=!1,this._telemetryInstance=new h,this._queue=new index_browser.op(10),this.addSub(this._ctx.sub((0,sharedConfigKey.T)("qualityInsights"),value=>{this._isEnabled=!!value})),Object.keys(this._config)))this.addSub(this._ctx.sub((0,sharedConfigKey.T)(key),value=>{this._isEnabled&&(this._initialized&&this._config[key]!==value&&this.sendEvent({eventType:EventEmitter.Kc.CHANGE_CONFIG}),this._setConfig(key,value))}))}_init(type){type!==EventEmitter.Kc.INIT_SOLUTION||this._initialized||(this._initialized=!0)}_setConfig(key,value){this._config[key]!==value&&(this._config[key]=value)}_formattingPayload(body){let payload=body.payload?{...body.payload}:{};payload.activity&&(payload.activity=void 0);let result={...body};return(body.eventType===EventEmitter.Kc.INIT_SOLUTION||body.eventType===EventEmitter.Kc.CHANGE_CONFIG)&&(result.config=this._config),{...result,appVersion:env.i,appName:env.r,sessionId:this._sessionId,component:this._solution,activity:this._activity,projectPubkey:this._config.pubkey,userAgent:navigator.userAgent,eventType:result.eventType??"",eventTimestamp:this._timestamp,payload:{location:this._location,...payload}}}_excludedEvents(type){return!!(type&&[EventEmitter.Bx.CHANGE,EventEmitter.Bx.COMMON_UPLOAD_PROGRESS,EventEmitter.Bx.FILE_ADDED,EventEmitter.Bx.FILE_REMOVED,EventEmitter.Bx.FILE_UPLOAD_START,EventEmitter.Bx.FILE_UPLOAD_PROGRESS,EventEmitter.Bx.FILE_UPLOAD_SUCCESS,EventEmitter.Bx.FILE_UPLOAD_FAILED].includes(type))}sendEvent(body){if(!this._isEnabled)return;let payload=this._formattingPayload({eventType:body.eventType,payload:body.payload,config:body.config});this._init(body.eventType),this._excludedEvents(body.eventType)||this._lastPayload&&this._checkObj(this._lastPayload,payload)||this._queue.add(async()=>{this._lastPayload=payload,await this._telemetryInstance.sendEvent(payload)})}sendEventError(error,context="unknown"){this.sendEvent({eventType:EventEmitter.Kc.ERROR_EVENT,payload:{metadata:{event:"error",text:`Error in ${context}`,error:error.message}}})}sendEventCloudImageEditor(e,tabId,options={}){this.sendEvent({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{tabId,node:e.currentTarget?.tagName,event:e.type,...options}}})}_checkObj(last,current){if(JSON.stringify(last)===JSON.stringify(current))return!0;if("object"!=typeof last||"object"!=typeof current||null==last||null==current)return!1;let lastKeys=Object.keys(last),currentKeys=Object.keys(current);if(lastKeys.length!==currentKeys.length)return!1;for(let key of lastKeys)if(!Object.hasOwn(current,key)||!this._checkObj(last[key],current[key]))return!1;return!0}get _timestamp(){return Date.now()}get _solution(){if(!this._ctx.has("*solution"))return null;let solution=this._ctx.read("*solution");return solution?solution.toLowerCase():null}get _activity(){return this._ctx.has("*currentActivity")?this._ctx.read("*currentActivity"):null}get _location(){return location.origin}}var PubSubCompat=__webpack_require__(7560),cdn_utils=__webpack_require__(6339),template_utils=__webpack_require__(664),debounce=__webpack_require__(4441);let WINDOW_HEIGHT_TRACKER_PROPERTY="--uploadcare-blocks-window-height";class WindowHeightTracker{static{this.clientsRegistry=new Set}static{this.flush=(0,debounce.s)(()=>{document.documentElement.style.setProperty(WINDOW_HEIGHT_TRACKER_PROPERTY,`${window.innerHeight}px`)},100)}static registerClient(client){0===WindowHeightTracker.clientsRegistry.size&&WindowHeightTracker.attachTracker(),WindowHeightTracker.clientsRegistry.add(client)}static unregisterClient(client){WindowHeightTracker.clientsRegistry.delete(client),0===WindowHeightTracker.clientsRegistry.size&&WindowHeightTracker.detachTracker()}static attachTracker(){window.addEventListener("resize",WindowHeightTracker.flush,{passive:!0,capture:!0}),WindowHeightTracker.flush()}static detachTracker(){window.removeEventListener("resize",WindowHeightTracker.flush,{capture:!0}),document.documentElement.style.removeProperty(WINDOW_HEIGHT_TRACKER_PROPERTY)}}var CssDataMixin=__webpack_require__(3361),createDebugPrinter=__webpack_require__(255),LightDomMixin=__webpack_require__(7337),l10n=__webpack_require__(263),RegisterableElementMixin=__webpack_require__(3282),SymbioteCompatMixin=__webpack_require__(9962);class TestModeController{constructor(host){this._trackedElements=new Set,this._originalValues=new Map,this._enabled=!1,this._host=host,this._host.addController(this)}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0,this._trackedElements.clear(),this._originalValues.clear()}hostUpdated(){if(!this._unsubscribe&&this._host.has((0,sharedConfigKey.T)("testMode"))){let unsubscribe=this._host.subConfigValue("testMode",isEnabled=>{this._enabled=!!isEnabled,this._applyTestMode()});this._unsubscribe=unsubscribe}this._collectElements(),this._applyTestMode()}_collectElements(){let litHost=this._host,root=litHost.renderRoot??litHost;if(!root)return;let hostElement=this._host,hostTag=hostElement.tagName?.toLowerCase();for(let el of Array.from(root.querySelectorAll("[data-testid]")).filter(el=>!el.tagName?.includes("-")))if((!hostTag||el.closest(hostTag)===hostElement)&&!this._trackedElements.has(el)){let attrValue=el.getAttribute("data-testid");if(!attrValue)continue;this._trackedElements.add(el),this._originalValues.set(el,attrValue)}for(let el of Array.from(this._trackedElements))(!el.isConnected||hostTag&&el.closest(hostTag)!==hostElement)&&(this._trackedElements.delete(el),this._originalValues.delete(el))}_applyTestMode(){if(!this._trackedElements.size)return;let prefix=this._host.testId||"";for(let el of this._trackedElements){let baseValue=this._originalValues.get(el);baseValue&&(this._enabled?el.setAttribute("data-testid",`${prefix}--${baseValue}`):el.removeAttribute("data-testid"))}}}let LitBlockBase=(0,RegisterableElementMixin.d)((0,SymbioteCompatMixin.w)()((0,CssDataMixin.N)((0,LightDomMixin.Q)(lit.WF))));class LitBlock extends LitBlockBase{static{this.styleAttrs=[]}constructor(){super(),this.activityType=null,this.init$=(0,CTX.HU)(),this.l10n=(0,l10n.k)(()=>this.sharedCtx),this.debugPrint=(0,createDebugPrinter.W)(()=>this.sharedCtx,this.constructor.name),this._sharedInstancesBag=(0,shared_instances.EC)(()=>this.sharedCtx),new TestModeController(this)}emit(type,payload,options){let eventEmitter=this.has("*eventEmitter")?this.$["*eventEmitter"]:void 0;if(!eventEmitter)return;eventEmitter.emit(type,payload,options);let resolvedPayload="function"==typeof payload?payload():payload;this.telemetryManager.sendEvent({eventType:type,payload:resolvedPayload??void 0})}hasBlockInCtx(callback){for(let block of this.blocksRegistry)if(callback(block))return!0;return!1}connectedCallback(){this.constructor.styleAttrs.forEach(attr=>{this.setAttribute(attr,"")}),super.connectedCallback(),WindowHeightTracker.registerClient(this)}initCallback(){this._addSharedContextInstance("*blocksRegistry",()=>new Set),this._addSharedContextInstance("*pluginManager",sharedInstancesBag=>new PluginManager(sharedInstancesBag)),this._addSharedContextInstance("*eventEmitter",sharedInstancesBag=>new EventEmitter.bk(sharedInstancesBag)),this._addSharedContextInstance("*localeManager",sharedInstancesBag=>new LocaleManager.OZ(sharedInstancesBag)),this._addSharedContextInstance("*modalManager",sharedInstancesBag=>new ModalManager.P(sharedInstancesBag)),this._addSharedContextInstance("*a11y",()=>new A11y),this._addSharedContextInstance("*clipboard",sharedInstancesBag=>new ClipboardLayer(sharedInstancesBag)),this._addSharedContextInstance("*telemetryManager",sharedInstancesBag=>new TelemetryManager(sharedInstancesBag)),this.sub((0,LocaleManager.PI)("locale-id"),localeId=>{let locale,direction,fromGetter,direction1=(locale=new Intl.Locale(localeId),direction="ltr",(fromGetter=locale.getTextInfo?.().direction)?direction=fromGetter:locale.textInfo?.direction&&(direction=locale.textInfo.direction),direction);this.style.direction="ltr"===direction1?"":direction1,this.requestUpdate()}),this.subConfigValue("testMode",testMode=>{testMode&&this.testId?this.setAttribute("data-testid",this.testId):this.removeAttribute("data-testid")}),this.blocksRegistry.add(this)}get testId(){return window.customElements.getName(this.constructor)}get modalManager(){return this._getSharedContextInstance("*modalManager",!1)}get telemetryManager(){return this._getSharedContextInstance("*telemetryManager")}get localeManager(){return this._getSharedContextInstance("*localeManager")}get a11y(){return this._getSharedContextInstance("*a11y")}get clipboardLayer(){return this._getSharedContextInstance("*clipboard")}get blocksRegistry(){return this._getSharedContextInstance("*blocksRegistry")}get eventEmitter(){return this._getSharedContextInstance("*eventEmitter")}disconnectedCallback(){super.disconnectedCallback(),WindowHeightTracker.unregisterClient(this);let blocksRegistry=this.blocksRegistry;blocksRegistry?.delete(this),blocksRegistry?.size===0&&setTimeout(()=>{this.isConnected||blocksRegistry?.size>0||this.destroyCtxCallback()},0)}destroyCtxCallback(){this._destroySharedContextInstances(),PubSubCompat.G.deleteCtx(this.ctxName)}_getSharedContextInstances(){let key="*sharedContextInstances";if(!this.has(key)||!this.$[key]){let map=new Map;this.add(key,map,!0)}return this.$[key]}_addSharedContextInstance(key,resolver){let instances=this._getSharedContextInstances();if(!instances.has(key)&&(!this.has(key)||!this.$[key])){let instance=resolver(this._sharedInstancesBag);this.add(key,instance,!0),instances.set(key,instance);return}}_destroySharedContextInstances(){let instances=this._getSharedContextInstances();for(let[key,instance]of instances.entries())instance?.destroy?.(),this.pub(key,null);instances.clear()}_getSharedContextInstance(key,isRequired=!0){if(this.has(key)&&this.$[key]||!isRequired)return this.$[key];throw Error(`Unexpected error: context manager for key "${String(key)}" is not available`)}async proxyUrl(url){if(this.cfg.secureDeliveryProxy&&this.cfg.secureDeliveryProxyUrlResolver&&console.warn("Both secureDeliveryProxy and secureDeliveryProxyUrlResolver are set. The secureDeliveryProxyUrlResolver will be used."),this.cfg.secureDeliveryProxyUrlResolver)try{return await this.cfg.secureDeliveryProxyUrlResolver(url,{uuid:(0,cdn_utils.p_)(url),cdnUrlModifiers:(0,cdn_utils._A)(url),fileName:(0,cdn_utils.v6)(url)})}catch(err){return console.error("Failed to resolve secure delivery proxy URL. Falling back to the default URL.",err),this.telemetryManager.sendEventError(err,"secureDeliveryProxyUrlResolver. Failed to resolve secure delivery proxy URL. Falling back to the default URL."),url}return this.cfg.secureDeliveryProxy?(0,template_utils.x)(this.cfg.secureDeliveryProxy,{previewUrl:url},{transform:value=>window.encodeURIComponent(value)}):url}get cfg(){return this._cfgProxy||(this._cfgProxy=new Proxy({},{set:(_obj,key,value)=>{if("string"!=typeof key||!(key in initialConfig.Dz))return!1;let sharedKey=(0,sharedConfigKey.T)(key);return this.has(sharedKey)||this.add(sharedKey,initialConfig.Dz[key]),this.$[sharedKey]=value,!0},get:(_obj,key)=>{let sharedKey=(0,sharedConfigKey.T)(key);return this.has(sharedKey)||this.add(sharedKey,initialConfig.Dz[key]),this.$[sharedKey]}})),this._cfgProxy}subConfigValue(key,callback){let sharedKey=(0,sharedConfigKey.T)(key);return this.has(sharedKey)||this.add(sharedKey,initialConfig.Dz[key]),this.sub(sharedKey,callback)}}},5544(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{z:()=>LitUploaderBlock});var index_browser=__webpack_require__(3074),CTX=__webpack_require__(7992),shared_instances=__webpack_require__(5890);let msToUnixTimestamp=ms=>"number"!=typeof ms?0:Math.floor(ms/1e3);class SecureUploadsManager extends shared_instances.jM{async getSecureToken(){let{secureSignature,secureExpire,secureUploadsSignatureResolver,secureUploadsExpireThreshold}=this._cfg;if((secureSignature||secureExpire)&&secureUploadsSignatureResolver&&console.warn("Both secureSignature/secureExpire and secureUploadsSignatureResolver are set. secureUploadsSignatureResolver will be used."),secureUploadsSignatureResolver){if(!this._secureToken||((secureToken,{threshold})=>{let{secureExpire}=secureToken,nowUnix=msToUnixTimestamp(Date.now()),expireUnix=Number(secureExpire);return nowUnix+msToUnixTimestamp(threshold)>=expireUnix})(this._secureToken,{threshold:secureUploadsExpireThreshold})){this._secureToken?this._debugPrint("Secure signature is expired. Resolving a new one..."):this._debugPrint("Secure signature is not set yet.");try{let result=await secureUploadsSignatureResolver();result?result.secureSignature&&result.secureExpire?(this._debugPrint("Secure signature resolved:",result),this._debugPrint("Secure signature will expire in",new Date(1e3*Number(result.secureExpire)).toISOString()),this._secureToken=result):console.error("Secure signature resolver returned an invalid result:",result):(this._debugPrint("Secure signature resolver returned nothing."),this._secureToken=null)}catch(err){console.error("Secure signature resolving failed. Falling back to the previous one.",err),this._sharedInstancesBag.telemetryManager.sendEventError(err,"secureUploadsSignatureResolver. Secure signature resolving failed. Falling back to the previous one.")}}return this._secureToken}return secureSignature&&secureExpire?(this._debugPrint("Secure signature and expire are set. Using them...",{secureSignature,secureExpire}),{secureSignature,secureExpire}):null}destroy(){super.destroy(),this._secureToken=null}constructor(...args){super(...args),this._secureToken=null}}var EventEmitter=__webpack_require__(9963),debounce=__webpack_require__(4441);let validateMultiple=(collection,api)=>{let total=collection.totalCount,multipleMin=api.cfg.multiple?api.cfg.multipleMin:0,multipleMax=api.cfg.multiple?api.cfg.multipleMax:1;return multipleMin&&total<multipleMin?{type:"TOO_FEW_FILES",message:api.l10n("files-count-limit-error-too-few",{min:multipleMin,max:multipleMax,total}),payload:{total,min:multipleMin,max:multipleMax}}:multipleMax&&total>multipleMax?{type:"TOO_MANY_FILES",message:api.l10n("files-count-limit-error-too-many",{min:multipleMin,max:multipleMax,total}),payload:{total,min:multipleMin,max:multipleMax}}:void 0},validateCollectionUploadError=(collection,api)=>{if(collection.failedCount>0)return{type:"SOME_FILES_HAS_ERRORS",message:api.l10n("some-files-were-not-uploaded")}},validateIsImage=(outputEntry,api)=>{let imagesOnly=api.cfg.imgOnly,isImage=outputEntry.isImage;if(imagesOnly&&!isImage&&(outputEntry.fileInfo||!outputEntry.externalUrl)&&(outputEntry.fileInfo||outputEntry.mimeType))return{type:"NOT_AN_IMAGE",message:api.l10n("images-only-accepted"),payload:{entry:outputEntry}}};var browser_info=__webpack_require__(1633),stringToArray=__webpack_require__(2513);let BASIC_IMAGE_WILDCARD="image/*",BASIC_VIDEO_WILDCARD="video/*",IMAGE_ACCEPT_LIST=browser_info.R5.safariDesktop?[BASIC_IMAGE_WILDCARD]:[BASIC_IMAGE_WILDCARD,"image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/avif","image/avif-sequence",".heif",".heifs",".heic",".heics",".avif",".avifs"],mergeFileTypes=fileTypes=>fileTypes?fileTypes.filter(item=>"string"==typeof item).flatMap(str=>(0,stringToArray.G)(str)):[],matchMimeType=(mimeType,allowedFileTypes)=>allowedFileTypes.some(type=>{if(type.endsWith("*")){let normalizedType=type.replace("*","");return mimeType.startsWith(normalizedType)}return mimeType===type}),validateFileType=(outputEntry,api)=>{let allowedFileTypes=mergeFileTypes([...api.cfg.imgOnly?IMAGE_ACCEPT_LIST:[],api.cfg.accept]);if(!allowedFileTypes.length)return;let mimeType=outputEntry.mimeType,fileName=outputEntry.name;if(!mimeType||!fileName)return;let mimeOk=matchMimeType(mimeType,allowedFileTypes),extOk=allowedFileTypes.some(type=>!!type.startsWith(".")&&fileName.toLowerCase().endsWith(type.toLowerCase()));if(!mimeOk&&!extOk)return{type:"FORBIDDEN_FILE_TYPE",message:api.l10n("file-type-not-allowed"),payload:{entry:outputEntry}}};var getPluralForm=__webpack_require__(9364);let ByteUnitEnum=Object.freeze({AUTO:"auto",BYTE:"byte",KB:"kb",MB:"mb",GB:"gb",TB:"tb",PB:"pb"}),round=number=>Math.ceil(100*number)/100,validateMaxSizeLimit=(outputEntry,api)=>{let maxFileSize=api.cfg.maxLocalFileSizeBytes,fileSize=outputEntry.size;if(maxFileSize&&fileSize&&fileSize>maxFileSize)return{type:"FILE_SIZE_EXCEEDED",message:api.l10n("files-max-size-limit-error",{maxFileSize:((bytes,unit=ByteUnitEnum.AUTO)=>{let isAutoMode=unit===ByteUnitEnum.AUTO;if(unit===ByteUnitEnum.BYTE||isAutoMode&&bytes<1e3){let pluralForm=(0,getPluralForm.Z)("en-US",bytes);return`${bytes} ${"one"===pluralForm?"byte":"bytes"}`}return unit===ByteUnitEnum.KB||isAutoMode&&bytes<1e6?`${round(bytes/1e3)} KB`:unit===ByteUnitEnum.MB||isAutoMode&&bytes<1e9?`${round(bytes/1e6)} MB`:unit===ByteUnitEnum.GB||isAutoMode&&bytes<1e12?`${round(bytes/1e9)} GB`:unit===ByteUnitEnum.TB||isAutoMode&&bytes<1e15?`${round(bytes/1e12)} TB`:`${round(bytes/1e15)} PB`})(maxFileSize)}),payload:{entry:outputEntry}}},validateUploadError=(outputEntry,api)=>{let{internalId}=outputEntry;if(!api._uploadCollection.hasItem(internalId))return;let internalEntry=api._uploadCollection.read(internalId),cause=internalEntry?.getValue("uploadError");if(!cause)return;if(cause instanceof index_browser.oW)return{type:"UPLOAD_ERROR",message:cause.message,payload:{entry:outputEntry,error:cause}};if(cause instanceof index_browser.Dr)return{type:"NETWORK_ERROR",message:cause.message,payload:{entry:outputEntry,error:cause}};let error=cause instanceof Error?cause:Error("Unknown error",{cause});return{type:"UNKNOWN_ERROR",message:error.message,payload:{entry:outputEntry,error}}};var sharedConfigKey=__webpack_require__(1971);let LOG_TEXT_FILE_VALIDATION_FAILED="File validator execution has failed",LOG_TEXT_MISSING_ERROR_MESSAGE="Missing message. We recommend adding message: value.",getValidatorDescriptor=validator=>"function"==typeof validator?{runOn:"change",validator}:validator;class ValidationManager extends shared_instances.jM{get _uploadCollection(){return this._sharedInstancesBag.uploadCollection}constructor(sharedInstancesBag){super(sharedInstancesBag),this._commonFileValidators=[validateIsImage,validateFileType,validateMaxSizeLimit,validateUploadError],this._commonCollectionValidators=[validateMultiple,validateCollectionUploadError],this._queue=new index_browser.op(20),this._runQueueDebounced=(0,debounce.s)(()=>{this._queue.run()},500),this._isDestroyed=!1,this._entryValidationState=new Map;let runAllValidators=(0,debounce.s)(()=>{this.runFileValidators("change"),this.runCollectionValidators()},0);this.addSub(this._ctx.sub((0,sharedConfigKey.T)("maxLocalFileSizeBytes"),runAllValidators)),this.addSub(this._ctx.sub((0,sharedConfigKey.T)("multipleMin"),runAllValidators)),this.addSub(this._ctx.sub((0,sharedConfigKey.T)("multipleMax"),runAllValidators)),this.addSub(this._ctx.sub((0,sharedConfigKey.T)("multiple"),runAllValidators)),this.addSub(this._ctx.sub((0,sharedConfigKey.T)("imgOnly"),runAllValidators)),this.addSub(this._ctx.sub((0,sharedConfigKey.T)("accept"),runAllValidators)),this.addSub(this._ctx.sub((0,sharedConfigKey.T)("validationConcurrency"),concurrency=>{this._queue.concurrency=concurrency}))}runFileValidators(runOn,entryIds){if(!this._isDestroyed)for(let id of entryIds??this._uploadCollection.items()){let entry=this._uploadCollection.read(id);entry&&this._runFileValidatorsForEntry(entry,runOn)}}runCollectionValidators(){if(this._isDestroyed)return;let api=this._sharedInstancesBag.api,collection=api.getOutputCollectionState(),errors=[],collectionValidators=this._cfg.collectionValidators;for(let validator of[...this._commonCollectionValidators,...collectionValidators])try{let error=validator(collection,api);if(!error)continue;error&&(errors.push(this._addCustomTypeToValidationError(error)),error.message||console.warn(LOG_TEXT_MISSING_ERROR_MESSAGE))}catch(error){console.warn("Collection validator execution has failed",error)}this._ctx.pub("*collectionErrors",errors),errors.length>0&&this._sharedInstancesBag.eventEmitter.emit(EventEmitter.Bx.COMMON_UPLOAD_FAILED,()=>api.getOutputCollectionState(),{debounce:!0})}cleanupValidationForEntry(entry){let state=this._entryValidationState.get(entry.uid);state&&(state.abortController?.abort(),this._entryValidationState.delete(entry.uid))}async _runFileValidatorsForEntry(entry,runOn){if(this._isDestroyed)return;let api=this._sharedInstancesBag.api,state=this._getEntryValidationState(entry),previousPromise=state.promise??Promise.resolve(),runPromise=(async()=>{if(this._isDestroyed||(await previousPromise,this._isDestroyed))return;let entryDescriptors=this._getValidatorDescriptorsForEntry(entry,runOn);if(0===entryDescriptors.length||!this._uploadCollection.hasItem(entry.uid))return;entry.setMultipleValues({isQueuedForValidation:!0,isValidationPending:!0});let outputEntry=api.getOutputItem(entry.uid),abortController=new AbortController;state.abortController=abortController;let timeoutMs=this._cfg.validationTimeout,allDescriptors=this._getValidatorDescriptors(),entryValidatorSet=new Set(entryDescriptors.map(d=>d.validator)),errors=[];for(let descriptor of allDescriptors)if(!entryValidatorSet.has(descriptor.validator)){let error=state.lastErrorThrownByValidator.get(descriptor.validator);error&&errors.push(error)}let tasks=entryDescriptors.map(validatorDescriptor=>async()=>{if(this._isDestroyed)return;let timeoutId=setTimeout(()=>{state.skippedValidators.add(validatorDescriptor.validator),abortController.abort(),console.warn("File validator execution has timed out")},timeoutMs);try{let error=await validatorDescriptor.validator(outputEntry,api,{signal:abortController.signal});if(!error||abortController.signal.aborted)return void state.lastErrorThrownByValidator.set(validatorDescriptor.validator,void 0);let normalizedError=this._addCustomTypeToValidationError(error);state.lastErrorThrownByValidator.set(validatorDescriptor.validator,normalizedError),errors.push(normalizedError),error.message||console.warn(LOG_TEXT_MISSING_ERROR_MESSAGE)}catch(error){abortController.signal.aborted||(state.skippedValidators.add(validatorDescriptor.validator),console.warn(LOG_TEXT_FILE_VALIDATION_FAILED,error),this._sharedInstancesBag.telemetryManager.sendEventError(error,`file validator. ${LOG_TEXT_FILE_VALIDATION_FAILED}`))}finally{clearTimeout(timeoutId),"change"!==validatorDescriptor.runOn&&state.skippedValidators.add(validatorDescriptor.validator)}});(this._runQueueDebounced(),await this._queue.add(async()=>{this._isDestroyed||(entry.setValue("isQueuedForValidation",!1),await Promise.all(tasks.map(task=>task())).catch(()=>{}))},{autoRun:!1}),abortController.signal.aborted)?entry.setMultipleValues({isQueuedForValidation:!1,isValidationPending:!1}):entry.setMultipleValues({isValidationPending:!1,isQueuedForValidation:!1,errors})})();state.promise=runPromise;try{await runPromise}finally{state.promise===runPromise&&(state.promise=void 0)}}_addCustomTypeToValidationError(error){return{...error,type:error.type??"CUSTOM_ERROR"}}_getEntryValidationState(entry){let currentState=this._entryValidationState.get(entry.uid);if(currentState)return currentState;let newState={abortController:void 0,skippedValidators:new WeakSet,promise:void 0,lastErrorThrownByValidator:new WeakMap};return this._entryValidationState.set(entry.uid,newState),newState}_getValidatorDescriptors(){let fileValidators=this._cfg.fileValidators;return[...this._commonFileValidators,...fileValidators].map(getValidatorDescriptor)}_getValidatorDescriptorsForEntry(entry,runOn){let state=this._getEntryValidationState(entry);return this._getValidatorDescriptors().filter(descriptor=>!state.skippedValidators.has(descriptor.validator)).filter(descriptor=>descriptor.runOn===runOn)}destroy(){for(let state of(this._isDestroyed=!0,this._runQueueDebounced.cancel(),this._entryValidationState.values()))state.abortController?.abort(),state.promise=void 0;this._entryValidationState.clear()}}var PubSubCompat=__webpack_require__(7560),UID=__webpack_require__(5446);let MSG_NAME="[Typed State] Wrong property name: ";class TypedData{constructor(initialValue){this._ctxId=UID.V.generateFastUid(),this._data=PubSubCompat.G.registerCtx(initialValue,this._ctxId)}get uid(){return this._ctxId}setValue(prop,value){this._data.has(prop)?this._data.read(prop)!==value&&this._data.pub(prop,value):console.warn(`${MSG_NAME}${String(prop)}`)}setMultipleValues(updObj){for(let[prop,value]of Object.entries(updObj))this.setValue(prop,value)}getValue(prop){return this._data.has(prop)||console.warn(`${MSG_NAME}${String(prop)}`),this._data.read(prop)}subscribe(prop,handler){return this._data.sub(prop,handler)}destroy(){PubSubCompat.G.deleteCtx(this._ctxId)}}class TypedCollection{static{this._destroyDelayMs=1e4}constructor(options){this._subsMap=Object.create(null),this._propertyObservers=new Set,this._collectionObservers=new Set,this._items=new Set,this._removed=new Set,this._added=new Set,this._markedToDestroy=new Set,this._initialValue=options.initialValue,this._ctxId=UID.V.generateFastUid(),this._data=PubSubCompat.G.registerCtx({},this._ctxId),this._watchList=options.watchList||[];let changeMap=Object.create(null);this._notifyObservers=(propName,ctxId)=>{this._observeTimeout&&window.clearTimeout(this._observeTimeout),changeMap[propName]||(changeMap[propName]=new Set),changeMap[propName].add(ctxId),this._observeTimeout=window.setTimeout(()=>{0!==Object.keys(changeMap).length&&(this._propertyObservers.forEach(handler=>{handler({...changeMap})}),changeMap=Object.create(null))}),this._scheduleDestroyMarkedItems()},options.handler&&this.observeCollection(options.handler)}_notify(){this._notifyTimeout&&window.clearTimeout(this._notifyTimeout),this._notifyTimeout=window.setTimeout(()=>{let added=new Set(this._added),removed=new Set(this._removed);for(let handler of(this._added.clear(),this._removed.clear(),this._collectionObservers))handler?.([...this._items],added,removed);this._scheduleDestroyMarkedItems()})}_scheduleDestroyMarkedItems(){0!==this._markedToDestroy.size&&(this._destroyTimeout&&window.clearTimeout(this._destroyTimeout),this._destroyTimeout=window.setTimeout(()=>{let marked=[...this._markedToDestroy];for(let item of(this._markedToDestroy.clear(),marked))item.destroy()},TypedCollection._destroyDelayMs))}observeCollection(handler){return this._collectionObservers.add(handler),this._items.size>0&&this._notify(),()=>{this.unobserveCollection(handler)}}unobserveCollection(handler){this._collectionObservers.delete(handler)}add(init){let item=new TypedData(this._initialValue);for(let[prop,value]of Object.entries(init))item.setValue(prop,value);return this._items.add(item.uid),this._notify(),this._data.add(item.uid,item),this._added.add(item),this._watchList.forEach(propName=>{this._subsMap[item.uid]||(this._subsMap[item.uid]=[]),this._subsMap[item.uid]?.push(item.subscribe(propName,()=>{this._notifyObservers(propName,item.uid)}))}),item.uid}hasItem(id){return this._items.has(id)}read(id){return this._data.read(id)??null}readProp(id,propName){let item=this.read(id);if(!item)throw Error(`TypedCollection#readProp: Item with id ${id} not found`);return item.getValue(propName)}publishProp(id,propName,value){let item=this.read(id);if(!item)throw Error(`TypedCollection#publishProp: Item with id ${id} not found`);item.setValue(propName,value)}remove(id){let item=this.read(id);item&&(this._removed.add(item),this._markedToDestroy.add(item)),this._items.delete(id),this._notify(),this._data.pub(id,void 0),this._subsMap[id]?.forEach(sub=>{sub()}),delete this._subsMap[id]}clearAll(){this._items.forEach(id=>{this.remove(id)})}observeProperties(handler){return this._propertyObservers.add(handler),()=>{this.unobserveProperties(handler)}}unobserveProperties(handler){this._propertyObservers.delete(handler)}findItems(checkFn){let result=[];return this._items.forEach(id=>{let item=this.read(id);item&&checkFn(item)&&result.push(id)}),result}items(){return[...this._items]}get size(){return this._items.size}destroy(){for(let item of(this._observeTimeout&&window.clearTimeout(this._observeTimeout),this._notifyTimeout&&window.clearTimeout(this._notifyTimeout),this._destroyTimeout&&window.clearTimeout(this._destroyTimeout),this._markedToDestroy))item.destroy();for(let id of(this._markedToDestroy.clear(),PubSubCompat.G.deleteCtx(this._ctxId),this._propertyObservers=new Set,this._collectionObservers=new Set,Object.keys(this._subsMap)))this._subsMap[id]?.forEach(sub=>{sub()}),delete this._subsMap[id]}}var comma_separated=__webpack_require__(9101),constants=__webpack_require__(5973);let calcCameraModes=cfg=>({isVideoRecordingEnabled:(0,comma_separated.A)(cfg.cameraModes).includes(constants.S.VIDEO),isPhotoEnabled:(0,comma_separated.A)(cfg.cameraModes).includes(constants.S.PHOTO)});var activity_constants=__webpack_require__(7715);let findBlockInCtx=(blocksRegistry,callback)=>{for(let block of blocksRegistry)if(callback(block))return block};var l10n=__webpack_require__(263),applyStyles=__webpack_require__(3254),initialConfig=__webpack_require__(318);let cdnUrlRegex=RegExp(`^/?(${/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/i.source})(?:/(-/(?:[^/]+/)+)?([^/]*))?$`,"i");var UploadSource=__webpack_require__(5730);let getOutputData=bag=>bag.uploadCollection.items().map(itemId=>bag.api.getOutputItem(itemId));var warnOnce=__webpack_require__(6783);class UploaderPublicApi extends shared_instances.jM{get _uploadCollection(){return this._sharedInstancesBag.uploadCollection}get cfg(){return this._cfg}get l10n(){return this._l10n}removeAllFiles(){this._uploadCollection.clearAll()}getOutputItem(entryId){let ctx=PubSubCompat.G.getCtx(entryId);if(!ctx)throw Error(`UploaderPublicApi#getOutputItem: Entry with ID "${entryId}" not found in the upload collection`);let uploadEntryData=ctx.store,fileInfo=uploadEntryData.fileInfo,status=uploadEntryData.isRemoved?"removed":uploadEntryData.errors.length>0?"failed":uploadEntryData.fileInfo?"success":uploadEntryData.isUploading?"uploading":"idle";return{uuid:fileInfo?.uuid??uploadEntryData.uuid??null,internalId:entryId,name:fileInfo?.originalFilename??uploadEntryData.fileName,size:fileInfo?.size??uploadEntryData.fileSize,isImage:fileInfo?.isImage??uploadEntryData.isImage,mimeType:fileInfo?.mimeType??uploadEntryData.mimeType,file:uploadEntryData.file,externalUrl:uploadEntryData.externalUrl,cdnUrlModifiers:uploadEntryData.cdnUrlModifiers,cdnUrl:uploadEntryData.cdnUrl??fileInfo?.cdnUrl??null,fullPath:uploadEntryData.fullPath,uploadProgress:uploadEntryData.uploadProgress,fileInfo:fileInfo??null,metadata:uploadEntryData.metadata??fileInfo?.metadata??null,isSuccess:"success"===status,isUploading:"uploading"===status,isFailed:"failed"===status,isRemoved:"removed"===status,isValidationPending:uploadEntryData.isValidationPending,errors:uploadEntryData.errors,status,source:uploadEntryData?.source}}getOutputCollectionState(){return function(bag){let isAsync,state={},ctx=bag.ctx,withAssert=(isAsync=!1,setTimeout(()=>{isAsync=!0},0),fn=>(...args)=>(isAsync&&(0,warnOnce.m)("You're trying to access the OutputCollectionState asynchronously. In this case, the data you retrieve will be newer than it was when the OutputCollectionState was created or when the event was dispatched. If you want to retain the state at a specific moment in time, you should use the spread operator like this: `{...outputCollectionState}` or `{...e.detail}`"),fn(...args)));for(let[key,value]of Object.entries({progress:()=>ctx.read("*commonProgress"),errors:()=>ctx.read("*collectionErrors"),group:()=>ctx.read("*groupInfo"),totalCount:()=>bag.uploadCollection.size,failedCount:()=>state.failedEntries.length,successCount:()=>state.successEntries.length,uploadingCount:()=>state.uploadingEntries.length,status:()=>state.isFailed?"failed":state.isUploading?"uploading":state.isSuccess?"success":"idle",isSuccess:()=>state.allEntries.length>0&&0===state.errors.length&&state.successEntries.length===state.allEntries.length,isUploading:()=>state.allEntries.some(entry=>"uploading"===entry.status),isFailed:()=>state.errors.length>0||state.failedEntries.length>0,allEntries:()=>getOutputData(bag),successEntries:()=>state.allEntries.filter(entry=>"success"===entry.status),failedEntries:()=>state.allEntries.filter(entry=>"failed"===entry.status),uploadingEntries:()=>state.allEntries.filter(entry=>"uploading"===entry.status),idleEntries:()=>state.allEntries.filter(entry=>"idle"===entry.status)}))Object.defineProperty(state,key,{get:function(fn){let cache=new Map;return(...args)=>{let key=JSON.stringify(args);if(cache.has(key))return cache.get(key);let result=fn(...args);return cache.set(key,result),result}}(withAssert(value)),enumerable:!0});return state}(this._sharedInstancesBag)}get _sourceList(){let list=[];return this.cfg.sourceList&&(list=(0,stringToArray.G)(this.cfg.sourceList)),list}constructor(...args){super(...args),this._l10n=(0,l10n.k)(()=>this._ctx),this.addFileFromUrl=(url,{silent,fileName,source}={})=>{let internalId=this._uploadCollection.add({externalUrl:url,fileName:fileName??null,silent:silent??!1,source:source??UploadSource.pc.API});return this.getOutputItem(internalId)},this.addFileFromUuid=(uuid,{silent,fileName,source}={})=>{let internalId=this._uploadCollection.add({uuid,fileName:fileName??null,silent:silent??!1,source:source??UploadSource.pc.API});return this.getOutputItem(internalId)},this.addFileFromCdnUrl=(cdnUrl,{silent,fileName,source}={})=>{let parsedCdnUrl=(({url,cdnBase})=>{let cdnBaseUrlObj=new URL(cdnBase),fallbackCdnBaseUrlObj=new URL(initialConfig.Tw),urlObj=new URL(url);if(cdnBaseUrlObj.host!==urlObj.host&&fallbackCdnBaseUrlObj.host!==urlObj.host)return null;let match=cdnUrlRegex.exec(urlObj.pathname);if(!match)return null;let[,uuid,cdnUrlModifiers,filename]=match;return uuid?{uuid,cdnUrlModifiers:cdnUrlModifiers||"",filename:filename||null}:null})({url:cdnUrl,cdnBase:this.cfg.cdnCname});if(!parsedCdnUrl)throw Error("Invalid CDN URL");let internalId=this._uploadCollection.add({uuid:parsedCdnUrl.uuid,cdnUrl,cdnUrlModifiers:parsedCdnUrl.cdnUrlModifiers,fileName:fileName??parsedCdnUrl.filename??null,silent:silent??!1,source:source??UploadSource.pc.API});return this.getOutputItem(internalId)},this.addFileFromObject=(file,{silent,fileName,source,fullPath}={})=>{let type,internalId=this._uploadCollection.add({file,isImage:!!(type=file?.type)&&matchMimeType(type,IMAGE_ACCEPT_LIST),mimeType:file.type,fileName:fileName??file.name,fileSize:file.size,silent:silent??!1,source:source??UploadSource.pc.API,fullPath:fullPath??null});return this.getOutputItem(internalId)},this.removeFileByInternalId=internalId=>{if(!this._uploadCollection.read(internalId))throw Error(`File with internalId ${internalId} not found`);this._uploadCollection.remove(internalId)},this.uploadAll=()=>{let itemsToUpload=this._uploadCollection.items().filter(id=>{let entry=this._uploadCollection.read(id);return!!entry&&!entry.getValue("isRemoved")&&!entry.getValue("isUploading")&&!entry.getValue("fileInfo")&&0===entry.getValue("errors").length&&!entry.getValue("isValidationPending")&&!entry.getValue("isQueuedForValidation")});0!==itemsToUpload.length&&(this._ctx.pub("*uploadTrigger",new Set(itemsToUpload)),this._sharedInstancesBag.eventEmitter.emit(EventEmitter.Bx.COMMON_UPLOAD_START,this.getOutputCollectionState()))},this.openSystemDialog=(options={})=>{let accept=(0,comma_separated.L)(mergeFileTypes([this.cfg.accept??"",...this.cfg.imgOnly?IMAGE_ACCEPT_LIST:[]])),INPUT_ATTR_NAME="uploadcare-file-input",fileInput=document.createElement("input");if(fileInput.setAttribute(INPUT_ATTR_NAME,""),(0,applyStyles.Z)(fileInput,{opacity:0,height:0,width:0,visibility:"hidden",position:"absolute",top:0,left:0}),fileInput.type="file",fileInput.multiple=this.cfg.multiple,options.captureCamera){fileInput.capture=this.cfg.cameraCapture;let{isPhotoEnabled,isVideoRecordingEnabled}=calcCameraModes(this.cfg);options.modeCamera===constants.S.PHOTO&&isPhotoEnabled?fileInput.accept=BASIC_IMAGE_WILDCARD:options.modeCamera===constants.S.VIDEO&&isVideoRecordingEnabled?fileInput.accept=BASIC_VIDEO_WILDCARD:fileInput.accept=[BASIC_IMAGE_WILDCARD,isVideoRecordingEnabled&&BASIC_VIDEO_WILDCARD].filter(Boolean).join(",")}else fileInput.accept=accept;fileInput.addEventListener("change",()=>{fileInput.files&&([...fileInput.files].forEach(file=>{this.addFileFromObject(file,{source:options.captureCamera?UploadSource.pc.CAMERA:UploadSource.pc.LOCAL})}),this._ctx.pub("*currentActivity",activity_constants.g.UPLOAD_LIST),this._sharedInstancesBag.modalManager?.open(activity_constants.g.UPLOAD_LIST),fileInput.remove())},{once:!0}),document.querySelectorAll(`[${INPUT_ATTR_NAME}]`).forEach(el=>{el.remove()}),document.body.appendChild(fileInput),fileInput.dispatchEvent(new MouseEvent("click"))},this.initFlow=(force=!1)=>{if(this._uploadCollection.size>0&&!force)this._ctx.pub("*currentActivity",activity_constants.g.UPLOAD_LIST),this._sharedInstancesBag.modalManager?.open(activity_constants.g.UPLOAD_LIST);else if(this._sourceList?.length===1){let srcKey=this._sourceList[0];if("local"===srcKey){this._ctx.pub("*currentActivity",activity_constants.g.UPLOAD_LIST),this.openSystemDialog();return}if("camera"===srcKey&&browser_info.wN.htmlMediaCapture){let{isPhotoEnabled,isVideoRecordingEnabled}=calcCameraModes(this.cfg);if(isPhotoEnabled&&isVideoRecordingEnabled)return void this._ctx.pub("*currentActivity",activity_constants.g.START_FROM);if(isPhotoEnabled||isVideoRecordingEnabled)return void this.openSystemDialog({captureCamera:!0,modeCamera:isPhotoEnabled?constants.S.PHOTO:constants.S.VIDEO});this.openSystemDialog({captureCamera:!0,modeCamera:constants.S.PHOTO})}setTimeout(()=>{if(srcKey!==this._sourceList[0])return;let sourceBtnBlock=findBlockInCtx(this._sharedInstancesBag.blocksRegistry,block=>"type"in block&&block.type===srcKey);sourceBtnBlock?.activate()},0),this._ctx.read("*currentActivity")&&this._sharedInstancesBag.modalManager?.open(this._ctx.read("*currentActivity"))}else this._ctx.pub("*currentActivity",activity_constants.g.START_FROM),this._sharedInstancesBag.modalManager?.open(activity_constants.g.START_FROM)},this.doneFlow=()=>{let activityBlock=findBlockInCtx(this._sharedInstancesBag.blocksRegistry,b=>"doneActivity"in b);activityBlock&&(this._ctx.pub("*currentActivity",activityBlock.doneActivity),this._ctx.pub("*history",activityBlock.doneActivity?[activityBlock.doneActivity]:[]),this._ctx.read("*currentActivity")||this._sharedInstancesBag.modalManager?.closeAll())},this.setCurrentActivity=(activityType,...params)=>{setTimeout(()=>{if(((blocksRegistry,callback)=>{for(let block of blocksRegistry)if(callback(block))return!0;return!1})(this._sharedInstancesBag.blocksRegistry,b=>b.activityType===activityType)){this._ctx.pub("*currentActivityParams",params[0]??{}),this._ctx.pub("*currentActivity",activityType);return}console.warn(`Activity type "${activityType}" not found in the context`)})},this.getCurrentActivity=()=>this._ctx.read("*currentActivity"),this.setModalState=opened=>{setTimeout(()=>{opened&&!this._ctx.read("*currentActivity")?console.warn('Can\'t open modal without current activity. Please use "setCurrentActivity" method first.'):opened?this._sharedInstancesBag.modalManager?.open(this._ctx.read("*currentActivity")):(this._sharedInstancesBag.modalManager?.close(this._ctx.read("*currentActivity")),this._ctx.pub("*currentActivity",null))})}}}let initialUploadEntryData={file:null,externalUrl:null,fileName:null,fileSize:null,lastModified:Date.now(),uploadProgress:0,uuid:null,isImage:!1,mimeType:null,ctxName:null,cdnUrl:null,cdnUrlModifiers:null,fileInfo:null,isUploading:!1,abortController:null,thumbUrl:null,silent:!1,source:null,fullPath:null,metadata:null,errors:[],uploadError:null,isRemoved:!1,isQueuedForUploading:!1,isValidationPending:!1,isQueuedForValidation:!1};var crop_utils=__webpack_require__(8996),parseCropPreset=__webpack_require__(5342),cdn_utils=__webpack_require__(6339),env=__webpack_require__(5704);function customUserAgent(options){return(0,index_browser.$t)({...options,libraryName:env.r,libraryVersion:env.i})}var LitActivityBlock=__webpack_require__(5923);class LitUploaderBlock extends LitActivityBlock.S{get _hasCtxOwner(){return this.hasBlockInCtx(block=>block instanceof LitUploaderBlock&&block._isCtxOwner&&block.isConnected&&block!==this)}initCallback(){super.initCallback(),this._addSharedContextInstance("*uploadCollection",()=>new TypedCollection({initialValue:initialUploadEntryData,watchList:["uploadProgress","uploadError","fileInfo","errors","cdnUrl","isUploading","isValidationPending"]})),this._addSharedContextInstance("*secureUploadsManager",sharedInstancesBag=>new SecureUploadsManager(sharedInstancesBag)),this._addSharedContextInstance("*validationManager",sharedInstancesBag=>new ValidationManager(sharedInstancesBag)),this._addSharedContextInstance("*publicApi",sharedInstancesBag=>new UploaderPublicApi(sharedInstancesBag)),!this._hasCtxOwner&&this.couldBeCtxOwner&&this._initCtxOwner()}getAPI(){return this.api}get validationManager(){return this._getSharedContextInstance("*validationManager")}get api(){return this._getSharedContextInstance("*publicApi")}get uploadCollection(){return this._getSharedContextInstance("*uploadCollection")}get secureUploadsManager(){return this._getSharedContextInstance("*secureUploadsManager")}disconnectedCallback(){super.disconnectedCallback(),this._isCtxOwner&&this._unobserveUploadCollection(),this._flushOutputItems.cancel()}connectedCallback(){super.connectedCallback(),this._isCtxOwner&&this._observeUploadCollection()}_initCtxOwner(){this._isCtxOwner=!0,this._observeUploadCollection(),this.subConfigValue("maxConcurrentRequests",value=>{this.$["*uploadQueue"].concurrency=Number(value)||1})}_observeUploadCollection(){this._unobserveUploadCollection(),this._unobserveCollection=this.uploadCollection.observeCollection(this._handleCollectionUpdate),this._unobserveCollectionProperties=this.uploadCollection.observeProperties(this._handleCollectionPropertiesUpdate)}_unobserveUploadCollection(){this._unobserveCollectionProperties?.(),this._unobserveCollection?.(),this._unobserveCollectionProperties=void 0,this._unobserveCollection=void 0}async _createGroup(collectionState){let uploadClientOptions=await this.getUploadClientOptions(),uuidList=collectionState.allEntries.map(entry=>entry.uuid+(entry.cdnUrlModifiers?`/${entry.cdnUrlModifiers}`:"")),abortController=new AbortController,resp=await (0,index_browser.fB)(uuidList,{...uploadClientOptions,signal:abortController.signal});if(this.$["*collectionState"]!==collectionState)return void abortController.abort();this.$["*groupInfo"]=resp;let collectionStateWithGroup=this.api.getOutputCollectionState();this.emit(EventEmitter.Bx.GROUP_CREATED,collectionStateWithGroup),this.emit(EventEmitter.Bx.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.$["*collectionState"]=collectionStateWithGroup}_openCloudImageEditor(){let[entry]=this.uploadCollection.findItems(entry=>!!entry.getValue("fileInfo")&&entry.getValue("isImage")).map(id=>this.uploadCollection.read(id));entry&&1===this.uploadCollection.size&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(block=>block.activityType===LitActivityBlock.S.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:entry.uid},this.$["*currentActivity"]=LitActivityBlock.S.activities.CLOUD_IMG_EDIT,this.modalManager?.open(LitActivityBlock.S.activities.CLOUD_IMG_EDIT))}_setInitialCrop(){let cropPreset=(0,parseCropPreset.j)(this.cfg.cropPreset);if(cropPreset){let[aspectRatioPreset]=cropPreset;for(let entry of this.uploadCollection.findItems(entry=>!!entry.getValue("fileInfo")&&entry.getValue("isImage")&&!entry.getValue("cdnUrlModifiers")?.includes("/crop/")).map(id=>this.uploadCollection.read(id)).filter(Boolean)){let fileInfo=entry.getValue("fileInfo");if(!fileInfo||!fileInfo.imageInfo){console.warn("Failed to get image info for entry",entry.uid);continue}let{width,height}=fileInfo.imageInfo,expectedAspectRatio="number"==typeof aspectRatioPreset?.width&&"number"==typeof aspectRatioPreset?.height&&aspectRatioPreset.width>0&&aspectRatioPreset.height>0?aspectRatioPreset.width/aspectRatioPreset.height:1,crop=(0,crop_utils.u3)(width,height,expectedAspectRatio),cdnUrlModifiers=(0,cdn_utils.$z)(`crop/${crop.width}x${crop.height}/${crop.x},${crop.y}`,"preview"),cdnUrl=entry.getValue("cdnUrl");if(!cdnUrl){console.warn("Failed to get cdnUrl for entry",entry.uid);continue}entry.setMultipleValues({cdnUrlModifiers,cdnUrl:(0,cdn_utils.LN)(cdnUrl,cdnUrlModifiers)}),1===this.uploadCollection.size&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(block=>block.activityType===LitActivityBlock.S.activities.CLOUD_IMG_EDIT)&&(this.$["*currentActivityParams"]={internalId:entry.uid},this.$["*currentActivity"]=LitActivityBlock.S.activities.CLOUD_IMG_EDIT,this.modalManager?.open(LitActivityBlock.S.activities.CLOUD_IMG_EDIT))}}}async getMetadataFor(entryId){let configValue=this.cfg.metadata||void 0;if("function"==typeof configValue){let outputFileEntry=this.api.getOutputItem(entryId);return await configValue(outputFileEntry)}return configValue}async getUploadClientOptions(){let secureToken=await this.secureUploadsManager.getSecureToken().catch(()=>null);return{store:this.cfg.store,publicKey:this.cfg.pubkey,baseCDN:this.cfg.cdnCname,baseURL:this.cfg.baseUrl,userAgent:customUserAgent,integration:this.cfg.userAgentIntegration,secureSignature:secureToken?.secureSignature,secureExpire:secureToken?.secureExpire,retryThrottledRequestMaxTimes:this.cfg.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:this.cfg.retryNetworkErrorMaxTimes,multipartMinFileSize:this.cfg.multipartMinFileSize,multipartChunkSize:this.cfg.multipartChunkSize,maxConcurrentRequests:this.cfg.multipartMaxConcurrentRequests,multipartMaxAttempts:this.cfg.multipartMaxAttempts,checkForUrlDuplicates:!!this.cfg.checkForUrlDuplicates,saveUrlForRecurrentUploads:!!this.cfg.saveUrlForRecurrentUploads}}getOutputData(){return getOutputData(this._sharedInstancesBag)}constructor(...args){super(...args),this.couldBeCtxOwner=!1,this._isCtxOwner=!1,this.init$=(0,CTX.lu)(this),this._flushOutputItems=(0,debounce.s)(async()=>{if(this.getOutputData().length!==this.uploadCollection.size)return;let collectionState=this.api.getOutputCollectionState();this.$["*collectionState"]=collectionState,this.emit(EventEmitter.Bx.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.cfg.groupOutput&&collectionState.totalCount>0&&"success"===collectionState.status&&this._createGroup(collectionState)},300),this._handleCollectionUpdate=(entries,added,removed)=>{if(this.isConnected){for(let entry of((added.size||removed.size)&&(this.$["*groupInfo"]=null),this.validationManager.runFileValidators("add",[...added].map(e=>e.uid)),added))entry.getValue("silent")||this.emit(EventEmitter.Bx.FILE_ADDED,this.api.getOutputItem(entry.uid));for(let entry of(this.validationManager.runCollectionValidators(),removed)){this.$["*uploadTrigger"].delete(entry.uid),this.validationManager.cleanupValidationForEntry(entry),entry.getValue("abortController")?.abort(),entry.setMultipleValues({isRemoved:!0,abortController:null,isUploading:!1,uploadProgress:0});let thumbUrl=entry?.getValue("thumbUrl");thumbUrl&&URL.revokeObjectURL(thumbUrl),this.emit(EventEmitter.Bx.FILE_REMOVED,this.api.getOutputItem(entry.uid))}this.$["*uploadList"]=entries.map(uid=>({uid})),this._flushCommonUploadProgress(),this._flushOutputItems()}},this._handleCollectionPropertiesUpdate=changeMap=>{if(!this.isConnected)return;this._flushOutputItems();let uploadCollection=this.uploadCollection,entriesToRunValidation=[...new Set(Object.entries(changeMap).filter(([key])=>["uploadError","fileInfo","cdnUrl","cdnUrlModifiers"].includes(key)).flatMap(([,ids])=>[...ids]))];if(entriesToRunValidation.length>0&&setTimeout(()=>{if(!this.isConnected)return;let entriesToRunOnUpload=entriesToRunValidation.filter(entryId=>changeMap.fileInfo?.has(entryId)&&!!PubSubCompat.G.getCtx(entryId)?.store.fileInfo);entriesToRunOnUpload.length>0&&this.validationManager.runFileValidators("upload",entriesToRunOnUpload),this.validationManager.runFileValidators("change",entriesToRunValidation)}),changeMap.uploadProgress){for(let entryId of changeMap.uploadProgress){let ctx=PubSubCompat.G.getCtx(entryId);if(!ctx)continue;let{isUploading,silent}=ctx.store;isUploading&&!silent&&this.emit(EventEmitter.Bx.FILE_UPLOAD_PROGRESS,this.api.getOutputItem(entryId))}this._flushCommonUploadProgress()}if(changeMap.isUploading)for(let entryId of changeMap.isUploading){let ctx=PubSubCompat.G.getCtx(entryId);if(!ctx)continue;let{isUploading,silent}=ctx.store;isUploading&&!silent&&this.emit(EventEmitter.Bx.FILE_UPLOAD_START,this.api.getOutputItem(entryId))}if(changeMap.fileInfo){for(let entryId of changeMap.fileInfo){let ctx=PubSubCompat.G.getCtx(entryId);if(!ctx)continue;let{fileInfo,silent}=ctx.store;fileInfo&&!silent&&this.emit(EventEmitter.Bx.FILE_UPLOAD_SUCCESS,this.api.getOutputItem(entryId))}this.cfg.cropPreset&&this._setInitialCrop(),this.cfg.cloudImageEditorAutoOpen&&this._openCloudImageEditor()}if(changeMap.errors){for(let entryId of(this.validationManager.runCollectionValidators(),changeMap.errors)){let ctx=PubSubCompat.G.getCtx(entryId);if(!ctx)continue;let{errors}=ctx.store;errors.length>0&&(this.emit(EventEmitter.Bx.FILE_UPLOAD_FAILED,this.api.getOutputItem(entryId)),this.emit(EventEmitter.Bx.COMMON_UPLOAD_FAILED,()=>this.api.getOutputCollectionState(),{debounce:!0}))}let loadedItems=uploadCollection.findItems(entry=>!!entry.getValue("fileInfo")),errorItems=uploadCollection.findItems(entry=>entry.getValue("errors").length>0);uploadCollection.size>0&&0===errorItems.length&&uploadCollection.size===loadedItems.length&&0===this.$["*collectionErrors"].length&&this.emit(EventEmitter.Bx.COMMON_UPLOAD_SUCCESS,this.api.getOutputCollectionState())}changeMap.cdnUrl&&([...changeMap.cdnUrl].filter(uid=>!!this.uploadCollection.read(uid)?.getValue("cdnUrl")).forEach(uid=>{this.emit(EventEmitter.Bx.FILE_URL_CHANGED,this.api.getOutputItem(uid))}),this.$["*groupInfo"]=null)},this._flushCommonUploadProgress=()=>{let commonProgress=0,items=[...this.$["*uploadTrigger"]].filter(id=>!!this.uploadCollection.read(id));items.forEach(id=>{let uploadProgress=this.uploadCollection.readProp(id,"uploadProgress");"number"==typeof uploadProgress&&(commonProgress+=uploadProgress)});let progress=items.length?Math.round(commonProgress/items.length):0;this.$["*commonProgress"]!==progress&&(this.$["*commonProgress"]=progress,this.emit(EventEmitter.Bx.COMMON_UPLOAD_PROGRESS,this.api.getOutputCollectionState()))}}}LitUploaderBlock.extSrcList=Object.freeze({...UploadSource.y5}),LitUploaderBlock.sourceTypes=Object.freeze({...UploadSource.pc})},7560(__unused_rspack_module,__webpack_exports__,__webpack_require__){function listenKeys($store,keys,listener){let keysSet=new Set(keys).add(void 0);return $store.listen((value,oldValue,changed)=>{keysSet.has(changed)&&listener(value,oldValue,changed)})}__webpack_require__.d(__webpack_exports__,{G:()=>PubSub});let listenerQueue=[],lqIndex=0,epoch=0;class PubSub{static{this._contexts=new Map}constructor(_ctxId,store){this._ctxId=_ctxId,this._store=store}get id(){return this._ctxId}pub(key,value){key in this._store.get()||console.warn(`PubSub#pub: Key "${String(key)}" not found`),this._store.setKey(key,value)}sub(key,callback,init=!0){return(init?function($store,keys,listener){let unbind=listenKeys($store,keys,listener);return listener($store.value),unbind}:listenKeys)(this._store,[key],values=>{callback(values[key])})}read(key){return key in this._store.get()||console.warn(`PubSub#read: Key "${String(key)}" not found`),this._store.get()[key]}add(key,value,rewrite=!1){key in this._store.get()&&!rewrite||this._store.setKey(key,value)}has(key){return key in this._store.get()}get store(){return this._store.get()}static registerCtx(initialValue,ctxId){if(PubSub._contexts.has(ctxId))throw Error(`PubSub: Context with id "${ctxId}" already exists`);let store=((initial={})=>{let listeners,$atom,$map=(listeners=[],$atom={get:()=>($atom.lc||$atom.listen(()=>{})(),$atom.value),lc:0,listen:listener=>($atom.lc=listeners.push(listener),()=>{for(let i=lqIndex+4;i<listenerQueue.length;)listenerQueue[i]===listener?listenerQueue.splice(i,4):i+=4;let index=listeners.indexOf(listener);~index&&(listeners.splice(index,1),--$atom.lc||$atom.off())}),notify(oldValue,changedKey){epoch++;let runListenerQueue=!listenerQueue.length;for(let listener of listeners)listenerQueue.push(listener,$atom.value,oldValue,changedKey);if(runListenerQueue){for(lqIndex=0;lqIndex<listenerQueue.length;lqIndex+=4)listenerQueue[lqIndex](listenerQueue[lqIndex+1],listenerQueue[lqIndex+2],listenerQueue[lqIndex+3]);listenerQueue.length=0}},off(){},set(newValue){let oldValue=$atom.value;oldValue!==newValue&&($atom.value=newValue,$atom.notify(oldValue))},subscribe(listener){let unbind=$atom.listen(listener);return listener($atom.value),unbind},value:initial});return $map.setKey=function(key,value){let oldMap=$map.value;void 0===value&&key in $map.value?($map.value={...$map.value},delete $map.value[key],$map.notify(oldMap,key)):$map.value[key]!==value&&($map.value={...$map.value,[key]:value},$map.notify(oldMap,key))},$map})(initialValue);return PubSub._contexts.set(ctxId,store),new PubSub(ctxId,store)}static deleteCtx(ctxId){PubSub._contexts.delete(ctxId)}static getCtx(ctxId){let store=PubSub._contexts.get(ctxId);return store?new PubSub(ctxId,store):null}static hasCtx(ctxId){return PubSub._contexts.has(ctxId)}}},3282(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{d:()=>RegisterableElementMixin});function RegisterableElementMixin(ctor){return class extends ctor{static reg(tagName){let registeredClass=window.customElements.get(tagName);if(registeredClass){registeredClass!==this&&console.warn(`Element with tag name "${tagName}" already registered.
|
|
5
|
+
You're trying to override it with another class "${this.name}".
|
|
6
|
+
This is most likely a mistake.
|
|
7
|
+
New element will not be registered.`);return}window.customElements.define(tagName,this)}}}},9962(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{w:()=>SymbioteMixin});class context_request_event_s extends Event{constructor(s,t,e,o){super("context-request",{bubbles:!0,composed:!0}),this.context=s,this.contextTarget=t,this.callback=e,this.subscribe=o??!1}}class context_consumer_s{constructor(t,s,i,h){(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(t,s)=>{this.unsubscribe&&(this.unsubscribe!==s&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=t,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(t,s)),this.unsubscribe=s},this.host=t,void 0!==s.context)?(this.context=s.context,this.callback=s.callback,this.subscribe=s.subscribe??!1):(this.context=s,this.callback=i,this.subscribe=h??!1),this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new context_request_event_s(this.context,this.host,this.t,this.subscribe))}}class value_notifier_s{get value(){return this.o}set value(s){this.setValue(s)}setValue(s,t=!1){let i=t||!Object.is(s,this.o);this.o=s,i&&this.updateObservers()}constructor(s){this.subscriptions=new Map,this.updateObservers=()=>{for(let[s,{disposer:t}]of this.subscriptions)s(this.o,t)},void 0!==s&&(this.value=s)}addCallback(s,t,i){if(!i)return void s(this.value);this.subscriptions.has(s)||this.subscriptions.set(s,{disposer:()=>{this.subscriptions.delete(s)},consumerHost:t});let{disposer:h}=this.subscriptions.get(s);s(this.value,h)}clearCallbacks(){this.subscriptions.clear()}}class context_provider_e extends Event{constructor(t,s){super("context-provider",{bubbles:!0,composed:!0}),this.context=t,this.contextTarget=s}}class context_provider_i extends value_notifier_s{constructor(s,e,i){super(void 0!==e.context?e.initialValue:i),this.onContextRequest=t=>{if(t.context!==this.context)return;let s=t.contextTarget??t.composedPath()[0];s!==this.host&&(t.stopPropagation(),this.addCallback(t.callback,s,t.subscribe))},this.onProviderRequest=s=>{if(s.context!==this.context||(s.contextTarget??s.composedPath()[0])===this.host)return;let e=new Set;for(let[s,{consumerHost:i}]of this.subscriptions)e.has(s)||(e.add(s),i.dispatchEvent(new context_request_event_s(this.context,i,s,!0)));s.stopPropagation()},this.host=s,void 0!==e.context?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new context_provider_e(this.context,this.host))}}var lit_decorators=__webpack_require__(7093),debounce=__webpack_require__(4441),PubSubCompat=__webpack_require__(7560);function _ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}function SymbioteMixin(){return function(ctor){class SymbioteMixinClass extends ctor{static set template(_value){console.error("Caution: static 'template' property is deprecated and has no effect. See https://github.com/uploadcare/file-uploader/releases/tag/v1.25.0 for details.")}get _ctxNameAttr(){return this._ctxNameAttrValue}set _ctxNameAttr(value){let normalizedValue=value??void 0;this._ctxNameAttrValue!==normalizedValue&&(this._ctxNameAttrValue=normalizedValue,this._handleCtxNameSourceChange())}shouldUpdate(changedProperties){return!!this._isInitialized&&super.shouldUpdate(changedProperties)}constructor(...args){super(...args),this._symbioteSharedPubSub=null,this._symbioteFirstUpdated=!1,this._needsReconnectInit=!1,this._ctxNameProvider=void 0,this._pendingSharedAdds=new Map,this._symbioteSubscriptions=new Set,this.init$={},this.ctxOwner=!1,this._ctxNameAttrValue=void 0,this._pendingCtxInitOnConnect=!1,this.ctxName=this._effectiveCtxName,this._isInitialized=!1,this._ctxNameAttrValue=this.getAttribute("ctx-name")||void 0,this.ctxName=this._effectiveCtxName,this._ctxNameConsumer=new context_consumer_s(this,{context:"ctx-name-context",callback:value=>{value?(this._ctxNameFromContext=value,this._handleCtxNameSourceChange()):console.error("SymbioteMixin: Received invalid ctx-name from context")},subscribe:!0})}get _effectiveCtxName(){return this._ctxNameAttr||this._ctxNameFromContext||void 0}_handleCtxNameSourceChange(){if(this.ctxName=this._effectiveCtxName,this.ctxName&&!this._symbioteFirstUpdated){if(this.isConnected)return void this._performInitialization();this._pendingCtxInitOnConnect=!0}}willUpdate(changedProperties){super.willUpdate(changedProperties),this.ctxName=this._effectiveCtxName,this.ctxName&&(this._ctxNameProvider?this._ctxNameProvider.setValue(this.ctxName):this._ctxNameProvider=new context_provider_i(this,{context:"ctx-name-context",initialValue:this.ctxName}))}_applyPendingSharedAdds(){if(this._symbioteSharedPubSub&&0!==this._pendingSharedAdds.size){for(let[key,{value,rewrite}]of this._pendingSharedAdds)this._symbioteSharedPubSub.add(key,value,rewrite);this._pendingSharedAdds.clear()}}_getSharedPubSub(){return!this._symbioteSharedPubSub&&this._effectiveCtxName&&this._initSharedContext(),this._symbioteSharedPubSub&&this._applyPendingSharedAdds(),this._symbioteSharedPubSub}_requireSharedPubSub(){let pubsub=this._getSharedPubSub();if(!pubsub)throw Error("SymbioteMixin: Shared context is not initialized.");return pubsub}_initSharedContext(){let initialValue=this.init$,ctxName=this._effectiveCtxName;if(!ctxName)return void console.error("SymbioteMixin: ctx-name is required for components with shared properties (*)");if(!this._symbioteSharedPubSub){for(let[key,defaultValue]of(this._symbioteSharedPubSub=PubSubCompat.G.getCtx(ctxName)??PubSubCompat.G.registerCtx(initialValue,ctxName),Object.entries(this.init$)))this._symbioteSharedPubSub.add(key,defaultValue,this.ctxOwner);this._applyPendingSharedAdds()}}get $(){return this._effectiveCtxName&&this._initSharedContext(),new Proxy({},{get:(_target,key)=>{if("string"==typeof key)return this._symbioteSharedPubSub?.read(key)},set:(_target,key,value)=>"string"!=typeof key||(this._symbioteSharedPubSub?.pub(key,value),!0)})}sub(key,callback,init=!0){let subscription=this._requireSharedPubSub().sub(key,callback,init);if(!subscription||"function"!=typeof subscription)return()=>{};let removeFn=subscription.bind(subscription),removed=!1,trackedRemove=()=>{removed||(removed=!0,removeFn(),this._symbioteSubscriptions.delete(trackedRemove))};return this._symbioteSubscriptions.add(trackedRemove),trackedRemove}pub(key,value){this._requireSharedPubSub().pub(key,value)}set$(obj){for(let[prop,value]of Object.entries(obj))this.pub(prop,value)}get sharedCtx(){return this._requireSharedPubSub()}has(key){return this._symbioteSharedPubSub?.has(key)??!1}add(key,val,rewrite=!1){let pubsub=this._getSharedPubSub();if(!pubsub){if(!rewrite&&this._pendingSharedAdds.has(key))return;this._pendingSharedAdds.set(key,{value:val,rewrite});return}this._pendingSharedAdds.delete(key),pubsub.add(key,val,rewrite)}add$(obj,rewrite=!1){for(let[prop,value]of Object.entries(obj))this.add(prop,value,rewrite)}connectedCallback(){super.connectedCallback(),this._symbioteFirstUpdated?this._isInitialized&&this._needsReconnectInit&&(this._needsReconnectInit=!1,this.initCallback()):this.ctxName?(this._pendingCtxInitOnConnect=!1,this._performInitialization()):this._pendingCtxInitOnConnect&&this._effectiveCtxName&&(this._pendingCtxInitOnConnect=!1,this._performInitialization())}_performInitialization(){if(this._symbioteFirstUpdated)return;this._symbioteFirstUpdated=!0,this._initSharedContext();let sharedSchema=this.init$;if(Object.keys(sharedSchema).length>0){let pubsub=this._requireSharedPubSub();for(let[key,defaultValue]of Object.entries(sharedSchema))void 0===pubsub.read(key)&&pubsub.pub(key,defaultValue),this.sub(key,(0,debounce.s)(async()=>{this.isConnected&&(await this.updateComplete,this.requestUpdate())},0),!1)}this.initCallback(),this._isInitialized=!0,this.requestUpdate()}firstUpdated(changedProperties){super.firstUpdated(changedProperties)}disconnectedCallback(){this._cleanupSymbioteSubscriptions(),super.disconnectedCallback(),this._symbioteFirstUpdated&&(this._needsReconnectInit=!0)}_cleanupSymbioteSubscriptions(){if(0!==this._symbioteSubscriptions.size){for(let unsubscribe of[...this._symbioteSubscriptions])unsubscribe();this._symbioteSubscriptions.clear()}}initCallback(){}}return _ts_decorate([(0,lit_decorators.MZ)({type:String,attribute:"ctx-name",noAccessor:!0})],SymbioteMixinClass.prototype,"_ctxNameAttr",null),_ts_decorate([(0,lit_decorators.wk)()],SymbioteMixinClass.prototype,"_ctxNameFromContext",void 0),_ts_decorate([(0,lit_decorators.wk)()],SymbioteMixinClass.prototype,"ctxName",void 0),_ts_decorate([(0,lit_decorators.wk)()],SymbioteMixinClass.prototype,"_isInitialized",void 0),SymbioteMixinClass}}},7715(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{g:()=>ACTIVITY_TYPES});let ACTIVITY_TYPES=Object.freeze({START_FROM:"start-from",CAMERA:"camera",UPLOAD_LIST:"upload-list",URL:"url",CLOUD_IMG_EDIT:"cloud-image-edit",EXTERNAL:"external"})},255(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{W:()=>createDebugPrinter});var _abstract_sharedConfigKey__rspack_import_0=__webpack_require__(1971);let createDebugPrinter=(getCtx,scope)=>(...args)=>{let ctx=getCtx();if(!ctx.read((0,_abstract_sharedConfigKey__rspack_import_0.T)("debug")))return;let consoleArgs=args;"function"==typeof args?.[0]&&(consoleArgs=(0,args[0])());let prefixes=[ctx.id,scope].filter(Boolean);console.log(`[${prefixes.join("][")}]`,...consoleArgs)}},263(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{k:()=>createL10n});var _abstract_managers_LocaleManager__rspack_import_1=__webpack_require__(7959),_utils_getPluralForm__rspack_import_0=__webpack_require__(9364),_utils_template_utils__rspack_import_2=__webpack_require__(664);let createL10n=getCtx=>{let getL10n,pluralizer=(getL10n=()=>l10n,(key,count)=>{let l10n=getL10n(),locale=l10n("locale-id")||"en",pluralForm=(0,_utils_getPluralForm__rspack_import_0.Z)(locale,count);return l10n(`${key}__${pluralForm}`)}),l10n=(str,variables={})=>{if(!str)return"";let template=getCtx().read((0,_abstract_managers_LocaleManager__rspack_import_1.PI)(str))||str;for(let pluralObject of(0,_utils_template_utils__rspack_import_2.Q)(template))variables[pluralObject.variable]=pluralizer(pluralObject.pluralKey,Number(variables[pluralObject.countVariable]));return(0,_utils_template_utils__rspack_import_2.x)(template,variables)};return l10n}},5890(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{EC:()=>createSharedInstancesBag,jM:()=>SharedInstance});var _abstract_sharedConfigKey__rspack_import_1=__webpack_require__(1971),_blocks_Config_initialConfig__rspack_import_2=__webpack_require__(318),_createDebugPrinter__rspack_import_0=__webpack_require__(255);class SharedInstance{constructor(sharedInstancesBag){this._subscriptions=new Set,this._cfgProxy=null,this._debugPrint=(0,_createDebugPrinter__rspack_import_0.W)(()=>this._sharedInstancesBag.ctx,this.constructor.name),this._sharedInstancesBag=sharedInstancesBag,this._ctx=sharedInstancesBag.ctx}addSub(unsub){this._subscriptions.add(unsub)}get _cfg(){return this._cfgProxy||(this._cfgProxy=new Proxy({},{set:()=>{throw Error("SharedInstance cfg proxy is read-only")},get:(_obj,key)=>{if("string"!=typeof key)return;let sharedKey=(0,_abstract_sharedConfigKey__rspack_import_1.T)(key);return this._sharedInstancesBag.ctx.has(sharedKey)?this._sharedInstancesBag.ctx.read(sharedKey):_blocks_Config_initialConfig__rspack_import_2.Dz[key]}})),this._cfgProxy}destroy(){for(let unsub of this._subscriptions)try{unsub()}catch{}this._subscriptions.clear()}}let instanceKeyMap={modalManager:"*modalManager",pluginManager:"*pluginManager",telemetryManager:"*telemetryManager",localeManager:"*localeManager",a11y:"*a11y",clipboard:"*clipboard",blocksRegistry:"*blocksRegistry",eventEmitter:"*eventEmitter",uploadCollection:"*uploadCollection",secureUploadsManager:"*secureUploadsManager",api:"*publicApi",validationManager:"*validationManager"},getSharedInstance=(ctx,key,isRequired=!0)=>{let hasKey=ctx.has(key),value=hasKey?ctx.read(key):null;if(hasKey&&value||!isRequired)return value;throw Error(`Unexpected error: shared instance for key "${String(key)}" is not available`)},createSharedInstancesBag=getCtx=>({get ctx(){return getCtx()},get modalManager(){return getSharedInstance(getCtx(),"*modalManager",!1)},get pluginManager(){return getSharedInstance(getCtx(),"*pluginManager")},get telemetryManager(){return getSharedInstance(getCtx(),"*telemetryManager")},get localeManager(){return getSharedInstance(getCtx(),"*localeManager")},get a11y(){return getSharedInstance(getCtx(),"*a11y")},get blocksRegistry(){return getSharedInstance(getCtx(),"*blocksRegistry")},get eventEmitter(){return getSharedInstance(getCtx(),"*eventEmitter")},get uploadCollection(){return getSharedInstance(getCtx(),"*uploadCollection")},get secureUploadsManager(){return getSharedInstance(getCtx(),"*secureUploadsManager",!1)},get api(){return getSharedInstance(getCtx(),"*publicApi")},get validationManager(){return getSharedInstance(getCtx(),"*validationManager")},when(name,callback){let stateKey=instanceKeyMap[name],ctx=getCtx(),existingInstance=ctx.has(stateKey)?ctx.read(stateKey):void 0;if(existingInstance)return callback(existingInstance),()=>{};let unsub=ctx.sub(stateKey,instance=>{instance&&(callback(instance),unsub())});return unsub}})},1491(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{A:()=>__rspack_default_export});let __rspack_default_export={"locale-id":"en","social-source-lang":"en","upload-file":"Upload file","upload-files":"Upload files","choose-file":"Choose file","choose-files":"Choose files","drop-files-here":"Drop files here","select-file-source":"Select file source",selected:"Selected",upload:"Upload","add-more":"Add more",cancel:"Cancel","start-from-cancel":"Cancel",clear:"Clear","camera-shot":"Shot","upload-url":"Import","upload-url-placeholder":"Paste link here","edit-image":"Edit image","edit-detail":"Details",back:"Back",done:"Done",ok:"Ok","remove-from-list":"Remove",no:"No",yes:"Yes","confirm-your-action":"Confirm your action","are-you-sure":"Are you sure?","selected-count":"{{count}} of {{total}} selected","select-all":"Select all","deselect-all":"Deselect all","upload-error":"Upload error","validation-error":"Validation error","no-files":"No files selected",browse:"Browse","not-uploaded-yet":"Not uploaded yet...",file__one:"file",file__other:"files",error__one:"error",error__other:"errors","header-uploading":"Uploading {{count}} {{plural:file(count)}}","header-failed":"{{count}} {{plural:error(count)}}","header-succeed":"{{count}} {{plural:file(count)}} uploaded","header-total":"{{count}} {{plural:file(count)}} selected","src-type-local":"From device","src-type-from-url":"From link","src-type-camera":"Camera","src-type-mobile-video-camera":"Video","src-type-mobile-photo-camera":"Photo","src-type-facebook":"Facebook","src-type-dropbox":"Dropbox","src-type-gdrive":"Google Drive","src-type-ngdrive":"Google Drive","src-type-gphotos":"Google Photos","src-type-flickr":"Flickr","src-type-vk":"VK","src-type-evernote":"Evernote","src-type-box":"Box","src-type-onedrive":"OneDrive","src-type-huddle":"Huddle","src-type-other":"Other","caption-from-url":"Import from link","caption-camera":"Camera","caption-edit-file":"Edit file","file-no-name":"No name...","toggle-fullscreen":"Toggle fullscreen","toggle-guides":"Toggle guides",rotate:"Rotate","flip-vertical":"Flip vertical","flip-horizontal":"Flip horizontal",apply:"Apply",brightness:"Brightness",contrast:"Contrast",saturation:"Saturation",exposure:"Exposure",gamma:"Gamma",vibrance:"Vibrance",warmth:"Warmth",enhance:"Enhance",original:"Original",resize:"Resize image",crop:"Crop","select-color":"Select color",text:"Text",draw:"Draw","cancel-edit":"Cancel edit","tab-view":"Preview","tab-details":"Details","file-name":"Name","file-size":"Size","cdn-url":"CDN URL","file-size-unknown":"Unknown","camera-permissions-denied":"Camera access denied","camera-permissions-prompt":"Please allow access to the camera","camera-permissions-request":"Request access","files-count-limit-error-title":"Files count limit overflow","files-count-limit-error-too-few":"You’ve chosen {{total}} {{plural:file(total)}}. At least {{min}} {{plural:file(min)}} required.","files-count-limit-error-too-many":"You’ve chosen too many files. {{max}} {{plural:file(max)}} is maximum.","files-max-size-limit-error":"File is too big. Max file size is {{maxFileSize}}.","has-validation-errors":"File validation error occurred. Please, check your files before upload.","images-only-accepted":"Only image files are accepted.","file-type-not-allowed":"Uploading of these file types is not allowed.","some-files-were-not-uploaded":"Some files were not uploaded.","file-item-edit-button":"Edit","file-item-remove-button":"Remove","a11y-editor-tab-filters":"Filters","a11y-editor-tab-tuning":"Tuning","a11y-editor-tab-crop":"Crop","a11y-activity-header-button-close":"Close",flip:"Flip",mirror:"Mirror","a11y-cloud-editor-apply-filter":"Apply {{name}} filter","a11y-cloud-editor-apply-crop":"Apply {{name}} operation","a11y-cloud-editor-apply-tuning":"Apply {{name}} tuning","a11y-cloud-editor-apply-aspect-ratio":"Apply operation {{name}} {{value}}",finished:"Finished",failed:"Failed",uploading:"Uploading",idle:"Idle","a11y-file-item-status":"File {{fileName}} in status {{status}}","waiting-for":"Waiting for {{source}}","queued-uploading":"Queued for upload","queued-validation":"Queued for validation",validation:"Validating","crop-to-shape":"Crop to {{value}}",custom:"Freeform","freeform-crop":"Freeform crop"}},7777(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{cameraPlugin:()=>cameraPlugin});var _abstract_defineComponents__rspack_import_0=__webpack_require__(3962),_blocks_CameraSource_CameraSource__rspack_import_1=__webpack_require__(4252),_lit_activity_constants__rspack_import_4=__webpack_require__(7715),_utils_browser_info__rspack_import_2=__webpack_require__(1633),_utils_comma_separated__rspack_import_3=__webpack_require__(9101);let cameraPlugin={id:"camera",setup:async({pluginApi,uploaderApi})=>{(0,_abstract_defineComponents__rspack_import_0.Y)({CameraSource:_blocks_CameraSource_CameraSource__rspack_import_1.r}),pluginApi.registry.registerSource({id:"camera",label:"src-type-camera",icon:"camera",expand:()=>{if(!_utils_browser_info__rspack_import_2.wN.htmlMediaCapture)return["camera"];let modes=(0,_utils_comma_separated__rspack_import_3.A)(pluginApi.config.get("cameraModes"));return modes.length?modes.map(mode=>`mobile-${mode}-camera`):["mobile-photo-camera"]},onSelect:()=>{uploaderApi.setCurrentActivity(_lit_activity_constants__rspack_import_4.g.CAMERA),uploaderApi.setModalState(!0)}}),pluginApi.registry.registerSource({id:"mobile-photo-camera",label:"src-type-camera",icon:"camera",onSelect:()=>{uploaderApi.openSystemDialog({captureCamera:!0,modeCamera:"photo"})}}),pluginApi.registry.registerSource({id:"mobile-video-camera",label:"src-type-camera",icon:"camera",onSelect:()=>{uploaderApi.openSystemDialog({captureCamera:!0,modeCamera:"video"})}}),pluginApi.registry.registerActivity({id:_lit_activity_constants__rspack_import_4.g.CAMERA,render:host=>{let cameraEl=document.createElement("uc-camera-source");return host.append(cameraEl),()=>{host.replaceChildren()}}})}}},2997(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{cloudImageEditorPlugin:()=>cloudImageEditorPlugin});var CloudImageEditorActivity_namespaceObject={};__webpack_require__.r(CloudImageEditorActivity_namespaceObject),__webpack_require__.d(CloudImageEditorActivity_namespaceObject,{CloudImageEditorActivity:()=>CloudImageEditorActivity});var cloud_image_editor_namespaceObject={};__webpack_require__.r(cloud_image_editor_namespaceObject),__webpack_require__.d(cloud_image_editor_namespaceObject,{BtnUi:()=>BtnUi,CloudImageEditor:()=>CloudImageEditor,CloudImageEditorBlock:()=>CloudImageEditorBlock,Config:()=>Config.T,CropFrame:()=>CropFrame,EditorAspectRatioButtonControl:()=>EditorAspectRatioButtonControl,EditorCropButtonControl:()=>EditorCropButtonControl,EditorFilterControl:()=>EditorFilterControl,EditorFreeformButtonControl:()=>EditorFreeformButtonControl,EditorImageCropper:()=>EditorImageCropper,EditorImageFader:()=>EditorImageFader,EditorOperationControl:()=>EditorOperationControl,EditorScroller:()=>EditorScroller,EditorSlider:()=>EditorSlider,EditorToolbar:()=>EditorToolbar,Icon:()=>Icon.I,LineLoaderUi:()=>LineLoaderUi,PresenceToggle:()=>PresenceToggle,SliderUi:()=>SliderUi,defineComponents:()=>defineComponents.Y});var defineComponents=__webpack_require__(3962),lit=__webpack_require__(7825),lit_decorators=__webpack_require__(7093),lit_html=__webpack_require__(6752),LitActivityBlock=__webpack_require__(5923),LitUploaderBlock=__webpack_require__(5544);class CloudImageEditorActivity extends LitUploaderBlock.z{get activityParams(){let params=super.activityParams;if("internalId"in params)return params;throw Error("Cloud Image Editor activity params not found")}initCallback(){super.initCallback(),this.subConfigValue("cropPreset",cropPreset=>{this._editorConfig&&this._editorConfig.cropPreset!==cropPreset&&(this._editorConfig={...this._editorConfig,cropPreset})}),this.subConfigValue("cloudImageEditorTabs",tabs=>{this._editorConfig&&this._editorConfig.tabs!==tabs&&(this._editorConfig={...this._editorConfig,tabs})}),this._mountEditor()}disconnectedCallback(){super.disconnectedCallback(),this._unmountEditor()}_handleApply(e){if(!this._entry)return;this.debugPrint('editor event "apply"',e.detail);let result=e.detail;this._entry.setMultipleValues({cdnUrl:result.cdnUrl,cdnUrlModifiers:result.cdnUrlModifiers}),this.modalManager?.close(LitActivityBlock.S.activities.CLOUD_IMG_EDIT),this.historyBack()}_handleCancel(event){let detail=event instanceof CustomEvent?event.detail:void 0;this.debugPrint('editor event "cancel"',detail),this.modalManager?.close(LitActivityBlock.S.activities.CLOUD_IMG_EDIT),this.historyBack()}handleChange(event){this.debugPrint('editor event "change"',event.detail)}_mountEditor(){let{internalId}=this.activityParams,entry=this.uploadCollection.read(internalId);if(!entry)throw Error(`Entry with internalId "${internalId}" not found`);this._entry=entry;let cdnUrl=this._entry.getValue("cdnUrl");if(!cdnUrl)throw Error(`Entry with internalId "${internalId}" hasn't uploaded yet`);this._editorConfig=this._createEditorConfig(cdnUrl)}_unmountEditor(){this._entry=void 0,this._editorConfig=null}render(){if(!this._editorConfig)return lit.s6;let{cdnUrl,cropPreset,tabs}=this._editorConfig;return(0,lit.qy)`<uc-cloud-image-editor cdn-url=${cdnUrl} crop-preset=${cropPreset??lit_html.s6} tabs=${tabs??lit_html.s6} @apply=${this._handleApply} @cancel=${this._handleCancel} @change=${this.handleChange} ></uc-cloud-image-editor>`}_createEditorConfig(cdnUrl){return{cdnUrl,cropPreset:this.cfg.cropPreset,tabs:this.cfg.cloudImageEditorTabs}}constructor(...args){super(...args),this._editorConfig=null}}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.wk)()],CloudImageEditorActivity.prototype,"_editorConfig",void 0);var activity_constants=__webpack_require__(7715),ref=__webpack_require__(2258),unsafe_svg=__webpack_require__(640),LitBlock=__webpack_require__(8288),cdn_utils=__webpack_require__(6339),comma_separated=__webpack_require__(9101),debounce=__webpack_require__(4441),transparentPixelSrc=__webpack_require__(8608);function normalize(...args){return args.reduce((result,arg)=>{if("string"==typeof arg)return result[arg]=!0,result;for(let token of Object.keys(arg))result[token]=arg[token];return result},{})}function classNames(...args){let mapping=normalize(...args);return Object.keys(mapping).reduce((result,token)=>(mapping[token]&&result.push(token),result),[]).join(" ")}var parseCropPreset=__webpack_require__(5342),toolbar_constants=__webpack_require__(1583);let isTabIdValue=value=>toolbar_constants.nz.includes(value);var transformationUtils=__webpack_require__(8930);function CloudImageEditorBlock_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}let DEFAULT_TABS=(0,comma_separated.L)([...toolbar_constants.nz]);class CloudImageEditorBlock extends LitBlock.x{static{this.styleAttrs=["uc-cloud-image-editor"]}_scheduleInitialization(){this._isInitialized||this._pendingInitUpdate||(this._pendingInitUpdate=this.updateComplete.then(()=>{this._pendingInitUpdate=null,this._isInitialized=!0}))}initCallback(){super.initCallback(),this._syncTabListFromProp(),this._syncCropPresetState()}_assignSharedElements(){let faderEl=this._faderRef.value;faderEl&&(this.$["*faderEl"]=faderEl);let cropperEl=this._cropperRef.value;cropperEl&&(this.$["*cropperEl"]=cropperEl);let imgContainerEl=this._imgContainerRef.value;imgContainerEl&&(this.$["*imgContainerEl"]=imgContainerEl);let imgEl=this._imgRef.value;imgEl&&(this.$["*imgEl"]=imgEl)}_attachImageListeners(){let imgEl=this._imgRef.value;imgEl&&(imgEl.addEventListener("load",this._handleImageLoad),imgEl.addEventListener("error",this._handleImageError))}_detachImageListeners(){let imgEl=this._imgRef.value;imgEl&&(imgEl.removeEventListener("load",this._handleImageLoad),imgEl.removeEventListener("error",this._handleImageError))}get _imageClassName(){let tabId=this.$["*tabId"];return classNames("uc-image",{"uc-image_hidden_to_cropper":tabId===toolbar_constants.XB.CROP,"uc-image_hidden_effects":tabId!==toolbar_constants.XB.CROP})}_waitForSize(){return new Promise((resolve,reject)=>{let timeoutId=window.setTimeout(()=>{reject(Error("[cloud-image-editor] timeout waiting for non-zero container size"))},3e3),resizeObserver=new ResizeObserver(entries=>{let[element]=entries;element&&element.contentRect.width>0&&element.contentRect.height>0&&(window.clearTimeout(timeoutId),resizeObserver.disconnect(),window.setTimeout(()=>resolve(),0))});resizeObserver.observe(this)})}firstUpdated(changedProperties){super.firstUpdated(changedProperties),this._assignSharedElements(),this._attachImageListeners(),this.initEditor();let hasInitialSource=!!(this.uuid||this.cdnUrl),alreadyRequested=changedProperties.has("uuid")||changedProperties.has("cdnUrl");hasInitialSource&&!alreadyRequested&&this.updateImage()}disconnectedCallback(){this._detachImageListeners(),super.disconnectedCallback()}render(){var n,r,n1,r1;let fileType=this._fileType??"",message=this._statusMessage??"",src=this._imageSrc||transparentPixelSrc.d,showLoader=this._showLoader,showNetworkProblems=this._hasNetworkProblems;return(0,lit.qy)`${(0,unsafe_svg.T)("<svg width='0' height='0' style='position:absolute'><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'/><symbol viewBox='0 0 20 20' id='uc-icon-brightness' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M15 10a5 5 0 0 1-5 5m5-5a5 5 0 0 0-5-5m5 5h-5m0 5a5 5 0 0 1 0-10m0 10V5m0 15v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05m-.626 2.45H10m4.324 5H10'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-closeMax' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M8.232 10 3.585 5.353l1.768-1.768L10 8.232l4.648-4.647 1.767 1.768L11.768 10l4.647 4.648-1.767 1.767L10 11.768l-4.647 4.647-1.768-1.767L8.232 10Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-contrast' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 10a8 8 0 1 0 16 0 8 8 0 1 0-16 0m8-8v16m8-8h-8m7.598 2.5H10m6.24 2.5H10m7.6-7.5H10M16.242 5H10'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-crop' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M20 14H7.005C6.45 14 6 13.55 6 12.995V0M0 6h13.067c.515 0 .933.418.933.933V20M14.5.4 13 2l1.5 1.6M13 2h2a3 3 0 0 1 3 3v2M5.5 19.6 7 18l-1.5-1.6M7 18H5a3 3 0 0 1-3-3v-2'/></symbol><symbol fill='currentColor' viewBox='0 0 20 20' id='uc-icon-done' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m18.057 6.333-9.365 9.125a1.25 1.25 0 0 1-1.768-.023L1.92 10.296l1.791-1.744 4.132 4.243 8.47-8.253 1.744 1.79Z' clip-rule='evenodd'/></symbol><symbol fill='currentColor' viewBox='0 0 25 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-enhance' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19 13h-2m0 0a4 4 0 0 1-4-4m4 4a4 4 0 0 0-4 4m0-8V7m0 2a4 4 0 0 1-4 4m-2 0h2m0 0a4 4 0 0 1 4 4m0 0v2M8 8.5H6.5m0 0a2 2 0 0 1-2-2m2 2a2 2 0 0 0-2 2m0-4V5m0 1.5a2 2 0 0 1-2 2M1 8.5h1.5m0 0a2 2 0 0 1 2 2m0 0V12M12 3h-1m0 0a1 1 0 0 1-1-1m1 1a1 1 0 0 0-1 1m0-2V1m0 1a1 1 0 0 1-1 1M8 3h1m0 0a1 1 0 0 1 1 1m0 0v1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-exposure' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M10 20v-3M2.93 2.929 5.05 5.05M0 10h3m-.07 7.071 2.12-2.121M10 0v3m7.07 14.071-2.12-2.121M20 10h-3m.07-7.071L14.95 5.05M5 10a5 5 0 1 0 10 0 5 5 0 1 0-10 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-filters' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M4.5 6.5a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m-3.5 6a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0m7 0a5.5 5.5 0 1 0 11 0 5.5 5.5 0 1 0-11 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-flip' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M19.6 5 18 3.5 16.4 5m3.2 10L18 16.5 16.4 15M18 3.523v12.954M3.3 8.5h10.654c.301 0 .415-.395.159-.554L3.459 1.286A.3.3 0 0 0 3 1.542V8.2a.3.3 0 0 0 .3.3zm0 3h10.654c.301 0 .415.395.159.554l-10.654 6.66A.3.3 0 0 1 3 18.458v-6.66a.3.3 0 0 1 .3-.3z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-gamma' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M17 3C9 6 2.5 11.5 2.5 17.5m0 0h1m-1 0v-1m14 1h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3 0h1m-3-14v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1m0 3v-1'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-mirror' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M5 .4 3.5 2 5 3.6M15 .4 16.5 2 15 3.6M3.52 2h12.957M8.5 16.7V6.046c0-.301-.394-.415-.554-.159L1.287 16.541a.3.3 0 0 0 .255.459H8.2a.3.3 0 0 0 .3-.3zm3 0V6.046c0-.301.395-.415.555-.159l6.659 10.654a.3.3 0 0 1-.255.459H11.8a.3.3 0 0 1-.3-.3z'/></symbol><symbol viewBox='0 0 40 40' id='uc-icon-original' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.5' d='M0 40 40 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-rotate' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M13.5.4 12 2l1.5 1.6M12.023 2H14.4A3.6 3.6 0 0 1 18 5.6V8M4 17h9a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-sad' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M2 17c4.418-4 11.582-4 16 0M16.5 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-11 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-saturation' xmlns='http://www.w3.org/2000/svg'><defs><linearGradient id='ruc-icon-id__a' x1='10.001' y1='1' x2='10.001' y2='19' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs><circle cx='10.001' cy='10' r='9' transform='rotate(90 10 10)' fill='url(#ruc-icon-id__a)'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-slider' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M0 10h11m0 0a2 2 0 1 0 4 0m-4 0a2 2 0 1 1 4 0m0 0h5'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-tuning' xmlns='http://www.w3.org/2000/svg'><path stroke-linejoin='round' fill='none' stroke='currentColor' stroke-width='1.2' d='M8 10h11M1 10h4M1 4.5h11m3 0h4m-18 11h11m3 0h4m-7-11a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0M5 10a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0m7 5.5a1.5 1.5 0 1 0 3 0 1.5 1.5 0 1 0-3 0'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-vibrance' xmlns='http://www.w3.org/2000/svg'><path d='M2.125 5.64A8.96 8.96 0 0 0 1.001 10a8.96 8.96 0 0 0 1.124 4.36V5.64z' fill='url(#uuc-icon-id__a)'/><path d='M2.875 15.499V4.502a9.053 9.053 0 0 1 1.75-1.72v14.437a9.05 9.05 0 0 1-1.75-1.72z' fill='url(#uuc-icon-id__b)'/><path d='M5.375 17.722c.548.33 1.134.601 1.75.809V1.469a8.956 8.956 0 0 0-1.75.81v15.443z' fill='url(#uuc-icon-id__c)'/><path d='M7.875 1.253v17.495c.564.136 1.15.22 1.75.244V1.008a9 9 0 0 0-1.75.245z' fill='url(#uuc-icon-id__d)'/><path d='M10.375 1.008v17.984a9 9 0 0 0 1.75-.244V1.252a9 9 0 0 0-1.75-.244z' fill='url(#uuc-icon-id__e)'/><path d='M12.875 1.469V18.53a8.957 8.957 0 0 0 1.75-.808V2.277a8.957 8.957 0 0 0-1.75-.808z' fill='url(#uuc-icon-id__f)'/><path d='M15.375 2.78v14.44a9.053 9.053 0 0 0 1.75-1.72v-11a9.054 9.054 0 0 0-1.75-1.72z' fill='url(#uuc-icon-id__g)'/><path d='M17.875 5.638v8.724A8.959 8.959 0 0 0 19.001 10a8.96 8.96 0 0 0-1.126-4.362z' fill='url(#uuc-icon-id__h)'/><defs><linearGradient id='uuc-icon-id__a' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__b' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__c' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__d' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__e' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__f' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__g' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient><linearGradient id='uuc-icon-id__h' x1='19.001' y1='10' x2='1.001' y2='10' gradientUnits='userSpaceOnUse'><stop stop-color='#DE15FF'/><stop offset='.203' stop-color='#0029FF'/><stop offset='.479' stop-color='#2AE4F0'/><stop offset='.604' stop-color='#15EF11'/><stop offset='.75' stop-color='#FAE528'/><stop offset='1' stop-color='#EB2A2A'/></linearGradient></defs></symbol><symbol viewBox='0 0 20 20' id='uc-icon-warmth' xmlns='http://www.w3.org/2000/svg'><path d='m7.5 13.05.429.42.171-.175v-.244h-.6zm5 0h-.6v.245l.172.175.428-.42zM8.1 3.5c0-1.05.85-1.9 1.9-1.9V.4a3.1 3.1 0 0 0-3.1 3.1h1.2zm0 9.55V3.5H6.9v9.55h1.2zm-1 2.45c0-.79.315-1.506.829-2.03l-.858-.84A4.088 4.088 0 0 0 5.9 15.5h1.2zm2.9 2.9a2.9 2.9 0 0 1-2.9-2.9H5.9a4.1 4.1 0 0 0 4.1 4.1v-1.2zm2.9-2.9a2.9 2.9 0 0 1-2.9 2.9v1.2a4.1 4.1 0 0 0 4.1-4.1h-1.2zm-.829-2.03c.514.524.829 1.24.829 2.03h1.2c0-1.117-.447-2.13-1.171-2.87l-.858.84zM11.9 3.5v9.55h1.2V3.5h-1.2zM10 1.6c1.05 0 1.9.85 1.9 1.9h1.2A3.1 3.1 0 0 0 10 .4v1.2z' fill='currentColor'/><path d='M10 14V8' stroke='currentColor' stroke-width='1.2' stroke-linecap='round'/><path d='M14 3h3m-3 3h3m-3 3h3m-8 6.5a1 1 0 1 0 2 0 1 1 0 1 0-2 0' stroke='currentColor' stroke-width='1.2'/></symbol></svg>")} <div class="uc-wrapper uc-wrapper_desktop"><uc-presence-toggle class="uc-network_problems_splash" .visible=${showNetworkProblems}><div class="uc-network_problems_content"><div class="uc-network_problems_icon"><uc-icon name="sad"></uc-icon></div><div class="uc-network_problems_text">Network error</div></div><div class="uc-network_problems_footer"><uc-btn-ui theme="primary" text="Retry" @click=${this._handleRetryNetwork}></uc-btn-ui></div></uc-presence-toggle><div class="uc-viewport"><div class="uc-file_type_outer"><div class="uc-file_type">${fileType}</div></div><div class="uc-image_container" ${(0,ref.K)(this._imgContainerRef)}><img src=${src} class=${this._imageClassName} ${(0,ref.K)(this._imgRef)} /> ${n=this._isInitialized,r=()=>(0,lit.qy)`<uc-editor-image-cropper ${(0,ref.K)(this._cropperRef)}></uc-editor-image-cropper>`,n?r(n):void 0} <uc-editor-image-fader ${(0,ref.K)(this._faderRef)}></uc-editor-image-fader></div><div class="uc-info_pan">${message}</div></div><div class="uc-toolbar"><uc-line-loader-ui .active=${showLoader}></uc-line-loader-ui><div class="uc-toolbar_content uc-toolbar_content__editor"> ${n1=this._isInitialized,r1=()=>(0,lit.qy)`<uc-editor-toolbar></uc-editor-toolbar>`,n1?r1(n1):void 0} </div></div></div>`}updated(changedProperties){super.updated(changedProperties),changedProperties.has("uuid")&&this.uuid&&this.updateImage(),changedProperties.has("cdnUrl")&&this.cdnUrl&&this.updateImage(),changedProperties.has("tabs")&&this._syncTabListFromProp(),(changedProperties.has("cropPreset")||changedProperties.has("cdnUrl"))&&this._syncCropPresetState()}_syncTabListFromProp(){let tabsValue=this.tabs||DEFAULT_TABS;this.$["*tabList"]=(tabs=>{if(!tabs)return toolbar_constants.nz;let tabList=(0,comma_separated.A)(tabs).filter(isTabIdValue);return 0===tabList.length?toolbar_constants.nz:tabList})(tabsValue)}_syncCropPresetState(){let list=(0,parseCropPreset.j)(this.cropPreset??""),closest=null;if(this.cdnUrl){let operations=(0,cdn_utils.I1)(this.cdnUrl),transformations=(0,transformationUtils.ym)(operations);if(Array.isArray(transformations?.crop?.dimensions)){let[w,h]=transformations.crop.dimensions;closest=(0,parseCropPreset.t)(w,h,list,.1)}}this.$["*cropPresetList"]=list,this.$["*currentAspectRatio"]=closest??list?.[0]??null}async updateImage(){if(this.isConnected){if(await this._waitForSize(),this.cdnUrl){let cdnUrlValue=this.cdnUrl,uuid=(0,cdn_utils.p_)(cdnUrlValue),originalUrl=(0,cdn_utils.vo)(cdnUrlValue,uuid);if(originalUrl===this.$["*originalUrl"])return;this.$["*originalUrl"]=originalUrl;let operations=(0,cdn_utils.I1)(cdnUrlValue),transformations=(0,transformationUtils.ym)(operations);this.$["*editorTransformations"]=transformations}else if(this.uuid){let originalUrl=(0,cdn_utils.vo)(this.cfg.cdnCname,this.uuid);if(originalUrl===this.$["*originalUrl"])return;this.$["*originalUrl"]=originalUrl,Object.keys(this.$["*editorTransformations"]).length>0&&(this.$["*editorTransformations"]={})}else throw Error("No UUID nor CDN URL provided");this.$["*tabId"]===toolbar_constants.XB.CROP?this.$["*cropperEl"]?.deactivate({reset:!0}):this.$["*faderEl"]?.deactivate();try{let originalUrlValue=this.$["*originalUrl"],cdnUrl=await this.proxyUrl((0,cdn_utils.LN)(originalUrlValue,(0,cdn_utils.$z)("json"))),{width,height}=await fetch(cdnUrl).then(response=>response.json());this.$["*imageSize"]={width,height},this.$["*tabId"]===toolbar_constants.XB.CROP?this.$["*cropperEl"]?.activate(this.$["*imageSize"]):this.$["*faderEl"]?.activate({url:originalUrlValue})}catch(err){err&&(this.telemetryManager.sendEventError(err,"cloud editor image. Failed to load image info"),console.error("Failed to load image info",err))}this._scheduleInitialization()}}async initEditor(){try{await this._waitForSize()}catch(err){this.isConnected&&console.error(err.message);return}this.classList.add("uc-editor_ON"),this.sub("*networkProblems",networkProblems=>{this._hasNetworkProblems=!!networkProblems}),this.sub("*editorTransformations",transformations=>{if(0===Object.keys(transformations).length)return;let originalUrl=this.$["*originalUrl"],cdnUrlModifiers=(0,cdn_utils.$z)((0,transformationUtils.ON)(transformations),"preview"),cdnUrl=(0,cdn_utils.LN)(originalUrl,cdnUrlModifiers);this.dispatchEvent(new CustomEvent("change",{detail:{originalUrl,cdnUrlModifiers,cdnUrl,transformations},bubbles:!0,composed:!0}))},!1)}constructor(...args){var fnCtx;super(...args),this.ctxOwner=!0,this._statusMessage="",this._imageSrc=transparentPixelSrc.d,this._fileType="",this._showLoader=!1,this.uuid=null,this.cdnUrl=null,this.cropPreset="",this.tabs=DEFAULT_TABS,this._hasNetworkProblems=!1,this._isInitialized=!1,this._pendingInitUpdate=null,this._debouncedShowLoader=(0,debounce.s)(show=>{this._showLoader=show},300),this._imgRef=(0,ref._)(),this._cropperRef=(0,ref._)(),this._faderRef=(0,ref._)(),this._imgContainerRef=(0,ref._)(),this._handleImageLoad=()=>{this._debouncedShowLoader(!1),this._imageSrc!==transparentPixelSrc.d&&(this.$["*networkProblems"]=!1)},this._handleImageError=()=>{this._debouncedShowLoader(!1),this.$["*networkProblems"]=!0},this._handleRetryNetwork=()=>{let retry=this.$["*on.retryNetwork"];retry?.()},this.init$={...this.init$,...(fnCtx=this,{"*originalUrl":null,"*loadingOperations":new Map,"*faderEl":null,"*cropperEl":null,"*imgEl":null,"*imgContainerEl":null,"*networkProblems":!1,"*imageSize":null,"*editorTransformations":{},"*cropPresetList":[],"*currentAspectRatio":null,"*tabList":toolbar_constants.nz,"*tabId":toolbar_constants.XB.CROP,"*on.retryNetwork":()=>{for(let img of fnCtx.querySelectorAll("img")){let originalSrc=img.src;img.src=transparentPixelSrc.d,img.src=originalSrc}fnCtx.$["*networkProblems"]=!1},"*on.apply":transformations=>{if(!transformations)return;let originalUrl=fnCtx.$["*originalUrl"];if(!originalUrl)return void console.warn("Original URL is null, cannot apply transformations");let cdnUrlModifiers=(0,cdn_utils.$z)((0,transformationUtils.ON)(transformations),"preview"),cdnUrl=(0,cdn_utils.LN)(originalUrl,cdnUrlModifiers);fnCtx.dispatchEvent(new CustomEvent("apply",{detail:{originalUrl,cdnUrlModifiers,cdnUrl,transformations},bubbles:!0,composed:!0})),fnCtx.remove()},"*on.cancel":()=>{fnCtx.remove(),fnCtx.dispatchEvent(new CustomEvent("cancel",{bubbles:!0,composed:!0}))}})}}}CloudImageEditorBlock_ts_decorate([(0,lit_decorators.wk)()],CloudImageEditorBlock.prototype,"_statusMessage",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.wk)()],CloudImageEditorBlock.prototype,"_imageSrc",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.wk)()],CloudImageEditorBlock.prototype,"_fileType",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.wk)()],CloudImageEditorBlock.prototype,"_showLoader",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.MZ)({type:String,reflect:!0})],CloudImageEditorBlock.prototype,"uuid",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.MZ)({type:String,attribute:"cdn-url",reflect:!0})],CloudImageEditorBlock.prototype,"cdnUrl",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.MZ)({type:String,attribute:"crop-preset",reflect:!0})],CloudImageEditorBlock.prototype,"cropPreset",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.MZ)({type:String,reflect:!0})],CloudImageEditorBlock.prototype,"tabs",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.wk)()],CloudImageEditorBlock.prototype,"_hasNetworkProblems",void 0),CloudImageEditorBlock_ts_decorate([(0,lit_decorators.wk)()],CloudImageEditorBlock.prototype,"_isInitialized",void 0);var UID=__webpack_require__(5446),crop_utils=__webpack_require__(8996);let GUIDE_THIRD=100/3;class CropFrame extends LitBlock.x{get _svgElement(){return this._svgRef.value??null}get _dragging(){return this._draggingValue}set _dragging(value){this._draggingValue!==value&&(this._draggingValue=value,this._applyGuidesDragState())}_applyGuidesDragState(){this._frameGuides&&this._frameGuides.setAttribute("class",classNames({"uc-guides--hidden":this._guidesHidden,"uc-guides--visible":!this._guidesHidden&&this._draggingValue,"uc-guides--semi-hidden":!this._guidesHidden&&!this._draggingValue}))}_shouldThumbBeDisabled(direction){let imageBox=this.$["*imageBox"];if(!imageBox)return!1;if(""===direction&&imageBox.height<=1&&imageBox.width<=1)return!0;let tooHigh=imageBox.height<=1&&(direction.includes("n")||direction.includes("s")),tooWide=imageBox.width<=1&&(direction.includes("e")||direction.includes("w"));return tooHigh||tooWide}_createBackdrop(){let cropBox=this.$["*cropBox"];if(!cropBox)return;let{x,y,width,height}=cropBox,svg=this._svgElement;if(!svg)return;let mask=(0,crop_utils.l8)("mask",{id:this._backdropMaskId}),maskRectOuter=(0,crop_utils.l8)("rect",{x:0,y:0,width:"100%",height:"100%",fill:"white"}),maskRectInner=(0,crop_utils.l8)("rect",{x,y,width,height,fill:"black"});mask.appendChild(maskRectOuter),mask.appendChild(maskRectInner);let backdropRect=(0,crop_utils.l8)("rect",{x:0,y:0,width:"100%",height:"100%",fill:"var(--color-image-background)","fill-opacity":.85,mask:`url(#${this._backdropMaskId})`});svg.appendChild(backdropRect),svg.appendChild(mask),this._backdropMask=mask,this._backdropMaskInner=maskRectInner}_resizeBackdrop(){this._backdropMask&&(this._backdropMask.style.display="none",window.requestAnimationFrame(()=>{this._backdropMask&&(this._backdropMask.style.display="block")}))}_updateBackdrop(){let cropBox=this.$["*cropBox"];if(!cropBox)return;let{x,y,width,height}=cropBox;this._backdropMaskInner&&(0,crop_utils.F2)(this._backdropMaskInner,{x,y,width,height})}_updateFrame(){let cropBox=this.$["*cropBox"];if(cropBox&&this._frameGuides&&this._frameThumbs){for(let thumb of Object.values(this._frameThumbs)){if(!thumb)continue;let{direction,pathNode,interactionNode,groupNode}=thumb,isCenter=""===direction,isCorner=2===direction.length,{x,y,width,height}=cropBox;if(isCenter){let moveThumbRect={x,y,width,height};(0,crop_utils.F2)(interactionNode,moveThumbRect)}else{let thumbSizeMultiplier=(0,crop_utils.qE)(Math.min(width,height)/82/2,0,1),pathInfo=isCorner?(0,crop_utils.VH)(cropBox,direction,thumbSizeMultiplier):(0,crop_utils.fN)(cropBox,direction,thumbSizeMultiplier),center=pathInfo.center;if(!center)continue;let size=Math.max(24*(0,crop_utils.qE)(Math.min(width,height)/24/3,0,1),6);(0,crop_utils.F2)(interactionNode,{x:center[0]-size,y:center[1]-size,width:2*size,height:2*size}),(0,crop_utils.F2)(pathNode,{d:pathInfo.d})}let disableThumb=this._shouldThumbBeDisabled(direction);groupNode.setAttribute("class",classNames("uc-thumb",{"uc-thumb--hidden":disableThumb,"uc-thumb--visible":!disableThumb}))}(0,crop_utils.F2)(this._frameGuides,{x:cropBox.x-.5,y:cropBox.y-.5,width:cropBox.width+1,height:cropBox.height+1})}}_createThumb(frameThumbs,direction){let groupNode=(0,crop_utils.l8)("g");groupNode.classList.add("uc-thumb"),groupNode.setAttribute("with-effects","");let interactionNode=(0,crop_utils.l8)("rect",{fill:"transparent"}),pathNode=(0,crop_utils.l8)("path",{stroke:"currentColor",fill:"none","stroke-width":3});groupNode.appendChild(pathNode),groupNode.appendChild(interactionNode),frameThumbs[direction]={direction,pathNode,interactionNode,groupNode},""===direction&&(groupNode.style.cursor="move"),interactionNode.addEventListener("pointerdown",this._handlePointerDown.bind(this,direction))}_createThumbs(){let frameThumbs={};for(let i=0;i<3;i++)for(let j=0;j<3;j++){let direction=`${["n","","s"][i]}${["w","","e"][j]}`;""!==direction&&this._createThumb(frameThumbs,direction)}return this._createThumb(frameThumbs,""),frameThumbs}_createGuides(){let svg=(0,crop_utils.l8)("svg"),rect=(0,crop_utils.l8)("rect",{x:0,y:0,width:"100%",height:"100%",fill:"none",stroke:"currentColor","stroke-width":1,"stroke-opacity":.5});svg.appendChild(rect);for(let i=1;i<=2;i++){let line=(0,crop_utils.l8)("line",{x1:`${GUIDE_THIRD*i}%`,y1:"0%",x2:`${GUIDE_THIRD*i}%`,y2:"100%",stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});svg.appendChild(line)}for(let i=1;i<=2;i++){let line=(0,crop_utils.l8)("line",{x1:"0%",y1:`${GUIDE_THIRD*i}%`,x2:"100%",y2:`${GUIDE_THIRD*i}%`,stroke:"currentColor","stroke-width":1,"stroke-opacity":.3});svg.appendChild(line)}return svg.classList.add("uc-guides","uc-guides--semi-hidden"),svg}_createFrame(){let svg=this._svgElement;if(!svg)return;let fr=document.createDocumentFragment(),frameGuides=this._createGuides();fr.appendChild(frameGuides);let frameThumbs=this._createThumbs();for(let{groupNode}of Object.values(frameThumbs))fr.appendChild(groupNode);svg.appendChild(fr),this._frameThumbs=frameThumbs,this._frameGuides=frameGuides,this._applyGuidesDragState()}_handlePointerDown(direction,e){if(!this._frameThumbs)return;let thumb=this._frameThumbs[direction];if(!thumb||this._shouldThumbBeDisabled(direction))return;let cropBox=this.$["*cropBox"],svgElement=this._svgElement;if(!svgElement)return;let{x:svgX,y:svgY}=svgElement.getBoundingClientRect(),x=e.x-svgX,y=e.y-svgY;this._dragging=!0,this._draggingThumb=thumb,this._dragStartPoint=[x,y],this._dragStartCrop={...cropBox}}_calcCropBox(direction,delta){let[dx,dy]=delta,imageBox=this.$["*imageBox"],rect=this._dragStartCrop??this.$["*cropBox"],cropPreset=this.$["*currentAspectRatio"],aspectRatio=cropPreset?cropPreset.width/cropPreset.height:void 0;return Object.values(rect=""===direction?(0,crop_utils._J)({rect,delta:[dx,dy],imageBox}):(0,crop_utils.dz)({rect,delta:[dx,dy],direction,aspectRatio,imageBox})).every(number=>Number.isFinite(number)&&number>=0)?(0,crop_utils.YH)((0,crop_utils.rH)(rect),imageBox):void console.error("CropFrame is trying to create invalid rectangle",{payload:rect})}_updateCursor(){let hoverThumb=this._hoverThumb,svg=this._svgElement;svg&&(svg.style.cursor=hoverThumb?(0,crop_utils.vv)(hoverThumb.direction):"initial")}_createMask(href){if(this._frameImage)return void this._frameImage.setAttribute("href",href);let svg=this._svgElement;if(!svg){this._pendingMaskHref=href;return}this._pendingMaskHref=null;let fr=document.createDocumentFragment(),imageNode=(0,crop_utils.l8)("image",{href});imageNode.setAttribute("class","uc-cloud-mask"),fr.appendChild(imageNode),svg.appendChild(fr),this._frameImage=imageNode}_updateMask(){let cropBox=this.$["*cropBox"];if(!cropBox||!this._frameImage)return;let{x,y,width,height}=cropBox;(0,crop_utils.F2)(this._frameImage,{x,y,height,width})}_render(){this._svgReady&&(this._updateBackdrop(),this._updateFrame(),this._updateMask())}toggleThumbs(visible){if(this._frameThumbs)for(let thumb of Object.values(this._frameThumbs)){if(!thumb)continue;let{groupNode}=thumb;groupNode.setAttribute("class",classNames("uc-thumb",{"uc-thumb--hidden":!visible,"uc-thumb--visible":visible}))}}initCallback(){super.initCallback(),this.sub("*imageBox",()=>{this._resizeBackdrop(),this._svgReady&&window.requestAnimationFrame(()=>{this._render()})}),this.sub("*cropBox",cropBox=>{!cropBox||(this._guidesHidden=cropBox.height<=1||cropBox.width<=1,this._applyGuidesDragState(),this._svgReady&&window.requestAnimationFrame(()=>{this._render()}))}),this.subConfigValue("cloudImageEditorMaskHref",maskHref=>{maskHref&&this._createMask(maskHref)}),document.addEventListener("pointermove",this._handlePointerMove,!0),document.addEventListener("pointerup",this._handlePointerUp,!0)}firstUpdated(changedProperties){super.firstUpdated(changedProperties),this._initializeSvg()}_initializeSvg(){let svg=this._svgElement;if(svg&&!this._svgReady){if(this._createBackdrop(),this._createFrame(),this._svgReady=!0,svg.addEventListener("pointermove",this._handleSvgPointerMove,!0),this._pendingMaskHref){let pendingMask=this._pendingMaskHref;this._pendingMaskHref=null,this._createMask(pendingMask)}this._render()}}disconnectedCallback(){super.disconnectedCallback();let svg=this._svgElement;svg?.removeEventListener("pointermove",this._handleSvgPointerMove,!0),document.removeEventListener("pointermove",this._handlePointerMove,!0),document.removeEventListener("pointerup",this._handlePointerUp,!0)}render(){return(0,lit.qy)`<svg class="uc-svg" xmlns="http://www.w3.org/2000/svg" ${(0,ref.K)(this._svgRef)}></svg>`}constructor(...args){super(...args),this._backdropMaskId=`uc-backdrop-mask-${UID.V.generateFastUid()}`,this._guidesHidden=!1,this._draggingValue=!1,this._svgRef=(0,ref._)(),this._svgReady=!1,this._pendingMaskHref=null,this._handlePointerUp=e=>{this._updateCursor(),this._dragging&&(e.stopPropagation(),e.preventDefault(),this._dragging=!1)},this._handlePointerMove=e=>{if(!this._dragging||!this._dragStartPoint||!this._draggingThumb)return;e.stopPropagation(),e.preventDefault();let svg=this._svgElement;if(!svg)return;let{x:svgX,y:svgY}=svg.getBoundingClientRect(),x=e.x-svgX,y=e.y-svgY,dx=x-this._dragStartPoint[0],dy=y-this._dragStartPoint[1],{direction}=this._draggingThumb,movedCropBox=this._calcCropBox(direction,[dx,dy]);movedCropBox&&(this.$["*cropBox"]=movedCropBox)},this._handleSvgPointerMove=e=>{if(!this._frameThumbs)return;let hoverThumb=Object.values(this._frameThumbs).find(thumb=>{if(!thumb||this._shouldThumbBeDisabled(thumb.direction))return!1;let bounds=thumb.interactionNode.getBoundingClientRect(),rect={x:bounds.x,y:bounds.y,width:bounds.width,height:bounds.height};return(0,crop_utils._c)(rect,[e.x,e.y])});this._hoverThumb=hoverThumb,this._updateCursor()}}}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.wk)()],CropFrame.prototype,"_draggingValue",void 0);var directive=__webpack_require__(7804);let class_map_e=(0,directive.u$)(class extends directive.WL{constructor(t){if(super(t),t.type!==directive.OA.ATTRIBUTE||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter(s=>t[s]).join(" ")+" "}update(s,[i]){if(void 0===this.st){for(let t in this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter(t=>""!==t))),i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}let r=s.element.classList;for(let t of this.st)t in i||(r.remove(t),this.st.delete(t));for(let t in i){let s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return lit_html.c0}});function EditorButtonControl_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}class EditorButtonControl extends LitBlock.x{get buttonClasses(){let isActive=this.active;return{"uc-active":isActive,"uc-not_active":!isActive}}_updateHostStateClasses(){for(let[className,enabled]of Object.entries(this.buttonClasses))this.classList.toggle(className,enabled)}onClick(_event){}connectedCallback(){super.connectedCallback(),this._updateHostStateClasses()}updated(changedProperties){super.updated(changedProperties),changedProperties.has("active")&&this._updateHostStateClasses()}render(){let clickHandler=this.onClick,title=this.title;return(0,lit.qy)`<button role="option" type="button" aria-label=${this.titleProp??lit_html.s6} title=${this.titleProp??lit_html.s6} @click=${clickHandler} ><uc-icon name=${this.icon}></uc-icon><div class="uc-title" ?hidden=${!title}>${title}</div></button>`}constructor(...args){super(...args),this.active=!1,this.title="",this.icon="",this.titleProp=""}}EditorButtonControl_ts_decorate([(0,lit_decorators.wk)()],EditorButtonControl.prototype,"active",void 0),EditorButtonControl_ts_decorate([(0,lit_decorators.wk)()],EditorButtonControl.prototype,"title",void 0),EditorButtonControl_ts_decorate([(0,lit_decorators.wk)()],EditorButtonControl.prototype,"icon",void 0),EditorButtonControl_ts_decorate([(0,lit_decorators.wk)()],EditorButtonControl.prototype,"titleProp",void 0);class EditorFreeformButtonControl extends EditorButtonControl{initCallback(){super.initCallback(),this.icon="arrow-dropdown",this.sub("*currentAspectRatio",opt=>{let title=this._computeTitle(opt);this.title=title,this.titleProp=title})}onClick(){this.$["*showListAspectRatio"]=!0}_computeTitle(aspectRatio){return aspectRatio?aspectRatio.hasFreeform?this.l10n("freeform-crop"):this.l10n("crop-to-shape",{value:`${aspectRatio.width}:${aspectRatio.height}`}):""}render(){let clickHandler=this.onClick,title=this.title;return(0,lit.qy)`<button role="option" type="button" class=${class_map_e(this.buttonClasses)} aria-label=${this.titleProp??lit_html.s6} title=${this.titleProp??lit_html.s6} @click=${clickHandler} ><div class="uc-title" ?hidden=${!title}>${title}</div><uc-icon name=${this.icon}></uc-icon></button>`}}class EditorAspectRatioButtonControl extends EditorButtonControl{get aspectRatio(){return this._aspectRatio}set aspectRatio(value){if(this._aspectRatio===value)return;let previous=this._aspectRatio;this._aspectRatio=value,this.requestUpdate("aspectRatio",previous),value?this._updateAspectRatioPresentation(value):(this.removeAttribute("uc-aspect-ratio-freeform"),this.title="",this.titleProp="")}initCallback(){super.initCallback(),this._aspectRatio&&this._updateAspectRatioPresentation(this._aspectRatio),this.sub("*currentAspectRatio",opt=>{this.active=opt&&opt.id===this._aspectRatio?.id||opt?.width===this._aspectRatio?.width&&opt?.height===this._aspectRatio?.height})}onClick(){let currentAspectRatio=this.$["*currentAspectRatio"];currentAspectRatio?.id!==this._aspectRatio?.id&&(this.$["*currentAspectRatio"]=this._aspectRatio)}_updateAspectRatioPresentation(value){let titleText;if(!this.isConnected)return;let isFreeform=!!value.hasFreeform;this.toggleAttribute("uc-aspect-ratio-freeform",isFreeform);let resolveTitleProp=()=>{let label=this.l10n("a11y-cloud-editor-apply-aspect-ratio",{name:isFreeform?this.l10n("custom").toLowerCase():this.l10n("crop-to-shape",{value:`${value.width}:${value.height}`}).toLowerCase(),value:""});return this.titleProp=label,label};titleText=isFreeform?this.l10n("custom"):`${value.width}:${value.height}`,this.title=titleText,resolveTitleProp(),isFreeform||this.requestUpdate()}_renderIcon(){let width,height,ratio=this._aspectRatio;if(!ratio||ratio.hasFreeform)return(0,lit.qy)`<uc-icon name=${this.icon}></uc-icon>`;let{width:width1,height:height1}=(width=12,height=12,ratio.width/ratio.height>=1?(width=12,height=Math.round(12*ratio.height/ratio.width)):(height=12,width=Math.round(12*ratio.width/ratio.height)),{width,height});return(0,lit.qy)`<uc-icon><svg viewBox="0 0 ${16} ${16}" aria-hidden="true" focusable="false" ><rect x=${(16-width1)/2} y=${(16-height1)/2} width=${width1} height=${height1} rx="2" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round" ></rect></svg></uc-icon>`}render(){let clickHandler=this.onClick,title=this.title;return(0,lit.qy)`<button role="option" type="button" class=${class_map_e(this.buttonClasses)} aria-label=${this.titleProp??lit_html.s6} title=${this.titleProp??lit_html.s6} @click=${clickHandler} > ${this._renderIcon()} <div class="uc-title" ?hidden=${!title}>${title}</div></button>`}constructor(...args){super(...args),this._aspectRatio=null}}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.MZ)({attribute:!1})],EditorAspectRatioButtonControl.prototype,"aspectRatio",null);class EditorCropButtonControl extends EditorButtonControl{willUpdate(changedProperties){super.willUpdate(changedProperties),this.operation?(this.titleProp=this.l10n("a11y-cloud-editor-apply-crop",{name:this.l10n(this.operation).toLowerCase()}),this.icon=this.operation):(this.icon="",this.titleProp="")}onClick(e){if(!this.operation)return;let cropper=this.$["*cropperEl"],prev=cropper.getValue(this.operation),next=function(operation,prev){if("rotate"===operation){let angle;return(angle=("number"==typeof prev?prev:0)+90)>=360?0:angle}if("mirror"===operation||"flip"===operation)return!prev;throw Error(`Unsupported operation: ${operation}`)}(this.operation,prev);this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:this.operation,next,prev}),cropper.setValue(this.operation,next)}constructor(...args){super(...args),this.operation=void 0}}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.MZ)({type:String})],EditorCropButtonControl.prototype,"operation",void 0);var style_map=__webpack_require__(5350),env=__webpack_require__(5704),preloadImage=__webpack_require__(6756);let FAKE_ORIGINAL_FILTER="original";class EditorSlider extends LitBlock.x{setOperation(operation,filter){this.state={...this.state,operation,filter},this._initializeValues();let fader=this.$["*faderEl"],originalUrl=this.state.originalUrl||this.$["*originalUrl"];fader&&originalUrl&&fader.activate({url:originalUrl,operation:this.state.operation,value:this.state.filter===FAKE_ORIGINAL_FILTER?void 0:this.state.value,filter:this.state.filter===FAKE_ORIGINAL_FILTER?void 0:this.state.filter,fromViewer:!1})}_initializeValues(){let operation=this.state.operation,{range,zero}=toolbar_constants.UA[operation],[min,max]=range;this.state={...this.state,min,max,zero};let transformation=this.$["*editorTransformations"][operation];if("filter"===operation){let value=Number(max);if(transformation){let{name,amount}=transformation;value=name===this.state.filter?amount:max}this.state={...this.state,value,defaultValue:value};return}let value=void 0!==transformation?transformation:zero;this.state={...this.state,value,defaultValue:value}}apply(){let transformations={...this.$["*editorTransformations"]};"filter"===this.state.operation?this.state.filter&&this.state.filter!==FAKE_ORIGINAL_FILTER?transformations.filter={name:this.state.filter,amount:this.state.value}:delete transformations.filter:transformations[this.state.operation]=this.state.value,this.$["*editorTransformations"]=transformations}cancel(){let fader=this.$["*faderEl"];fader?.deactivate({hide:!1})}initCallback(){super.initCallback(),this.sub("*originalUrl",originalUrl=>{originalUrl&&(this.state={...this.state,originalUrl})})}updated(changedProperties){if(super.updated(changedProperties),changedProperties.has("state")){let tooltip=`${this.state.filter??this.state.operation} ${this.state.value}`;this.$["*operationTooltip"]=tooltip}}render(){return(0,lit.qy)`<uc-slider-ui .disabled=${this.state.disabled} .min=${this.state.min} .max=${this.state.max} .defaultValue=${this.state.defaultValue} .zero=${this.state.zero} @slider-input=${this._handleInput} ></uc-slider-ui>`}constructor(...args){super(...args),this.state={operation:"filter",filter:void 0,originalUrl:"",disabled:!1,min:0,max:100,value:0,defaultValue:0,zero:0},this._handleInput=e=>{let{value}=e.detail,fader=this.$["*faderEl"];fader?.set(value),this.state={...this.state,value}}}}function parseFilterValue(str){if(!str)return null;let match=str.match(/^([A-Za-z]+)\s+(\d+)$/);if(!match)return null;let[,filter,amount]=match;return filter&&void 0!==amount?{filter,value:Number(amount)}:null}function EditorFilterControl_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.wk)()],EditorSlider.prototype,"state",void 0);class EditorFilterControl extends EditorButtonControl{get filter(){return this._filter}set filter(value){let nextFilter=value??"";if(this._filter===nextFilter)return;let previousValue=this._filter;this._filter=nextFilter,this._operation="filter",this.isOriginal=nextFilter===FAKE_ORIGINAL_FILTER,this.icon=this.isOriginal?"original":"slider",this._iconSize=this.isOriginal?40:20,this.requestUpdate("filter",previousValue),this.isConnected&&this._updateFilterLabels(nextFilter)}onClick(e){if(this.active)this.isOriginal||(this.$["*sliderEl"].setOperation(this._operation,this._filter),this.$["*showSlider"]=!0);else{let slider=this.$["*sliderEl"];slider.setOperation(this._operation,this._filter),slider.apply()}this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:parseFilterValue(this.$["*operationTooltip"])}),this.$["*currentFilter"]=this._filter}_previewSrc(){let cssSize=parseInt(window.getComputedStyle(this).getPropertyValue("--l-base-min-width"),10),previewSize=Number.isFinite(cssSize)&&cssSize>0?cssSize:this._iconSize||32,dpr=window.devicePixelRatio,size=Math.ceil(dpr*previewSize),transformations={...this.$["*editorTransformations"]};return transformations[this._operation]=this._filter!==FAKE_ORIGINAL_FILTER?{name:this._filter,amount:100}:void 0,(0,cdn_utils.LN)(this._originalUrl,(0,cdn_utils.$z)(transformationUtils.jO,(0,transformationUtils.ON)(transformations),`quality/${dpr>=2?"lightest":"normal"}`,`scale_crop/${size}x${size}/center`,`@clib/${env.r}/${env.i}/uc-cloud-image-editor/`))}async _observerCallback(entries,observer){let intersectionEntry=entries[0];intersectionEntry?.isIntersecting?await this._loadPreview(observer):this._cancelPreload?.()}initCallback(){super.initCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]});let originalUrl=this.$["*originalUrl"];this._originalUrl=originalUrl??"",this.sub("*originalUrl",nextUrl=>{this._originalUrl=nextUrl??"",!this.isOriginal&&this._originalUrl&&this.isConnected&&!this._previewImage&&(this._observer?.observe(this),this._schedulePreviewVisibilityCheck())}),this.isOriginal||(this._observer?.observe(this),this._schedulePreviewVisibilityCheck()),this._filter&&this._updateFilterLabels(this._filter),this.sub("*currentFilter",currentFilter=>{this.active=!!(currentFilter&¤tFilter===this._filter)}),this.sub("*networkProblems",async networkProblems=>{networkProblems||(this._previewImage?await this._loadPreview():this._schedulePreviewVisibilityCheck())})}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect(),this._cancelPreload?.(),this._clearPreviewVisibilityChecks()}updated(changedProperties){super.updated(changedProperties),changedProperties.has("isOriginal")&&(this.isOriginal?this._observer?.unobserve(this):(this._observer?.observe(this),this._schedulePreviewVisibilityCheck()))}_updateFilterLabels(filterName){if(!filterName){this.titleProp="";return}let label=this.l10n("a11y-cloud-editor-apply-filter",{name:filterName.toLowerCase()});this.titleProp=label}async _loadPreview(observer){if(!this.isConnected){observer?.unobserve(this),this._cancelPreload?.(),this._cancelPreload=void 0;return}if(!this._originalUrl){this._previewVisibilityCheckTimeout||this._previewVisibilityCheckRaf||this._schedulePreviewVisibilityCheck();return}let requestId=++this._lastPreviewRequestId,src="";try{src=await this.proxyUrl(this._previewSrc())}catch(err){this.$["*networkProblems"]=!0,console.error("Failed to resolve preview URL",{error:err});return}this._previewLoaded=!1,this._cancelPreload?.();let{promise,cancel}=(0,preloadImage.N)(src);this._cancelPreload=()=>{cancel(),this._lastPreviewRequestId===requestId&&(this._cancelPreload=void 0)};try{if(await promise,this._lastPreviewRequestId!==requestId||!this.isConnected)return;this._previewImage=src,this._previewLoaded=!0,this._clearPreviewVisibilityChecks(),(observer??this._observer)?.unobserve(this)}catch(err){this.$["*networkProblems"]=!0,console.error("Failed to load image",{error:err}),this._schedulePreviewVisibilityCheck()}finally{this._lastPreviewRequestId===requestId&&(this._cancelPreload=void 0)}}_schedulePreviewVisibilityCheck(){!this.isConnected||this._previewImage||this._previewLoaded||this.isOriginal||this.$["*networkProblems"]?this._clearPreviewVisibilityChecks():(this._previewVisibilityCheckRaf&&cancelAnimationFrame(this._previewVisibilityCheckRaf),this._previewVisibilityCheckRaf=requestAnimationFrame(()=>{if(this._previewVisibilityCheckRaf=void 0,!this.isConnected||this._previewImage||this._previewLoaded||this.isOriginal)return void this._clearPreviewVisibilityChecks();let rect=this.getBoundingClientRect(),hasSize=rect.width>0&&rect.height>0,viewportWidth=window.innerWidth||document.documentElement.clientWidth,viewportHeight=window.innerHeight||document.documentElement.clientHeight;hasSize&&rect.bottom>0&&rect.right>0&&rect.top<viewportHeight&&rect.left<viewportWidth?this._loadPreview():this._previewVisibilityCheckTimeout=window.setTimeout(()=>{this._previewVisibilityCheckTimeout=void 0,this._schedulePreviewVisibilityCheck()},500)}))}_clearPreviewVisibilityChecks(){this._previewVisibilityCheckRaf&&(cancelAnimationFrame(this._previewVisibilityCheckRaf),this._previewVisibilityCheckRaf=void 0),this._previewVisibilityCheckTimeout&&(window.clearTimeout(this._previewVisibilityCheckTimeout),this._previewVisibilityCheckTimeout=void 0)}get _shouldShowPreview(){return!!(this._previewLoaded&&!this.active&&!this.isOriginal)}render(){let clickHandler=this.onClick,previewStyles={opacity:this._shouldShowPreview?"1":"0"};this._previewImage&&(previewStyles.backgroundImage=`url(${this._previewImage})`);let iconStyles={opacity:this.active||this.isOriginal?"1":"0"};return(0,lit.qy)`<button role="option" type="button" class=${class_map_e(this.buttonClasses)} aria-label=${this.titleProp??lit_html.s6} title=${this.titleProp??lit_html.s6} @click=${clickHandler} ><div class="uc-preview" ?data-loaded=${this._previewLoaded} style=${(0,style_map.W)(previewStyles)}></div><uc-icon class=${class_map_e({"uc-original-icon":this.isOriginal})} name=${this.icon} style=${(0,style_map.W)(iconStyles)} ></uc-icon></button>`}constructor(...args){super(...args),this._operation="",this._filter="",this._originalUrl="",this._lastPreviewRequestId=0,this._previewImage=null,this._previewLoaded=!1,this.isOriginal=!1,this._iconSize=20}}EditorFilterControl_ts_decorate([(0,lit_decorators.wk)()],EditorFilterControl.prototype,"_previewImage",void 0),EditorFilterControl_ts_decorate([(0,lit_decorators.wk)()],EditorFilterControl.prototype,"_previewLoaded",void 0),EditorFilterControl_ts_decorate([(0,lit_decorators.wk)()],EditorFilterControl.prototype,"isOriginal",void 0),EditorFilterControl_ts_decorate([(0,lit_decorators.wk)()],EditorFilterControl.prototype,"_iconSize",void 0),EditorFilterControl_ts_decorate([(0,lit_decorators.MZ)({type:String})],EditorFilterControl.prototype,"filter",null);var throttle=__webpack_require__(3442);function viewerImageSrc(originalUrl,width,transformations){let dpr=window.devicePixelRatio,size=Math.min(Math.ceil(width*dpr),3e3);return(0,cdn_utils.LN)(originalUrl,(0,cdn_utils.$z)(transformationUtils.jO,(0,transformationUtils.ON)(transformations),`quality/${dpr>=2?"lightest":"normal"}`,`stretch/off/-/resize/${size}x`,`@clib/${env.r}/${env.i}/uc-cloud-image-editor/`))}class EditorImageCropper extends LitBlock.x{constructor(){super(),this.ctxOwner=!0,this._imageSize={width:0,height:0},this._ctx=null,this._isActive=!1,this._image=null,this._canvasRef=(0,ref._)(),this._frameRef=(0,ref._)(),this.init$={...this.init$,"*padding":20,"*operations":{rotate:0,mirror:!1,flip:!1},"*imageBox":{x:0,y:0,width:0,height:0},"*cropBox":{x:0,y:0,width:0,height:0}},this._commitDebounced=(0,debounce.s)(this._commit.bind(this),300),this._handleResizeThrottled=(0,throttle.n)(()=>{this.isConnected&&this._isActive&&(this._initCanvas(),this._syncTransformations(),this._alignImage(),this._alignCrop(),this._draw())},100)}firstUpdated(changedProperties){super.firstUpdated(changedProperties),this._initCanvas()}_syncTransformations(){let pickedTransformations=function(obj,keys){let result={};for(let key of keys){let value=obj[key];(Object.hasOwn(obj,key)||void 0!==value)&&(result[key]=value)}return result}(this.$["*editorTransformations"],Object.keys(this.$["*operations"])),operations={...this.$["*operations"],...pickedTransformations};this.$["*operations"]=operations}_initCanvas(){let canvas=this._canvasRef.value;if(!canvas)return;let ctx=canvas.getContext("2d"),width=this.offsetWidth,height=this.offsetHeight,dpr=window.devicePixelRatio;canvas.style.width=`${width}px`,canvas.style.height=`${height}px`,canvas.width=width*dpr,canvas.height=height*dpr,ctx?.scale(dpr,dpr),this._canvas=canvas,this._ctx=ctx}_alignImage(){let imageBox;if(!this._isActive||!this._image)return;let image=this._image,padding=this.$["*padding"],{rotate}=this.$["*operations"],bounds={width:this.offsetWidth,height:this.offsetHeight},naturalSize=(0,crop_utils.BT)({width:image.naturalWidth,height:image.naturalHeight},rotate);if(naturalSize.width>bounds.width-2*padding||naturalSize.height>bounds.height-2*padding){let imageAspectRatio=naturalSize.width/naturalSize.height;if(imageAspectRatio>bounds.width/bounds.height){let width=bounds.width-2*padding,height=width/imageAspectRatio;imageBox={x:0+padding,y:padding+(bounds.height-2*padding)/2-height/2,width,height}}else{let height=bounds.height-2*padding,width=height*imageAspectRatio;imageBox={x:padding+(bounds.width-2*padding)/2-width/2,y:0+padding,width,height}}}else{let{width,height}=naturalSize;imageBox={x:padding+(bounds.width-2*padding)/2-width/2,y:padding+(bounds.height-2*padding)/2-height/2,width,height}}this.$["*imageBox"]=(0,crop_utils.rH)(imageBox)}_alignCrop(){let cropBox=this.$["*cropBox"],imageBox=this.$["*imageBox"],{rotate}=this.$["*operations"],cropTransformation=this.$["*editorTransformations"].crop,{width:previewWidth,x:previewX,y:previewY}=imageBox;if(cropTransformation){let{dimensions:[width,height],coords:[x,y]}=cropTransformation,{width:sourceWidth}=(0,crop_utils.BT)(this._imageSize,rotate),ratio=previewWidth/sourceWidth;cropBox=(0,crop_utils.YH)((0,crop_utils.rH)({x:previewX+x*ratio,y:previewY+y*ratio,width:width*ratio,height:height*ratio}),imageBox)}let cropPreset=this.$["*currentAspectRatio"],cropAspectRatio=cropPreset?cropPreset.width/cropPreset.height:void 0;if(!(0,crop_utils.Ze)(cropBox,imageBox)||cropAspectRatio&&!(0,crop_utils.n)(cropBox,cropAspectRatio)){let imageAspectRatio=imageBox.width/imageBox.height,width=imageBox.width,height=imageBox.height;cropAspectRatio&&(imageAspectRatio>cropAspectRatio?width=Math.min(imageBox.height*cropAspectRatio,imageBox.width):height=Math.min(imageBox.width/cropAspectRatio,imageBox.height)),cropBox={x:imageBox.x+imageBox.width/2-width/2,y:imageBox.y+imageBox.height/2-height/2,width,height}}this.$["*cropBox"]=(0,crop_utils.YH)((0,crop_utils.rH)(cropBox),imageBox)}_drawImage(){let ctx=this._ctx;if(!ctx)return;let image=this._image;if(!image)return;let imageBox=this.$["*imageBox"],{mirror,flip,rotate}=this.$["*operations"],rotated=(0,crop_utils.BT)({width:imageBox.width,height:imageBox.height},rotate);ctx.save(),ctx.translate(imageBox.x+imageBox.width/2,imageBox.y+imageBox.height/2),ctx.rotate(-(rotate*Math.PI*1)/180),ctx.scale(mirror?-1:1,flip?-1:1),ctx.drawImage(image,-rotated.width/2,-rotated.height/2,rotated.width,rotated.height),ctx.restore()}_draw(){if(!this._isActive||!this._image||!this._canvas||!this._ctx)return;let canvas=this._canvas;this._ctx.clearRect(0,0,canvas.width,canvas.height),this._drawImage()}_animateIn({fromViewer}){this._image&&(this._frameRef.value?.toggleThumbs(!0),this._transitionToImage(),setTimeout(()=>{this.className=classNames({"uc-active_from_viewer":fromViewer,"uc-active_from_editor":!fromViewer,"uc-inactive_to_editor":!1})}))}_getCropDimensions(){let cropBox=this.$["*cropBox"],imageBox=this.$["*imageBox"],{rotate}=this.$["*operations"],{width:previewWidth,height:previewHeight}=imageBox,{width:sourceWidth,height:sourceHeight}=(0,crop_utils.BT)(this._imageSize,rotate),{width:cropWidth,height:cropHeight}=cropBox,ratioW=previewWidth/sourceWidth,ratioH=previewHeight/sourceHeight;return[(0,crop_utils.qE)(Math.round(cropWidth/ratioW),1,sourceWidth),(0,crop_utils.qE)(Math.round(cropHeight/ratioH),1,sourceHeight)]}_getCropTransformation(){let cropBox=this.$["*cropBox"],imageBox=this.$["*imageBox"],{rotate}=this.$["*operations"],{width:previewWidth,height:previewHeight,x:previewX,y:previewY}=imageBox,{width:sourceWidth,height:sourceHeight}=(0,crop_utils.BT)(this._imageSize,rotate),{x:cropX,y:cropY}=cropBox,dimensions=this._getCropDimensions(),crop={dimensions,coords:[(0,crop_utils.qE)(Math.round((cropX-previewX)/(previewWidth/sourceWidth)),0,sourceWidth-dimensions[0]),(0,crop_utils.qE)(Math.round((cropY-previewY)/(previewHeight/sourceHeight)),0,sourceHeight-dimensions[1])]};return!crop||[({dimensions,coords})=>[...dimensions,...coords].every(number=>Number.isInteger(number)&&Number.isFinite(number)),({dimensions,coords})=>dimensions.every(d=>d>0)&&coords.every(c=>c>=0)].every(matcher=>matcher(crop))?dimensions[0]!==sourceWidth||dimensions[1]!==sourceHeight?crop:void 0:void console.error("Cropper is trying to create invalid crop object",{payload:crop})}_commit(){if(!this.isConnected||!this._imageSize)return;let{rotate,mirror,flip}=this.$["*operations"],crop=this._getCropTransformation(),transformations={...this.$["*editorTransformations"],crop,rotate,mirror,flip};this.$["*editorTransformations"]=transformations}setValue(operation,value){this.$["*operations"]={...this.$["*operations"],[operation]:value},this._isActive&&(this._alignImage(),this._alignCrop(),this._draw())}getValue(operation){return this.$["*operations"][operation]}async activate(imageSize,{fromViewer}={}){if(!this._isActive){this._isActive=!0,await this.updateComplete,this._initCanvas(),this._imageSize=imageSize,this.removeEventListener("transitionend",this._reset);try{let originalUrl=this.$["*originalUrl"],transformations=this.$["*editorTransformations"];this._image=await this._waitForImage(originalUrl,transformations),this._syncTransformations(),this._handleResizeThrottled(),this._animateIn({fromViewer})}catch(err){console.error("Failed to activate cropper",{error:err}),this.telemetryManager.sendEventError(err,"cloud editor image. Failed to activate cropper")}this._observer=new ResizeObserver(entries=>{let[entry]=entries;!entry||entry.contentRect.width>0&&entry.contentRect.height>0&&this._isActive&&this._image&&this._handleResizeThrottled()}),this._observer.observe(this)}}deactivate({reset=!1}={}){this._isActive&&(reset||this._commit(),this._isActive=!1,this._transitionToCrop(),this.className=classNames({"uc-active_from_viewer":!1,"uc-active_from_editor":!1,"uc-inactive_to_editor":!0}),this._frameRef.value?.toggleThumbs(!1),this.addEventListener("transitionend",this._reset,{once:!0}),this._observer?.disconnect())}_transitionToCrop(){let dimensions=this._getCropDimensions(),cropBox=this.$["*cropBox"],scale=Math.min(Math.min(this.offsetWidth,dimensions[0])/cropBox.width,Math.min(this.offsetHeight,dimensions[1])/cropBox.height),cropCenterX=cropBox.x+cropBox.width/2,cropCenterY=cropBox.y+cropBox.height/2;this.style.transform=`scale(${scale}) translate(${(this.offsetWidth/2-cropCenterX)/scale}px, ${(this.offsetHeight/2-cropCenterY)/scale}px)`,this.style.transformOrigin=`${cropCenterX}px ${cropCenterY}px`}_transitionToImage(){let cropBox=this.$["*cropBox"],cropCenterX=cropBox.x+cropBox.width/2,cropCenterY=cropBox.y+cropBox.height/2;this.style.transform="scale(1)",this.style.transformOrigin=`${cropCenterX}px ${cropCenterY}px`}_reset(){this._isActive||(this._image=null)}async _waitForImage(originalUrl,transformations){let width=this.offsetWidth;transformations={...transformations,crop:void 0,rotate:void 0,flip:void 0,mirror:void 0};let src=await this.proxyUrl(viewerImageSrc(originalUrl,width,transformations)),{promise,cancel,image}=(0,preloadImage.N)(src),stop=this._handleImageLoading(src);return image.addEventListener("load",stop,{once:!0}),image.addEventListener("error",stop,{once:!0}),this._cancelPreload?.(),this._cancelPreload=cancel,promise.then(()=>image).catch(err=>(console.error("Failed to load image",{error:err}),this.$["*networkProblems"]=!0,image))}_handleImageLoading(src){let operation="crop",loadingOperations=this.$["*loadingOperations"],operationMap=loadingOperations.get(operation);return operationMap||(operationMap=new Map,loadingOperations.set(operation,operationMap)),operationMap.get(src)||(operationMap.set(src,!0),this.$["*loadingOperations"]=loadingOperations),()=>{let map=loadingOperations.get(operation);map?.has(src)&&(map.delete(src),this.$["*loadingOperations"]=loadingOperations)}}initCallback(){super.initCallback(),this.sub("*imageBox",()=>{this._draw()}),this.sub("*cropBox",()=>{this._image&&this._commitDebounced()}),this.sub("*currentAspectRatio",()=>{this._alignCrop()}),setTimeout(()=>{this.sub("*networkProblems",networkProblems=>{!networkProblems&&this._isActive&&this._imageSize&&this.activate(this._imageSize,{fromViewer:!1})})},0)}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect(),this._image&&(this._image=null)}render(){return(0,lit.qy)`<canvas class="uc-canvas" ${(0,ref.K)(this._canvasRef)}></canvas><uc-crop-frame ${(0,ref.K)(this._frameRef)}></uc-crop-frame>`}}function linspace(a,b,n){let lastIndex=n-1,ret=Array(n);for(let i=lastIndex;i>=0;i-=1)ret[i]=Math.ceil((i*b+(lastIndex-i)*a)/lastIndex);return ret}function keypointsRange(operation,value){let n=toolbar_constants.UA[operation].keypointsNumber,{range,zero}=toolbar_constants.UA[operation];return[...new Set([...linspace(range[0],zero,n+1),...linspace(zero,range[1],n+1),zero,value])].sort((a,b)=>a-b)}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.wk)()],EditorImageCropper.prototype,"_image",void 0);class EditorImageFader extends LitBlock.x{constructor(){super(),this._isActive=!1,this._hidden=!0,this._operation="initial",this._transformations={},this._keypoints=[],this._raf=0,this._previewHostRef=(0,ref._)(),this._layersHostRef=(0,ref._)(),this.classList.add("uc-inactive_to_cropper"),this._addKeypointDebounced=(0,debounce.s)(async(operation,filter,value)=>{let shouldSkip=()=>!this._isSame(operation,filter)||this._value!==value||!!this._keypoints.find(kp=>kp.value===value);if(shouldSkip())return;let keypoint=await this._constructKeypoint(operation,value),image=new Image;image.src=keypoint.src;let stop=this._handleImageLoading(keypoint.src);image.addEventListener("load",stop,{once:!0}),image.addEventListener("error",stop,{once:!0}),keypoint.image=image,image.classList.add("uc-fader-image"),image.addEventListener("load",()=>{if(shouldSkip())return;let keypoints=this._keypoints,insertIndex=keypoints.findIndex(kp=>kp.value>value);-1===insertIndex&&(insertIndex=keypoints.length);let nextKeypoint=keypoints[insertIndex],insertBeforeNode=nextKeypoint?.image,container=this._layersHostRef.value;container&&(!insertBeforeNode||container.contains(insertBeforeNode))&&(keypoints.splice(insertIndex,0,keypoint),insertBeforeNode?container.insertBefore(image,insertBeforeNode):container.appendChild(image),this._update(operation,value))},{once:!0}),image.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})},600)}_handleImageLoading(src){let operation=this._operation,loadingOperations=this.$["*loadingOperations"];loadingOperations.has(operation)||loadingOperations.set(operation,new Map);let operationMap=loadingOperations.get(operation);return operationMap&&!operationMap.get(src)&&(operationMap.set(src,!0),this.$["*loadingOperations"]=loadingOperations),()=>{let currentOperationMap=loadingOperations.get(operation);currentOperationMap?.has(src)&&(currentOperationMap.delete(src),this.$["*loadingOperations"]=loadingOperations)}}_flush(){window.cancelAnimationFrame(this._raf),this._raf=window.requestAnimationFrame(()=>{for(let kp of this._keypoints){let{image}=kp;image&&(image.style.opacity=kp.opacity.toString(),image.style.zIndex=kp.zIndex.toString())}})}_imageSrc({url=this._url,filter=this._filter??void 0,operation,value}={}){if(!url)throw Error("URL is not defined");let transformations={...this._transformations};operation&&("filter"===operation?filter&&"number"==typeof value&&(transformations.filter={name:filter,amount:value}):"number"==typeof value&&(transformations[operation]=value));let width=this.offsetWidth;return this.proxyUrl(viewerImageSrc(url,width,transformations))}async _constructKeypoint(operation,value){return{src:await this._imageSrc({operation,value}),image:void 0,opacity:0,zIndex:0,value}}_isSame(operation,filter){return this._operation===operation&&this._filter===filter}set(value){var value1;let numericValue="string"==typeof value?parseInt(value,10):value;"string"==typeof(value1=this._operation)&&value1 in toolbar_constants.UA&&Number.isFinite(numericValue)&&(this._update(this._operation,numericValue),this._addKeypointDebounced(this._operation,this._filter,numericValue))}_update(operation,value){this._operation=operation,this._value=value;let{zero}=toolbar_constants.UA[operation],keypointValues=this._keypoints.map(kp=>kp.value),opacities=function(keypoints,value,zero){let section=(function(numbers){let sections=[];for(let idx=0;idx<numbers.length-1;idx+=1){let current=numbers[idx],next=numbers[idx+1];"number"==typeof current&&"number"==typeof next&§ions.push([current,next])}return sections})(keypoints).find(([left,right])=>left<=value&&value<=right);if(!section)return keypoints.map(()=>0);let[left,right]=section;return keypoints.map(point=>{let distance=Math.abs(left-right)||1,relation=Math.abs(value-left)/distance;return left===point?value>zero?1:1-relation:right===point?value>=zero?relation:1:0})}(keypointValues,value,zero),zIndices=keypointValues.map((point,idx)=>point<zero?keypointValues.length-idx:idx);this._keypoints.forEach((kp,idx)=>{let opacity=opacities[idx],zIndex=zIndices[idx];"number"==typeof opacity&&(kp.opacity=opacity),"number"==typeof zIndex&&(kp.zIndex=zIndex)}),this._flush()}_createPreviewImage(){let image=new Image;return image.classList.add("uc-fader-image","uc-fader-image--preview"),image.style.opacity="0",image}async _initNodes(){this._previewImage=this._previewImage||this._createPreviewImage();let previewImage=this._previewImage;previewImage&&this._ensurePreviewAttached(previewImage);let srcList=this._keypoints.map(kp=>kp.src),{images,promise,cancel}=(0,preloadImage.e)(srcList);images.forEach(node=>{let stop=this._handleImageLoading(node.src);node.addEventListener("load",stop),node.addEventListener("error",stop)}),this._cancelLastImages=()=>{cancel(),this._cancelLastImages=void 0};let operation=this._operation,filter=this._filter;if(await promise,this._isActive&&this._isSame(operation,filter)){let host=this._layersHostRef.value;if(!host)return;host.replaceChildren(),this._keypoints.forEach((kp,idx)=>{let kpImage=images[idx];kpImage&&(kpImage.classList.add("uc-fader-image"),kp.image=kpImage,host.appendChild(kpImage))}),this._flush()}}async setTransformations(transformations){if(this._transformations=transformations,this._previewImage){let src=await this._imageSrc(),stop=this._handleImageLoading(src);this._previewImage.src=src,this._previewImage.addEventListener("load",stop,{once:!0}),this._previewImage.addEventListener("error",stop,{once:!0}),this._previewImage.style.opacity="1",this._previewImage.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}}async preload({url,filter,operation,value}){if(!operation||"number"!=typeof value)return;this._cancelBatchPreload?.();let keypoints=keypointsRange(operation,value),srcList=await Promise.all(keypoints.map(kp=>this._imageSrc({url,filter,operation,value:kp}))),{cancel}=(0,preloadImage.e)(srcList);this._cancelBatchPreload=cancel}_setOriginalSrc(src){let image=this._previewImage||this._createPreviewImage();if(this._ensurePreviewAttached(image),this._previewImage=image,image.src===src){image.style.opacity="1",image.style.transform="scale(1)",this.className=classNames({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1});return}image.style.opacity="0";let stop=this._handleImageLoading(src);image.addEventListener("error",stop,{once:!0}),image.src=src,image.addEventListener("load",()=>{stop(),image&&(image.style.opacity="1",image.style.transform="scale(1)",this.className=classNames({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1}))},{once:!0}),image.addEventListener("error",()=>{this.$["*networkProblems"]=!0},{once:!0})}async activate({url,operation,value,filter,fromViewer}){if(this._isActive=!0,this._hidden=!1,await this.updateComplete,this._url=url,this._operation=operation??"initial",this._value=value,this._filter=filter,this._fromViewer=fromViewer,"number"!=typeof value&&!filter){let src=await this._imageSrc({operation,value});this._setOriginalSrc(src),this._clearLayersHost();return}operation&&"number"==typeof value&&(this._keypoints=await Promise.all(keypointsRange(operation,value).map(keyValue=>this._constructKeypoint(operation,keyValue))),this._update(operation,value),this._initNodes())}deactivate({hide=!0}={}){this._isActive=!1,this._cancelLastImages?.(),this._cancelBatchPreload?.(),hide&&!this._hidden?(this._hidden=!0,this._previewImage&&(this._previewImage.style.transform="scale(1)"),this.className=classNames({"uc-active_from_viewer":!1,"uc-active_from_cropper":!1,"uc-inactive_to_cropper":!0}),this.addEventListener("transitionend",()=>{this._clearLayersHost()},{once:!0})):this._clearLayersHost()}_ensurePreviewAttached(image){let host=this._previewHostRef.value;host&&(host.contains(image)||host.appendChild(image))}_clearLayersHost(){this._layersHostRef.value?.replaceChildren()}render(){return(0,lit.qy)`<div class="uc-fader-preview-host" ${(0,ref.K)(this._previewHostRef)}></div><div class="uc-fader-layers-host" ${(0,ref.K)(this._layersHostRef)}></div>`}}class EditorOperationControl extends EditorButtonControl{get operation(){return this._operation}set operation(value){let normalizedValue=value??"";if(this._operation===normalizedValue)return;let previousValue=this._operation;this._operation=normalizedValue,this.requestUpdate("operation",previousValue),this.isConnected&&normalizedValue&&this._updateOperationMetadata(normalizedValue)}_updateOperationMetadata(operation){let label;this.icon=operation;let resolveTitle=()=>{let titleText=this.l10n(operation);return this.title=titleText,titleText};label=this.l10n("a11y-cloud-editor-apply-tuning",{name:this.l10n(operation).toLowerCase()}),this.titleProp=label,resolveTitle()}initCallback(){super.initCallback(),this._operation&&this._updateOperationMetadata(this._operation),this.sub("*editorTransformations",editorTransformations=>{if(!this._operation)return;let{zero}=toolbar_constants.UA[this._operation],value=editorTransformations[this._operation];this.active=void 0!==value&&value!==zero})}onClick(e){let slider=this.$["*sliderEl"];slider?.setOperation(this._operation),this.$["*showSlider"]=!0,this.$["*currentOperation"]=this._operation,this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{operation:parseFilterValue(this.$["*operationTooltip"])})}constructor(...args){super(...args),this._operation=""}}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.MZ)({type:String})],EditorOperationControl.prototype,"operation",null);let noopScrollListener=()=>{};class EditorScroller extends LitBlock.x{connectedCallback(){super.connectedCallback(),this.addEventListener("wheel",this._handleWheel,{passive:!1}),this.addEventListener("scroll",noopScrollListener,{passive:!0})}disconnectedCallback(){this.removeEventListener("wheel",this._handleWheel),this.removeEventListener("scroll",noopScrollListener),super.disconnectedCallback()}constructor(...args){super(...args),this.hiddenScrollbar=!1,this._handleWheel=event=>{event.preventDefault();let{deltaY,deltaX}=event;if(Math.abs(deltaX)>1){this.scrollLeft+=deltaX;return}this.scrollLeft+=deltaY}}}function EditorToolbar_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.MZ)({type:Boolean,noAccessor:!0,attribute:"hidden-scrollbar"})],EditorScroller.prototype,"hiddenScrollbar",void 0);class EditorToolbar extends LitBlock.x{_onSliderClose(){this.$["*showSlider"]=!1,this.$["*tabId"]===toolbar_constants.XB.CROP&&(this.$["*showListAspectRatio"]=!1),this.$["*tabId"]===toolbar_constants.XB.TUNING&&(this._tooltipVisible=!1)}_activateTab(id,{fromViewer=!1,force=!1}={}){this.$["*tabId"]!==id&&(this.$["*tabId"]=id),this._applyTabState(id,{fromViewer,force})}_applyTabState(id,{fromViewer,force=!1}){if(!force&&this.activeTab===id)return void this._syncTabIndicator();this.activeTab=id;let faderEl=this.$["*faderEl"],cropperEl=this.$["*cropperEl"];for(let tabId of(id===toolbar_constants.XB.CROP?(faderEl?.deactivate(),this.$["*imageSize"]&&cropperEl?.activate(this.$["*imageSize"],{fromViewer})):(faderEl?.activate({url:this.$["*originalUrl"],fromViewer}),cropperEl?.deactivate()),toolbar_constants.nz)){let isCurrentTab=tabId===id,toggleRef=this.tabToggleRefs[tabId],toggleEl=toggleRef?.value;toggleEl&&(toggleEl.active=isCurrentTab),isCurrentTab&&this._syncTabIndicator()}}_syncTabIndicator(){let toggleRef=this.tabToggleRefs[this.activeTab],toggleEl=toggleRef?.value,indicatorEl=this._tabIndicatorRef.value;if(!toggleEl||!indicatorEl)return;let offset=toggleEl.offsetLeft,width=toggleEl.offsetWidth||Number(getComputedStyle(toggleEl).width.replace("px",""));(this._tabIndicatorOffset!==offset||this._tabIndicatorWidth!==width)&&(this._tabIndicatorOffset=offset,this._tabIndicatorWidth=width,indicatorEl.style.transform=`translateX(${offset}px)`,indicatorEl.style.width=`${width}px`)}get _hasAspectRatioPicker(){return this._cropPresets.length>=3}_renderControlsByTab(tabId){switch(tabId){case toolbar_constants.XB.CROP:return this._renderCropTabControls();case toolbar_constants.XB.FILTERS:return this._renderFilterTabControls();case toolbar_constants.XB.TUNING:return this._renderTuningTabControls();default:return[]}}_renderCropTabControls(){let renderers=[];if(this._hasAspectRatioPicker)renderers.push(()=>this._renderFreeformControl());else for(let preset of this._cropPresets)renderers.push(()=>this._renderAspectRatioControl(preset));for(let operation of toolbar_constants.Y_)renderers.push(()=>this._renderCropOperationControl(operation));return this._renderControlGroup(renderers)}_renderFilterTabControls(){let renderers=[FAKE_ORIGINAL_FILTER,...toolbar_constants._6].map(filterId=>()=>this._renderFilterControl(filterId));return this._renderControlGroup(renderers)}_renderTuningTabControls(){let renderers=toolbar_constants.DY.map(operation=>()=>this._renderOperationControl(operation));return this._renderControlGroup(renderers)}_renderControlGroup(renderers){return renderers.length?renderers.map(renderControl=>renderControl()):[]}_renderFreeformControl(){return(0,lit.qy)`<uc-editor-freeform-button-control></uc-editor-freeform-button-control>`}_renderAspectRatioControl(preset){return(0,lit.qy)`<uc-editor-aspect-ratio-button-control .aspectRatio=${preset}></uc-editor-aspect-ratio-button-control>`}_renderCropOperationControl(operation){return(0,lit.qy)`<uc-editor-crop-button-control .operation=${operation}></uc-editor-crop-button-control>`}_renderFilterControl(filterId){return(0,lit.qy)`<uc-editor-filter-control .filter=${filterId}></uc-editor-filter-control>`}_renderOperationControl(operation){return(0,lit.qy)`<uc-editor-operation-control .operation=${operation}></uc-editor-operation-control>`}_renderAspectRatioList(){return this._hasAspectRatioPicker?this._cropPresets.map(preset=>this._renderAspectRatioControl(preset)):[]}async _preloadEditedImage(){if(this.$["*imgContainerEl"]&&this.$["*originalUrl"]){let width=this.$["*imgContainerEl"].offsetWidth,src=await this.proxyUrl(viewerImageSrc(this.$["*originalUrl"],width,this.$["*editorTransformations"]));this._cancelPreload?.();let{cancel}=(0,preloadImage.e)([src]);this._cancelPreload=()=>{cancel(),this._cancelPreload=void 0}}}initCallback(){super.initCallback();let initialCropPresets=this.$["*cropPresetList"]??[];this._cropPresets=[...initialCropPresets],this.sub("*cropPresetList",cropPresetList=>{this._cropPresets=[...cropPresetList??[]]}),this.sub("*imageSize",imageSize=>{imageSize&&setTimeout(()=>{this._activateTab(this.$["*tabId"],{fromViewer:!0})},0)}),this.sub("*editorTransformations",editorTransformations=>{let appliedFilter=editorTransformations?.filter?.name;this.$["*currentFilter"]!==appliedFilter&&(this.$["*currentFilter"]=appliedFilter??"")}),this.sub("*currentFilter",()=>{this._updateInfoTooltip()}),this.sub("*currentOperation",()=>{this._updateInfoTooltip()}),this.sub("*tabId",tabId=>{this._applyTabState(tabId,{fromViewer:!1,force:!0}),this._updateInfoTooltip()}),this.sub("*originalUrl",()=>{this.$["*faderEl"]?.deactivate()}),this.sub("*editorTransformations",transformations=>{this._preloadEditedImage(),this.$["*faderEl"]?.setTransformations(transformations)}),this.sub("*loadingOperations",loadingOperations=>{let anyLoading=!1;for(let[,mapping]of loadingOperations.entries()){if(anyLoading)break;for(let[,loading]of mapping.entries())if(loading){anyLoading=!0;break}}this._debouncedShowLoader(anyLoading)}),this.sub("*showSlider",showSlider=>{showSlider?(this.showSubToolbar=!0,this.showMainToolbar=!1,this._useSliderPanel=!0):this.$["*showListAspectRatio"]||(this.showSubToolbar=!1,this.showMainToolbar=!0)}),this.sub("*showListAspectRatio",show=>{show?(this.showSubToolbar=!0,this.showMainToolbar=!1,this._useSliderPanel=!1):this.$["*showSlider"]||(this.showSubToolbar=!1,this.showMainToolbar=!0)}),this.sub("*tabList",tabList=>{if(this.tabList=tabList,this._showTabToggles=tabList.length>1,!tabList.includes(this.$["*tabId"])&&tabList.length>0){let[firstTab]=tabList;firstTab&&this._activateTab(firstTab,{fromViewer:!1});return}this._syncTabIndicator()}),this.sub("*operationTooltip",tooltip=>{this._operationTooltip=tooltip}),this._updateInfoTooltip()}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this._handleWindowResize)}firstUpdated(changedProperties){super.firstUpdated(changedProperties),this._assignSharedElements(),this._syncTabIndicator()}updated(changedProperties){super.updated(changedProperties),(changedProperties.has("activeTab")||changedProperties.has("tabList"))&&this.updateComplete.then(()=>this._syncTabIndicator()),(changedProperties.has("showSubToolbar")||changedProperties.has("showMainToolbar"))&&this._assignSharedElements()}disconnectedCallback(){window.removeEventListener("resize",this._handleWindowResize),super.disconnectedCallback(),this.$["*showSlider"]=!1,this.$["*showListAspectRatio"]=!1}_assignSharedElements(){let slider=this._sliderRef.value;slider&&(this.$["*sliderEl"]=slider)}_renderTabToggle(id){let isVisible=this.tabList.includes(id),isActive=this.activeTab===id,columnIndex=this.tabList.indexOf(id),style=columnIndex>=0?(0,style_map.W)({gridColumn:`${columnIndex+1}`}):lit.s6;return(0,lit.qy)` <uc-presence-toggle class="uc-tab-toggle" .visible=${isVisible} .styles=${this._tabToggleStyles}><uc-btn-ui theme="tab" data-id=${id} icon=${id} role="tab" aria-controls=${`tab_${id}`} aria-selected=${isActive?"true":"false"} title-prop=${`a11y-editor-tab-${id}`} .active=${isActive} style=${style} @click=${this._handleTabClick} ${(0,ref.K)(this.tabToggleRefs[id])} ></uc-btn-ui></uc-presence-toggle>`}_renderTabContent(id){let controls=this._renderControlsByTab(id);return(0,lit.qy)` <div id=${`tab_${id}`} class="uc-tab-content" ><uc-editor-scroller hidden-scrollbar><div class="uc-controls-list_align"><div role="listbox" aria-orientation="horizontal" class="uc-controls-list_inner"> ${controls.length?controls:lit.s6} </div></div></uc-editor-scroller></div>`}render(){let tooltipClasses=["uc-info-tooltip",this._tooltipVisible?"uc-info-tooltip_visible":"uc-info-tooltip_hidden"].join(" "),showAspectRatioList=this._hasAspectRatioPicker;return(0,lit.qy)`<uc-line-loader-ui .active=${this._showLoader}></uc-line-loader-ui><div class="uc-info-tooltip_container"><div class="uc-info-tooltip_wrapper"><div class=${tooltipClasses}>${this._operationTooltip??""}</div></div></div><div class="uc-toolbar-container"><uc-presence-toggle role="tablist" class="uc-sub-toolbar" .visible=${this.showMainToolbar} .styles=${this._subTopToolbarStyles} ><div class="uc-tab-content-row"> ${toolbar_constants.nz.map(tabId=>{var n,r;return n=this.activeTab===tabId,r=()=>this._renderTabContent(tabId),n?r(n):void 0})} </div><div class="uc-controls-row"><uc-presence-toggle class="uc-tab-toggles" .visible=${this._showTabToggles} .styles=${this._tabTogglesStyles} @initial-render=${()=>this._syncTabIndicator()} ><div class="uc-tab-toggles_indicator" ${(0,ref.K)(this._tabIndicatorRef)} ></div> ${toolbar_constants.nz.map(tabId=>this._renderTabToggle(tabId))} </uc-presence-toggle><uc-btn-ui style="order: -1" theme="secondary-icon" icon="closeMax" title-prop="cancel" @click=${this._handleCancel} ></uc-btn-ui><uc-btn-ui theme="primary-icon" icon="done" title-prop="apply" @click=${this._handleApply}></uc-btn-ui></div></uc-presence-toggle><uc-presence-toggle class="uc-sub-toolbar" .visible=${this.showSubToolbar} .styles=${this._subBottomToolbarStyles}><div class="uc-slider" ?hidden=${!this._useSliderPanel}><uc-editor-slider ${(0,ref.K)(this._sliderRef)}></uc-editor-slider></div><div class="uc-list-aspect-ratio-container" ?hidden=${this._useSliderPanel||!showAspectRatioList}> ${showAspectRatioList?(0,lit.qy)`<div class="uc-list-aspect-ratio">${this._renderAspectRatioList()}</div>`:lit.s6} </div><div class="uc-controls-row"><uc-btn-ui theme="secondary" @click=${this._handleCancelSlider} text=${this.l10n("cancel")}></uc-btn-ui><uc-btn-ui theme="primary" @click=${this._handleApplySlider} text=${this.l10n("apply")}></uc-btn-ui></div></uc-presence-toggle></div>`}constructor(...args){super(...args),this._showLoader=!1,this.showMainToolbar=!0,this.showSubToolbar=!1,this._showTabToggles=!0,this.tabList=[...toolbar_constants.nz],this.activeTab=toolbar_constants.XB.CROP,this._useSliderPanel=!0,this._tooltipVisible=!1,this._operationTooltip=null,this._tabIndicatorOffset=0,this._tabIndicatorWidth=0,this._sliderRef=(0,ref._)(),this._tabIndicatorRef=(0,ref._)(),this.tabToggleRefs={[toolbar_constants.XB.CROP]:(0,ref._)(),[toolbar_constants.XB.TUNING]:(0,ref._)(),[toolbar_constants.XB.FILTERS]:(0,ref._)()},this._handleWindowResize=()=>{this._syncTabIndicator()},this._cropPresets=[],this._debouncedShowLoader=(0,debounce.s)(show=>{this._showLoader=show},500),this._updateInfoTooltip=(0,debounce.s)(()=>{let transformations=this.$["*editorTransformations"],currentOperation=this.$["*currentOperation"],text="",visible=!1;if(this.$["*tabId"]===toolbar_constants.XB.FILTERS)if(visible=!0,this.$["*currentFilter"]&&transformations?.filter?.name===this.$["*currentFilter"]){let value=transformations?.filter?.amount||100;text=`${this.$["*currentFilter"]} ${value}`}else text=this.l10n(FAKE_ORIGINAL_FILTER);else if(this.showSubToolbar&&this.$["*tabId"]===toolbar_constants.XB.TUNING&¤tOperation){visible=!0;let value=transformations?.[currentOperation]||toolbar_constants.UA[currentOperation].zero;text=`${this.l10n(currentOperation)} ${value}`}visible&&(this.$["*operationTooltip"]=text),this._tooltipVisible=visible},0),this._subTopToolbarStyles={hidden:"uc-sub-toolbar--top-hidden",visible:"uc-sub-toolbar--visible"},this._subBottomToolbarStyles={hidden:"uc-sub-toolbar--bottom-hidden",visible:"uc-sub-toolbar--visible"},this._tabToggleStyles={hidden:"uc-tab-toggle--hidden",visible:"uc-tab-toggle--visible"},this._tabTogglesStyles={hidden:"uc-tab-toggles--hidden",visible:"uc-tab-toggles--visible"},this.init$={...this.init$,"*sliderEl":null,"*showSlider":!1,"*showListAspectRatio":!1,"*currentFilter":FAKE_ORIGINAL_FILTER,"*currentOperation":null,"*operationTooltip":null},this._handleCancel=e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel"}),this._cancelPreload?.();let onCancel=this.$["*on.cancel"];onCancel?.()},this._handleApply=e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply"});let onApply=this.$["*on.apply"];onApply?.(this.$["*editorTransformations"])},this._handleApplySlider=e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"apply-slider",operation:parseFilterValue(this.$["*operationTooltip"])});let slider=this._sliderRef.value;slider?.apply(),this._onSliderClose()},this._handleCancelSlider=e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$["*tabId"],{action:"cancel-slider"});let slider=this._sliderRef.value;slider?.cancel(),this._onSliderClose()},this._handleTabClick=e=>{let target=e.currentTarget,id=target?.getAttribute("data-id");id&&(this.telemetryManager.sendEventCloudImageEditor(e,id),this._activateTab(id,{fromViewer:!1}))}}}function BtnUi_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"_showLoader",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"showMainToolbar",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"showSubToolbar",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"_showTabToggles",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"tabList",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"activeTab",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"_useSliderPanel",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"_tooltipVisible",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"_operationTooltip",void 0),EditorToolbar_ts_decorate([(0,lit_decorators.wk)()],EditorToolbar.prototype,"_cropPresets",void 0);class BtnUi extends LitBlock.x{firstUpdated(changed){super.firstUpdated(changed),this._applyReverse(),this._applyThemeClass()}updated(changed){super.updated(changed),changed.has("reverse")&&this._applyReverse(),changed.has("theme")&&this._applyThemeClass()}_applyReverse(){this.style.flexDirection=this.reverse?"row-reverse":""}_applyThemeClass(){this.theme&&"custom"!==this.theme&&(this.className=`uc-${this.theme}`)}get _iconClassMap(){let iconHidden=this._computedIconHidden;return{"uc-icon":!0,"uc-icon_left":!this.reverse,"uc-icon_right":this.reverse,"uc-icon_hidden":iconHidden,"uc-icon_single":this._computedIconSingle}}get _computedIconHidden(){return!this.icon}get _computedIconSingle(){return!this.text&&!this._computedIconHidden}render(){return(0,lit.qy)`<button type="button" role=${(this.ariaRole||void 0)??lit_html.s6} aria-controls=${(this.ariaControls||void 0)??lit_html.s6} aria-label=${this.l10n(this.titleProp)??lit_html.s6} title=${this.l10n(this.titleProp)??lit_html.s6} ><uc-icon class=${class_map_e(this._iconClassMap)} name=${(this.icon||void 0)??lit_html.s6} ?hidden=${this._computedIconHidden} ></uc-icon><div class="uc-text">${this.text}</div></button>`}constructor(...args){super(...args),this.text="",this.icon="",this.reverse=!1,this.theme="default",this.ariaRole=void 0,this.ariaControls="",this.titleProp="",this.active=!1}}BtnUi_ts_decorate([(0,lit_decorators.MZ)({type:String})],BtnUi.prototype,"text",void 0),BtnUi_ts_decorate([(0,lit_decorators.MZ)({type:String})],BtnUi.prototype,"icon",void 0),BtnUi_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],BtnUi.prototype,"reverse",void 0),BtnUi_ts_decorate([(0,lit_decorators.MZ)({type:String,reflect:!0})],BtnUi.prototype,"theme",void 0),BtnUi_ts_decorate([(0,lit_decorators.MZ)({attribute:"aria-role"})],BtnUi.prototype,"ariaRole",void 0),BtnUi_ts_decorate([(0,lit_decorators.MZ)({attribute:"aria-controls"})],BtnUi.prototype,"ariaControls",void 0),BtnUi_ts_decorate([(0,lit_decorators.MZ)({attribute:"title-prop"})],BtnUi.prototype,"titleProp",void 0),BtnUi_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,noAccessor:!0})],BtnUi.prototype,"active",void 0);class LineLoaderUi extends LitBlock.x{firstUpdated(changedProperties){super.firstUpdated(changedProperties),this.active&&this._start()}updated(changedProperties){super.updated(changedProperties),changedProperties.has("active")&&(this.active?this._start():this._stop())}_start(){let lineEl=this._lineRef.value;if(!lineEl)return;this._isAnimating=!0;let{width}=this.getBoundingClientRect();lineEl.removeEventListener("transitionend",this._handleTransitionEndRight),lineEl.style.transition="transform 1s",lineEl.style.opacity="1",lineEl.style.transform=`translateX(${width}px)`,lineEl.addEventListener("transitionend",this._handleTransitionEndRight,{once:!0})}_stop(){let lineEl=this._lineRef.value;lineEl&&(this._isAnimating=!1,lineEl.removeEventListener("transitionend",this._handleTransitionEndRight),this._resetLine(lineEl))}_resetLine(lineEl){lineEl.style.transition="initial",lineEl.style.opacity="0",lineEl.style.transform="translateX(-101%)"}render(){return(0,lit.qy)`<div class="uc-inner"><div class="uc-line" ${(0,ref.K)(this._lineRef)}></div></div>`}constructor(...args){super(...args),this.active=!1,this._lineRef=(0,ref._)(),this._isAnimating=!1,this._handleTransitionEndRight=()=>{let lineEl=this._lineRef.value;lineEl&&(this._resetLine(lineEl),this._isAnimating&&this.active&&this._start())}}}function PresenceToggle_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],LineLoaderUi.prototype,"active",void 0);let DEFAULT_STYLE={transition:"uc-transition",visible:"uc-visible",hidden:"uc-hidden"};class PresenceToggle extends LitBlock.x{set visible(value){this._visible=value,this._handleVisible()}get visible(){return this._visible}set styles(styles){this._styles=styles,this._externalTransitions=!0,this._visibleStyle=styles.visible??DEFAULT_STYLE.visible,this._hiddenStyle=styles.hidden??DEFAULT_STYLE.hidden}get styles(){return this._styles}_handleVisible(){this.style.visibility=this._visible?"inherit":"hidden",function(element,...args){let mapping=normalize(...args);for(let token of Object.keys(mapping))element.classList.toggle(token,!!mapping[token])}(this,{[DEFAULT_STYLE.transition]:!this._externalTransitions,[this._visibleStyle]:this._visible,[this._hiddenStyle]:!this._visible}),this.toggleAttribute("inert",!this._visible)}_dispatchInitialRenderEvent(){this._initialRenderComplete||(this._initialRenderComplete=!0,this.dispatchEvent(new CustomEvent("initial-render",{bubbles:!0,composed:!0})))}initCallback(){super.initCallback(),this.classList.toggle("uc-initial",!0),this._externalTransitions||this.classList.add(DEFAULT_STYLE.transition),this._handleVisible(),setTimeout(()=>{this.classList.toggle("uc-initial",!1),this._dispatchInitialRenderEvent()},0)}constructor(...args){super(...args),this._visible=!1,this._styles=DEFAULT_STYLE,this._visibleStyle=DEFAULT_STYLE.visible,this._hiddenStyle=DEFAULT_STYLE.hidden,this._externalTransitions=!1,this._initialRenderComplete=!1}}function SliderUi_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}PresenceToggle_ts_decorate([(0,lit_decorators.MZ)({type:Boolean})],PresenceToggle.prototype,"visible",null),PresenceToggle_ts_decorate([(0,lit_decorators.MZ)({attribute:!1})],PresenceToggle.prototype,"styles",null);class SliderUi extends LitBlock.x{constructor(){super(),this._thumbSize=0,this._inputRef=(0,ref._)(),this._thumbRef=(0,ref._)(),this._stepsRef=(0,ref._)(),this.disabled=!1,this.min=0,this.max=100,this.defaultValue=0,this.zero=0,this._currentValue=0,this._handleSliderInput=event=>{event.stopPropagation();let value=this._extractEventValue(event);null!==value&&(this._setCurrentValue(value),this._emitSliderEvent("slider-input",value))},this._handleSliderChange=event=>{event.stopPropagation();let value=this._extractEventValue(event);null!==value&&this._setCurrentValue(value)},this._handleInputFocus=()=>{this.style.setProperty("--color-effect","var(--hover-color-rgb)")},this._handleInputBlur=()=>{this.style.setProperty("--color-effect","var(--idle-color-rgb)")},this.setAttribute("with-effects","")}_emitSliderEvent(type,value){this.dispatchEvent(new CustomEvent(type,{detail:{value},bubbles:!0,composed:!0}))}firstUpdated(changedProperties){super.firstUpdated(changedProperties),this._thumbSize=Number.parseInt(window.getComputedStyle(this).getPropertyValue("--l-thumb-size"),10)||0,this._syncInputValue(this._currentValue),this._updateSteps(),this._observer=new ResizeObserver(()=>{this._updateSteps(),this._updateValue(this._currentValue)}),this._observer.observe(this);let inputEl=this._inputRef.value;inputEl?.addEventListener("focus",this._handleInputFocus),inputEl?.addEventListener("blur",this._handleInputBlur),window.setTimeout(()=>{this._updateValue(this._currentValue)},0)}willUpdate(changedProperties){super.willUpdate(changedProperties),changedProperties.has("defaultValue")&&this.defaultValue!==this._currentValue&&this._setCurrentValue(this.defaultValue),(changedProperties.has("min")||changedProperties.has("max"))&&this.hasUpdated&&(this._updateSteps(),this._updateValue(this._currentValue)),changedProperties.has("zero")&&this.hasUpdated&&this._updateZeroDot(this._currentValue)}_updateValue(value){this._updateZeroDot(value);let range=this.max-this.min;if(0===range)return;let{width}=this.getBoundingClientRect(),offset=100/range*(value-this.min)*(width-this._thumbSize)/100;window.requestAnimationFrame(()=>{let thumbEl=this._thumbRef.value;thumbEl&&(thumbEl.style.transform=`translateX(${offset}px)`)})}_updateZeroDot(value){if(!this._zeroDotEl)return;let range=this.max-this.min;if(0===range)return;this._zeroDotEl.style.opacity=value===this.zero?"0":"1";let{width}=this.getBoundingClientRect(),offset=100/range*(this.zero-this.min)*(width-this._thumbSize)/100;window.requestAnimationFrame(()=>{this._zeroDotEl&&(this._zeroDotEl.style.transform=`translateX(${offset}px)`)})}_updateSteps(){let stepsEl=this._stepsRef.value;if(!stepsEl)return;let{width}=stepsEl.getBoundingClientRect(),count=Math.ceil(Math.ceil(width/2)/15)-2;if(this._stepsCount===count)return;let fragment=document.createDocumentFragment(),minorStepEl=document.createElement("div"),borderStepEl=document.createElement("div");minorStepEl.className="uc-minor-step",borderStepEl.className="uc-border-step",fragment.appendChild(borderStepEl);for(let i=0;i<count;i+=1)fragment.appendChild(minorStepEl.cloneNode());fragment.appendChild(borderStepEl.cloneNode());for(let i=0;i<count;i+=1)fragment.appendChild(minorStepEl.cloneNode());fragment.appendChild(borderStepEl.cloneNode());let zeroDotEl=document.createElement("div");zeroDotEl.className="uc-zero-dot",fragment.appendChild(zeroDotEl),this._zeroDotEl=zeroDotEl,stepsEl.innerHTML="",stepsEl.appendChild(fragment),this._stepsCount=count}disconnectedCallback(){super.disconnectedCallback();let inputEl=this._inputRef.value;inputEl?.removeEventListener("focus",this._handleInputFocus),inputEl?.removeEventListener("blur",this._handleInputBlur),this._observer?.disconnect(),this._observer=void 0}_setCurrentValue(value){Number.isFinite(value)&&(this._currentValue=value,this.hasUpdated&&(this._syncInputValue(value),this._updateValue(value)))}_syncInputValue(value){let inputEl=this._inputRef.value;inputEl&&(inputEl.value=String(value))}_extractEventValue(event){let target=event.currentTarget;if(!target)return null;let parsedValue=Number.parseInt(target.value,10);return Number.isFinite(parsedValue)?parsedValue:null}render(){return(0,lit.qy)`<div class="uc-steps" ${(0,ref.K)(this._stepsRef)}></div><div class="uc-thumb" ${(0,ref.K)(this._thumbRef)}></div><input class="uc-input" type="range" ${(0,ref.K)(this._inputRef)} .min=${String(this.min)} .max=${String(this.max)} .value=${String(this._currentValue)} ?disabled=${this.disabled} @input=${this._handleSliderInput} @change=${this._handleSliderChange} />`}}SliderUi_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],SliderUi.prototype,"disabled",void 0),SliderUi_ts_decorate([(0,lit_decorators.MZ)({type:Number})],SliderUi.prototype,"min",void 0),SliderUi_ts_decorate([(0,lit_decorators.MZ)({type:Number})],SliderUi.prototype,"max",void 0),SliderUi_ts_decorate([(0,lit_decorators.MZ)({type:Number,attribute:!1})],SliderUi.prototype,"defaultValue",void 0),SliderUi_ts_decorate([(0,lit_decorators.MZ)({type:Number})],SliderUi.prototype,"zero",void 0),SliderUi_ts_decorate([(0,lit_decorators.wk)()],SliderUi.prototype,"_currentValue",void 0);var EventEmitter=__webpack_require__(9963);class CloudImageEditor extends CloudImageEditorBlock{static{this.styleAttrs=[...super.styleAttrs,"uc-wgt-common"]}constructor(){super(),this.init$={...this.init$,"*solution":this.tagName}}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.INIT_SOLUTION}),this.a11y?.registerBlock(this)}}var Config=__webpack_require__(5642),Icon=__webpack_require__(8610);let editorI18n={en:{"edit-image":"Edit image","edit-detail":"Details","file-item-edit-button":"Edit","a11y-editor-tab-filters":"Filters","a11y-editor-tab-tuning":"Tuning","a11y-editor-tab-crop":"Crop","a11y-cloud-editor-apply-filter":"Apply {{name}} filter","a11y-cloud-editor-apply-crop":"Apply {{name}} operation","a11y-cloud-editor-apply-tuning":"Apply {{name}} tuning","a11y-cloud-editor-apply-aspect-ratio":"Apply operation {{name}} {{value}}","crop-to-shape":"Crop to {{value}}",custom:"Freeform","freeform-crop":"Freeform crop","cancel-edit":"Cancel edit",back:"Back",apply:"Apply",rotate:"Rotate","flip-vertical":"Flip vertical","flip-horizontal":"Flip horizontal",brightness:"Brightness",contrast:"Contrast",saturation:"Saturation",exposure:"Exposure",gamma:"Gamma",vibrance:"Vibrance",warmth:"Warmth",enhance:"Enhance",original:"Original",resize:"Resize image",crop:"Crop","select-color":"Select color",text:"Text",draw:"Draw","tab-view":"Preview","tab-details":"Details"}},cloudImageEditorPlugin={id:"cloud-image-editor",setup:async({pluginApi,uploaderApi})=>{(0,defineComponents.Y)({...cloud_image_editor_namespaceObject,...CloudImageEditorActivity_namespaceObject}),pluginApi.registry.registerIcon({name:"edit-file",svg:"<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></svg>"}),pluginApi.registry.registerI18n(editorI18n),pluginApi.registry.registerFileAction({id:"edit-file",icon:"edit-file",shouldRender:fileEntry=>!!(fileEntry.isSuccess&&fileEntry.isImage&&fileEntry.cdnUrl),onClick:fileEntry=>{uploaderApi.setCurrentActivity?.(activity_constants.g.CLOUD_IMG_EDIT,{internalId:fileEntry.internalId}),uploaderApi.setModalState?.(!0)}}),pluginApi.registry.registerActivity({id:activity_constants.g.CLOUD_IMG_EDIT,render:host=>{let activityEl=document.createElement("uc-cloud-image-editor-activity");return host.append(activityEl),()=>{host.replaceChildren()}}})}}},2061(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{externalSourcesPlugin:()=>externalSourcesPlugin});var _abstract_defineComponents__rspack_import_0=__webpack_require__(3962),_blocks_ExternalSource_ExternalSource__rspack_import_1=__webpack_require__(7860),_lit_activity_constants__rspack_import_2=__webpack_require__(7715),_utils_UploadSource__rspack_import_3=__webpack_require__(5730);let externalSourcesPlugin={id:"external-sources",setup:async({pluginApi,uploaderApi})=>{for(let sourceId of((0,_abstract_defineComponents__rspack_import_0.Y)({ExternalSource:_blocks_ExternalSource_ExternalSource__rspack_import_1.B}),pluginApi.registry.registerActivity({id:_lit_activity_constants__rspack_import_2.g.EXTERNAL,render:host=>{let el=document.createElement("uc-external-source");return host.append(el),()=>{host.replaceChildren()}}}),Object.values(_utils_UploadSource__rspack_import_3.y5)))pluginApi.registry.registerSource({id:sourceId,label:`src-type-${sourceId}`,icon:sourceId,onSelect:()=>{uploaderApi.setCurrentActivity(_lit_activity_constants__rspack_import_2.g.EXTERNAL,{externalSourceType:sourceId}),uploaderApi.setModalState(!0)}})}}},5271(__unused_rspack_module,__webpack_exports__,__webpack_require__){let isApplied;__webpack_require__.d(__webpack_exports__,{imageShrinkPlugin:()=>imageShrinkPlugin});let readJpegChunks=()=>{let stack=[];return{stack,promiseReadJpegChunks:blob=>new Promise((resolve,reject)=>{let pos=2,readToView=(blob,cb)=>{let reader=new FileReader;reader.addEventListener("load",()=>{cb(new DataView(reader.result))}),reader.addEventListener("error",e=>{reject(`Reader error: ${e}`)}),reader.readAsArrayBuffer(blob)},readNext=()=>readToView(blob.slice(pos,pos+128),view=>{let i,j,ref;for(i=j=0,ref=view.byteLength;ref>=0?j<ref:j>ref;i=ref>=0?++j:--j)if(255===view.getUint8(i)){pos+=i;break}readNextChunk()}),readNextChunk=()=>{let startPos=pos;return readToView(blob.slice(pos,pos+=4),view=>{if(4!==view.byteLength||255!==view.getUint8(0))return void reject("Corrupted");let marker=view.getUint8(1);if(218===marker)return void resolve(!0);let length=view.getUint16(2)-2;return readToView(blob.slice(pos,pos+=length),view=>{view.byteLength!==length?reject("Corrupted"):(stack.push({startPos,length,marker,view}),readNext())})})};FileReader&&DataView||reject("Not Support"),readToView(blob.slice(0,2),view=>{65496!==view.getUint16(0)&&reject("Not jpeg"),readNext()})})}},getIccProfile=async blob=>{let iccProfile=[],{promiseReadJpegChunks,stack}=readJpegChunks();return await promiseReadJpegChunks(blob),stack.forEach(({marker,view})=>{226===marker&&0x4943435f===view.getUint32(0)&&0x50524f46===view.getUint32(4)&&0x494c4500===view.getUint32(8)&&iccProfile.push(view)}),iccProfile},replaceJpegChunk=async(blob,marker,chunks)=>{{let oldChunkPos=[],oldChunkLength=[],{promiseReadJpegChunks,stack}=readJpegChunks();await promiseReadJpegChunks(blob),stack.forEach(chunk=>{if(chunk.marker===marker)return oldChunkPos.push(chunk.startPos),oldChunkLength.push(chunk.length)});let newChunks=[blob.slice(0,2)];for(let chunk of chunks){let intro=new DataView(new ArrayBuffer(4));intro.setUint16(0,65280+marker),intro.setUint16(2,chunk.byteLength+2),newChunks.push(intro.buffer),newChunks.push(chunk)}let pos=2;for(let i=0;i<oldChunkPos.length;i++)oldChunkPos[i]>pos&&newChunks.push(blob.slice(pos,oldChunkPos[i])),pos=oldChunkPos[i]+oldChunkLength[i]+4;return newChunks.push(blob.slice(pos,blob.size)),new Blob(newChunks,{type:blob.type})}},replaceIccProfile=(blob,iccProfiles)=>replaceJpegChunk(blob,226,iccProfiles.map(chunk=>chunk.buffer)),stripIccProfile=async blob=>{try{return await replaceIccProfile(blob,[])}catch(e){throw Error(`Failed to strip ICC profile: ${e}`)}},createCanvas=()=>{let canvas=document.createElement("canvas"),ctx=canvas.getContext("2d");return{canvas,ctx}},getExif=async blob=>{let exif=null,{promiseReadJpegChunks,stack}=readJpegChunks();return await promiseReadJpegChunks(blob),stack.forEach(({marker,view})=>{if(!exif&&225===marker&&view.byteLength>=14&&0x45786966===view.getUint32(0)&&0===view.getUint16(4)){exif=view;return}}),exif},replaceExif=async(blob,exif,isExifApplied)=>(isExifApplied&&((exif,exifCallback)=>{let j,little,offset;if(!exif||exif.byteLength<14||0x45786966!==exif.getUint32(0)||0!==exif.getUint16(4))return;if(18761===exif.getUint16(6))little=!0;else{if(19789!==exif.getUint16(6))return;little=!1}if(42!==exif.getUint16(8,little))return;offset=8+exif.getUint32(10,little);let count=exif.getUint16(offset-2,little);for(j=0;count>=0?j<count:j>count;count>=0?++j:--j){if(exif.byteLength<offset+10)return;274===exif.getUint16(offset,little)&&exifCallback(offset+8,little),offset+=12}})(exif,(offset,littleEndian)=>exif.setUint16(offset,1,littleEndian)),replaceJpegChunk(blob,225,[exif.buffer])),allowLayers=[1,3],markers=[192,193,194,195,197,198,199,201,202,203,205,206,207],sizes={squareSide:[Math.floor(Math.sqrt(5e6)),4096,8192,11180,10836,11402,14188,16384],dimension:[4096,8192,16384,32767,65535]},shouldSkipShrink=async blob=>{let skip=!1,{promiseReadJpegChunks,stack}=readJpegChunks();return await promiseReadJpegChunks(blob).then(()=>(stack.forEach(({marker,view})=>{if(!skip&&markers.indexOf(marker)>=0){let layer=view.getUint8(5);0>allowLayers.indexOf(layer)&&(skip=!0)}}),skip)).catch(()=>skip)},memoize=(fn,serializer)=>{let cache={};return(...args)=>{let key=serializer(args,cache);return key in cache?cache[key]:cache[key]=fn(...args)}},memoKeySerializer=(args,cache)=>{let[w]=args,cachedWidths=Object.keys(cache).map(val=>parseInt(val,10)).sort((a,b)=>a-b);for(let i=0;i<cachedWidths.length;i++){let cachedWidth=cachedWidths[i],isSupported=!!cache[cachedWidth];if(cachedWidth>w&&isSupported||cachedWidth<w&&!isSupported)return cachedWidth}return w},FILL_STYLE=`rgba(55, 110, 165, ${1})`,canvasTest=(width,height)=>{try{let fill=[width-1,height-1,1,1],{canvas:cropCvs,ctx:cropCtx}=createCanvas();cropCvs.width=1,cropCvs.height=1;let{canvas:testCvs,ctx:testCtx}=createCanvas();testCvs.width=width,testCvs.height=height,testCtx&&(testCtx.fillStyle=FILL_STYLE,testCtx.fillRect(...fill),cropCtx.drawImage(testCvs,width-1,height-1,1,1,0,0,1,1));let imageData=cropCtx&&cropCtx.getImageData(0,0,1,1).data,isTestPass=!1;return imageData&&(isTestPass=55===imageData[0]&&110===imageData[1]&&165===imageData[2]&&255===imageData[3]),testCvs.width=testCvs.height=1,isTestPass}catch(e){return console.error(`Failed to test for max canvas size of ${width}x${height}.`),!1}};function wrapAsync(fn){return(...args)=>new Promise(resolve=>{setTimeout(()=>{resolve(fn(...args))},0)})}let squareTest=wrapAsync(memoize(canvasTest,memoKeySerializer)),dimensionTest=wrapAsync(memoize(canvasTest,memoKeySerializer)),testCanvasSize=async(w,h)=>{let testSquareSide=sizes.squareSide.find(side=>side*side>=w*h),testDimension=sizes.dimension.find(side=>side>=w&&side>=h);if(!testSquareSide||!testDimension)throw Error("Not supported");let[squareSupported,dimensionSupported]=await Promise.all([squareTest(testSquareSide,testSquareSide),dimensionTest(testDimension,1)]);if(squareSupported&&dimensionSupported)return!0;throw Error("Not supported")},canvasResize=async(img,w,h)=>{try{let{ctx,canvas}=createCanvas();return canvas.width=w,canvas.height=h,ctx.imageSmoothingQuality="high",ctx.drawImage(img,0,0,w,h),img instanceof HTMLImageElement&&(img.src="//:0"),img instanceof HTMLCanvasElement&&(img.width=img.height=1),canvas}catch(e){throw Error("Canvas resize error",{cause:e})}},calcShrinkSteps=function({sourceW,targetW,targetH,step}){let steps=[],sW=targetW,sH=targetH;do steps.push([sW,sH]),sW=Math.round(sW/step),sH=Math.round(sH/step);while(sW<sourceW*step);return steps.reverse()},isIpadOS=navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),shrinkFile=async(inputBlob,settings)=>{try{var image;let image1,type,quality;if(await shouldSkipShrink(inputBlob))throw Error("Should skipped");let exifResults=await Promise.allSettled([getExif(inputBlob),new Promise(resolve=>{if(void 0!==isApplied)resolve(isApplied);else{let image=new Image;image.addEventListener("load",()=>{isApplied=image.naturalWidth<image.naturalHeight,image.src="//:0",resolve(isApplied)}),image.src="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k="}}),getIccProfile(inputBlob)]),isJPEG=!exifResults.some(result=>"rejected"===result.status),[exifResult,isExifOrientationAppliedResult,iccProfileResult]=exifResults,inputBlobWithoutIcc=await stripIccProfile(inputBlob).catch(()=>inputBlob),image2=await (image=URL.createObjectURL(inputBlobWithoutIcc),image1=new Image,new Promise((resolve,reject)=>{image&&(image1.src=image),image1.complete?resolve(image1):(image1.addEventListener("load",()=>{resolve(image1)}),image1.addEventListener("error",()=>{reject(Error("Failed to load image. Probably not an image."))}))}));URL.revokeObjectURL(image2.src);let canvas=await ((img,settings)=>{if(.71*img.width*img.height*.71<settings.size)throw Error("Not required");let sourceW=img.width,ratio=sourceW/img.height,targetW=Math.floor(Math.sqrt(settings.size*ratio)),targetH=Math.floor(settings.size/Math.sqrt(settings.size*ratio));return testCanvasSize(targetW,targetH).then(()=>{let{ctx}=createCanvas();return"imageSmoothingQuality"in ctx&&!(/iPad|iPhone|iPod/.test(navigator.platform)||navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform))&&!isIpadOS?(({img,targetW,targetH})=>canvasResize(img,targetW,targetH))({img,targetW,targetH}):(({img,sourceW,targetW,targetH,step})=>{let steps=calcShrinkSteps({sourceW,targetW,targetH,step});return steps.reduce((chain,[w,h],idx)=>chain.then(canvas=>testCanvasSize(w,h).then(()=>canvasResize(canvas,w,h)).catch(()=>{if(idx===steps.length-1)throw Error("Not supported");return canvas})),Promise.resolve(img))})({img,sourceW,targetW,targetH,step:.71})}).catch(()=>Promise.reject("Not supported"))})(image2,settings),format="image/jpeg",quality1=settings?.quality||.8;!isJPEG&&(img=>{let{ctx,canvas}=createCanvas();canvas.width=canvas.height=50,ctx.drawImage(img,0,0,50,50);let imageData=ctx.getImageData(0,0,50,50).data;canvas.width=canvas.height=1;for(let i=3;i<imageData.length;i+=4)if(imageData[i]<254)return!0;return!1})(canvas)&&(format="image/png",quality1=void 0);let newBlob=await (type=format,quality=quality1,new Promise((resolve,reject)=>{canvas.toBlob(blob=>{blob?resolve(blob):reject("Failed to convert canvas to blob")},type,quality),canvas.width=canvas.height=1}));if(isJPEG&&"fulfilled"===exifResult.status&&exifResult.value){let exif=exifResult.value,isExifOrientationApplied="fulfilled"===isExifOrientationAppliedResult.status&&isExifOrientationAppliedResult.value;newBlob=await replaceExif(newBlob,exif,isExifOrientationApplied)}return isJPEG&&"fulfilled"===iccProfileResult.status&&iccProfileResult.value.length>0&&(newBlob=await replaceIccProfile(newBlob,iccProfileResult.value)),newBlob}catch(e){let message;throw e instanceof Error&&(message=e.message),"string"==typeof e&&(message=e),Error(`Failed to shrink image. ${message?`Message: "${message}".`:""}`,{cause:e})}},regExpShrink=/^([0-9]+)x([0-9]+)(?:\s+(\d{1,2}|100)%)?$/i,imageShrinkPlugin={id:"image-shrink",setup({pluginApi}){pluginApi.registry.registerFileHook({type:"beforeUpload",handler:async({file,mimeType})=>{let imageShrink=pluginApi.config.get("imageShrink");if(!imageShrink)return{file,mimeType};let settings=(value=>{if("string"!=typeof value)return!1;let terms=regExpShrink.exec(value.toLocaleLowerCase())??[];if(0===terms.length)return!1;let sizeShrink=Number(terms[1])*Number(terms[2]);return sizeShrink>0x10000000?(console.warn(`Shrinked size can not be larger than ${Math.floor(268.435456)}MP. You have set ${terms[1]}x${terms[2]} (${Math.ceil(sizeShrink/1e3/100)/10}MP).`),!1):{quality:terms[3]?Number(terms[3])/100:void 0,size:sizeShrink}})(imageShrink);if(!settings)return console.warn("[ImageShrinkPlugin] Image shrink settings are invalid, skipping shrinking"),{file,mimeType};try{let shrunk=await shrinkFile(file,settings);return{file:shrunk,mimeType:shrunk.type||mimeType}}catch{return{file,mimeType}}}})}}},1746(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{instagramPlugin:()=>instagramPlugin});let instagramPlugin={id:"instagram",setup({pluginApi}){pluginApi.registry.registerSource({id:"instagram",label:"src-type-instagram",icon:"instagram",expand:()=>(console.error("Instagram source was removed because the Instagram Basic Display API hasn't been available since December 4, 2024. Official statement, see here: https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api/?locale=en_US"),[]),onSelect:()=>{}})}}},1938(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{urlSourcePlugin:()=>urlSourcePlugin});var _abstract_defineComponents__rspack_import_0=__webpack_require__(3962),_blocks_UrlSource_UrlSource__rspack_import_1=__webpack_require__(8130),_lit_activity_constants__rspack_import_2=__webpack_require__(7715);let urlSourcePlugin={id:"url-source",setup:async({pluginApi,uploaderApi})=>{(0,_abstract_defineComponents__rspack_import_0.Y)({UrlSource:_blocks_UrlSource_UrlSource__rspack_import_1.T}),pluginApi.registry.registerActivity({id:_lit_activity_constants__rspack_import_2.g.URL,render:host=>{let el=document.createElement("uc-url-source");return host.append(el),()=>{host.replaceChildren()}}}),pluginApi.registry.registerSource({id:"url",label:"src-type-from-url",icon:"url",onSelect:()=>{uploaderApi.setCurrentActivity(_lit_activity_constants__rspack_import_2.g.URL),uploaderApi.setModalState(!0)}})}}},5446(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{V:()=>UID});class UID{static generateFastUid(){return`uid-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`}static generateRandomUUID(){let cryptoObj=globalThis.crypto;return cryptoObj&&"function"==typeof cryptoObj.randomUUID?cryptoObj.randomUUID():UID.generateFastUid()}}},5730(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{pc:()=>UploadSource,y5:()=>ExternalUploadSource});let ExternalUploadSource=Object.freeze({FACEBOOK:"facebook",DROPBOX:"dropbox",GDRIVE:"gdrive",GPHOTOS:"gphotos",FLICKR:"flickr",VK:"vk",EVERNOTE:"evernote",BOX:"box",ONEDRIVE:"onedrive",HUDDLE:"huddle"}),UploadSource=Object.freeze({LOCAL:"local",DROP_AREA:"drop-area",CAMERA:"camera",EXTERNAL:"external",API:"js-api",URL:"url",...Object.freeze({MOBILE_VIDEO_CAMERA:"mobile-video-camera",MOBILE_PHOTO_CAMERA:"mobile-photo-camera"}),...ExternalUploadSource})},3254(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Z:()=>applyStyles});function applyStyles(el,styleMap){for(let prop in styleMap)prop.includes("-")?el.style.setProperty(prop,String(styleMap[prop])):el.style[prop]=String(styleMap[prop])}},1633(__unused_rspack_module,__webpack_exports__,__webpack_require__){let ua;__webpack_require__.d(__webpack_exports__,{R5:()=>browserInfo,wN:()=>browserFeatures});let browserInfo={safariDesktop:(ua=navigator.userAgent,/Macintosh|Windows/.test(ua)&&/Version\/[\d.]+.*Safari/.test(ua)&&!/Chrome|Chromium|Edg|OPR/.test(ua))},browserFeatures={htmlMediaCapture:"capture"in document.createElement("input")}},6339(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{$z:()=>createCdnUrlModifiers,I1:()=>extractOperations,LN:()=>createCdnUrl,OB:()=>joinCdnOperations,_A:()=>extractCdnUrlModifiers,p_:()=>extractUuid,v6:()=>extractFilename,vo:()=>createOriginalUrl});let normalizeCdnOperation=operation=>{if("string"!=typeof operation||!operation)return"";let str=operation.trim();return str.startsWith("-/")?str=str.slice(2):str.startsWith("/")&&(str=str.slice(1)),str.endsWith("/")&&(str=str.slice(0,str.length-1)),str},joinCdnOperations=(...operations)=>operations.filter(op=>"string"==typeof op&&!!op).map(op=>normalizeCdnOperation(op)).join("/-/"),createCdnUrlModifiers=(...cdnOperations)=>{let joined=joinCdnOperations(...cdnOperations);return joined?`-/${joined}/`:""};function extractFilename(cdnUrl){let url=new URL(cdnUrl),noOrigin=url.pathname+url.search+url.hash,urlFilenameIdx=noOrigin.lastIndexOf("http"),plainFilenameIdx=noOrigin.lastIndexOf("/"),filename="";return urlFilenameIdx>=0?filename=noOrigin.slice(urlFilenameIdx):plainFilenameIdx>=0&&(filename=noOrigin.slice(plainFilenameIdx+1)),filename}function extractUuid(cdnUrl){let{pathname}=new URL(cdnUrl),slashIndex=pathname.indexOf("/"),secondSlashIndex=pathname.indexOf("/",slashIndex+1);return pathname.substring(slashIndex+1,secondSlashIndex)}function extractCdnUrlModifiers(cdnUrl){let url=new URL(trimFilename(cdnUrl)),operationsMarker=url.pathname.indexOf("/-/");return -1===operationsMarker?"":url.pathname.substring(operationsMarker).slice(1)}function extractOperations(cdnUrl){return extractCdnUrlModifiers(cdnUrl).split("/-/").filter(Boolean).map(operation=>normalizeCdnOperation(operation))}function trimFilename(cdnUrl){let url=new URL(cdnUrl),filename=extractFilename(cdnUrl),filenamePathPart=isFileUrl(filename)?splitFileUrl(filename).pathname:filename;return url.pathname=url.pathname.replace(filenamePathPart,""),url.search="",url.hash="",url.toString()}function isFileUrl(filename){return filename.startsWith("http")}function splitFileUrl(fileUrl){let url=new URL(fileUrl);return{pathname:`${url.origin}${url.pathname??""}`,search:url.search??"",hash:url.hash??""}}let createCdnUrl=(baseCdnUrl,cdnModifiers,filename)=>{let url=new URL(trimFilename(baseCdnUrl)),resolvedFilename=filename??extractFilename(baseCdnUrl),resolvedModifiers=cdnModifiers??"";if(url.pathname.startsWith("//")&&(url.pathname=url.pathname.replace("//","/")),resolvedFilename&&isFileUrl(resolvedFilename)){let splitted=splitFileUrl(resolvedFilename);url.pathname=`${url.pathname}${resolvedModifiers}${splitted.pathname||""}`,url.search=splitted.search,url.hash=splitted.hash}else url.pathname=`${url.pathname}${resolvedModifiers}${resolvedFilename||""}`;return url.toString()},createOriginalUrl=(cdnUrl,uuid)=>{let url=new URL(cdnUrl);return url.pathname=`${uuid}/`,url.toString()}},9101(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{A:()=>deserializeCsv,L:()=>serializeCsv});let deserializeCsv=value=>value?value.split(",").map(item=>item.trim()).filter(Boolean):[],serializeCsv=value=>value.join(",")},4441(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{s:()=>debounce});function debounce(callback,wait){let timer,debounced=(...args)=>{timer&&clearTimeout(timer),timer=setTimeout(()=>callback(...args),wait)};return debounced.cancel=()=>{timer&&clearTimeout(timer)},debounced}},9364(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Z:()=>getPluralForm});let getPluralForm=(locale,count)=>new Intl.PluralRules(locale).select(count)},6756(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{N:()=>preloadImage,e:()=>batchPreloadImages});var _transparentPixelSrc__rspack_import_0=__webpack_require__(8608);function preloadImage(src){let image=new Image;return{promise:new Promise((resolve,reject)=>{image.src=src,image.onload=()=>resolve(),image.onerror=err=>reject(err)}),image,cancel:()=>{0===image.naturalWidth&&(image.src=_transparentPixelSrc__rspack_import_0.d)}}}function batchPreloadImages(list){let preloaders=[];for(let src of list){let preload=preloadImage(src);preloaders.push(preload)}let images=preloaders.map(preload=>preload.image);return{promise:Promise.allSettled(preloaders.map(preload=>preload.promise)),images,cancel:()=>{preloaders.forEach(preload=>{preload.cancel()})}}}},2513(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{G:()=>stringToArray});let stringToArray=(str,delimiter=",")=>str.trim().split(delimiter).map(part=>part.trim()).filter(part=>part.length>0)},664(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Q:()=>getPluralObjects,x:()=>applyTemplateData});let DEFAULT_TRANSFORMER=value=>value,PLURAL_PREFIX="plural:";function applyTemplateData(template,data={},options={}){let{openToken="{{",closeToken="}}",transform=DEFAULT_TRANSFORMER}=options;for(let key in data){let rawValue=data[key],value=null!=rawValue?rawValue.toString():void 0,replacement="string"==typeof value?transform(value):String(value);template=template.replaceAll(openToken+key+closeToken,replacement)}return template}function getPluralObjects(template){let pluralObjects=[],open=template.indexOf("{{");for(;-1!==open;){let close=template.indexOf("}}",open);if(-1===close)break;let variable=template.substring(open+2,close);if(variable.startsWith(PLURAL_PREFIX)){let keyValue=template.substring(open+2,close).replace(PLURAL_PREFIX,""),key=keyValue.substring(0,keyValue.indexOf("(")),count=keyValue.substring(keyValue.indexOf("(")+1,keyValue.indexOf(")"));pluralObjects.push({variable,pluralKey:key,countVariable:count})}open=template.indexOf("{{",close)}return pluralObjects}},3442(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{n:()=>throttle});let throttle=(fn,wait)=>{let lastFn,inThrottle=!1,lastTime=0,throttled=(...args)=>{inThrottle?(lastFn&&clearTimeout(lastFn),lastFn=setTimeout(()=>{Date.now()-lastTime>=wait&&(fn(...args),lastTime=Date.now())},Math.max(wait-(Date.now()-lastTime),0))):(fn(...args),lastTime=Date.now(),inThrottle=!0)};return Object.defineProperty(throttled,"cancel",{configurable:!1,writable:!1,enumerable:!1,value:()=>{lastFn&&clearTimeout(lastFn)}}),throttled}},2402(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{f:()=>toKebabCase});let toKebabCase=str=>str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(x=>x.toLowerCase()).join("-")},8608(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{d:()=>TRANSPARENT_PIXEL_SRC});let TRANSPARENT_PIXEL_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="},6783(__unused_rspack_module,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{m:()=>warnOnce});let warnings=new Set;function warnOnce(message){warnings.has(message)||(warnings.add(message),console.warn(message))}},4434(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Ec:()=>f,W3:()=>u,mN:()=>y});let css_tag_t=globalThis,css_tag_e=css_tag_t.ShadowRoot&&(void 0===css_tag_t.ShadyCSS||css_tag_t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,css_tag_s=Symbol(),css_tag_o=new WeakMap;class css_tag_n{constructor(t,e,o){if(this._$cssResult$=!0,o!==css_tag_s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,s=this.t;if(css_tag_e&&void 0===t){let e=void 0!==s&&1===s.length;e&&(t=css_tag_o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&css_tag_o.set(s,t))}return t}toString(){return this.cssText}}let c=css_tag_e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let t1,e="";for(let s of t.cssRules)e+=s.cssText;return new css_tag_n("string"==typeof(t1=e)?t1:t1+"",void 0,css_tag_s)})(t):t,{is:reactive_element_i,defineProperty:reactive_element_e,getOwnPropertyDescriptor:reactive_element_h,getOwnPropertyNames:reactive_element_r,getOwnPropertySymbols:reactive_element_o,getPrototypeOf:reactive_element_n}=Object,a=globalThis,reactive_element_c=a.trustedTypes,l=reactive_element_c?reactive_element_c.emptyScript:"",p=a.reactiveElementPolyfillSupport,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!reactive_element_i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol("metadata"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){let i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&reactive_element_e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){let{get:e,set:r}=reactive_element_h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){let h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty("elementProperties"))return;let t=reactive_element_n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty("finalized"))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty("properties")){let t=this.properties;for(let i of[...reactive_element_r(t),...reactive_element_o(t)])this.createProperty(i,t[i])}let t=this[Symbol.metadata];if(null!==t){let s=litPropertyMetadata.get(t);if(void 0!==s)for(let[t,i]of s)this.elementProperties.set(t,i)}for(let[t,s]of(this._$Eh=new Map,this.elementProperties)){let i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){let i=[];if(Array.isArray(s))for(let s1 of new Set(s.flat(1/0).reverse()))i.unshift(c(s1));else void 0!==s&&i.push(c(s));return i}static _$Eu(t,s){let i=s.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map;for(let i of this.constructor.elementProperties.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((s,o)=>{if(css_tag_e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let e of o){let o=document.createElement("style"),n=css_tag_t.litNonce;void 0!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){let i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){let h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){let i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){let t=i.getPropertyOptions(e),h="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;let r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){let r=this.constructor;if(!1===e&&(h=this[t]),!(((i??=r.getPropertyOptions(t)).hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}let t=this.constructor.elementProperties;if(t.size>0)for(let[s,i]of t){let{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1,s=this._$AL;try{(t=this.shouldUpdate(s))?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:"open"},y.elementProperties=new Map,y.finalized=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push("2.1.2")},3074(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){function isObject(o){return"[object Object]"===Object.prototype.toString.call(o)}__webpack_require__.d(__webpack_exports__,{$t:()=>getUserAgent$1,Be:()=>UploadcareError,Dr:()=>NetworkError,QM:()=>uploadFile,fB:()=>uploadFileGroup,oW:()=>UploadError,op:()=>Queue,p3:()=>CancelError});let SEPARATOR=/\W|_/g;function camelizeArrayItems(array,{ignoreKeys}={ignoreKeys:[]}){return Array.isArray(array)?array.map(item=>camelizeKeys(item,{ignoreKeys})):array}function camelizeKeys(source,{ignoreKeys}={ignoreKeys:[]}){if(Array.isArray(source))return camelizeArrayItems(source,{ignoreKeys});if(!isObject(source))return source;let result={};for(let key of Object.keys(source)){let value=source[key];if(ignoreKeys.includes(key)){result[key]=value;continue}isObject(value)?value=camelizeKeys(value,{ignoreKeys}):Array.isArray(value)&&(value=camelizeArrayItems(value,{ignoreKeys})),result[key.split(SEPARATOR).map((word,index)=>word.charAt(0)[index>0?"toUpperCase":"toLowerCase"]()+word.slice(1)).join("")]=value}return result}function getUserAgent$1({libraryName,libraryVersion,userAgent,publicKey="",integration=""}){let languageName="JavaScript";if("string"==typeof userAgent)return userAgent;if("function"==typeof userAgent)return userAgent({publicKey,libraryName,libraryVersion,languageName,integration});let mainInfo=[libraryName,libraryVersion,publicKey].filter(Boolean).join("/"),additionInfo=[languageName,integration].filter(Boolean).join("; ");return`${mainInfo} (${additionInfo})`}let defaultOptions={factor:2,time:100};class UploadcareError extends Error{}class NetworkError extends UploadcareError{originalProgressEvent;constructor(progressEvent){super(),this.name="NetworkError",this.message="Network error",Object.setPrototypeOf(this,NetworkError.prototype),this.originalProgressEvent=progressEvent}}let onCancel=(signal,callback)=>{signal&&(signal.aborted?Promise.resolve().then(callback):signal.addEventListener("abort",()=>callback(),{once:!0}))};class CancelError extends UploadcareError{isCancel=!0;constructor(message="Request canceled"){super(message),this.name="CancelError",Object.setPrototypeOf(this,CancelError.prototype)}}let DEFAULT_INTERVAL=500,poll=({check,interval=DEFAULT_INTERVAL,timeout,signal})=>new Promise((resolve,reject)=>{let tickTimeoutId,timeoutId;onCancel(signal,()=>{tickTimeoutId&&clearTimeout(tickTimeoutId),reject(new CancelError("Poll cancelled"))}),timeout&&(timeoutId=setTimeout(()=>{tickTimeoutId&&clearTimeout(tickTimeoutId),reject(new CancelError("Timed out"))},timeout));let tick=()=>{try{Promise.resolve(check(signal)).then(result=>{result?(timeoutId&&clearTimeout(timeoutId),resolve(result)):tickTimeoutId=setTimeout(tick,interval)}).catch(error=>{timeoutId&&clearTimeout(timeoutId),reject(error)})}catch(error){timeoutId&&clearTimeout(timeoutId),reject(error)}};tickTimeoutId=setTimeout(tick,0)}),defaultSettings_baseCDN="https://ucarecdn.com",defaultSettings_baseURL="https://upload.uploadcare.com",defaultSettings_multipartMinFileSize=0x1900000,defaultSettings_multipartChunkSize=5242880,defaultSettings_maxConcurrentRequests=4,defaultSettings_pusherKey="79ae88bd931ea68464d9",defaultContentType="application/octet-stream",defaultFilename="original",request=({method,url,data,headers={},signal,onProgress})=>new Promise((resolve,reject)=>{let xhr=new XMLHttpRequest,requestMethod=method?.toUpperCase()||"GET",aborted=!1;xhr.open(requestMethod,url,!0),headers&&Object.entries(headers).forEach(entry=>{let[key,value]=entry;void 0===value||Array.isArray(value)||xhr.setRequestHeader(key,value)}),xhr.responseType="text",onCancel(signal,()=>{aborted=!0,xhr.abort(),reject(new CancelError)}),xhr.onload=()=>{if(200!=xhr.status)reject(Error(`Error ${xhr.status}: ${xhr.statusText}`));else{let headersArray=xhr.getAllResponseHeaders().trim().split(/[\r\n]+/),responseHeaders={};headersArray.forEach(function(line){let parts=line.split(": "),header=parts.shift(),value=parts.join(": ");header&&void 0!==header&&(responseHeaders[header]=value)}),resolve({request:{method:requestMethod,url,data,headers:headers||void 0,signal,onProgress},data:xhr.response,headers:responseHeaders,status:xhr.status})}},xhr.onerror=progressEvent=>{aborted||reject(new NetworkError(progressEvent))},onProgress&&"function"==typeof onProgress&&(xhr.upload.onprogress=event=>{event.lengthComputable?onProgress({isComputable:!0,value:event.loaded/event.total}):onProgress({isComputable:!1})}),data?xhr.send(data):xhr.send()}),isBlob=data=>"u">typeof Blob&&data instanceof Blob,isFile=data=>"u">typeof File&&data instanceof File,isReactNativeAsset=data=>!!data&&"object"==typeof data&&!Array.isArray(data)&&"uri"in data&&"string"==typeof data.uri,isFileData=data=>isBlob(data)||isFile(data)||isReactNativeAsset(data);function buildFormData(options){let formData=new FormData;for(let params of function(options){let params=[];for(let[key,value]of Object.entries(options))!function collectParams(params,inputKey,inputValue){if(Array.isArray(inputValue))for(let value of inputValue)collectParams(params,`${inputKey}[]`,value);else if(inputValue&&"object"==typeof inputValue&&"data"in inputValue&&isFileData(inputValue.data)){let{name,contentType}=inputValue,file=inputValue.data,options=(({name})=>name?[name]:[])({name,contentType});params.push([inputKey,file,...options])}else if(!inputValue||"object"!=typeof inputValue||Array.isArray(inputValue))("string"==typeof inputValue||"number"==typeof inputValue||void 0===inputValue)&&inputValue&¶ms.push([inputKey,inputValue.toString()]);else for(let[key,value]of Object.entries(inputValue))void 0!==value&¶ms.push([`${inputKey}[${key}]`,String(value)])}(params,key,value);return params}(options)){let[key,value,...rest]=params;formData.append(key,value,...rest)}return formData}class UploadError extends UploadcareError{code;request;response;headers;constructor(message,code,request,response,headers){super(),this.name="UploadError",this.message=message,this.code=code,this.request=request,this.response=response,this.headers=headers,Object.setPrototypeOf(this,UploadError.prototype)}}let getUrl=(base,path,query)=>{let url=new URL(base);return url.pathname=(url.pathname+path).replace("//","/"),query&&(url.search=(query=>{let searchParams=new URLSearchParams;for(let[key,value]of Object.entries(query))value&&"object"==typeof value&&!Array.isArray(value)?Object.entries(value).filter(entry=>entry[1]??!1).forEach(entry=>searchParams.set(`${key}[${entry[0]}]`,String(entry[1]))):Array.isArray(value)?value.forEach(val=>{searchParams.append(`${key}[]`,val)}):"string"==typeof value&&value?searchParams.set(key,value):"number"==typeof value&&searchParams.set(key,value.toString());return searchParams.toString()})(query)),url.toString()};function getUserAgent(options){return getUserAgent$1({libraryName:"UploadcareUploadClient",libraryVersion:"6.18.4",...options})}function retryIfFailed(fn,options){let{retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes}=options;return function(fn,options=defaultOptions){let attempts=0;return function runAttempt(fn){let defaultDelayTime=Math.round(options.time*options.factor**attempts);return fn({attempt:attempts,retry:ms=>{let ms1;return(ms1=ms??defaultDelayTime,new Promise(resolve=>setTimeout(resolve,ms1))).then(()=>(attempts+=1,runAttempt(fn)))}})}(fn)}(({attempt,retry})=>fn().catch(error=>{if("response"in error&&error?.code==="RequestThrottledError"&&attempt<retryThrottledRequestMaxTimes)return retry(function(error){let{headers}=error||{};if(!headers||"string"!=typeof headers["retry-after"])return 15e3;let seconds=parseInt(headers["retry-after"],10);return Number.isFinite(seconds)?1e3*seconds:15e3}(error));if(error instanceof NetworkError&&attempt<retryNetworkErrorMaxTimes)return retry((attempt+1)*1e3);throw error}))}let getContentType=file=>{let contentType="";return(isBlob(file)||isFile(file)||isReactNativeAsset(file))&&(contentType=file.type),contentType||defaultContentType},getFileName=file=>{let filename="";return isFile(file)&&file.name?filename=file.name:isBlob(file)?filename="":isReactNativeAsset(file)&&file.name&&(filename=file.name),filename||defaultFilename};function getStoreValue(store){return void 0===store||"auto"===store?"auto":store?"1":"0"}function info(uuid,{publicKey,baseURL=defaultSettings_baseURL,signal,source,integration,userAgent,retryThrottledRequestMaxTimes=1,retryNetworkErrorMaxTimes=3}){return retryIfFailed(()=>request({method:"GET",headers:{"X-UC-User-Agent":getUserAgent({publicKey,integration,userAgent})},url:getUrl(baseURL,"/info/",{jsonerrors:1,pub_key:publicKey,file_id:uuid,source}),signal}).then(({data,headers,request})=>{let response=camelizeKeys(JSON.parse(data));if(!("error"in response))return response;throw new UploadError(response.error.content,response.error.errorCode,request,response,headers)}),{retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes})}function isReadyPoll(uuid,{publicKey,baseURL,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,signal,onProgress}){return poll({check:signal=>info(uuid,{publicKey,baseURL,signal,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes}).then(response=>response.isReady?response:(onProgress&&onProgress({isComputable:!0,value:1}),!1)),signal})}(TypeEnum1=TypeEnum||(TypeEnum={})).Token="token",TypeEnum1.FileInfo="file_info",(Status1=Status||(Status={})).Unknown="unknown",Status1.Waiting="waiting",Status1.Progress="progress",Status1.Error="error",Status1.Success="success";class UploadcareFile{uuid;name;size;isStored;isImage;mimeType;cdnUrl;s3Url;originalFilename;imageInfo;videoInfo;contentInfo;metadata;s3Bucket;defaultEffects=null;constructor(fileInfo,{baseCDN=defaultSettings_baseCDN,fileName}={}){let{uuid,s3Bucket}=fileInfo,cdnUrl=getUrl(baseCDN,`${uuid}/`),s3Url=s3Bucket?getUrl(`https://${s3Bucket}.s3.amazonaws.com/`,`${uuid}/${fileInfo.filename}`):null;this.uuid=uuid,this.name=fileName||fileInfo.filename,this.size=fileInfo.size,this.isStored=fileInfo.isStored,this.isImage=fileInfo.isImage,this.mimeType=fileInfo.mimeType,this.cdnUrl=cdnUrl,this.originalFilename=fileInfo.originalFilename,this.imageInfo=fileInfo.imageInfo,this.videoInfo=fileInfo.videoInfo,this.contentInfo=fileInfo.contentInfo,this.metadata=fileInfo.metadata||null,this.s3Bucket=s3Bucket||null,this.s3Url=s3Url,"defaultEffects"in fileInfo&&(this.defaultEffects=fileInfo.defaultEffects)}}var TypeEnum,Status,TypeEnum1,Status1,WebSocket=window.WebSocket;class Events{events=Object.create({});emit(event,data){this.events[event]?.forEach(fn=>fn(data))}on(event,callback){this.events[event]=this.events[event]||[],this.events[event].push(callback)}off(event,callback){callback?this.events[event]=this.events[event].filter(fn=>fn!==callback):this.events[event]=[]}}class Pusher{key;disconnectTime;ws=void 0;queue=[];isConnected=!1;subscribers=0;emmitter=new Events;disconnectTimeoutId=null;constructor(pusherKey,disconnectTime=3e4){this.key=pusherKey,this.disconnectTime=disconnectTime}connect(){if(this.disconnectTimeoutId&&clearTimeout(this.disconnectTimeoutId),!this.isConnected&&!this.ws){let pusherUrl=`wss://ws.pusherapp.com/app/${this.key}?protocol=5&client=js&version=1.12.2`;this.ws=new WebSocket(pusherUrl),this.ws.addEventListener("error",error=>{this.emmitter.emit("error",Error(error.message))}),this.emmitter.on("connected",()=>{this.isConnected=!0,this.queue.forEach(message=>this.send(message.event,message.data)),this.queue=[]}),this.ws.addEventListener("message",e=>{let data=JSON.parse(e.data.toString());switch(data.event){case"pusher:connection_established":this.emmitter.emit("connected",void 0);break;case"pusher:ping":this.send("pusher:pong",{});break;case"progress":case"success":case"fail":var type,data1;this.emmitter.emit(data.channel,(type=data.event,data1=JSON.parse(data.data),"success"===type?{status:Status.Success,...data1}:"progress"===type?{status:Status.Progress,...data1}:{status:Status.Error,...data1}))}})}}disconnect(){let actualDisconect=()=>{this.ws?.close(),this.ws=void 0,this.isConnected=!1};this.disconnectTime?this.disconnectTimeoutId=setTimeout(()=>{actualDisconect()},this.disconnectTime):actualDisconect()}send(event,data){let str=JSON.stringify({event,data});this.ws?.send(str)}subscribe(token,handler){this.subscribers+=1,this.connect();let channel=`task-status-${token}`,message={event:"pusher:subscribe",data:{channel}};this.emmitter.on(channel,handler),this.isConnected?this.send(message.event,message.data):this.queue.push(message)}unsubscribe(token){this.subscribers-=1;let channel=`task-status-${token}`;this.emmitter.off(channel),this.isConnected?this.send("pusher:unsubscribe",{channel}):this.queue=this.queue.filter(msg=>msg.data.channel!==channel),0===this.subscribers&&this.disconnect()}onError(callback){return this.emmitter.on("error",callback),()=>this.emmitter.off("error",callback)}}let pusher=null,getPusher=key=>(pusher||(pusher=new Pusher(key,3e4*("u">typeof window))),pusher),memo=new WeakMap,getBlobFromReactNativeAsset=async asset=>{if(memo.has(asset))return memo.get(asset);let blob=await fetch(asset.uri).then(res=>res.blob());return memo.set(asset,blob),blob},getFileSize=async file=>{if(isFile(file)||isBlob(file))return file.size;if(isReactNativeAsset(file))return(await getBlobFromReactNativeAsset(file)).size;throw Error("Unknown file type. Cannot determine file size.")},isUuid=data=>!isFileData(data)&&/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/.test(data),isUrl=data=>{let regExp=RegExp("^(?:\\w+:)?\\/\\/([^\\s\\.]+\\.\\S{2}|localhost[\\:?\\d]*)\\S*$");return!isFileData(data)&®Exp.test(data)},prepareChunks=async(file,fileSize,chunkSize)=>index=>{let start,end;return end=Math.min((start=chunkSize*index)+chunkSize,fileSize),file.slice(start,end)},uploadMultipart=async(file,{publicKey,fileName,fileSize,baseURL,secureSignature,secureExpire,store,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,contentType,multipartChunkSize=defaultSettings_multipartChunkSize,maxConcurrentRequests=defaultSettings_maxConcurrentRequests,baseCDN,metadata})=>{let progressValues,size=fileSize??await getFileSize(file);return(function(size,{publicKey,contentType,fileName,multipartChunkSize=defaultSettings_multipartChunkSize,baseURL="",secureSignature,secureExpire,store,signal,source="local",integration,userAgent,retryThrottledRequestMaxTimes=1,retryNetworkErrorMaxTimes=3,metadata}){return retryIfFailed(()=>request({method:"POST",url:getUrl(baseURL,"/multipart/start/",{jsonerrors:1}),headers:{"X-UC-User-Agent":getUserAgent({publicKey,integration,userAgent})},data:buildFormData({filename:fileName||defaultFilename,size:size,content_type:contentType||defaultContentType,part_size:multipartChunkSize,UPLOADCARE_STORE:getStoreValue(store),UPLOADCARE_PUB_KEY:publicKey,signature:secureSignature,expire:secureExpire,source:source,metadata}),signal}).then(({data,headers,request})=>{let response=camelizeKeys(JSON.parse(data));if(!("error"in response))return response.parts=Object.keys(response.parts).map(key=>response.parts[Number(key)]),response;throw new UploadError(response.error.content,response.error.errorCode,request,response,headers)}),{retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes})})(size,{publicKey,contentType:contentType||=getContentType(file),fileName:fileName||getFileName(file),baseURL,secureSignature,secureExpire,store,signal,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,metadata,multipartChunkSize}).then(async({uuid,parts})=>{let tasks,getChunk=await prepareChunks(file,size,multipartChunkSize);return Promise.all([uuid,(tasks=parts.map((url,index)=>()=>{var totalChunks;return((chunk,url,{publicKey,contentType,onProgress,signal,integration,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes})=>(function(part,url,{contentType,signal,onProgress,retryThrottledRequestMaxTimes=1,retryNetworkErrorMaxTimes=3}){return retryIfFailed(()=>request({method:"PUT",url,data:part,onProgress:onProgress,signal,headers:{"Content-Type":contentType||defaultContentType}}).then(result=>(onProgress&&onProgress({isComputable:!0,value:1}),result)).then(({status})=>({code:status})),{retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes})})(chunk,url,{publicKey,contentType,onProgress,signal,integration,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes}))(getChunk(index),url,{publicKey,contentType,onProgress:(totalChunks=parts.length,onProgress?(progressValues||(progressValues=Array(totalChunks).fill(0)),info=>{info.isComputable&&(progressValues[index]=info.value,onProgress({isComputable:!0,value:progressValues.reduce((sum,next)=>sum+next,0)/totalChunks}))}):void 0),signal,integration,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes})}),new Promise((resolve,reject)=>{let results=[],rejected=!1,settled=tasks.length,forRun=[...tasks],run=()=>{let index=tasks.length-forRun.length,next=forRun.shift();next&&next().then(result=>{rejected||(results[index]=result,(settled-=1)?run():resolve(results))}).catch(error=>{rejected=!0,reject(error)})};for(let i=0;i<maxConcurrentRequests;i++)run()}))])}).then(([uuid])=>(function(uuid,{publicKey,baseURL=defaultSettings_baseURL,source="local",signal,integration,userAgent,retryThrottledRequestMaxTimes=1,retryNetworkErrorMaxTimes=3}){return retryIfFailed(()=>request({method:"POST",url:getUrl(baseURL,"/multipart/complete/",{jsonerrors:1}),headers:{"X-UC-User-Agent":getUserAgent({publicKey,integration,userAgent})},data:buildFormData({uuid:uuid,UPLOADCARE_PUB_KEY:publicKey,source:source}),signal}).then(({data,headers,request})=>{let response=camelizeKeys(JSON.parse(data));if(!("error"in response))return response;throw new UploadError(response.error.content,response.error.errorCode,request,response,headers)}),{retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes})})(uuid,{publicKey,baseURL,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes})).then(fileInfo=>fileInfo.isReady?fileInfo:isReadyPoll(fileInfo.uuid,{publicKey,baseURL,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,onProgress,signal})).then(fileInfo=>new UploadcareFile(fileInfo,{baseCDN}))};async function uploadFile(data,{publicKey,fileName,baseURL=defaultSettings_baseURL,secureSignature,secureExpire,store,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,contentType,multipartMinFileSize,multipartChunkSize,maxConcurrentRequests,baseCDN=defaultSettings_baseCDN,checkForUrlDuplicates,saveUrlForRecurrentUploads,pusherKey,metadata}){if(isFileData(data)){let fileSize=await getFileSize(data);return((fileSize,multipartMinFileSize=defaultSettings_multipartMinFileSize)=>fileSize>=multipartMinFileSize)(fileSize,multipartMinFileSize)?uploadMultipart(data,{publicKey,contentType,multipartChunkSize,fileSize,fileName,baseURL,secureSignature,secureExpire,store,signal,onProgress,source,integration,userAgent,maxConcurrentRequests,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,baseCDN,metadata}):((file,{publicKey,fileName,baseURL,secureSignature,secureExpire,store,contentType,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,baseCDN,metadata})=>(function(file,{publicKey,fileName,contentType,baseURL=defaultSettings_baseURL,secureSignature,secureExpire,store,signal,onProgress,source="local",integration,userAgent,retryThrottledRequestMaxTimes=1,retryNetworkErrorMaxTimes=3,metadata}){return retryIfFailed(()=>request({method:"POST",url:getUrl(baseURL,"/base/",{jsonerrors:1}),headers:{"X-UC-User-Agent":getUserAgent({publicKey,integration,userAgent})},data:buildFormData({file:{data:file,name:fileName||getFileName(file),contentType:contentType||getContentType(file)},UPLOADCARE_PUB_KEY:publicKey,UPLOADCARE_STORE:getStoreValue(store),signature:secureSignature,expire:secureExpire,source:source,metadata}),signal,onProgress}).then(({data,headers,request})=>{let response=camelizeKeys(JSON.parse(data));if(!("error"in response))return response;throw new UploadError(response.error.content,response.error.errorCode,request,response,headers)}),{retryNetworkErrorMaxTimes,retryThrottledRequestMaxTimes})})(file,{publicKey,fileName,contentType,baseURL,secureSignature,secureExpire,store,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,metadata}).then(({file})=>isReadyPoll(file,{publicKey,baseURL,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,onProgress,signal})).then(fileInfo=>new UploadcareFile(fileInfo,{baseCDN})))(data,{publicKey,fileName,contentType,baseURL,secureSignature,secureExpire,store,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,baseCDN,metadata})}if(isUrl(data))return((sourceUrl,{publicKey,fileName,baseURL,baseCDN,checkForUrlDuplicates,saveUrlForRecurrentUploads,secureSignature,secureExpire,store,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,pusherKey=defaultSettings_pusherKey,metadata})=>Promise.resolve(void getPusher(pusherKey).connect()).then(()=>(function(sourceUrl,{publicKey,baseURL=defaultSettings_baseURL,store,fileName,checkForUrlDuplicates,saveUrlForRecurrentUploads,secureSignature,secureExpire,source="url",signal,integration,userAgent,retryThrottledRequestMaxTimes=1,retryNetworkErrorMaxTimes=3,metadata}){return retryIfFailed(()=>request({method:"POST",headers:{"X-UC-User-Agent":getUserAgent({publicKey,integration,userAgent})},url:getUrl(baseURL,"/from_url/",{jsonerrors:1,pub_key:publicKey,source_url:sourceUrl,store:getStoreValue(store),filename:fileName,check_URL_duplicates:checkForUrlDuplicates?1:void 0,save_URL_duplicates:saveUrlForRecurrentUploads?1:void 0,signature:secureSignature,expire:secureExpire,source:source,metadata}),signal}).then(({data,headers,request})=>{let response=camelizeKeys(JSON.parse(data));if(!("error"in response))return response;throw new UploadError(response.error.content,response.error.errorCode,request,response,headers)}),{retryNetworkErrorMaxTimes,retryThrottledRequestMaxTimes})})(sourceUrl,{publicKey,fileName,baseURL,checkForUrlDuplicates,saveUrlForRecurrentUploads,secureSignature,secureExpire,store,signal,source,integration,userAgent,retryThrottledRequestMaxTimes,metadata})).catch(error=>{let pusher=getPusher(pusherKey);return pusher?.disconnect(),Promise.reject(error)}).then(urlResponse=>urlResponse.type===TypeEnum.FileInfo?urlResponse:((fns,{signal}={})=>{let lastError=null,winnerIndex=null,controllers=fns.map(()=>new AbortController);return onCancel(signal,()=>{controllers.forEach(controller=>controller.abort())}),Promise.all(fns.map((fn,i)=>{let stopRace=()=>{winnerIndex=i,controllers.forEach((controller,index)=>index!==i&&controller.abort())};return Promise.resolve().then(()=>fn({stopRace,signal:controllers[i].signal})).then(result=>(stopRace(),result)).catch(error=>(lastError=error,null))})).then(results=>{if(null!==winnerIndex)return results[winnerIndex];throw lastError})})([({signal})=>(function({token,publicKey,baseURL,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,onProgress,signal}){return poll({check:signal=>(function(token,{publicKey,baseURL=defaultSettings_baseURL,signal,integration,userAgent,retryThrottledRequestMaxTimes=1,retryNetworkErrorMaxTimes=3}={}){return retryIfFailed(()=>request({method:"GET",headers:publicKey?{"X-UC-User-Agent":getUserAgent({publicKey,integration,userAgent})}:void 0,url:getUrl(baseURL,"/from_url/status/",{jsonerrors:1,token}),signal}).then(({data,headers,request})=>{let response=camelizeKeys(JSON.parse(data));if(!("error"in response)||"status"in response&&response.status===Status.Error)return response;throw new UploadError(response.error.content,response.error.errorCode,request,response,headers)}),{retryNetworkErrorMaxTimes,retryThrottledRequestMaxTimes})})(token,{publicKey,baseURL,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,signal}).then(response=>{switch(response.status){case Status.Error:return new UploadError(response.error,response.errorCode);case Status.Waiting:return!1;case Status.Unknown:return new UploadError(`Token "${token}" was not found.`);case Status.Progress:return onProgress&&("unknown"===response.total?onProgress({isComputable:!1}):onProgress({isComputable:!0,value:response.done/response.total})),!1;case Status.Success:return onProgress&&onProgress({isComputable:!0,value:response.done/response.total}),response;default:throw Error("Unknown status")}}),signal})})({token:urlResponse.token,publicKey,baseURL,integration,userAgent,retryThrottledRequestMaxTimes,onProgress,signal}),({signal})=>(({token,pusherKey,signal,onProgress})=>new Promise((resolve,reject)=>{let pusher=getPusher(pusherKey),unsubErrorHandler=pusher.onError(reject),destroy=()=>{unsubErrorHandler(),pusher.unsubscribe(token)};onCancel(signal,()=>{destroy(),reject(new CancelError("pusher cancelled"))}),pusher.subscribe(token,result=>{switch(result.status){case Status.Progress:onProgress&&("unknown"===result.total?onProgress({isComputable:!1}):onProgress({isComputable:!0,value:result.done/result.total}));break;case Status.Success:destroy(),onProgress&&onProgress({isComputable:!0,value:result.done/result.total}),resolve(result);break;case Status.Error:destroy(),reject(new UploadError(result.msg,result.error_code))}})}))({token:urlResponse.token,pusherKey,signal,onProgress})],{signal})).then(result=>{if(result instanceof UploadError)throw result;return result}).then(result=>isReadyPoll(result.uuid,{publicKey,baseURL,integration,userAgent,retryThrottledRequestMaxTimes,onProgress,signal})).then(fileInfo=>new UploadcareFile(fileInfo,{baseCDN})))(data,{publicKey,fileName,baseURL,baseCDN,checkForUrlDuplicates,saveUrlForRecurrentUploads,secureSignature,secureExpire,store,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,pusherKey,metadata});if(isUuid(data))return((uuid,{publicKey,fileName,baseURL,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,baseCDN})=>info(uuid,{publicKey,baseURL,signal,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes}).then(fileInfo=>new UploadcareFile(fileInfo,{baseCDN,fileName})).then(result=>(onProgress&&onProgress({isComputable:!0,value:1}),result)))(data,{publicKey,fileName,baseURL,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,baseCDN});throw TypeError(`File uploading from "${data}" is not supported`)}class UploadcareGroup{uuid;filesCount;totalSize;isStored;isImage;cdnUrl;files;createdAt;storedAt=null;constructor(groupInfo,{baseCDN=defaultSettings_baseCDN}={}){this.uuid=groupInfo.id,this.filesCount=groupInfo.filesCount;let groupFiles=groupInfo.files.filter(Boolean);this.totalSize=Object.values(groupFiles).reduce((acc,file)=>acc+file.size,0),this.isStored=!!groupInfo.datetimeStored,this.isImage=!!Object.values(groupFiles).filter(file=>file.isImage).length,this.cdnUrl=((url,newBase)=>{try{let originalUrl=new URL(url),baseUrl=new URL(newBase);return originalUrl.protocol=baseUrl.protocol,originalUrl.hostname=baseUrl.hostname,originalUrl.port=baseUrl.port,originalUrl.toString()}catch{return url}})(groupInfo.cdnUrl,baseCDN),this.files=groupFiles.map(fileInfo=>new UploadcareFile(fileInfo,{baseCDN})),this.createdAt=groupInfo.datetimeCreated,this.storedAt=groupInfo.datetimeStored}}function uploadFileGroup(data,{publicKey,fileName,baseURL=defaultSettings_baseURL,secureSignature,secureExpire,store,signal,onProgress,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,contentType,multipartChunkSize=defaultSettings_multipartChunkSize,baseCDN=defaultSettings_baseCDN,checkForUrlDuplicates,saveUrlForRecurrentUploads,jsonpCallback}){let progressValues;if(!(data=>{for(let item of data)if(!isFileData(item))return!1;return!0})(data)&&!(data=>{for(let item of data)if(!isUrl(item))return!1;return!0})(data)&&!(data=>{for(let item of data)if(!isUuid(item))return!1;return!0})(data))throw TypeError(`Group uploading from "${data}" is not supported`);let isStillComputable=!0,filesCount=data.length;return Promise.all(data.map((file,index)=>isFileData(file)||isUrl(file)?uploadFile(file,{publicKey,fileName,baseURL,secureSignature,secureExpire,store,signal,onProgress:onProgress?(progressValues||(progressValues=Array(filesCount).fill(0)),info=>{if(!info.isComputable||!isStillComputable){isStillComputable=!1,onProgress({isComputable:!1});return}progressValues[index]=info.value,onProgress({isComputable:!0,value:progressValues.reduce((sum,next)=>sum+next)/filesCount})}):void 0,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes,contentType,multipartChunkSize,baseCDN,checkForUrlDuplicates,saveUrlForRecurrentUploads}).then(fileInfo=>fileInfo.uuid):file)).then(uuids=>(function(uuids,{publicKey,baseURL=defaultSettings_baseURL,jsonpCallback,secureSignature,secureExpire,signal,source,integration,userAgent,retryThrottledRequestMaxTimes=1,retryNetworkErrorMaxTimes=3}){return retryIfFailed(()=>request({method:"POST",headers:{"X-UC-User-Agent":getUserAgent({publicKey,integration,userAgent})},url:getUrl(baseURL,"/group/",{jsonerrors:1}),data:buildFormData({files:uuids,callback:jsonpCallback,pub_key:publicKey,signature:secureSignature,expire:secureExpire,source}),signal}).then(({data,headers,request})=>{let response=camelizeKeys(JSON.parse(data));if(!("error"in response))return response;throw new UploadError(response.error.content,response.error.errorCode,request,response,headers)}),{retryNetworkErrorMaxTimes,retryThrottledRequestMaxTimes})})(uuids,{publicKey,baseURL,jsonpCallback,secureSignature,secureExpire,signal,source,integration,userAgent,retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes}).then(groupInfo=>new UploadcareGroup(groupInfo,{baseCDN})).then(group=>(onProgress&&onProgress({isComputable:!0,value:1}),group)))}class Queue{_concurrency=1;_pending=[];_running=0;_resolvers=new Map;_rejectors=new Map;constructor(concurrency){this._concurrency=concurrency}run(){let tasksLeft=this._concurrency-this._running;for(let i=0;i<tasksLeft;i++){let task=this._pending.shift();if(!task)return;let resolver=this._resolvers.get(task),rejector=this._rejectors.get(task);if(!resolver||!rejector)throw Error("Unexpected behavior: resolver or rejector is undefined");this._running+=1,task().finally(()=>{this._resolvers.delete(task),this._rejectors.delete(task),this._running-=1,this.run()}).then(value=>resolver(value)).catch(error=>rejector(error))}}add(task,{autoRun}={autoRun:!0}){return new Promise((resolve,reject)=>{this._resolvers.set(task,resolve),this._rejectors.set(task,reject),this._pending.push(task),autoRun&&this.run()})}get pending(){return this._pending.length}get running(){return this._running}set concurrency(value){this._concurrency=value,this.run()}get concurrency(){return this._concurrency}}},8504(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{Dx:()=>v,KO:()=>h,Rt:()=>r,cN:()=>M,lx:()=>u,mY:()=>p});let{I:t}=__webpack_require__(6752).ge,i=o=>o,r=o=>void 0===o.strings,v=(o,n,e)=>{let l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e)e=new t(l.insertBefore(document.createComment(""),d),l.insertBefore(document.createComment(""),d),o,o.options);else{let t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){let t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()}},7804(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{OA:()=>t,WL:()=>i,u$:()=>e});let t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}},6752(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{XX:()=>D,c0:()=>E,ge:()=>j,qy:()=>b,s6:()=>A});let t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy("lit-html",{createHTML:t=>t}):void 0,h="$lit$",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n="?"+o,r=`<${n}>`,l=document,c=()=>l.createComment(""),a=t=>null===t||"object"!=typeof t&&"function"!=typeof t,u=Array.isArray,d=t=>u(t)||"function"==typeof t?.[Symbol.iterator],f="[ \n\f\r]",v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\s"'>=/]+)(${f}*=${f}*(?:[^
|
|
8
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),g=/'/g,$=/"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),E=(x(2),x(3),Symbol.for("lit-noChange")),A=Symbol.for("lit-nothing"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==e?e.createHTML(i):i}let N=(t,i)=>{let s=t.length-1,e=[],n,l=2===i?"<svg>":3===i?"<math>":"",c=v;for(let i=0;i<s;i++){let s=t[i],a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,null!==(u=c.exec(s)));)f=c.lastIndex,c===v?"!--"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp("</"+u[2],"g")),c=p):void 0!==u[3]&&(c=p):c===p?">"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);let x=c===p&&t[i+1].startsWith("/>")?" ":"";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0,u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){let t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(let t of r.getAttributeNames())if(t.endsWith(h)){let i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:"."===e[1]?I:"?"===e[1]?L:"@"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){let t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:"";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){let s=l.createElement("template");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl,o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t))._$AT(t,s,e),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){let{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(let s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode,i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){a(t=M(this,t,i))?t===A||null==t||""===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){let{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{let t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());let i=this._$AH,s,e=0;for(let h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){let s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){let h=this.strings,o=!1;if(void 0===h)(o=!a(t=M(this,t,i,0))||t!==this._$AH&&t!==E)&&(this._$AH=t);else{let n,r,e=t;for(t=h[0],n=0;n<h.length-1;n++)(r=M(this,e[s+n],i,n))===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??"")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;let s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}let j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push("3.3.2");let D=(t,i,s)=>{let e=s?.renderBefore??i,h=e._$litPart$;if(void 0===h){let t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h}},7093(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{wk:()=>state_r,MZ:()=>property_n});var reactive_element=__webpack_require__(4434);let property_o={attribute:!0,type:String,converter:reactive_element.W3,reflect:!1,hasChanged:reactive_element.Ec};function property_n(t){return(e,o)=>{let r;return"object"==typeof o?((t=property_o,e,r)=>{let{kind:n,metadata:i}=r,s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),"setter"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),"accessor"===n){let{name:o}=r;return{set(r){let n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,!0,r)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if("setter"===n){let{name:o}=r;return function(r){let n=this[o];e.call(this,r),this.requestUpdate(o,n,t,!0,r)}}throw Error("Unsupported decorator location: "+n)})(t,e,o):(r=e.hasOwnProperty(o),e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0)}}function state_r(r){return property_n({...r,state:!0,attribute:!1})}},2258(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{K:()=>ref_n,_:()=>ref_e});var lit_html=__webpack_require__(6752),directive_helpers=__webpack_require__(8504),directive=__webpack_require__(7804);let async_directive_s=(i,t)=>{let e=i._$AN;if(void 0===e)return!1;for(let i of e)i._$AO?.(t,!1),async_directive_s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;(e=t._$AN).delete(i),i=t}while(0===e?.size)},async_directive_r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function async_directive_h(i){void 0!==this._$AN?(o(this),this._$AM=i,async_directive_r(this)):this._$AM=i}function n(i,t=!1,e=0){let r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)async_directive_s(r[i],!1),o(r[i]);else null!=r&&(async_directive_s(r,!1),o(r));else async_directive_s(this,i)}let c=i=>{i.type==directive.OA.CHILD&&(i._$AP??=n,i._$AQ??=async_directive_h)};class f extends directive.WL{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),async_directive_r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(async_directive_s(this,i),o(this))}setValue(t){if((0,directive_helpers.Rt)(this._$Ct))this._$Ct._$AI(t,this);else{let i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}let ref_e=()=>new ref_h;class ref_h{}let ref_o=new WeakMap,ref_n=(0,directive.u$)(class extends f{render(i){return lit_html.s6}update(i,[s]){let e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),lit_html.s6}rt(t){if(this.isConnected||(t=void 0),"function"==typeof this.G){let i=this.ht??globalThis,s=ref_o.get(i);void 0===s&&(s=new WeakMap,ref_o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return"function"==typeof this.G?ref_o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}})},5350(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{W:()=>o});var lit_html=__webpack_require__(6752),directive=__webpack_require__(7804);let n="important",i=" !"+n,o=(0,directive.u$)(class extends directive.WL{constructor(t){if(super(t),t.type!==directive.OA.ATTRIBUTE||"style"!==t.name||t.strings?.length>2)throw Error("The`styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce((e,r)=>{let s=t[r];return null==s?e:e+`${r=r.includes("-")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`},"")}update(e,[r]){let{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(let t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes("-")?s.removeProperty(t):s[t]=null);for(let t in r){let e=r[t];if(null!=e){this.ft.add(t);let r="string"==typeof e&&e.endsWith(i);t.includes("-")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:""):s[t]=e}}return lit_html.c0}})},640(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{T:()=>unsafe_svg_o});var directive=__webpack_require__(7804),lit_html=__webpack_require__(6752);class e extends directive.WL{constructor(i){if(super(i),this.it=lit_html.s6,i.type!==directive.OA.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(r){if(r===lit_html.s6||null==r)return this._t=void 0,this.it=r;if(r===lit_html.c0)return r;if("string"!=typeof r)throw Error(this.constructor.directiveName+"() called with a non-string value");if(r===this.it)return this._t;this.it=r;let s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName="unsafeHTML",e.resultType=1,(0,directive.u$)(e);class t extends e{}t.directiveName="unsafeSVG",t.resultType=2;let unsafe_svg_o=(0,directive.u$)(t)},7825(__unused_rspack___webpack_module__,__webpack_exports__,__webpack_require__){__webpack_require__.d(__webpack_exports__,{s6:()=>lit_html.s6,qy:()=>lit_html.qy,WF:()=>i});var reactive_element=__webpack_require__(4434),lit_html=__webpack_require__(6752);let s=globalThis;class i extends reactive_element.mN{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,lit_html.XX)(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return lit_html.c0}}i._$litElement$=!0,i.finalized=!0,s.litElementHydrateSupport?.({LitElement:i});let o=s.litElementPolyfillSupport;o?.({LitElement:i}),(s.litElementVersions??=[]).push("4.2.2")}},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(void 0!==cachedModule)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId](module,module.exports,__webpack_require__),module.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})};var __webpack_exports__={};(()=>{__webpack_require__.d(__webpack_exports__,{JU:()=>DropArea,vr:()=>ActivityHeader,eB:()=>LitBlock.x,z2:()=>ProgressBar,Vd:()=>LitSolutionBlock,y5:()=>UploadSource.y5,aF:()=>Modal,Bp:()=>ExternalSource.B,eK:()=>FileUploaderMinimal,ru:()=>CameraSource.r,$G:()=>BaseComponent,jj:()=>SimpleBtn,rM:()=>env.r,Y0:()=>Copyright,DJ:()=>loadFileUploaderFrom,rt:()=>PluginActivityHost,Ar:()=>SourceList,iE:()=>LitUploaderBlock.z,V0:()=>UID.V,cx:()=>UploadList,Ts:()=>UrlSource.T,Zz:()=>StartFrom,fX:()=>toKebabCase.f,Az:()=>FileUploaderInline,wB:()=>PluginActivityRenderer,TS:()=>Config.T,ZQ:()=>FormInput,vY:()=>FileUploaderRegular,Do:()=>ModalManager.D,zi:()=>Thumb,E9:()=>Img,i8:()=>env.i,Yi:()=>defineComponents.Y,qB:()=>ProgressBarCommon,l6:()=>Select,_Q:()=>UploadCtxProvider,I3:()=>FileItem,pc:()=>UploadSource.pc,In:()=>Icon.I,y$:()=>Spinner,mO:()=>localeRegistry.m,hC:()=>LitActivityBlock.S,B_:()=>PubSubCompat.G,s9:()=>SourceBtn});var PubSubCompat=__webpack_require__(7560),lit=__webpack_require__(7825),CssDataMixin=__webpack_require__(3361),LightDomMixin=__webpack_require__(7337),RegisterableElementMixin=__webpack_require__(3282),SymbioteCompatMixin=__webpack_require__(9962);class BaseComponent extends(0,RegisterableElementMixin.d)((0,SymbioteCompatMixin.w)()((0,CssDataMixin.N)((0,LightDomMixin.Q)(lit.WF)))){}var UID=__webpack_require__(5446),defineComponents=__webpack_require__(3962);function loadFileUploaderFrom(url,register=!1){return new Promise((resolve,reject)=>{if("object"!=typeof document)return void resolve(null);if("object"==typeof window&&window.UC)return void resolve(window.UC);let script=document.createElement("script");script.async=!0,script.src=url,script.onerror=()=>{reject()},script.onload=()=>{let blocks=window.UC;register&&(0,defineComponents.Y)(blocks),resolve(blocks)},document.head.appendChild(script)})}var localeRegistry=__webpack_require__(7444),ModalManager=__webpack_require__(3076),toKebabCase=__webpack_require__(2402),LitBlock=__webpack_require__(8288),unsafe_svg=__webpack_require__(640),CTX=__webpack_require__(7992);class LitSolutionBlock extends LitBlock.x{static{this.styleAttrs=["uc-wgt-common"]}initCallback(){super.initCallback(),this.a11y?.registerBlock(this),this.clipboardLayer?.registerBlock(this),this.sharedCtx.pub("*solution",this.tagName)}render(){return(0,lit.qy)`${(0,unsafe_svg.T)("<svg width='0' height='0' style='position:absolute'><symbol viewBox='0 0 24 24' id='uc-icon-about' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.152 14.12v.1h1.523v-.1c.007-.409.053-.752.138-1.028.086-.277.22-.517.405-.72.188-.202.434-.397.735-.586.32-.191.593-.412.82-.66.232-.249.41-.531.533-.847.125-.32.187-.678.187-1.076 0-.579-.137-1.085-.41-1.518a2.717 2.717 0 0 0-1.14-1.018c-.49-.245-1.062-.367-1.715-.367-.597 0-1.142.114-1.636.34-.49.228-.884.564-1.182 1.008-.299.44-.46.98-.485 1.619h1.62c.024-.377.118-.684.282-.922a1.48 1.48 0 0 1 .617-.532c.25-.114.51-.17.784-.17.301 0 .575.063.82.191.248.124.447.302.597.533.149.23.223.504.223.82 0 .263-.05.502-.149.72a1.91 1.91 0 0 1-.405.574 3.48 3.48 0 0 1-.575.453 4.22 4.22 0 0 0-.847.66c-.234.242-.415.558-.543.949-.125.39-.19.916-.197 1.577Zm.053 3.03c.21.206.46.31.75.31.196 0 .374-.049.534-.144a1.1 1.1 0 0 0 .383-.384c.1-.163.15-.343.15-.538a1 1 0 0 0-.32-.746 1.019 1.019 0 0 0-.746-.314c-.291 0-.542.105-.751.314-.21.206-.314.455-.314.746 0 .295.104.547.314.756ZM24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12Zm-1.5 0c0 5.799-4.701 10.5-10.5 10.5S1.5 17.799 1.5 12 6.201 1.5 12 1.5 22.5 6.201 22.5 12Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-add' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.75 21a.75.75 0 0 1-1.5 0v-8.25H3a.75.75 0 0 1 0-1.5h8.25V3a.75.75 0 0 1 1.5 0v8.25H21a.75.75 0 0 1 0 1.5h-8.25V21Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-arrow-down' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.5 23.03a.75.75 0 0 0 .999 0l9.29-8.276a.75.75 0 0 0-.998-1.12l-8.042 7.164V1.53a.75.75 0 0 0-1.5 0v19.267l-8.04-7.163a.75.75 0 0 0-.998 1.12z'/></symbol><symbol fill='none' viewBox='0 0 9 6' id='uc-icon-arrow-dropdown' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='m1.5 1.667 3 2.666 3-2.666' opacity='.5'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-aspect-ratio' xmlns='http://www.w3.org/2000/svg'><path stroke='currentColor' d='M7.395 22.5H2.454v-5.25m14.824 5.25h4.94v-5.25m0-10.5V1.5h-4.94m-9.883 0H2.454v5.25'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-back' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M20.251 12a.75.75 0 0 1-.75.75H6.067l5.72 5.85a.75.75 0 1 1-1.072 1.05L4.136 12.92a1.292 1.292 0 0 1 0-1.842l6.579-6.728a.75.75 0 1 1 1.072 1.048l-5.72 5.851H19.5a.75.75 0 0 1 .75.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.6 18.4a1.6 1.6 0 1 1-3.2 0 1.6 1.6 0 0 1 3.2 0zM12 4.5A1.5 1.5 0 0 1 13.5 6v7a1.5 1.5 0 0 1-3 0V6A1.5 1.5 0 0 1 12 4.5z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-badge-success' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m10.5 18.204 7.6-8.183a1.5 1.5 0 0 0-2.2-2.042l-5.4 5.817-2.4-2.586a1.5 1.5 0 1 0-2.2 2.041l4.6 4.953Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-box' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M1.01 4.148a.75.75 0 0 1 .75.75v4.348a4.437 4.437 0 0 1 2.988-1.153c1.734 0 3.23.992 3.978 2.438a4.478 4.478 0 0 1 3.978-2.438c2.49 0 4.488 2.044 4.488 4.543 0 2.5-1.999 4.544-4.488 4.544a4.478 4.478 0 0 1-3.978-2.438 4.478 4.478 0 0 1-3.978 2.438C2.26 17.18.26 15.135.26 12.636V4.898a.75.75 0 0 1 .75-.75Zm.75 8.488c0 1.692 1.348 3.044 2.988 3.044s2.989-1.352 2.989-3.044c0-1.691-1.349-3.043-2.989-3.043S1.76 10.945 1.76 12.636Zm10.944-3.043c-1.64 0-2.988 1.352-2.988 3.043 0 1.692 1.348 3.044 2.988 3.044s2.988-1.352 2.988-3.044c0-1.69-1.348-3.043-2.988-3.043Zm4.328-1.23a.75.75 0 0 1 1.052.128l2.333 2.983 2.333-2.983a.75.75 0 0 1 1.181.924l-2.562 3.277 2.562 3.276a.75.75 0 1 1-1.181.924l-2.333-2.983-2.333 2.983a.75.75 0 1 1-1.181-.924l2.562-3.276-2.562-3.277a.75.75 0 0 1 .129-1.052Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-camera-full' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' clip-rule='evenodd' d='M2 4.667a2 2 0 0 0-2 2V16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6.667a2 2 0 0 0-2-2h-2.667l-2-2.667H6.667l-2 2.667H2Zm8 10a3.667 3.667 0 1 0 0-7.334 3.667 3.667 0 0 0 0 7.334Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-close' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M4.604 4.604a.75.75 0 0 1 1.06 0L12 10.939l6.335-6.335a.75.75 0 1 1 1.061 1.06L13.061 12l6.335 6.335a.75.75 0 1 1-1.06 1.061L12 13.061l-6.335 6.335a.75.75 0 0 1-1.061-1.06L10.939 12 4.604 5.665a.75.75 0 0 1 0-1.061z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-collapse' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3.116 12a.75.75 0 0 1 .75-.75h16.268a.75.75 0 0 1 0 1.5H3.866a.75.75 0 0 1-.75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-default' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-dropbox' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.019 1.92a.75.75 0 0 1 .806 0L12 5.219l5.176-3.297a.75.75 0 0 1 .806 0l5.577 3.553a.75.75 0 0 1 0 1.265l-4.574 2.914 4.574 2.914a.75.75 0 0 1 0 1.265l-5.577 3.554a.75.75 0 0 1-.806 0L12 14.089l-5.175 3.297a.75.75 0 0 1-.806 0L.44 13.833a.75.75 0 0 1 0-1.266l4.575-2.914L.44 6.74a.75.75 0 0 1 0-1.265zm.403 8.616L2.24 13.2l4.182 2.664 4.181-2.664zm6.975 2.664 4.182 2.664L21.76 13.2l-4.181-2.664zm2.776-3.547L12 12.311 7.828 9.653 12 6.995zm1.406-.882 4.181-2.664-4.181-2.664-4.182 2.664zm-6.976-2.664L6.422 3.443 2.24 6.107 6.422 8.77zM5.791 18.544a.75.75 0 0 1 1.035-.23l5.175 3.297 5.175-3.297a.75.75 0 1 1 .806 1.265l-5.578 3.554a.75.75 0 0 1-.806 0L6.02 19.579a.75.75 0 0 1-.23-1.035z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-edit-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M18.558 2.804a.78.78 0 0 0-.557.235l-.008.007-2.472 2.46 3.847 3.848 2.46-2.473.004-.003a.78.78 0 0 0 0-1.108l-.004-.003-2.712-2.728a.78.78 0 0 0-.558-.235Zm-.248 7.613-3.852-3.852-8.93 8.887-1.516 5.41 5.41-1.515 8.888-8.93Zm-.636-8.934a2.28 2.28 0 0 1 2.512.505l2.702 2.717.002.002a2.278 2.278 0 0 1 0 3.234l-.002.002-12.541 12.602a.75.75 0 0 1-.33.193l-6.884 1.928a.75.75 0 0 1-.925-.924l1.928-6.885a.75.75 0 0 1 .193-.33l12.603-12.54a2.28 2.28 0 0 1 .742-.504Z' clip-rule='evenodd'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-evernote' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M9.804 2.27v-.048c.055-.263.313-.562.85-.562h.44c.142 0 .325.014.526.033.066.009.124.023.267.06l.13.032h.002c.319.079.515.275.644.482a1.461 1.461 0 0 1 .16.356l.004.012a.75.75 0 0 0 .603.577l1.191.207a1988.512 1988.512 0 0 0 2.332.402c.512.083 1.1.178 1.665.442.64.3 1.19.795 1.376 1.77.548 2.931.657 5.829.621 8a39.233 39.233 0 0 1-.125 2.602 17.518 17.518 0 0 1-.092.849.735.735 0 0 0-.024.112c-.378 2.705-1.269 3.796-2.04 4.27-.746.457-1.53.451-2.217.447h-.192c-.46 0-1.073-.23-1.581-.635-.518-.412-.763-.87-.763-1.217 0-.45.188-.688.355-.786.161-.095.436-.137.796.087a.75.75 0 1 0 .792-1.274c-.766-.476-1.64-.52-2.345-.108-.7.409-1.098 1.188-1.098 2.08 0 .996.634 1.84 1.329 2.392.704.56 1.638.96 2.515.96l.185.002c.667.009 1.874.025 3.007-.67 1.283-.786 2.314-2.358 2.733-5.276a4.213 4.213 0 0 0 .056-.335c.023-.184.051-.445.079-.772.055-.655.111-1.585.13-2.704.037-2.234-.074-5.239-.647-8.301v-.002c-.294-1.544-1.233-2.391-2.215-2.85-.777-.363-1.623-.496-2.129-.576a8.872 8.872 0 0 1-.25-.041l-.006-.001-1.99-.345-.761-.132a2.93 2.93 0 0 0-.182-.338A2.532 2.532 0 0 0 12.379.329l-.091-.023a3.967 3.967 0 0 0-.493-.103L11.769.2a7.846 7.846 0 0 0-.675-.04h-.44c-.733 0-1.368.284-1.795.742L2.416 7.431c-.468.428-.751 1.071-.751 1.81 0 .02 0 .041.003.062l.003.034c.017.21.038.468.096.796.107.715.275 1.47.391 1.994.029.13.055.245.075.342l.002.008c.258 1.141.641 1.94.978 2.466.168.263.323.456.444.589a2.808 2.808 0 0 0 .192.194c1.536 1.562 3.713 2.196 5.731 2.08.13-.005.35-.032.537-.073a2.627 2.627 0 0 0 .652-.24c.425-.26.75-.661.992-1.046.184-.294.342-.61.473-.915a3.8 3.8 0 0 0 .627.493 5.022 5.022 0 0 0 1.97.709l.023.002.018.003.11.016c.088.014.205.035.325.058l.056.014c.088.022.164.04.235.061a1.736 1.736 0 0 1 .145.048l.03.014c.765.34 1.302 1.09 1.302 1.871a.75.75 0 0 0 1.5 0c0-1.456-.964-2.69-2.18-3.235a3.595 3.595 0 0 0-.679-.217l-.063-.015a10.616 10.616 0 0 0-.606-.105l-.02-.003-.03-.003h-.002a3.542 3.542 0 0 1-1.331-.485c-.471-.298-.788-.692-.828-1.234a.75.75 0 0 0-1.48-.106l-.001.003-.004.017a8.23 8.23 0 0 1-.092.352 9.963 9.963 0 0 1-.298.892c-.132.34-.29.68-.47.966-.174.276-.339.454-.478.549a1.178 1.178 0 0 1-.221.072 1.949 1.949 0 0 1-.241.036h-.013l-.032.002c-1.684.1-3.423-.437-4.604-1.65a.746.746 0 0 0-.053-.05L4.84 14.6a1.348 1.348 0 0 1-.07-.073 2.99 2.99 0 0 1-.293-.392c-.242-.379-.558-1.014-.778-1.985a54.1 54.1 0 0 0-.083-.376 27.494 27.494 0 0 1-.367-1.872l-.003-.02a6.791 6.791 0 0 1-.08-.67c.004-.277.086-.475.2-.609l.067-.067a.63.63 0 0 1 .292-.145h.05c.18 0 1.095.055 2.013.115l1.207.08.534.037a.747.747 0 0 0 .052.002c.782 0 1.349-.206 1.759-.585l.005-.005c.553-.52.622-1.225.622-1.76V6.24l-.026-.565A774.97 774.97 0 0 1 9.885 4.4c-.042-.961-.081-1.939-.081-2.13ZM4.995 6.953a251.126 251.126 0 0 1 2.102.137l.508.035c.48-.004.646-.122.715-.185.07-.068.146-.209.147-.649l-.024-.548a791.69 791.69 0 0 1-.095-2.187L4.995 6.953Zm16.122 9.996Zm-5.479-5.323a.75.75 0 0 0 1.014.31 2.04 2.04 0 0 1 .304-.089 1.84 1.84 0 0 1 .544-.039c.215.023.321.06.37.085.033.016.039.026.047.04a.75.75 0 0 0 1.289-.767c-.337-.567-.906-.783-1.552-.85a3.334 3.334 0 0 0-1.002.062c-.27.056-.531.14-.705.234a.75.75 0 0 0-.31 1.014Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-expand' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m12 8.337-8.47 8.47a.75.75 0 0 1-1.06-1.06l8.605-8.606a1.29 1.29 0 0 1 1.85 0l8.605 8.605a.75.75 0 1 1-1.06 1.06L12 8.338Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-external-source-placeholder' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-facebook' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12 1.5C6.201 1.5 1.5 6.201 1.5 12c0 4.943 3.416 9.089 8.016 10.204v-6.108H7.383a.75.75 0 0 1-.75-.75v-3.281a.75.75 0 0 1 .75-.75h2.133V9.393c0-.958.225-2.511 1.38-3.65 1.194-1.177 3.174-1.718 6.254-1.056a.75.75 0 0 1 .592.733v2.754a.75.75 0 0 1-.75.75c-.692 0-1.203.026-1.584.082-.387.057-.578.137-.675.202-.109.073-.237.205-.237 1.029v1.078h2.39a.75.75 0 0 1 .742.866l-.516 3.281a.75.75 0 0 1-.74.634h-1.876v6.106C19.09 21.082 22.5 16.939 22.5 12c0-5.799-4.701-10.5-10.5-10.5zM0 12C0 5.373 5.373 0 12 0s12 5.373 12 12c0 5.995-4.395 10.961-10.138 11.856a.75.75 0 0 1-.866-.74v-7.77a.75.75 0 0 1 .75-.75h1.984l.28-1.781h-2.264a.75.75 0 0 1-.75-.75v-1.828c0-.829.089-1.729.9-2.274.363-.244.807-.37 1.293-.441a9.623 9.623 0 0 1 1.053-.086V6.04c-2.41-.405-3.645.132-4.293.771-.737.728-.933 1.793-.933 2.582v2.672a.75.75 0 0 1-.75.75H8.133v1.78h2.133a.75.75 0 0 1 .75.75v7.772a.75.75 0 0 1-.865.741C4.4 22.968 0 18 0 12z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M2.895 1.201c0-.473.383-.857.857-.857h8.4c.227 0 .445.09.606.251l8.4 8.4c.16.16.25.379.25.606v13.2a.857.857 0 0 1-.856.857h-16.8a.857.857 0 0 1-.857-.857zm1.714.857v19.886h15.085V10.458h-7.542a.857.857 0 0 1-.858-.857V2.058zm8.4 1.213 5.473 5.473H13.01z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-flickr' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M5.959 7.926c-2.298 0-4.14 1.834-4.14 4.073 0 2.241 1.842 4.075 4.14 4.075 2.302 0 4.145-1.834 4.145-4.075 0-2.238-1.843-4.073-4.145-4.073Zm-5.64 4.073c0-3.086 2.533-5.573 5.64-5.573 3.11 0 5.645 2.486 5.645 5.573 0 3.089-2.535 5.575-5.645 5.575-3.107 0-5.64-2.487-5.64-5.575Zm18.07-4.073c-2.301 0-4.144 1.835-4.144 4.073 0 2.24 1.843 4.075 4.145 4.075 2.299 0 4.141-1.834 4.141-4.075 0-2.239-1.842-4.073-4.141-4.073Zm-5.644 4.073c0-3.087 2.535-5.573 5.645-5.573 3.108 0 5.641 2.487 5.641 5.573 0 3.088-2.533 5.575-5.641 5.575-3.11 0-5.645-2.486-5.645-5.575Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-gphotos' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M12.51 0c-.702 0-1.272.57-1.272 1.273V7.35A6.381 6.381 0 0 0 0 11.489c0 .703.57 1.273 1.273 1.273H7.35A6.381 6.381 0 0 0 11.488 24c.704 0 1.274-.57 1.274-1.273V16.65A6.381 6.381 0 0 0 24 12.51c0-.703-.57-1.273-1.273-1.273H16.65A6.381 6.381 0 0 0 12.511 0Zm.252 11.232V1.53a4.857 4.857 0 0 1 0 9.702Zm-1.53.006H1.53a4.857 4.857 0 0 1 9.702 0Zm1.536 1.524a4.857 4.857 0 0 0 9.702 0h-9.702Zm-6.136 4.857c0-2.598 2.04-4.72 4.606-4.85v9.7a4.857 4.857 0 0 1-4.606-4.85Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-huddle' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.204 2.002c-.252.23-.357.486-.357.67V21.07c0 .15.084.505.313.812.208.28.499.477.929.477.519 0 .796-.174.956-.365.178-.212.286-.535.286-.924v-.013l.117-6.58c.004-1.725 1.419-3.883 3.867-3.883 1.33 0 2.332.581 2.987 1.364.637.762.95 1.717.95 2.526v6.47c0 .392.11.751.305.995.175.22.468.41 1.008.41.52 0 .816-.198 1.002-.437.207-.266.31-.633.31-.969V14.04c0-2.81-1.943-5.108-4.136-5.422a5.971 5.971 0 0 0-3.183.41c-.912.393-1.538.96-1.81 1.489a.75.75 0 0 1-1.417-.344v-7.5c0-.587-.47-1.031-1.242-1.031-.315 0-.638.136-.885.36ZM5.194.892A2.844 2.844 0 0 1 7.09.142c1.328 0 2.742.867 2.742 2.53v5.607a6.358 6.358 0 0 1 1.133-.629 7.47 7.47 0 0 1 3.989-.516c3.056.436 5.425 3.482 5.425 6.906v6.914c0 .602-.177 1.313-.627 1.89-.47.605-1.204 1.016-2.186 1.016-.96 0-1.698-.37-2.179-.973-.46-.575-.633-1.294-.633-1.933v-6.469c0-.456-.19-1.071-.602-1.563-.394-.471-.986-.827-1.836-.827-1.447 0-2.367 1.304-2.367 2.39v.014l-.117 6.58c-.001.64-.177 1.333-.637 1.881-.48.57-1.2.9-2.105.9-.995 0-1.7-.5-2.132-1.081-.41-.552-.61-1.217-.61-1.708V2.672c0-.707.366-1.341.847-1.78Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-info' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-local' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M3 3.75a1.5 1.5 0 0 0-1.5 1.5v13.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V9A1.5 1.5 0 0 0 21 7.5h-9a.75.75 0 0 1-.643-.364L9.325 3.75zm-3 1.5a3 3 0 0 1 3-3h6.75a.75.75 0 0 1 .643.364L12.425 6H21a3 3 0 0 1 3 3v9.75a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0v6.469a4.5 4.5 0 1 1-9 0V4.781Zm4.5-3a3 3 0 0 0-3 3v6.469a3 3 0 1 0 6 0V4.781a3 3 0 0 0-3-3Zm-8.156 8.11a.75.75 0 0 1 .75.75 7.406 7.406 0 1 0 14.812 0 .75.75 0 0 1 1.5 0 8.907 8.907 0 0 1-8.156 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.907 8.907 0 0 1-8.156-8.875.75.75 0 0 1 .75-.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-microphone-mute' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M7.5 4.781a4.5 4.5 0 0 1 9 0V6l3.524-3.524a.75.75 0 1 1 1.061 1.06L5.036 19.585a.75.75 0 0 1-1.06-1.06l1.656-1.657a8.88 8.88 0 0 1-2.538-6.227.75.75 0 0 1 1.5 0c0 2.009.8 3.83 2.1 5.166l1.771-1.772A4.483 4.483 0 0 1 7.5 11.25V4.781Zm2.037 8.182L15 7.5V4.781a3 3 0 1 0-6 0v6.469c0 .637.198 1.227.537 1.713Zm10.62-3.072a.75.75 0 0 1 .75.75 8.907 8.907 0 0 1-8.157 8.875v2.703h3.258a.75.75 0 1 1 0 1.5H7.992a.75.75 0 0 1 0-1.5h3.258v-2.703a8.855 8.855 0 0 1-3.035-.811.75.75 0 1 1 .638-1.358 7.406 7.406 0 0 0 10.553-6.707.75.75 0 0 1 .75-.75ZM15 10.81a.75.75 0 0 1 1.5 0v.439a4.5 4.5 0 0 1-5 4.473.75.75 0 1 1 .166-1.491A3 3 0 0 0 15 11.25v-.44Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-photo-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.65 2.55a.75.75 0 0 1 .6-.3h7.5a.75.75 0 0 1 .6.3l2.025 2.7H21a3 3 0 0 1 3 3v10.5a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h2.625zm.975 1.2L6.6 6.45a.75.75 0 0 1-.6.3H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V8.25a1.5 1.5 0 0 0-1.5-1.5h-3a.75.75 0 0 1-.6-.3l-2.025-2.7zm3.375 6a3.375 3.375 0 1 0 0 6.75 3.375 3.375 0 0 0 0-6.75zm-4.875 3.375a4.875 4.875 0 1 1 9.75 0 4.875 4.875 0 0 1-9.75 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-mobile-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-ngdrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M7.736 1.818a.75.75 0 0 1 .647-.37h7.587a.75.75 0 0 1 .655.383l7.233 12.946a.75.75 0 0 1-.003.737l-3.794 6.66a.75.75 0 0 1-.651.378H4.59a.75.75 0 0 1-.651-.378l-3.794-6.66a.75.75 0 0 1 .005-.75zm.64 1.876L1.663 15.148l2.93 5.145 6.655-11.581zm3.736 6.526-2.398 4.173H14.5zm4.116 4.173h5.697L15.53 2.947H9.677zm5.685 1.5H8.852l-2.966 5.16h13.088z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-onedrive' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13.616 4.147a7.689 7.689 0 0 0-7.642 3.285A6.299 6.299 0 0 0 1.455 17.3c.684.894 2.473 2.658 5.17 2.658h12.141c.95 0 1.882-.256 2.697-.743.815-.486 1.514-1.247 1.964-2.083a5.26 5.26 0 0 0-3.713-7.612 7.69 7.69 0 0 0-6.098-5.373ZM3.34 17.15c.674.63 1.761 1.308 3.284 1.308h12.142a3.76 3.76 0 0 0 2.915-1.383l-7.494-4.489L3.34 17.15Zm10.875-6.25 2.47-1.038a5.239 5.239 0 0 1 1.427-.389 6.19 6.19 0 0 0-10.3-1.952 6.338 6.338 0 0 1 2.118.813l4.285 2.567Zm4.55.033c-.512 0-1.019.104-1.489.307l-.006.003-1.414.594 6.521 3.906a3.76 3.76 0 0 0-3.357-4.8l-.254-.01ZM4.097 9.617A4.799 4.799 0 0 1 6.558 8.9c.9 0 1.84.25 2.587.713l3.4 2.037-10.17 4.28a4.799 4.799 0 0 1 1.721-6.312Z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-pause' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' d='M1 0h2.5v10H1zM6.5 0H9v10H6.5z'/></symbol><symbol fill='none' viewBox='0 0 10 10' id='uc-icon-play' xmlns='http://www.w3.org/2000/svg'><path d='m1 0 9 5-9 5V0Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-remove-file' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.955 3.3A2.969 2.969 0 0 0 8.998 6h5.914a2.97 2.97 0 0 0-2.957-2.7zM16.416 6a4.47 4.47 0 0 0-8.922 0h-2.32a.755.755 0 0 0-.111.008H3.075a.75.75 0 1 0 0 1.5h1.35V19.35a2.85 2.85 0 0 0 2.85 2.85h9.45a2.85 2.85 0 0 0 2.85-2.85V7.508h1.35a.75.75 0 0 0 0-1.5h-1.989A.754.754 0 0 0 18.825 6zM5.925 7.508V19.35a1.35 1.35 0 0 0 1.35 1.35h9.45a1.35 1.35 0 0 0 1.35-1.35V7.508z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-select' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='m7 10 5 5 5-5H7Z'/></symbol><symbol fill='none' viewBox='0 0 20 20' id='uc-icon-square' xmlns='http://www.w3.org/2000/svg'><rect width='20' height='20' rx='4' fill='#fff'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M11.501.392a.75.75 0 0 1 .998 0l6.704 5.972a.75.75 0 0 1-.998 1.12l-5.455-4.86v13.439a.75.75 0 0 1-1.5 0V2.625l-5.454 4.86a.75.75 0 1 1-.998-1.12zM.857 16.73a.75.75 0 0 1 .75.75v4.914h20.786v-4.914a.75.75 0 0 1 1.5 0v5.664a.75.75 0 0 1-.75.75H.857a.75.75 0 0 1-.75-.75v-5.664a.75.75 0 0 1 .75-.75z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-upload-error' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-url' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M19.11 3.67c-1.71-1.709-4.578-1.682-6.408.148l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221C14.018.381 17.836.276 20.17 2.61l1.22 1.22c2.335 2.334 2.23 6.153-.147 8.529l-2.22 2.22a.75.75 0 0 1-1.062-1.06l2.222-2.221c1.83-1.83 1.856-4.698.147-6.408zm-3.36 4.58a.75.75 0 0 1 0 1.06l-6.439 6.44a.75.75 0 0 1-1.06-1.06l6.439-6.44a.75.75 0 0 1 1.06 0zM6.04 9.42a.75.75 0 0 1 0 1.061l-2.222 2.222c-1.83 1.83-1.856 4.698-.147 6.407l1.22 1.22c1.71 1.71 4.578 1.683 6.408-.147l2.221-2.221a.75.75 0 1 1 1.06 1.06l-2.22 2.222c-2.377 2.376-6.195 2.481-8.53.147l-1.22-1.22c-2.334-2.334-2.228-6.153.148-8.53l2.221-2.22a.75.75 0 0 1 1.06 0z'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-video-camera' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' d='M0 6.75a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v1.078L22.873 5A.75.75 0 0 1 24 5.648v12.704a.75.75 0 0 1-1.123.65L18 16.207v1.043a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V6.75Zm18 7.728 4.5 2.58V6.95L18 9.562v4.916ZM16.5 6.75a1.5 1.5 0 0 0-1.5-1.5H3a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h12a1.5 1.5 0 0 0 1.5-1.5V6.75Z'/></symbol><symbol viewBox='0 0 20 20' id='uc-icon-video-camera-full' xmlns='http://www.w3.org/2000/svg'><path d='M2 3.333a2 2 0 0 0-2 2v9.334a2 2 0 0 0 2 2h10.938a2 2 0 0 0 2-2v-2.013L20 15.646V4.354l-5.063 3.03v-2.05a2 2 0 0 0-2-2H2Z' fill='currentColor'/></symbol><symbol viewBox='0 0 24 24' id='uc-icon-vk' xmlns='http://www.w3.org/2000/svg'><path fill='currentColor' fill-rule='evenodd' d='M6.341 3.27a10.5 10.5 0 0 1 5.834-1.77.75.75 0 0 0 0-1.5 12 12 0 1 0 12 12 .75.75 0 0 0-1.5 0A10.5 10.5 0 1 1 6.34 3.27Zm14.145 1.48a.75.75 0 1 0-1.06-1.062L9.925 13.19V7.95a.75.75 0 1 0-1.5 0V15c0 .414.336.75.75.75h7.05a.75.75 0 0 0 0-1.5h-5.24l9.501-9.5Z'/></symbol></svg>")}`}constructor(...args){super(...args),this.init$=(0,CTX.u8)(this)}}var LitUploaderBlock=__webpack_require__(5544),LitActivityBlock=__webpack_require__(5923),Icon=__webpack_require__(8610),cdn_utils=__webpack_require__(6339),stringToArray=__webpack_require__(2513),template_utils=__webpack_require__(664);let CSS_PREF="--uc-img-",UNRESOLVED_ATTR="unresolved",DEV_MODE=!window.location.host.trim()||window.location.host.includes(":")||window.location.hostname.includes("localhost"),ImgTypeEnum=Object.freeze({PREVIEW:"PREVIEW",MAIN:"MAIN"});var env=__webpack_require__(5704);let PROPS_MAP=Object.freeze({"dev-mode":{},pubkey:{},uuid:{},src:{},lazy:{default:1},intersection:{},breakpoints:{},"cdn-cname":{default:"https://ucarecdn.com"},"proxy-cname":{},"secure-delivery-proxy":{},"hi-res-support":{default:1},"ultra-res-support":{},format:{},"cdn-operations":{},progressive:{},quality:{},"is-background-for":{},"is-preview-blur":{default:1}});class ImgConfig extends(0,CssDataMixin.N)((0,RegisterableElementMixin.d)(lit.WF)){createRenderRoot(){return this}constructor(){for(let prop in super(),this._state={},this._subscribers=new Map,this._isnObserver=null,this._observed=null,PROPS_MAP){let config=PROPS_MAP[prop];this._state[CSS_PREF+prop]=config?.default||""}}$$(key){return this._state[CSS_PREF+key]}set$$(kvObj){for(let key in kvObj){let fullKey=CSS_PREF+key,val=kvObj[key];this._state[fullKey]=val,this._notify(fullKey,val)}}sub$$(key,kbFn){let fullKey=CSS_PREF+key;this._subscribers.has(fullKey)||this._subscribers.set(fullKey,new Set),this._subscribers.get(fullKey)?.add(kbFn);let currentVal=this._state[fullKey];null!==currentVal&&""!==currentVal&&kbFn(currentVal)}_notify(key,val){this._subscribers.has(key)&&this._subscribers.get(key)?.forEach(cb=>{null!==val&&""!==val&&cb(val)})}analyticsParams(){return`-/@clib/${env.r}/${env.i}/uc-img/`}initAttributes(el){Array.from(this.attributes).forEach(attr=>{PROPS_MAP[attr.name]||el.setAttribute(attr.name,attr.value)})}initIntersection(el,cbkFn){this._isnObserver=new IntersectionObserver(entries=>{entries.forEach(ent=>{ent.isIntersecting&&(cbkFn(),this._isnObserver?.unobserve(el))})},{root:null,rootMargin:"0px"}),this._isnObserver.observe(el),this._observed||(this._observed=new Set),this._observed.add(el)}connectedCallback(){super.connectedCallback(),this._initCssProperties()}_initCssProperties(){for(let prop in PROPS_MAP){let fullKey=CSS_PREF+prop,val=this.getCssData(fullKey,!0);null!=val&&(this._state[fullKey]=val)}}disconnectedCallback(){super.disconnectedCallback(),this._isnObserver&&(this._observed?.forEach(el=>{this._isnObserver?.unobserve(el)}),this._isnObserver=null),this._subscribers.clear()}static get observedAttributes(){return Object.keys(PROPS_MAP)}attributeChangedCallback(name,_oldVal,newVal){window.setTimeout(()=>{let fullKey=CSS_PREF+name;this._state[fullKey]=newVal,this._notify(fullKey,newVal)})}}class ImgBase extends ImgConfig{_fmtAbs(src){return src.includes("//")||DEV_MODE||(src=new URL(src,document.baseURI).href),src}_validateSize(size){if(!size)return;let numericPart=size.match(/\d+/)?.[0],alphabeticPart=size.match(/[a-zA-Z]+/)?.[0];if(!numericPart||!alphabeticPart)return;let bp=parseInt(numericPart,10);return Number(bp)>5e3&&this._hasFormatJPG?5e3+alphabeticPart:Number(bp)>3e3&&!this._hasFormatJPG?3e3+alphabeticPart:size}_getCdnModifiers(size,blur){let params={format:this._getTypedCssValue("format"),quality:this._getTypedCssValue("quality"),resize:this._validateSize(size),blur,"cdn-operations":this._getTypedCssValue("cdn-operations")??void 0,analytics:this.analyticsParams()};return(0,cdn_utils.$z)(...Object.entries(params).filter(([_,value])=>void 0!==value&&""!==value).map(([key,value])=>"cdn-operations"===key||"analytics"===key?value:`${key}/${value}`))}_getTypedCssValue(key){let value=this.$$(key);if(null==value||"string"==typeof value||"number"==typeof value||"boolean"==typeof value)return value}_getUrlBase(size="",blur=""){let src=this.$$("src");if(src.startsWith("data:")||src.startsWith("blob:"))return src;if(DEV_MODE&&src&&!src.includes("//"))return this._proxyUrl(src);let cdnModifiers=this._getCdnModifiers(size,blur),cdnCnameRaw=this.$$("cdn-cname");if(src.startsWith(String(cdnCnameRaw)))return(0,cdn_utils.LN)(src,cdnModifiers);let uuid=this.$$("uuid");if(cdnCnameRaw&&uuid||uuid)return this._proxyUrl((0,cdn_utils.LN)((0,cdn_utils.vo)(cdnCnameRaw,uuid),cdnModifiers));let proxyCname=this.$$("proxy-cname");if(proxyCname)return this._proxyUrl((0,cdn_utils.LN)(proxyCname,cdnModifiers,this._fmtAbs(src)));let pubkey=this.$$("pubkey");if(pubkey)return this._proxyUrl((0,cdn_utils.LN)(`https://${pubkey}.ucr.io/`,cdnModifiers,this._fmtAbs(src)))}_proxyUrl(url){let previewProxy=this.$$("secure-delivery-proxy");return previewProxy?(0,template_utils.x)(previewProxy,{previewUrl:url},{transform:value=>window.encodeURIComponent(value)}):url}_getElSize(el,k=1,wOnly=!0){let rect=el.getBoundingClientRect(),w=k*Math.round(rect.width),h=wOnly?"":k*Math.round(rect.height);return w||h?`${w||""}x${h||""}`:null}_setupEventProxy(img){let proxifyEvent=e=>{e.stopPropagation();let event=new Event(e.type,e);this.dispatchEvent(event)};for(let event of["load","error"])img.addEventListener(event,proxifyEvent)}get img(){return this._hasPreviewImage||(this._setupConfigForImage({elNode:this._img}),this.appendChild(this._img)),this._img}get _currentImg(){return this._hasPreviewImage?{type:ImgTypeEnum.PREVIEW,img:this._imgPreview}:{type:ImgTypeEnum.MAIN,img:this.img}}get _hasPreviewImage(){return this.$$("is-preview-blur")}get _bgSelector(){return this.$$("is-background-for")}get _breakpoints(){let breakpointsValue=this.$$("breakpoints");return breakpointsValue?[...new Set((0,stringToArray.G)(breakpointsValue).map(bp=>parseInt(bp,10)))]:null}get _hasFormatJPG(){return"jpeg"===this.$$("format").toLowerCase()}_renderBg(el){let imgSet=new Set;imgSet.add(`url("${this._getUrlBase(this._getElSize(el))}") 1x`),this.$$("hi-res-support")&&imgSet.add(`url("${this._getUrlBase(this._getElSize(el,2))}") 2x`),this.$$("ultra-res-support")&&imgSet.add(`url("${this._getUrlBase(this._getElSize(el,3))}") 3x`);let iSet=`image-set(${[...imgSet].join(", ")})`;el.style.setProperty("background-image",iSet),el.style.setProperty("background-image",`-webkit-${iSet}`)}_getSrcset(){let srcset=new Set;return this._breakpoints?this._breakpoints.forEach(bp=>{srcset.add(`${this._getUrlBase(`${bp}x`)} ${this._validateSize(`${bp}w`)}`),this.$$("hi-res-support")&&srcset.add(`${this._getUrlBase(`${2*bp}x`)} ${this._validateSize(`${2*bp}w`)}`),this.$$("ultra-res-support")&&srcset.add(`${this._getUrlBase(`${3*bp}x`)} ${this._validateSize(`${3*bp}w`)}`)}):(srcset.add(`${this._getUrlBase(this._getElSize(this._currentImg.img))} 1x`),this.$$("hi-res-support")&&srcset.add(`${this._getUrlBase(this._getElSize(this._currentImg.img,2))} 2x`),this.$$("ultra-res-support")&&srcset.add(`${this._getUrlBase(this._getElSize(this._currentImg.img,3))} 3x`)),[...srcset].join()}_getSrc(){return this._getUrlBase()}get _srcUrlPreview(){return this._getUrlBase("100x","100")}_renderBackground(){let selector=this._bgSelector;[...document.querySelectorAll(selector)].forEach(el=>{this.$$("intersection")?this.initIntersection(el,()=>{this._renderBg(el)}):this._renderBg(el)})}_appendURL({elNode,src,srcset}){src&&(elNode.src=src),srcset&&(elNode.srcset=srcset)}_setupConfigForImage({elNode}){this._setupEventProxy(elNode),this.initAttributes(elNode)}_loaderImage({src,srcset,elNode}){return new Promise((resolve,reject)=>{this._setupConfigForImage({elNode}),elNode.setAttribute(UNRESOLVED_ATTR,""),elNode.addEventListener("load",()=>{elNode.removeAttribute(UNRESOLVED_ATTR),resolve(elNode)}),elNode.addEventListener("error",()=>{reject(!1)}),this._appendURL({elNode,src,srcset})})}async _renderImage(){if(this.$$("intersection")){this._hasPreviewImage&&(this._setupConfigForImage({elNode:this._imgPreview}),this.appendChild(this._imgPreview)),this.initIntersection(this._currentImg.img,async()=>{this._hasPreviewImage&&(this._imgPreview.src=this._srcUrlPreview);try{await this._loaderImage({src:this._getSrc(),srcset:this._getSrcset(),elNode:this._img}),this._hasPreviewImage&&await this._imgPreview.remove(),this.appendChild(this._img)}catch{this._hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}});return}try{this._hasPreviewImage&&(await this._loaderImage({src:this._srcUrlPreview,elNode:this._imgPreview}),this.appendChild(this._imgPreview)),await this._loaderImage({src:this._getSrc(),srcset:this._getSrcset(),elNode:this._img}),this._hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}catch{this._hasPreviewImage&&await this._imgPreview?.remove(),this.appendChild(this._img)}}init(){this._bgSelector?this._renderBackground():this._renderImage()}constructor(...args){super(...args),this._img=new Image,this._imgPreview=new Image}}class Img extends ImgBase{connectedCallback(){super.connectedCallback(),this.sub$$("src",()=>{this.init()}),this.sub$$("uuid",()=>{this.init()}),this.sub$$("lazy",val=>{this.$$("is-background-for")||this.$$("is-preview-blur")||(this.img.loading=val?"lazy":"eager")})}}var EventEmitter=__webpack_require__(9963),lit_decorators=__webpack_require__(7093),ref=__webpack_require__(2258);function _ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}let LAST_ACTIVE_MODAL_ID=null;class Modal extends LitBlock.x{static{this.styleAttrs=[...super.styleAttrs,"uc-modal"]}show(){let dialog=this.dialogEl.value;"function"==typeof dialog.showModal?(this.setAttribute("aria-modal","true"),dialog.showModal()):dialog.setAttribute("open",""),this.cfg.modalScrollLock&&(document.body.style.overflow="hidden")}hide(){let dialog=this.dialogEl.value;dialog&&("function"==typeof dialog.close?(this.setAttribute("aria-modal","false"),dialog.close()):dialog.removeAttribute("open"))}initCallback(){super.initCallback(),this.modalManager?.registerModal(this.id,this),this.subConfigValue("modalBackdropStrokes",val=>{val?this.setAttribute("strokes",""):this.removeAttribute("strokes")}),this.modalManager?.subscribe(ModalManager.D.OPEN,this._handleModalOpen),this.modalManager?.subscribe(ModalManager.D.CLOSE,this._handleModalClose),this.modalManager?.subscribe(ModalManager.D.CLOSE_ALL,this._handleModalCloseAll)}disconnectedCallback(){super.disconnectedCallback(),document.body.style.overflow="",this._mouseDownTarget=void 0,this.modalManager?.unsubscribe(ModalManager.D.OPEN,this._handleModalOpen),this.modalManager?.unsubscribe(ModalManager.D.CLOSE,this._handleModalClose),this.modalManager?.unsubscribe(ModalManager.D.CLOSE_ALL,this._handleModalCloseAll)}_handleDialogRef(dialog){this.dialogEl={value:dialog},this.dialogEl.value?.addEventListener("close",this._handleDialogClose),this.dialogEl.value?.addEventListener("mousedown",this._handleDialogMouseDown),this.dialogEl.value?.addEventListener("mouseup",this._handleDialogMouseUp)}render(){return(0,lit.qy)`<dialog ${(0,ref.K)(this._handleDialogRef)}> ${this.yield("")} </dialog>`}constructor(...args){super(...args),this.dialogEl=(0,ref._)(),this.strokes=!1,this.blockBodyScrolling=!1,this.closeDialog=()=>{this.modalManager?.close(this.id),this.modalManager?.hasActiveModals||(document.body.style.overflow="",this.$["*currentActivity"]=null)},this._handleDialogClose=()=>{this.closeDialog()},this._handleDialogMouseDown=e=>{this._mouseDownTarget=e.target},this._handleDialogMouseUp=e=>{let target=e.target;target===this.dialogEl.value&&target===this._mouseDownTarget&&this.closeDialog()},this._handleModalOpen=({id})=>{id===this.id?(LAST_ACTIVE_MODAL_ID=id,this.show(),this.emit(EventEmitter.Bx.MODAL_OPEN,{modalId:id},{debounce:!0})):this.hide()},this._handleModalClose=({id})=>{id===this.id&&(this.hide(),this.emit(EventEmitter.Bx.MODAL_CLOSE,{modalId:id,hasActiveModals:this.modalManager?.hasActiveModals},{debounce:!0}))},this._handleModalCloseAll=_data=>{this.hide(),LAST_ACTIVE_MODAL_ID===this.id&&this.emit(EventEmitter.Bx.MODAL_CLOSE,{modalId:LAST_ACTIVE_MODAL_ID,hasActiveModals:this.modalManager?.hasActiveModals},{debounce:!0})}}}_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,noAccessor:!0})],Modal.prototype,"strokes",void 0),_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,attribute:"block-body-scrolling",noAccessor:!0})],Modal.prototype,"blockBodyScrolling",void 0);var applyStyles=__webpack_require__(3254);class FormInput extends LitUploaderBlock.z{get _inputName(){return this.nameAttrValue??this.ctxName}_createValidationInput(){let validationInput=document.createElement("input");return validationInput.type="text",validationInput.name=this._inputName,validationInput.required=this.cfg.multipleMin>0,validationInput.tabIndex=-1,(0,applyStyles.Z)(validationInput,{opacity:0,height:0,width:0}),validationInput}initCallback(){super.initCallback(),this._validationInputElement=this._createValidationInput(),this.appendChild(this._validationInputElement),this.sub("*collectionState",collectionState=>{if(!collectionState)return;if(!this._dynamicInputsContainer){let dynamicInputsContainer=document.createElement("div");this.appendChild(dynamicInputsContainer),this._dynamicInputsContainer=dynamicInputsContainer}if(!this._validationInputElement){let input=this._createValidationInput();this.appendChild(input),this._validationInputElement=input}if(this._dynamicInputsContainer.innerHTML="","uploading"===collectionState.status||"idle"===collectionState.status){this._validationInputElement.value="",this._validationInputElement.setCustomValidity("");return}if("failed"===collectionState.status){let errorMsg=collectionState.errors[0]?.message;this._validationInputElement.value="",this._validationInputElement.setCustomValidity(errorMsg??"");return}let group=collectionState.group?collectionState.group:null;if(group){this._validationInputElement.value=group.cdnUrl??"",this._validationInputElement.setCustomValidity("");return}let cdnUrls=collectionState.allEntries.map(entry=>entry.cdnUrl).filter(url=>"string"==typeof url);if(!this.cfg.multiple&&1===cdnUrls.length&&cdnUrls[0]){this._validationInputElement.value=cdnUrls[0],this._validationInputElement.setCustomValidity("");return}this._validationInputElement.remove(),this._validationInputElement=null;let fr=new DocumentFragment;for(let value of cdnUrls){let input=document.createElement("input");input.type="hidden",input.name=`${this._inputName}[]`,input.value=value,fr.appendChild(input)}this._dynamicInputsContainer.replaceChildren(fr)},!1)}constructor(...args){super(...args),this._validationInputElement=null,this._dynamicInputsContainer=null}}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.MZ)({type:String,noAccessor:!0,attribute:"name"})],FormInput.prototype,"nameAttrValue",void 0);class Copyright extends LitBlock.x{initCallback(){super.initCallback(),this.subConfigValue("removeCopyright",value=>{this.toggleAttribute("hidden",!!value)})}render(){return(0,lit.qy)`<a href="https://uploadcare.com/?utm_source=copyright&utm_medium=referral&utm_campaign=v4" target="_blank noopener" class="uc-credits" >Powered by Uploadcare</a >`}}function ProgressBar_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}class ProgressBar extends LitBlock.x{firstUpdated(changedProperties){super.firstUpdated(changedProperties),this._progressValue=this._normalizeProgressValue(this.value),this._updateProgressValueStyle(),this._fakeProgressLineRef.value?.addEventListener("animationiteration",this._handleFakeProgressAnimation)}updated(changedProperties){if(super.updated(changedProperties),changedProperties.has("value")){let normalizedValue=this._normalizeProgressValue(this.value);if(this.visible){let nextValue=Math.max(this._progressValue,normalizedValue);nextValue!==this._progressValue&&(this._progressValue=nextValue,this._updateProgressValueStyle())}else this._progressValue=normalizedValue}changedProperties.has("visible")&&(this.classList.toggle("uc-progress-bar--hidden",!this.visible),this.visible?this._updateProgressValueStyle():this._progressValue=this._normalizeProgressValue(this.value))}disconnectedCallback(){super.disconnectedCallback(),this._fakeProgressLineRef.value?.removeEventListener("animationiteration",this._handleFakeProgressAnimation)}_normalizeProgressValue(value){return Number.isFinite(value)?Math.min(100,Math.max(0,value)):0}_updateProgressValueStyle(){this.visible&&this.style.setProperty("--l-progress-value",this._progressValue.toString())}render(){return(0,lit.qy)`<div ${(0,ref.K)(this._fakeProgressLineRef)} class="uc-fake-progress"></div><div class="uc-progress"></div>`}constructor(...args){super(...args),this.hasFileName=!1,this.value=0,this.visible=!0,this._progressValue=0,this._fakeProgressLineRef=(0,ref._)(),this._handleFakeProgressAnimation=()=>{let fakeProgressLine=this._fakeProgressLineRef.value;if(fakeProgressLine){if(!this.visible)return void fakeProgressLine.classList.add("uc-fake-progress--hidden");this._progressValue>0&&fakeProgressLine.classList.add("uc-fake-progress--hidden")}}}}function ProgressBarCommon_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}ProgressBar_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,noAccessor:!0})],ProgressBar.prototype,"hasFileName",void 0),ProgressBar_ts_decorate([(0,lit_decorators.MZ)({type:Number})],ProgressBar.prototype,"value",void 0),ProgressBar_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],ProgressBar.prototype,"visible",void 0);class ProgressBarCommon extends LitUploaderBlock.z{constructor(){super(),this._visible=!1,this._value=0,this.init$={...this.init$,"*commonProgress":0}}initCallback(){super.initCallback(),this._unobserveCollectionCb=this.uploadCollection.observeProperties(()=>{let anyUploading=this.uploadCollection.items().some(id=>{let item=this.uploadCollection.read(id);return item?.getValue("isUploading")??!1});this._visible=anyUploading}),this.sub("*commonProgress",progress=>{this._value=progress})}updated(changedProperties){super.updated(changedProperties),changedProperties.has("visible")&&(this._visible?this.setAttribute("active",""):this.removeAttribute("active"))}disconnectedCallback(){super.disconnectedCallback(),this._unobserveCollectionCb?.(),this._unobserveCollectionCb=void 0}render(){return(0,lit.qy)`<uc-progress-bar .value=${this._value} .visible=${this._visible}></uc-progress-bar>`}}function Select_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}ProgressBarCommon_ts_decorate([(0,lit_decorators.wk)()],ProgressBarCommon.prototype,"_visible",void 0),ProgressBarCommon_ts_decorate([(0,lit_decorators.wk)()],ProgressBarCommon.prototype,"_value",void 0);class Select extends LitBlock.x{render(){return(0,lit.qy)` <select @change=${this._handleChange} .value=${this.value} ?disabled=${this.disabled}> ${this.options.map(option=>(0,lit.qy)`<option value=${option.value}>${option.text}</option>`)} </select>`}constructor(...args){super(...args),this.value="",this.disabled=!1,this.options=[],this._handleChange=event=>{if(this.disabled){event.preventDefault(),event.stopPropagation();return}event.preventDefault(),event.stopPropagation();let selectEl=event.currentTarget;selectEl&&(this.value=selectEl.value,this.dispatchEvent(new Event("change")))}}}function SourceBtn_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}Select_ts_decorate([(0,lit_decorators.MZ)({type:String,attribute:!1})],Select.prototype,"value",void 0),Select_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],Select.prototype,"disabled",void 0),Select_ts_decorate([(0,lit_decorators.MZ)({type:Array,attribute:!1})],Select.prototype,"options",void 0);class SourceBtn extends LitUploaderBlock.z{willUpdate(changedProperties){super.willUpdate(changedProperties),changedProperties.has("source")&&this._applySource(this.source)}_applySource(source){if(!source){this._srcTypeKey="",this._iconName="default";return}let{label,icon,id}=source;this._srcTypeKey=label,this._iconName=icon??id??"default"}activate(){this.source&&this.source.onClick()}render(){return(0,lit.qy)`<button type="button" @click=${this.activate}><uc-icon name=${this._iconName}></uc-icon><div class="uc-txt">${this.l10n(this._srcTypeKey)}</div></button>`}constructor(...args){super(...args),this.couldBeCtxOwner=!0,this._iconName="default",this._srcTypeKey=""}}SourceBtn_ts_decorate([(0,lit_decorators.MZ)({attribute:!1})],SourceBtn.prototype,"source",void 0),SourceBtn_ts_decorate([(0,lit_decorators.wk)()],SourceBtn.prototype,"_iconName",void 0),SourceBtn_ts_decorate([(0,lit_decorators.wk)()],SourceBtn.prototype,"_srcTypeKey",void 0);var UploadSource=__webpack_require__(5730);function SourceList_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}class SourceList extends LitUploaderBlock.z{initCallback(){super.initCallback(),this.subConfigValue("sourceList",val=>{this._rawSourceList=(0,stringToArray.G)(val),this._updateSources()});let pluginManager=this._sharedInstancesBag.pluginManager;pluginManager?.onPluginsChange&&(this._unsubscribePlugins=pluginManager.onPluginsChange(()=>this._updateSources()))}updated(changedProperties){super.updated(changedProperties),this.cfg.sourceListWrap?this.style.removeProperty("display"):this.style.display="contents"}_updateSources(){let pluginManager=this._sharedInstancesBag.pluginManager,pluginSourceById=new Map((pluginManager?.snapshot().sources??[]).map(source=>[source.id,source])),sources=[];this._rawSourceList.forEach(srcName=>{let expanded=this._expandSource(srcName,pluginSourceById);if(1!==expanded.length||expanded[0]!==srcName){for(let name of expanded){let config=this._makeBuiltInSourceConfig(name);if(config){sources.push(config);continue}let pluginSource=pluginSourceById.get(name);pluginSource&&sources.push(this._makePluginSourceConfig(pluginSource))}return}let builtInConfig=this._makeBuiltInSourceConfig(srcName);if(builtInConfig)return void sources.push(builtInConfig);let pluginSource=pluginSourceById.get(srcName);pluginSource&&sources.push(this._makePluginSourceConfig(pluginSource))}),this._sources=sources}_expandSource(srcName,pluginSourceById){let pluginSource=pluginSourceById.get(srcName);return pluginSource?.expand?pluginSource.expand():[srcName]}_makeBuiltInSourceConfig(type){return type===UploadSource.pc.LOCAL?{id:type,label:`src-type-${type}`,icon:type,onClick:()=>this.api.openSystemDialog()}:null}_makePluginSourceConfig(source){return{id:source.id,label:source.label,icon:source.icon,onClick:()=>source.onSelect()}}render(){return(0,lit.qy)`${this._sources.map(source=>(0,lit.qy)`<uc-source-btn role="listitem" .source=${source} data-source-id=${source.id}></uc-source-btn>`)}`}disconnectedCallback(){this._unsubscribePlugins?.(),this._unsubscribePlugins=void 0,super.disconnectedCallback()}constructor(...args){super(...args),this._rawSourceList=[],this._sources=[],this.wrap=!1}}SourceList_ts_decorate([(0,lit_decorators.wk)()],SourceList.prototype,"_sources",void 0),SourceList_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,attribute:"wrap",noAccessor:!0})],SourceList.prototype,"wrap",void 0);class Spinner extends LitBlock.x{render(){return(0,lit.qy)`<div class="uc-spinner"></div>`}}var debounce=__webpack_require__(4441),preloadImage=__webpack_require__(6756);function generateThumb(imgFile,size=40){if("image/svg+xml"===imgFile.type)return URL.createObjectURL(imgFile);let canvas=document.createElement("canvas"),ctx=canvas.getContext("2d");if(!ctx)return Promise.reject(Error("Canvas context not supported"));let img=new Image,promise=new Promise((resolve,reject)=>{img.onload=()=>{let ratio=img.height/img.width;ratio>1?(canvas.width=size,canvas.height=size*ratio):(canvas.height=size,canvas.width=size/ratio),ctx.fillStyle="rgb(240, 240, 240)",ctx.fillRect(0,0,canvas.width,canvas.height),ctx.drawImage(img,0,0,canvas.width,canvas.height),canvas.toBlob(blob=>{blob?resolve(URL.createObjectURL(blob)):reject()})},img.onerror=err=>{reject(err)}});return img.src=URL.createObjectURL(imgFile),promise}class FileItemConfig extends LitUploaderBlock.z{withEntry(fn){return(...args)=>{let entry=this.entry;return entry?fn(entry,...args):void console.warn("No entry found")}}subEntry(prop,handler){this.withEntry((entry,propInner,handlerInner)=>{let sub=entry.subscribe(propInner,value=>{this.isConnected&&handlerInner(value)});this._entrySubs.add(sub)})(prop,handler)}reset(){for(let sub of this._entrySubs)sub();this._entrySubs=new Set,this.entry=null}disconnectedCallback(){super.disconnectedCallback(),this._entrySubs=new Set}constructor(...args){super(...args),this._entrySubs=new Set,this.entry=null}}function fileCssBg(color="hsl(209, 21%, 65%)",width=32,height=32){let blob;return blob=new Blob([`<svg width="${width}" height="${height}" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" fill="${color}" d="M9.68848 8.70068C9.68848 8.42454 9.91233 8.20068 10.1885 8.20068H15.0885C15.2211 8.20068 15.3483 8.25336 15.442 8.34713L20.342 13.2471C20.4358 13.3409 20.4885 13.4681 20.4885 13.6007V21.3007C20.4885 21.5768 20.2646 21.8007 19.9885 21.8007H10.1885C9.91233 21.8007 9.68848 21.5768 9.68848 21.3007V8.70068ZM10.6885 9.20068V20.8007H19.4885V14.1007L15.0885 14.1007C14.8123 14.1007 14.5885 13.8768 14.5885 13.6007L14.5885 9.20068H10.6885ZM15.5885 9.90779L18.7814 13.1007L15.5885 13.1007L15.5885 9.90779Z"/></svg>`],{type:"image/svg+xml"}),URL.createObjectURL(blob)}var transparentPixelSrc=__webpack_require__(8608);function Thumb_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}class Thumb extends FileItemConfig{_calculateThumbSize(force=!1){force&&(this._thumbRect=this.getBoundingClientRect());let size=Math.max(parseInt(String(this?._thumbRect?.height||0),10),parseInt(String(this?._thumbRect?.width||0),10),this.cfg.thumbSize);return window.devicePixelRatio>1&&(size*=window.devicePixelRatio),Math.min(size,3e3)}_decodeImage(src,signal){return new Promise((resolve,reject)=>{let image=new Image;image.decoding="async";let cleanup=()=>{image&&(image.onload=null,image.onerror=null,image.src=transparentPixelSrc.d,signal?.removeEventListener("abort",onAbort),image=null)},onAbort=()=>{cleanup(),reject(new DOMException("Aborted","AbortError"))};if(signal){if(signal.aborted)return void onAbort();signal.addEventListener("abort",onAbort,{once:!0})}let resolveSafe=()=>{cleanup(),resolve()},rejectSafe=error=>{cleanup(),reject(error)};if("function"==typeof image.decode){image.src=src,image.decode().then(resolveSafe).catch(rejectSafe);return}image.onload=resolveSafe,image.onerror=rejectSafe,image.src=src})}_cancelPendingThumbUpdate(){this._pendingThumbUpdate?.cancel(),this._pendingThumbUpdate=void 0}_scheduleThumbUpdate(nextThumbUrl){if(this._cancelPendingThumbUpdate(),!nextThumbUrl){this._thumbUrl&&(this._thumbUrl="");return}if(nextThumbUrl===this._thumbUrl)return;let abortController=new AbortController,pending={controller:abortController,cancel:()=>{abortController.abort(),void 0!==pending.rafId&&window.cancelAnimationFrame(pending.rafId)}};this._pendingThumbUpdate=pending,this._decodeImage(nextThumbUrl,abortController.signal).then(()=>{abortController.signal.aborted||(pending.rafId=window.requestAnimationFrame(()=>{abortController.signal.aborted||(this._thumbUrl=nextThumbUrl)}))}).catch(error=>{abortController.signal.aborted||error instanceof DOMException&&"AbortError"===error.name||console.warn("[Thumb] Failed to decode thumbnail image",error)})}_requestThumbGeneration(force=!1){!this.entry||(force?this._generateThumbnail(!0):this._isIntersecting&&this._debouncedGenerateThumb())}firstUpdated(changedProperties){super.firstUpdated(changedProperties),this._bindToEntry()}updated(changedProperties){super.updated(changedProperties),changedProperties.has("uid")&&this._bindToEntry()}_observerCallback(entries){let[entry]=entries;entry&&(this._isIntersecting=entry.isIntersecting,entry.isIntersecting&&(this._thumbRect=entry.boundingClientRect,this._requestThumbGeneration(),this._observer?.disconnect()),0===entry.intersectionRatio&&this._debouncedGenerateThumb.cancel())}reset(){super.reset(),this._debouncedGenerateThumb.cancel(),this._cancelPendingThumbUpdate(),this._thumbUrl&&(this._thumbUrl="")}_bindToEntry(){let id=this.uid?.trim();if(!id){this.entry&&this.reset();return}let entry=this.uploadCollection?.read(id);if(!entry||entry===this.entry)return;this.reset(),this.entry=entry;let requestThumb=()=>{this._requestThumbGeneration()};this.subEntry("fileInfo",fileInfo=>{fileInfo?.isImage&&requestThumb()}),this.subEntry("thumbUrl",thumbUrl=>{this._scheduleThumbUpdate(thumbUrl??void 0)}),this.subEntry("cdnUrlModifiers",requestThumb),this._requestThumbGeneration(!0)}initCallback(){super.initCallback(),this.subConfigValue("filesViewMode",viewMode=>{"grid"!==viewMode||this._renderedGridOnce||("list"===this._firstViewMode&&this._requestThumbGeneration(!0),this._renderedGridOnce=!0)})}connectedCallback(){super.connectedCallback(),this._observer?.disconnect(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:.1}),this._observer.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this._debouncedGenerateThumb.cancel(),this._cancelPendingThumbUpdate(),this._observer?.disconnect()}render(){return(0,lit.qy)`<div class="uc-thumb"><img class="uc-thumb__img" src=${this._thumbUrl||transparentPixelSrc.d} role="img" alt="Preview of uploaded image" ?hidden=${!this._thumbUrl} draggable="false" /><div class="uc-badge"><uc-icon name=${this.badgeIcon}></uc-icon></div></div>`}constructor(...args){super(...args),this.badgeIcon="",this.uid="",this._thumbUrl="",this._renderedGridOnce=!1,this._thumbRect=null,this._isIntersecting=!1,this._firstViewMode=this.cfg.filesViewMode,this._generateThumbnail=this.withEntry(async(entry,force=!1)=>{let fileInfo=entry.getValue("fileInfo"),isImage=entry.getValue("isImage"),uuid=entry.getValue("uuid"),currentThumbUrl=entry.getValue("thumbUrl"),size=this._calculateThumbSize(force);if(fileInfo&&isImage&&uuid){let thumbUrl=await this.proxyUrl((0,cdn_utils.LN)((0,cdn_utils.vo)(this.cfg.cdnCname,uuid),(0,cdn_utils.$z)(entry.getValue("cdnUrlModifiers"),"stretch/off",`scale_crop/${size}x${size}/center`)));if(currentThumbUrl===thumbUrl)return;let{promise}=(0,preloadImage.N)(thumbUrl);promise.then(()=>{entry.setValue("thumbUrl",thumbUrl),currentThumbUrl?.startsWith("blob:")&&URL.revokeObjectURL(currentThumbUrl)}).catch(async()=>{if(!currentThumbUrl?.startsWith("blob:"))try{let file=entry.getValue("file");if(!file)return;let blobThumbUrl=await generateThumb(file,size);entry.setValue("thumbUrl",blobThumbUrl)}catch(err){this.telemetryManager.sendEventError(err,"thumbnail generation. Failed to generate thumb from file");let color=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");entry.setValue("thumbUrl",fileCssBg(color))}});return}if(entry.getValue("thumbUrl"))return;let file=entry.getValue("file");if(file?.type.includes("image"))try{let thumbUrl=await generateThumb(file,size);entry.setValue("thumbUrl",thumbUrl)}catch(err){this.telemetryManager.sendEventError(err,"thumbnail generation. Failed to generate thumb from file");let color=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");entry.setValue("thumbUrl",fileCssBg(color))}else{let color=window.getComputedStyle(this).getPropertyValue("--uc-muted-foreground");entry.setValue("thumbUrl",fileCssBg(color))}}),this._debouncedGenerateThumb=(0,debounce.s)(this._generateThumbnail.bind(this),100)}}Thumb_ts_decorate([(0,lit_decorators.MZ)({type:String})],Thumb.prototype,"badgeIcon",void 0),Thumb_ts_decorate([(0,lit_decorators.MZ)({attribute:!1})],Thumb.prototype,"uid",void 0),Thumb_ts_decorate([(0,lit_decorators.wk)()],Thumb.prototype,"_thumbUrl",void 0);class ActivityHeader extends LitActivityBlock.S{}class StartFrom extends LitActivityBlock.S{initCallback(){super.initCallback(),this.registerActivity(this.activityType??"")}render(){return(0,lit.qy)`<div class="uc-content">${this.yield("")}</div>`}constructor(...args){super(...args),this.historyTracked=!0,this.activityType=LitActivityBlock.S.activities.START_FROM}}class UploadCtxProvider extends LitUploaderBlock.z{static{this.styleAttrs=["uc-wgt-common"]}static{this.EventType=EventEmitter.Bx}initCallback(){super.initCallback(),this._unbindEventEmitter=this.eventEmitter.bindTarget(this)}disconnectedCallback(){super.disconnectedCallback(),this._unbindEventEmitter?.()}constructor(...args){super(...args),this._unbindEventEmitter=null}}var throttle=__webpack_require__(3442),lit_html=__webpack_require__(6752),directive=__webpack_require__(7804),directive_helpers=__webpack_require__(8504);let u=(e,s,t)=>{let r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},repeat_c=(0,directive.u$)(class extends directive.WL{constructor(e){if(super(e),e.type!==directive.OA.CHILD)throw Error("repeat() can only be used in text expressions")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);let l=[],o=[],i=0;for(let s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){let d=(0,directive_helpers.cN)(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;let h=this.ut??=[],v=[],m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=(0,directive_helpers.lx)(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=(0,directive_helpers.lx)(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=(0,directive_helpers.lx)(d[x],p[w]),(0,directive_helpers.Dx)(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=(0,directive_helpers.lx)(d[j],p[k]),(0,directive_helpers.Dx)(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){let e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){let e=(0,directive_helpers.Dx)(s,d[x]);(0,directive_helpers.lx)(e,p[k]),v[k]=e}else v[k]=(0,directive_helpers.lx)(t,p[k]),(0,directive_helpers.Dx)(s,d[x],t),d[e]=null;k++}else(0,directive_helpers.KO)(d[j]),j--;else(0,directive_helpers.KO)(d[x]),x++;for(;k<=w;){let e=(0,directive_helpers.Dx)(s,v[w+1]);(0,directive_helpers.lx)(e,p[k]),v[k++]=e}for(;x<=j;){let e=d[x++];null!==e&&(0,directive_helpers.KO)(e)}return this.ut=a,(0,directive_helpers.mY)(s,v),lit_html.c0}});function UploadList_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}class UploadList extends LitUploaderBlock.z{get _headerText(){return this._latestSummary?this._getHeaderText(this._latestSummary):""}_updateUploadsState(){let collectionState=this.api.getOutputCollectionState(),summary={total:collectionState.totalCount,succeed:collectionState.successCount,uploading:collectionState.uploadingCount,failed:collectionState.failedCount,validatingBeforeUploading:collectionState.idleEntries.filter(e=>e.isValidationPending).length},fitCountRestrictions=!collectionState.errors.some(err=>"TOO_MANY_FILES"===err.type||"TOO_FEW_FILES"===err.type),tooMany=collectionState.errors.some(err=>"TOO_MANY_FILES"===err.type),exact=collectionState.totalCount===(this.cfg.multiple?this.cfg.multipleMax:1),isValidationPending=collectionState.allEntries.some(entry=>entry.isValidationPending),validationOk=0===summary.failed&&0===collectionState.errors.length&&!isValidationPending,uploadBtnVisible=!1,allDone=!1,doneBtnEnabled=!1;if(summary.total-summary.succeed-summary.uploading-summary.failed>0&&fitCountRestrictions&&validationOk&&this.cfg.confirmUpload)uploadBtnVisible=!0;else{allDone=!0;let groupOk=!this.cfg.groupOutput||!!collectionState.group;doneBtnEnabled=summary.total===summary.succeed&&fitCountRestrictions&&validationOk&&groupOk}this._doneBtnVisible=allDone,this._doneBtnEnabled=doneBtnEnabled,this._uploadBtnVisible=uploadBtnVisible,this._addMoreBtnEnabled=0===summary.total||!tooMany&&!exact,this._addMoreBtnVisible=!exact||this.cfg.multiple,this._hasFiles=summary.total>0,this._latestSummary=summary}_getHeaderText(summary){let localizedText=status=>{let count=summary[status];return"uploading"===status&&(count+=summary.validatingBeforeUploading),this.l10n(`header-${status}`,{count:count})};return localizedText(summary.uploading>0||summary.validatingBeforeUploading>0?"uploading":summary.failed>0?"failed":summary.succeed>0?"succeed":"total")}get couldOpenActivity(){return this.cfg.showEmptyList||this.uploadCollection.size>0}initCallback(){super.initCallback(),this.registerActivity(this.activityType),this.subConfigValue("multiple",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMin",this._throttledHandleCollectionUpdate),this.subConfigValue("multipleMax",this._throttledHandleCollectionUpdate),this.sub("*groupInfo",groupInfo=>{groupInfo&&this._throttledHandleCollectionUpdate()}),this.subConfigValue("filesViewMode",mode=>{this.setAttribute("mode",mode)}),this.sub("*currentActivity",currentActivity=>{this.couldOpenActivity||currentActivity!==this.activityType||(this.$["*currentActivity"]=this.initActivity)}),this.uploadCollection.observeProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.observeCollection(this._throttledHandleCollectionUpdate),this.sub("*collectionErrors",errors=>{let firstError=errors.filter(err=>"SOME_FILES_HAS_ERRORS"!==err.type)[0];if(!firstError){this._commonErrorMessage=null;return}this._commonErrorMessage=firstError.message})}disconnectedCallback(){super.disconnectedCallback(),this.has("*uploadCollection")&&(this.uploadCollection.unobserveProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.unobserveCollection(this._throttledHandleCollectionUpdate))}render(){return(0,lit.qy)`<uc-activity-header><span aria-live="polite" class="uc-header-text">${this._headerText}</span><button type="button" class="uc-mini-btn uc-close-btn" @click=${this.$["*closeModal"]} title=${this.l10n("a11y-activity-header-button-close")} aria-label=${this.l10n("a11y-activity-header-button-close")} ><uc-icon name="close"></uc-icon></button></uc-activity-header><div class="uc-no-files" ?hidden=${this._hasFiles}> ${this.yield("empty",(0,lit.qy)`<span>${this.l10n("no-files")}</span>`)} </div><div class="uc-files"><div class="uc-files-wrapper"> ${repeat_c(this.$["*uploadList"]??[],({uid})=>uid,({uid})=>(0,lit.qy)`<uc-file-item .uid=${uid}></uc-file-item>`)} </div><button type="button" class="uc-add-more-btn uc-secondary-btn" @click=${this._handleAdd} ?disabled=${!this._addMoreBtnEnabled} ?hidden=${!this._addMoreBtnVisible} ><uc-icon name="add"></uc-icon><span>${this.l10n("add-more")}</span></button></div><div class="uc-common-error" ?hidden=${!this._commonErrorMessage} > ${this._commonErrorMessage??""} </div><div class="uc-toolbar"><button type="button" class="uc-cancel-btn uc-secondary-btn" @click=${this._handleCancel}>${this.l10n("clear")}</button><div class="uc-toolbar-spacer"></div><button type="button" class="uc-add-more-btn uc-secondary-btn" ?hidden=${!this._addMoreBtnVisible} ?disabled=${!this._addMoreBtnEnabled} @click=${this._handleAdd} ><uc-icon name="add"></uc-icon><span>${this.l10n("add-more")}</span></button><button type="button" class="uc-upload-btn uc-primary-btn" ?hidden=${!this._uploadBtnVisible} @click=${this._handleUpload} >${this.l10n("upload")}</button><button type="button" class="uc-done-btn uc-primary-btn" ?hidden=${!this._doneBtnVisible} ?disabled=${!this._doneBtnEnabled} @click=${this._handleDone} > ${this.l10n("done")} </button></div><uc-drop-area ghost></uc-drop-area>`}constructor(...args){super(...args),this.couldBeCtxOwner=!0,this.historyTracked=!0,this.activityType=LitActivityBlock.S.activities.UPLOAD_LIST,this._doneBtnVisible=!1,this._doneBtnEnabled=!1,this._uploadBtnVisible=!1,this._addMoreBtnVisible=!1,this._addMoreBtnEnabled=!1,this._commonErrorMessage=null,this._hasFiles=!1,this._latestSummary=null,this._handleAdd=()=>{this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{event:"add-more",node:this.tagName}}}),this.api.initFlow(!0)},this._handleUpload=()=>{this.emit(EventEmitter.Bx.UPLOAD_CLICK),this.api.uploadAll(),this._throttledHandleCollectionUpdate()},this._handleDone=()=>{this.emit(EventEmitter.Bx.DONE_CLICK,this.api.getOutputCollectionState()),this.api.doneFlow()},this._handleCancel=()=>{this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.ACTION_EVENT,payload:{metadata:{event:"clear-all",node:this.tagName}}}),this.uploadCollection.clearAll()},this._throttledHandleCollectionUpdate=(0,throttle.n)(()=>{this.isConnected&&(this._updateUploadsState(),this.couldOpenActivity||this.$["*currentActivity"]!==this.activityType||this.historyBack(),this.cfg.confirmUpload||this.api.uploadAll())},300)}}UploadList_ts_decorate([(0,lit_decorators.wk)()],UploadList.prototype,"_doneBtnVisible",void 0),UploadList_ts_decorate([(0,lit_decorators.wk)()],UploadList.prototype,"_doneBtnEnabled",void 0),UploadList_ts_decorate([(0,lit_decorators.wk)()],UploadList.prototype,"_uploadBtnVisible",void 0),UploadList_ts_decorate([(0,lit_decorators.wk)()],UploadList.prototype,"_addMoreBtnVisible",void 0),UploadList_ts_decorate([(0,lit_decorators.wk)()],UploadList.prototype,"_addMoreBtnEnabled",void 0),UploadList_ts_decorate([(0,lit_decorators.wk)()],UploadList.prototype,"_commonErrorMessage",void 0),UploadList_ts_decorate([(0,lit_decorators.wk)()],UploadList.prototype,"_hasFiles",void 0),UploadList_ts_decorate([(0,lit_decorators.wk)()],UploadList.prototype,"_latestSummary",void 0);var UrlSource=__webpack_require__(8130),CameraSource=__webpack_require__(4252),Config=__webpack_require__(5642);let DropzoneState=Object.freeze({ACTIVE:0,INACTIVE:1,NEAR:2,OVER:3}),RESET_EVENTS=["focus"],nearnessRegistry=new Map;function addDropzone(desc){let eventCounter=0,body=document.body,switchHandlers=new Set,state=DropzoneState.INACTIVE,setState=newState=>{desc.shouldIgnore()&&newState!==DropzoneState.INACTIVE||(state!==newState&&switchHandlers.forEach(fn=>{fn(newState)}),state=newState)};switchHandlers.add(newState=>desc.onChange(newState));let onResetEvent=()=>{eventCounter=0,setState(DropzoneState.INACTIVE)},onDragEnter=()=>{eventCounter+=1,state===DropzoneState.INACTIVE&&setState(DropzoneState.ACTIVE)},onDragLeave=()=>{(eventCounter-=1)>0||setState(DropzoneState.INACTIVE)},onDrop=event=>{event.preventDefault(),eventCounter=0,setState(DropzoneState.INACTIVE)},onDragOver=event=>{let cx,cy;if(desc.shouldIgnore())return;eventCounter>0||(eventCounter+=1);let dragPoint=[event.x,event.y],targetRect=desc.element.getBoundingClientRect(),nearness=Math.floor((cx=Math.max(Math.min(dragPoint[0],targetRect.x+targetRect.width),targetRect.x),cy=Math.max(Math.min(dragPoint[1],targetRect.y+targetRect.height),targetRect.y),Math.sqrt((dragPoint[0]-cx)*(dragPoint[0]-cx)+(dragPoint[1]-cy)*(dragPoint[1]-cy)))),isNear=nearness<100,isOver=event.composedPath().includes(desc.element);nearnessRegistry.set(desc.element,nearness);let isNearest=Math.min(...nearnessRegistry.values())===nearness;isOver&&isNearest?(event.preventDefault(),setState(DropzoneState.OVER)):isNear&&isNearest?setState(DropzoneState.NEAR):setState(DropzoneState.ACTIVE)},onElementDrop=async event=>{if(desc.shouldIgnore())return;event.preventDefault();let{dataTransfer}=event;if(!dataTransfer)return;let items=await function(dataTransfer){let dropItems=[],promises=[];for(let i=0;i<dataTransfer.items.length;i++){let item=dataTransfer.items[i];if(item)if("file"===item.kind){let itemType=item.type;if("function"==typeof item.webkitGetAsEntry||"function"==typeof item.getAsEntry){let entry="function"==typeof item.webkitGetAsEntry?item.webkitGetAsEntry():item.getAsEntry?.();entry&&promises.push((function(webkitEntry,dataTransferItemType){return new Promise(resolve=>{let reading=0,dropItems=[],readEntry=entry=>{if(!entry){console.warn("Unexpectedly received empty content entry",{scope:"drag-and-drop"}),resolve(null);return}entry.isFile?(reading++,entry.file(file=>{reading--;let clonedFile=new File([file],file.name,{type:file.type||dataTransferItemType});dropItems.push({type:"file",file:clonedFile,fullPath:entry.fullPath}),0===reading&&resolve(dropItems)})):entry.isDirectory&&readReaderContent(entry.createReader())},readReaderContent=reader=>{reading++,reader.readEntries(entries=>{for(let entry of(reading--,entries))readEntry(entry);0===reading&&resolve(dropItems)})};readEntry(webkitEntry)})})(entry,itemType).then(items=>{items&&dropItems.push(...items)}));continue}let file=item.getAsFile();file&&promises.push((function(file){return new Promise(resolve=>{"function"!=typeof window.FileReader&&resolve(!1);try{let reader=new FileReader;reader.onerror=()=>{resolve(!0)};let onLoad=event=>{"loadend"!==event.type&&reader.abort(),resolve(!1)};reader.onloadend=onLoad,reader.onprogress=onLoad,reader.readAsDataURL(file)}catch{resolve(!1)}})})(file).then(isDirectory=>{isDirectory||dropItems.push({type:"file",file})}))}else"string"===item.kind&&/^text\/uri-list/.test(item.type)&&promises.push(new Promise(resolve=>{item.getAsString(value=>{dropItems.push({type:"url",url:value}),resolve()})}))}return Promise.all(promises).then(()=>dropItems)}(dataTransfer);desc.onItems(items),setState(DropzoneState.INACTIVE)};return body.addEventListener("drop",onDrop),body.addEventListener("dragleave",onDragLeave),body.addEventListener("dragenter",onDragEnter),body.addEventListener("dragover",onDragOver),desc.element.addEventListener("drop",onElementDrop),RESET_EVENTS.forEach(eventName=>{window.addEventListener(eventName,onResetEvent)}),()=>{nearnessRegistry.delete(desc.element),body.removeEventListener("drop",onDrop),body.removeEventListener("dragleave",onDragLeave),body.removeEventListener("dragenter",onDragEnter),body.removeEventListener("dragover",onDragOver),desc.element.removeEventListener("drop",onElementDrop),RESET_EVENTS.forEach(eventName=>{window.removeEventListener(eventName,onResetEvent)})}}function DropArea_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}let dropAreaRegistry=new Set;class DropArea extends LitUploaderBlock.z{static{this.styleAttrs=[...super.styleAttrs,"uc-drop-area"]}get _localizedText(){let customText=this.text;return"string"==typeof customText&&customText.length>0?this.l10n(customText)||customText:this.l10n("drop-files-here")}isActive(){if(!this._isEnabled)return!1;let bounds=this.getBoundingClientRect(),hasSize=bounds.width>0&&bounds.height>0,isInViewport=bounds.top>=0&&bounds.left>=0&&bounds.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&bounds.right<=(window.innerWidth||document.documentElement.clientWidth),style=window.getComputedStyle(this),visible="hidden"!==style.visibility&&"none"!==style.display;return hasSize&&visible&&isInViewport}initCallback(){super.initCallback(),dropAreaRegistry.add(this),this._updateIsEnabled(),this._updateVisibility(),this._updateClickableListeners(),this._updateDragStateAttribute(DropzoneState.INACTIVE),this._destroyDropzone=addDropzone({element:this,shouldIgnore:()=>this._shouldIgnore(),onChange:state=>{this._updateDragStateAttribute(state)},onItems:items=>{items.length&&(items.forEach(item=>{"url"===item.type?this.api.addFileFromUrl(item.url,{source:UploadSource.pc.DROP_AREA}):"file"===item.type&&this.api.addFileFromObject(item.file,{source:UploadSource.pc.DROP_AREA,fullPath:item.fullPath})}),this.uploadCollection.size&&(this.set$({"*currentActivity":LitActivityBlock.S.activities.UPLOAD_LIST}),this.modalManager?.open(LitActivityBlock.S.activities.UPLOAD_LIST)))}}),this.updateComplete.then(()=>this._setupContentWrapperDropzone()),this.subConfigValue("sourceList",value=>{let list=(0,stringToArray.G)(value);this._sourceListAllowsLocal=list.includes(UploadSource.pc.LOCAL),this._updateIsEnabled(),this._updateVisibility()})}willUpdate(changedProperties){super.willUpdate(changedProperties),changedProperties.has("disabled")&&(this._updateIsEnabled(),this._updateVisibility())}updated(changedProperties){super.updated(changedProperties),changedProperties.has("clickable")&&this._updateClickableListeners()}_shouldIgnore(){return!(this._isEnabled&&this._couldHandleFiles())||!!this.fullscreen&&0!==dropAreaRegistry.size&&[...dropAreaRegistry].filter(el=>el!==this).filter(el=>el.isActive()).length>0}_couldHandleFiles(){let isMultiple=this.cfg.multiple,multipleMax=this.cfg.multipleMax,currentFilesCount=this.uploadCollection.size;return(!isMultiple||!multipleMax||!(currentFilesCount>=multipleMax))&&(!!isMultiple||!(currentFilesCount>0))}_updateIsEnabled(){let nextIsEnabled=this._sourceListAllowsLocal&&!this.disabled;this._isEnabled=nextIsEnabled}_updateVisibility(){let shouldBeVisible=this._isEnabled||!this.querySelector("[data-default-slot]");this._isVisible=shouldBeVisible,this.hidden=!shouldBeVisible}_updateDragStateAttribute(state){let stateText=Object.entries(DropzoneState).find(([,value])=>value===state)?.[0].toLowerCase();stateText&&this.setAttribute("drag-state",stateText)}_setupContentWrapperDropzone(){if(this._destroyContentWrapperDropzone)return;let contentWrapperEl=this._contentWrapperRef.value;contentWrapperEl&&(this._destroyContentWrapperDropzone=addDropzone({element:contentWrapperEl,onChange:state=>{let stateText=Object.entries(DropzoneState).find(([,value])=>value===state)?.[0].toLowerCase();stateText&&contentWrapperEl.setAttribute("drag-state",stateText)},onItems:()=>{},shouldIgnore:()=>this._shouldIgnore()}))}_updateClickableListeners(){this.clickable&&!this._clickableListenersAttached?(this.addEventListener("keydown",this._handleAreaInteraction),this.addEventListener("click",this._handleAreaInteraction),this._clickableListenersAttached=!0):!this.clickable&&this._clickableListenersAttached&&(this.removeEventListener("keydown",this._handleAreaInteraction),this.removeEventListener("click",this._handleAreaInteraction),this._clickableListenersAttached=!1)}disconnectedCallback(){super.disconnectedCallback(),dropAreaRegistry.delete(this),this._destroyDropzone?.(),this._destroyContentWrapperDropzone?.(),this._clickableListenersAttached&&(this.removeEventListener("keydown",this._handleAreaInteraction),this.removeEventListener("click",this._handleAreaInteraction),this._clickableListenersAttached=!1)}render(){return(0,lit.qy)` ${this.yield("",(0,lit.qy)`<div data-default-slot hidden></div><div ${(0,ref.K)(this._contentWrapperRef)} class="uc-content-wrapper" ?hidden=${!this._isVisible}><div class="uc-icon-container" ?hidden=${!this.withIcon}><uc-icon name="default"></uc-icon><uc-icon name="arrow-down"></uc-icon></div><span class="uc-text">${this._localizedText}</span></div>`)} `}constructor(...args){super(...args),this.single=!1,this.ghost=!1,this.disabled=!1,this.clickable=!1,this.withIcon=!1,this.fullscreen=!1,this.initflow=!1,this._isEnabled=!0,this._isVisible=!0,this._destroyDropzone=null,this._destroyContentWrapperDropzone=null,this._contentWrapperRef=(0,ref._)(),this._handleAreaInteraction=event=>{if(event instanceof KeyboardEvent){if("Space"!==event.code&&"Enter"!==event.code)return}else if(!(event instanceof MouseEvent))return;this.initflow?this.api.initFlow():this.api.openSystemDialog()},this._sourceListAllowsLocal=!0,this._clickableListenersAttached=!1}}DropArea_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,noAccessor:!0})],DropArea.prototype,"single",void 0),DropArea_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,noAccessor:!0})],DropArea.prototype,"ghost",void 0),DropArea_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],DropArea.prototype,"disabled",void 0),DropArea_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],DropArea.prototype,"clickable",void 0),DropArea_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,attribute:"with-icon",reflect:!0})],DropArea.prototype,"withIcon",void 0),DropArea_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],DropArea.prototype,"fullscreen",void 0),DropArea_ts_decorate([(0,lit_decorators.MZ)({type:Boolean,reflect:!0})],DropArea.prototype,"initflow",void 0),DropArea_ts_decorate([(0,lit_decorators.MZ)({type:String})],DropArea.prototype,"text",void 0),DropArea_ts_decorate([(0,lit_decorators.wk)()],DropArea.prototype,"_isEnabled",void 0),DropArea_ts_decorate([(0,lit_decorators.wk)()],DropArea.prototype,"_isVisible",void 0);var ExternalSource=__webpack_require__(7860),index_browser=__webpack_require__(3074);function FileItem_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}let FileItemState=Object.freeze({FINISHED:Symbol("FINISHED"),FAILED:Symbol("FAILED"),UPLOADING:Symbol("UPLOADING"),VALIDATION:Symbol("VALIDATION"),QUEUED_UPLOADING:Symbol("QUEUED-UPLOADING"),QUEUED_VALIDATION:Symbol("QUEUED-VALIDATION"),IDLE:Symbol("IDLE")});class FileItem extends FileItemConfig{_calculateState(){let entry=this.entry;if(!entry)return;let state=FileItemState.IDLE;entry.getValue("errors").length>0?state=FileItemState.FAILED:entry.getValue("isQueuedForUploading")?state=FileItemState.QUEUED_UPLOADING:entry.getValue("isQueuedForValidation")?state=FileItemState.QUEUED_VALIDATION:entry.getValue("isValidationPending")?state=FileItemState.VALIDATION:entry.getValue("isUploading")?state=FileItemState.UPLOADING:entry.getValue("fileInfo")&&(state=FileItemState.FINISHED),this._handleState(entry,state)}_handleState(entry,state){state===FileItemState.FAILED?this._badgeIcon="badge-error":state===FileItemState.FINISHED&&(this._badgeIcon="badge-success"),state===FileItemState.UPLOADING&&(this._isFocused=!1,this.removeAttribute("focused")),this._isFailed=state===FileItemState.FAILED,this._isUploading=state===FileItemState.UPLOADING,this._isFinished=state===FileItemState.FINISHED,this._updateHintAndProgress(state)}reset(){super.reset(),this._debouncedCalculateState.cancel()}_observerCallback(entries){let[entry]=entries;entry&&entry.isIntersecting&&!this._renderedOnce&&(this._pauseRender=!1,this._renderedOnce=!0)}_handleEntryId(id){this.reset();let entry=this.uploadCollection?.read(id);(this.entry=entry,entry)?(this.subEntry("isQueuedForValidation",()=>{this._debouncedCalculateState()}),this.subEntry("isValidationPending",()=>{this._debouncedCalculateState()}),this.subEntry("uploadProgress",()=>{this._debouncedCalculateState()}),this.subEntry("isQueuedForUploading",()=>{this._debouncedCalculateState()}),this.subEntry("fileName",name=>{this._itemName=name||entry.getValue("externalUrl")||this.l10n("file-no-name"),this._debouncedCalculateState()}),this.subEntry("externalUrl",externalUrl=>{this._itemName=entry.getValue("fileName")||externalUrl||this.l10n("file-no-name")}),this.subEntry("fileInfo",()=>{this._debouncedCalculateState()}),this.subEntry("errors",()=>this._debouncedCalculateState()),this.subEntry("isUploading",()=>this._debouncedCalculateState()),this.subEntry("fileSize",()=>this._debouncedCalculateState()),this.subEntry("mimeType",()=>this._debouncedCalculateState()),this.subEntry("isImage",()=>this._debouncedCalculateState()),this.subEntry("fileInfo",()=>this._updatePluginFileActions()),this.subEntry("isUploading",()=>this._updatePluginFileActions()),this.subEntry("errors",()=>this._updatePluginFileActions()),this._calculateState(),this._updatePluginFileActions(),this._applyOnAddHooks(entry)):this._updatePluginFileActions()}async _applyOnAddHooks(entry){let initialFile=entry.getValue("file");if(!initialFile)return;let pluginManager=this._sharedInstancesBag.pluginManager,onAddHooks=(pluginManager?.snapshot().fileHooks??[]).filter(h=>"onAdd"===h.type),file=initialFile,mimeType=entry.getValue("mimeType");for(let hook of onAddHooks)try{({file,mimeType}=await hook.handler({file,mimeType}))}catch(error){this.debugPrint(`File hook "onAdd" from plugin "${hook.pluginId}" failed`,error)}file!==initialFile&&(entry.setValue("file",file),entry.setValue("fileSize",file.size)),mimeType!==entry.getValue("mimeType")&&entry.setValue("mimeType",mimeType)}_updateShowFileNames(value){if("list"===this.cfg.filesViewMode){this._showFileNames=!0;return}this._showFileNames=value}willUpdate(changedProperties){super.willUpdate(changedProperties),changedProperties.has("uid")&&this._handleEntryId(this.uid)}_updatePluginFileActions(){let pluginManager=this._sharedInstancesBag.pluginManager;if(!pluginManager||!this.uid){this._pluginFileActions=[];return}let allFileActions=pluginManager.snapshot().fileActions,outputFileEntry=this.api.getOutputItem(this.uid);if(!outputFileEntry){this._pluginFileActions=[];return}this._pluginFileActions=allFileActions.filter(action=>{try{return action.shouldRender(outputFileEntry)}catch(error){return console.error(`Error in plugin file action shouldRender (${action.id}):`,error),!1}})}_handlePluginFileAction(action){if(!this.uid)return;let outputFileEntry=this.api.getOutputItem(this.uid);if(outputFileEntry)try{action.onClick(outputFileEntry)}catch(error){console.error(`Error in plugin file action onClick (${action.id}):`,error)}}initCallback(){super.initCallback(),this._handleEntryId(this.uid),this.subConfigValue("filesViewMode",mode=>{this._updateShowFileNames(this.cfg.gridShowFileNames),this.setAttribute("mode",mode)}),this.subConfigValue("gridShowFileNames",value=>{this._updateShowFileNames(value)}),this.onclick=()=>{FileItem.activeInstances.forEach(inst=>{inst===this?inst.setAttribute("focused",""):inst.removeAttribute("focused")})},this.sub("*uploadTrigger",itemsToUpload=>{(!this.entry||itemsToUpload.has(this.entry.uid))&&setTimeout(()=>this.isConnected&&this._upload())});let pluginManager=this._sharedInstancesBag.pluginManager;pluginManager?.onPluginsChange&&(this._unsubscribePlugins=pluginManager.onPluginsChange(()=>this._updatePluginFileActions())),this._updatePluginFileActions(),FileItem.activeInstances.add(this)}connectedCallback(){super.connectedCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]}),this._observer.observe(this)}disconnectedCallback(){this._unsubscribePlugins?.(),this._unsubscribePlugins=void 0,super.disconnectedCallback(),this._observer?.disconnect(),FileItem.activeInstances.delete(this),this.reset()}static{this.activeInstances=new Set}shouldUpdate(changedProperties){return!this._pauseRender&&super.shouldUpdate(changedProperties)}render(){return(0,lit.qy)`<div class="uc-inner" ?data-finished=${this._isFinished} ?data-uploading=${this._isUploading} ?data-failed=${this._isFailed} ?data-focused=${this._isFocused} ><uc-thumb .uid=${this.uid} .badgeIcon=${this._badgeIcon}></uc-thumb><div aria-atomic="true" aria-live="polite" class="uc-file-name-wrapper" aria-label=${this._ariaLabelStatusFile}><span class="uc-file-name" ?hidden=${!this._showFileNames}>${this._itemName}</span><span class="uc-file-error" ?hidden=${!this._errorText}>${this._errorText}</span><span class="uc-file-hint" ?hidden=${!this._hint}>${this._hint}</span></div><div class="uc-file-actions"> ${this._pluginFileActions.map(action=>(0,lit.qy)`<button type="button" @click=${()=>this._handlePluginFileAction(action)} title=${action.id} aria-label=${action.id} class="uc-plugin-action-btn uc-mini-btn" data-plugin-action-id=${action.id} ><uc-icon name=${action.icon}></uc-icon></button>`)} <button type="button" @click=${this._handleRemove} title=${this.l10n("file-item-remove-button")} aria-label=${this.l10n("file-item-remove-button")} class="uc-remove-btn uc-mini-btn" ><uc-icon name="remove-file"></uc-icon></button><button type="button" class="uc-upload-btn uc-mini-btn" @click=${this._handleUploadClick}><uc-icon name="upload"></uc-icon></button></div><uc-progress-bar class="uc-progress-bar" .value=${this._progressValue} .visible=${this._progressVisible} ?hasFileName=${this._showFileNames}></uc-progress-bar></div>`}constructor(...args){super(...args),this.couldBeCtxOwner=!0,this._pauseRender=!0,this.uid="",this._itemName="",this._errorText="",this._hint="",this._progressValue=0,this._progressVisible=!1,this._badgeIcon="",this._isFinished=!1,this._isFailed=!1,this._isUploading=!1,this._isFocused=!1,this._showFileNames=!1,this._ariaLabelStatusFile="",this._pluginFileActions=[],this._renderedOnce=!1,this._handleRemove=()=>{this.telemetryManager.sendEvent({payload:{metadata:{event:"remove-file",node:this.tagName}}}),this.uid&&this.uploadCollection.hasItem(this.uid)&&this.uploadCollection.remove(this.uid)},this._handleUploadClick=()=>{this._upload()},this._debouncedCalculateState=(0,debounce.s)(()=>this._calculateState(),100),this._updateHintAndProgress=this.withEntry((0,throttle.n)((entry,state)=>{let errorText=entry.getValue("errors")?.[0]?.message??"",source=entry.getValue("source"),externalUrl=entry.getValue("externalUrl"),isFinished=state===FileItemState.FINISHED,isUploading=state===FileItemState.UPLOADING,isQueuedForUploading=state===FileItemState.QUEUED_UPLOADING,isQueuedForValidation=state===FileItemState.QUEUED_VALIDATION,isValidationPending=state===FileItemState.VALIDATION,fileName=entry.getValue("fileName"),hint="";errorText?hint="":!isFinished&&externalUrl&&source&&Object.values(UploadSource.y5).includes(source)&&(hint=this.l10n("waiting-for",{source:this.l10n(`src-type-${source}`)})),this._hint=hint,this._errorText=errorText,this._progressVisible=isUploading||isQueuedForUploading||isQueuedForValidation||isValidationPending,this._progressValue=isQueuedForValidation||isValidationPending?0:entry.getValue("uploadProgress"),this._ariaLabelStatusFile=fileName?this.l10n("a11y-file-item-status",{fileName,status:this.l10n(state?.description?.toLocaleLowerCase()??"").toLocaleLowerCase()}):""},100)),this._upload=this.withEntry(async entry=>{if(!this.uploadCollection.read(entry.uid)||entry.getValue("fileInfo")||entry.getValue("isUploading")||entry.getValue("errors").length>0||entry.getValue("isValidationPending"))return;let multipleMax=this.cfg.multiple?this.cfg.multipleMax:1;if(!multipleMax||!(this.uploadCollection.size>multipleMax)){entry.setMultipleValues({isUploading:!0,errors:[],isQueuedForUploading:!0}),this._debouncedCalculateState();try{let abortController=new AbortController;entry.setValue("abortController",abortController);let uploadTask=async()=>{entry.setValue("isQueuedForUploading",!1);let file=entry.getValue("file");if(file instanceof File||file instanceof Blob){let pluginManager=this._sharedInstancesBag.pluginManager;for(let hook of(pluginManager?.snapshot().fileHooks??[]).filter(h=>"beforeUpload"===h.type))try{let{file:newFile,mimeType:newMimeType}=await hook.handler({file,mimeType:entry.getValue("mimeType")});file=newFile,newMimeType!==entry.getValue("mimeType")&&entry.setValue("mimeType",newMimeType)}catch(error){this.debugPrint(`File hook "beforeUpload" from plugin "${hook.pluginId}" failed`,error)}}let fileInput=file||entry.getValue("externalUrl")||entry.getValue("uuid");if(!fileInput)throw Error("No file input");let uploadClientOptions={...await this.getUploadClientOptions(),fileName:entry.getValue("fileName")??void 0,source:entry.getValue("source")??void 0,onProgress:progress=>{if(progress.isComputable){let percentage=100*progress.value;entry.setValue("uploadProgress",percentage)}},signal:abortController.signal,metadata:await this.getMetadataFor(entry.uid)};return this.debugPrint("upload options",fileInput,uploadClientOptions),(0,index_browser.QM)(fileInput,uploadClientOptions)},fileInfo=await this.$["*uploadQueue"].add(uploadTask);entry.setMultipleValues({fileInfo,isQueuedForUploading:!1,isUploading:!1,fileName:fileInfo.originalFilename,fileSize:fileInfo.size,isImage:fileInfo.isImage??!1,mimeType:fileInfo.contentInfo?.mime?.mime??fileInfo.mimeType,uuid:fileInfo.uuid,cdnUrl:entry.getValue("cdnUrl")??fileInfo.cdnUrl,cdnUrlModifiers:entry.getValue("cdnUrlModifiers")??"",uploadProgress:100,source:entry.getValue("source")??null}),entry===this.entry&&this._debouncedCalculateState()}catch(cause){this.telemetryManager.sendEventError(cause,"file upload. Failed to upload file"),cause instanceof index_browser.p3&&cause.isCancel?entry.setMultipleValues({isUploading:!1,uploadProgress:0}):cause instanceof index_browser.Be?entry.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:cause}):(console.error("Unknown upload error",cause),entry.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:Error("Something went wrong",{cause})})),entry===this.entry&&this._debouncedCalculateState()}}})}}function SimpleBtn_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_pauseRender",void 0),FileItem_ts_decorate([(0,lit_decorators.MZ)({attribute:!1})],FileItem.prototype,"uid",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_itemName",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_errorText",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_hint",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_progressValue",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_progressVisible",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_badgeIcon",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_isFinished",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_isFailed",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_isUploading",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_isFocused",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_showFileNames",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_ariaLabelStatusFile",void 0),FileItem_ts_decorate([(0,lit_decorators.wk)()],FileItem.prototype,"_pluginFileActions",void 0);class SimpleBtn extends LitUploaderBlock.z{static{this.styleAttrs=[...super.styleAttrs,"uc-simple-btn"]}initCallback(){super.initCallback(),this.subConfigValue("multiple",val=>{this._buttonTextKey=val?"upload-files":"upload-file"})}render(){return(0,lit.qy)`<uc-drop-area .disabled=${!this.dropzone}><button type="button" @click=${this._handleClick}><uc-icon name="upload"></uc-icon><span>${this.l10n(this._buttonTextKey)}</span> ${this.yield("")} <div class="uc-visual-drop-area">${this.l10n("drop-files-here")}</div></button></uc-drop-area>`}constructor(...args){super(...args),this.couldBeCtxOwner=!0,this.dropzone=!0,this._buttonTextKey="upload-file",this._handleClick=()=>{this.api.initFlow()}}}function PluginActivityRenderer_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}SimpleBtn_ts_decorate([(0,lit_decorators.MZ)({attribute:"dropzone",type:Boolean})],SimpleBtn.prototype,"dropzone",void 0),SimpleBtn_ts_decorate([(0,lit_decorators.wk)()],SimpleBtn.prototype,"_buttonTextKey",void 0);class PluginActivityHost extends LitActivityBlock.S{initCallback(){this.activityType=this.registration?.id??null,super.initCallback(),this._ensureRegistered()}willUpdate(changedProperties){super.willUpdate(changedProperties),changedProperties.has("registration")&&(this._ensureRegistered(),this.isActivityActive&&(this._disposeActivity(),this._renderActivity()))}_ensureRegistered(){!this.registration||this._isActivityRegistered()||this.registerActivity(this.activityType??"",{onActivate:()=>this._renderActivity(),onDeactivate:()=>this._disposeActivity()})}_renderActivity(){let container=this._containerRef.value;if(!container||!this.registration)return;this._disposeActivity();let activityParams=this.$["*currentActivityParams"];this._dispose=this.registration.render(container,activityParams)??void 0}_disposeActivity(){this._dispose?.(),this._dispose=void 0;let container=this._containerRef.value;container&&container.replaceChildren()}disconnectedCallback(){this._disposeActivity(),super.disconnectedCallback()}render(){return(0,lit.qy)`<div style="display: flex; flex-direction: column; width: 100%; min-height: 0;" ${(0,ref.K)(this._containerRef)} ></div>`}constructor(...args){super(...args),this.activityType=null,this._containerRef=(0,ref._)()}}PluginActivityRenderer_ts_decorate([(0,lit_decorators.MZ)({attribute:!1})],PluginActivityHost.prototype,"registration",void 0);class PluginActivityRenderer extends LitBlock.x{initCallback(){super.initCallback();let pluginManager=this._sharedInstancesBag.pluginManager;pluginManager?.onPluginsChange&&(this._unsubscribePlugins=pluginManager.onPluginsChange(()=>this._syncActivities())),this._syncActivities()}_syncActivities(){let pluginManager=this._sharedInstancesBag.pluginManager;if(!pluginManager){this._activities=[];return}this._activities=pluginManager.snapshot().activities}disconnectedCallback(){this._unsubscribePlugins?.(),this._unsubscribePlugins=void 0,super.disconnectedCallback()}render(){return"inline"===this.mode?(0,lit.qy)`${repeat_c(this._activities,activity=>activity.id,activity=>(0,lit.qy)`<uc-plugin-activity-host .registration=${activity}></uc-plugin-activity-host>`)}`:(0,lit.qy)`${repeat_c(this._activities,activity=>activity.id,activity=>(0,lit.qy)`<uc-modal id=${activity.id} strokes block-body-scrolling><uc-plugin-activity-host .registration=${activity}></uc-plugin-activity-host></uc-modal>`)}`}constructor(...args){super(...args),this.mode="modal",this._activities=[]}}PluginActivityRenderer_ts_decorate([(0,lit_decorators.MZ)({type:String})],PluginActivityRenderer.prototype,"mode",void 0),PluginActivityRenderer_ts_decorate([(0,lit_decorators.wk)()],PluginActivityRenderer.prototype,"_activities",void 0);class FileUploaderRegular extends LitSolutionBlock{static{this.styleAttrs=[...super.styleAttrs,"uc-file-uploader-regular"]}constructor(){super(),this.headless=!1,this.init$={...this.init$}}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.INIT_SOLUTION})}render(){return(0,lit.qy)`${super.render()} <uc-simple-btn ?hidden=${this.headless}></uc-simple-btn><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" class="uc-secondary-btn" @click=${this.$["*historyBack"]}>${this.l10n("start-from-cancel")}</button><uc-copyright></uc-copyright></uc-start-from></uc-modal><uc-modal id="upload-list" strokes block-body-scrolling><uc-upload-list></uc-upload-list></uc-modal><uc-plugin-activity-renderer mode="modal"></uc-plugin-activity-renderer>`}}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.MZ)({type:Boolean})],FileUploaderRegular.prototype,"headless",void 0);class FileUploaderInline extends LitSolutionBlock{static{this.styleAttrs=[...super.styleAttrs,"uc-file-uploader-inline"]}constructor(){super(),this._couldCancel=!1,this._handleCancel=()=>{if(this._couldHistoryBack){let historyBack=this.$["*historyBack"];historyBack?.();return}this._couldShowList&&(this.$["*currentActivity"]=LitActivityBlock.S.activities.UPLOAD_LIST)},this.init$={...this.init$}}get _couldHistoryBack(){let history=this.$["*history"];return!!history&&!(history.length<=1)&&history[history.length-1]!==LitActivityBlock.S.activities.START_FROM}get _couldShowList(){let uploadList=this.$["*uploadList"];return this.cfg.showEmptyList||Array.isArray(uploadList)&&uploadList.length>0}_getInitActivity(){return this.getCssData("--cfg-init-activity")||LitActivityBlock.S.activities.START_FROM}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.INIT_SOLUTION});let initActivity=this._getInitActivity();this.sub("*currentActivity",val=>{val||(this.$["*currentActivity"]=initActivity)}),this.sub("*uploadList",list=>{Array.isArray(list)&&list.length>0&&this.$["*currentActivity"]===initActivity&&(this.$["*currentActivity"]=LitActivityBlock.S.activities.UPLOAD_LIST)}),this.sub("*history",()=>{this._couldCancel=this._couldHistoryBack||this._couldShowList})}render(){return(0,lit.qy)`${super.render()} <uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" class="uc-cancel-btn uc-secondary-btn" @click=${this._handleCancel} ?hidden=${!this._couldCancel} > ${this.l10n("start-from-cancel")} </button><uc-copyright></uc-copyright></uc-start-from><uc-upload-list></uc-upload-list><uc-plugin-activity-renderer mode="inline"></uc-plugin-activity-renderer>`}}function FileUploaderMinimal_ts_decorate(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r}!function(decorators,target,key,desc){var d,c=arguments.length,r=c<3?target:null===desc?desc=Object.getOwnPropertyDescriptor(target,key):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);c>3&&r&&Object.defineProperty(target,key,r)}([(0,lit_decorators.wk)()],FileUploaderInline.prototype,"_couldCancel",void 0);let ACTIVE_CLASS="active";class FileUploaderMinimal extends LitSolutionBlock{static{this.styleAttrs=[...super.styleAttrs,"uc-file-uploader-minimal"]}_getInitActivity(){return this.getCssData("--cfg-init-activity")||LitActivityBlock.S.activities.START_FROM}constructor(){super(),this._singleUpload=!1,this._isHiddenStartFrom=!1,this._classUploadList="",this._classStartFrom="",this._handleModalOpen=data=>{data.id===LitActivityBlock.S.activities.CLOUD_IMG_EDIT&&(this._classUploadList=ACTIVE_CLASS),this.$["*currentActivity"]===LitActivityBlock.S.activities.UPLOAD_LIST&&(this._classUploadList=ACTIVE_CLASS,this._isHiddenStartFrom=!0);let uploadList=this.$["*uploadList"];(!uploadList||uploadList.length<=0)&&(this._classStartFrom=ACTIVE_CLASS)},this._handleModalClose=data=>{data.id===this.$["*currentActivity"]&&(this.$["*currentActivity"]=LitActivityBlock.S.activities.UPLOAD_LIST,this._isHiddenStartFrom=!1),data.id===LitActivityBlock.S.activities.CLOUD_IMG_EDIT&&(this.$["*currentActivity"]=LitActivityBlock.S.activities.UPLOAD_LIST)},this.init$={...this.init$}}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:EventEmitter.Kc.INIT_SOLUTION});let initActivity=this._getInitActivity();this.sub("*currentActivity",val=>{val===LitActivityBlock.S.activities.UPLOAD_LIST&&this.modalManager?.closeAll(),val||(this.$["*currentActivity"]=initActivity)}),this.sub("*uploadList",list=>{Array.isArray(list)&&list.length>0?(this.$["*currentActivity"]=LitActivityBlock.S.activities.UPLOAD_LIST,this._classStartFrom=""):(this._classUploadList="",this._isHiddenStartFrom=!1,this.$["*currentActivity"]=initActivity)}),this.subConfigValue("confirmUpload",confirmUpload=>{!1!==confirmUpload&&(this.cfg.confirmUpload=!1)}),this.subConfigValue("filesViewMode",mode=>{this.setAttribute("mode",mode),this.subConfigValue("multiple",multiple=>{"grid"===mode?(multiple?this.style.removeProperty("--uc-grid-col"):this.style.setProperty("--uc-grid-col","1"),this._singleUpload=!multiple):(this.style.removeProperty("--uc-grid-col"),this._singleUpload=!1)})}),this.modalManager?.subscribe(ModalManager.D.OPEN,this._handleModalOpen),this.modalManager?.subscribe(ModalManager.D.CLOSE,this._handleModalClose)}disconnectedCallback(){super.disconnectedCallback(),this.modalManager?.unsubscribe(ModalManager.D.OPEN,this._handleModalOpen),this.modalManager?.unsubscribe(ModalManager.D.CLOSE,this._handleModalClose)}render(){return(0,lit.qy)`${super.render()} <uc-start-from ?hidden=${this._isHiddenStartFrom} class=${this._classStartFrom}><uc-drop-area ?single=${this._singleUpload} initflow clickable tabindex="0" ><span>${this.l10n("choose-file")}</span></uc-drop-area><uc-copyright></uc-copyright></uc-start-from><uc-upload-list class=${this._classUploadList}></uc-upload-list><uc-modal id="start-from" strokes block-body-scrolling><uc-start-from><uc-drop-area with-icon clickable></uc-drop-area><uc-source-list role="list" wrap></uc-source-list><button type="button" class="uc-secondary-btn" @click=${this.$["*historyBack"]} >${this.l10n("start-from-cancel")}</button></uc-start-from></uc-modal><uc-plugin-activity-renderer mode="modal"></uc-plugin-activity-renderer>`}}FileUploaderMinimal_ts_decorate([(0,lit_decorators.wk)()],FileUploaderMinimal.prototype,"_singleUpload",void 0),FileUploaderMinimal_ts_decorate([(0,lit_decorators.wk)()],FileUploaderMinimal.prototype,"_isHiddenStartFrom",void 0),FileUploaderMinimal_ts_decorate([(0,lit_decorators.wk)()],FileUploaderMinimal.prototype,"_classUploadList",void 0),FileUploaderMinimal_ts_decorate([(0,lit_decorators.wk)()],FileUploaderMinimal.prototype,"_classStartFrom",void 0)})();var __webpack_exports__ActivityBlock=__webpack_exports__.hC,__webpack_exports__ActivityHeader=__webpack_exports__.vr,__webpack_exports__BaseComponent=__webpack_exports__.$G,__webpack_exports__Block=__webpack_exports__.eB,__webpack_exports__CameraSource=__webpack_exports__.ru,__webpack_exports__Config=__webpack_exports__.TS,__webpack_exports__Copyright=__webpack_exports__.Y0,__webpack_exports__Data=__webpack_exports__.B_,__webpack_exports__DropArea=__webpack_exports__.JU,__webpack_exports__ExternalSource=__webpack_exports__.Bp,__webpack_exports__ExternalUploadSource=__webpack_exports__.y5,__webpack_exports__FileItem=__webpack_exports__.I3,__webpack_exports__FileUploaderInline=__webpack_exports__.Az,__webpack_exports__FileUploaderMinimal=__webpack_exports__.eK,__webpack_exports__FileUploaderRegular=__webpack_exports__.vY,__webpack_exports__FormInput=__webpack_exports__.ZQ,__webpack_exports__Icon=__webpack_exports__.In,__webpack_exports__Img=__webpack_exports__.E9,__webpack_exports__Modal=__webpack_exports__.aF,__webpack_exports__ModalEvents=__webpack_exports__.Do,__webpack_exports__PACKAGE_NAME=__webpack_exports__.rM,__webpack_exports__PACKAGE_VERSION=__webpack_exports__.i8,__webpack_exports__PluginActivityHost=__webpack_exports__.rt,__webpack_exports__PluginActivityRenderer=__webpack_exports__.wB,__webpack_exports__ProgressBar=__webpack_exports__.z2,__webpack_exports__ProgressBarCommon=__webpack_exports__.qB,__webpack_exports__Select=__webpack_exports__.l6,__webpack_exports__SimpleBtn=__webpack_exports__.jj,__webpack_exports__SolutionBlock=__webpack_exports__.Vd,__webpack_exports__SourceBtn=__webpack_exports__.s9,__webpack_exports__SourceList=__webpack_exports__.Ar,__webpack_exports__Spinner=__webpack_exports__.y$,__webpack_exports__StartFrom=__webpack_exports__.Zz,__webpack_exports__Thumb=__webpack_exports__.zi,__webpack_exports__UID=__webpack_exports__.V0,__webpack_exports__UploadCtxProvider=__webpack_exports__._Q,__webpack_exports__UploadList=__webpack_exports__.cx,__webpack_exports__UploadSource=__webpack_exports__.pc,__webpack_exports__UploaderBlock=__webpack_exports__.iE,__webpack_exports__UrlSource=__webpack_exports__.Ts,__webpack_exports__defineComponents=__webpack_exports__.Yi,__webpack_exports__defineLocale=__webpack_exports__.mO,__webpack_exports__loadFileUploaderFrom=__webpack_exports__.DJ,__webpack_exports__toKebabCase=__webpack_exports__.fX;export{__webpack_exports__ActivityBlock as ActivityBlock,__webpack_exports__ActivityHeader as ActivityHeader,__webpack_exports__BaseComponent as BaseComponent,__webpack_exports__Block as Block,__webpack_exports__CameraSource as CameraSource,__webpack_exports__Config as Config,__webpack_exports__Copyright as Copyright,__webpack_exports__Data as Data,__webpack_exports__DropArea as DropArea,__webpack_exports__ExternalSource as ExternalSource,__webpack_exports__ExternalUploadSource as ExternalUploadSource,__webpack_exports__FileItem as FileItem,__webpack_exports__FileUploaderInline as FileUploaderInline,__webpack_exports__FileUploaderMinimal as FileUploaderMinimal,__webpack_exports__FileUploaderRegular as FileUploaderRegular,__webpack_exports__FormInput as FormInput,__webpack_exports__Icon as Icon,__webpack_exports__Img as Img,__webpack_exports__Modal as Modal,__webpack_exports__ModalEvents as ModalEvents,__webpack_exports__PACKAGE_NAME as PACKAGE_NAME,__webpack_exports__PACKAGE_VERSION as PACKAGE_VERSION,__webpack_exports__PluginActivityHost as PluginActivityHost,__webpack_exports__PluginActivityRenderer as PluginActivityRenderer,__webpack_exports__ProgressBar as ProgressBar,__webpack_exports__ProgressBarCommon as ProgressBarCommon,__webpack_exports__Select as Select,__webpack_exports__SimpleBtn as SimpleBtn,__webpack_exports__SolutionBlock as SolutionBlock,__webpack_exports__SourceBtn as SourceBtn,__webpack_exports__SourceList as SourceList,__webpack_exports__Spinner as Spinner,__webpack_exports__StartFrom as StartFrom,__webpack_exports__Thumb as Thumb,__webpack_exports__UID as UID,__webpack_exports__UploadCtxProvider as UploadCtxProvider,__webpack_exports__UploadList as UploadList,__webpack_exports__UploadSource as UploadSource,__webpack_exports__UploaderBlock as UploaderBlock,__webpack_exports__UrlSource as UrlSource,__webpack_exports__defineComponents as defineComponents,__webpack_exports__defineLocale as defineLocale,__webpack_exports__loadFileUploaderFrom as loadFileUploaderFrom,__webpack_exports__toKebabCase as toKebabCase};
|