@uploadcare/file-uploader 1.28.0-alpha.0 → 1.28.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActivityHeader-R6Mlx-dA.js +9 -0
- package/dist/ActivityHeader.css +23 -0
- package/dist/ActivityHeader.layered.css +24 -0
- package/dist/{CameraSource-DbyO6GoK.js → CameraSource-DDwj1jCV.js} +106 -76
- package/dist/CameraSource-n1tun2Df.js +10 -0
- package/dist/CameraSource.css +180 -0
- package/dist/CameraSource.layered.css +209 -0
- package/dist/{CloudImageEditor-BIxf1V4M.js → CloudImageEditor-DcVoIRb3.js} +66 -65
- package/dist/{CloudImageEditorActivity-d4DpK6fQ.js → CloudImageEditorActivity-Csij4nlC.js} +4 -4
- package/dist/{CloudImageEditorActivity-CJxP5N0S.js → CloudImageEditorActivity-DD4NdU0P.js} +4 -4
- package/dist/CloudImageEditorActivity.css +14 -0
- package/dist/CloudImageEditorActivity.layered.css +15 -0
- package/dist/{Config-DuWre5p3.js → Config-DKOromHY.js} +27 -27
- package/dist/Config.css +4 -0
- package/dist/Config.layered.css +5 -0
- package/dist/ExternalSource-6MSUgxqy.js +10 -0
- package/dist/{ExternalSource-BKTFp95O.js → ExternalSource-DVEjSkPB.js} +56 -51
- package/dist/ExternalSource.css +98 -0
- package/dist/ExternalSource.layered.css +116 -0
- package/dist/{Icon-CqTVC82Q.js → Icon-tXRTvEF2.js} +7 -8
- package/dist/Icon.css +14 -0
- package/dist/Icon.layered.css +15 -0
- package/dist/{LitUploaderBlock-BA34rzeU.js → LitUploaderBlock-LxeOZ0ya.js} +65 -65
- package/dist/{UrlSource-DZK5EBwT.js → UrlSource-BkyX00I2.js} +5 -5
- package/dist/UrlSource-RI8TSD48.js +10 -0
- package/dist/UrlSource.css +17 -0
- package/dist/UrlSource.layered.css +18 -0
- package/dist/abstract/loadFileUploaderFrom.js +3 -3
- package/dist/cameraPlugin-weRKO7eG.js +8 -0
- package/dist/{cloud-image-editor-fNswWrI4.js → cloud-image-editor-hhbyNWLG.js} +6 -6
- package/dist/cloud-image-editor.css +1380 -0
- package/dist/cloud-image-editor.layered.css +1549 -0
- package/dist/cloudImageEditorPlugin-FjUgbMK3.js +8 -0
- package/dist/{en-DNCwRJsB.js → en-8OWEmZim.js} +2 -2
- package/dist/env-mM-ksNPq.js +8 -0
- package/dist/env.js +3 -3
- package/dist/externalSourcesPlugin-CMBmLT8S.js +8 -0
- package/dist/imageShrinkPlugin-BN6loiP2.js +8 -0
- package/dist/index-base.css +2497 -0
- package/dist/index-base.layered.css +2837 -0
- package/dist/index.css +9 -3964
- package/dist/index.d.ts +13 -0
- package/dist/index.js +827 -42
- package/dist/index.layered.css +9 -4478
- package/dist/instagramPlugin-CXRm8MGL.js +8 -0
- package/dist/{loadFileUploaderFrom-BWJM43Yq.js → loadFileUploaderFrom-Bfz8L3VB.js} +3 -3
- package/dist/locales/file-uploader/ar.js +2 -2
- package/dist/locales/file-uploader/az.js +2 -2
- package/dist/locales/file-uploader/ca.js +2 -2
- package/dist/locales/file-uploader/cs.js +2 -2
- package/dist/locales/file-uploader/da.js +2 -2
- package/dist/locales/file-uploader/de.js +2 -2
- package/dist/locales/file-uploader/el.js +2 -2
- package/dist/locales/file-uploader/en.js +3 -3
- package/dist/locales/file-uploader/es.js +2 -2
- package/dist/locales/file-uploader/et.js +2 -2
- package/dist/locales/file-uploader/fi.js +2 -2
- package/dist/locales/file-uploader/fr.js +2 -2
- package/dist/locales/file-uploader/he.js +2 -2
- package/dist/locales/file-uploader/hy.js +2 -2
- package/dist/locales/file-uploader/is.js +2 -2
- package/dist/locales/file-uploader/it.js +2 -2
- package/dist/locales/file-uploader/ja.js +2 -2
- package/dist/locales/file-uploader/ka.js +2 -2
- package/dist/locales/file-uploader/kk.js +2 -2
- package/dist/locales/file-uploader/ko.js +2 -2
- package/dist/locales/file-uploader/lv.js +2 -2
- package/dist/locales/file-uploader/nb.js +2 -2
- package/dist/locales/file-uploader/nl.js +2 -2
- package/dist/locales/file-uploader/pl.js +2 -2
- package/dist/locales/file-uploader/pt.js +2 -2
- package/dist/locales/file-uploader/ro.js +2 -2
- package/dist/locales/file-uploader/ru.js +2 -2
- package/dist/locales/file-uploader/sk.js +2 -2
- package/dist/locales/file-uploader/sr.js +2 -2
- package/dist/locales/file-uploader/sv.js +2 -2
- package/dist/locales/file-uploader/tr.js +2 -2
- package/dist/locales/file-uploader/uk.js +2 -2
- package/dist/locales/file-uploader/vi.js +2 -2
- package/dist/locales/file-uploader/zh-TW.js +2 -2
- package/dist/locales/file-uploader/zh.js +2 -2
- package/dist/{plugins-DxjsQUa8.js → plugins-CGUls7EV.js} +6 -6
- package/dist/urlSourcePlugin-_WdbEhq2.js +8 -0
- package/package.json +1 -1
- package/web/ActivityHeader-BFdTdVfD.js +9 -0
- package/web/ActivityHeader-DQy6rII1.js +9 -0
- package/web/ActivityHeader-DvzMl0uj.js +9 -0
- package/web/ActivityHeader-i4x6_Fne.js +9 -0
- package/web/CameraSource-BAWIA4Wm.js +508 -0
- package/web/CameraSource-BqZCQcij.js +11 -0
- package/web/CameraSource-Brxr4tz4.js +508 -0
- package/web/CameraSource-BvBJ5Uzy.js +508 -0
- package/web/CameraSource-CkHzIE-h.js +11 -0
- package/web/CameraSource-D964yPLu.js +508 -0
- package/web/CameraSource-DE48Az-f.js +11 -0
- package/web/CameraSource-DyPebtRF.js +478 -0
- package/web/CameraSource-pj7Xo81m.js +11 -0
- package/web/CloudImageEditor-CTgUWB07.js +2192 -0
- package/web/CloudImageEditor-CxqV9Lwm.js +2192 -0
- package/web/CloudImageEditor-DoLWHpqV.js +2192 -0
- package/web/CloudImageEditor-Drywn265.js +2192 -0
- package/web/CloudImageEditor-MXcaDtMx.js +2187 -0
- package/web/CloudImageEditorActivity-BPzmfaJV.js +85 -0
- package/web/CloudImageEditorActivity-Br8pU5gd.js +11 -0
- package/web/CloudImageEditorActivity-Cw8b2CEz.js +11 -0
- package/web/CloudImageEditorActivity-Df1ySGq0.js +86 -0
- package/web/CloudImageEditorActivity-DinG5r0y.js +11 -0
- package/web/CloudImageEditorActivity-DmnLLINR.js +85 -0
- package/web/CloudImageEditorActivity-U90BGCek.js +85 -0
- package/web/CloudImageEditorActivity-dNLQZRZI.js +11 -0
- package/web/CloudImageEditorActivity-ur-hQ-6p.js +85 -0
- package/web/Config-8hlBNhvs.js +455 -0
- package/web/Config-BDZhPIyz.js +455 -0
- package/web/Config-CJVNrrjj.js +455 -0
- package/web/Config-DvkVtlQ7.js +455 -0
- package/web/ExternalSource-B9ycBFiD.js +10 -0
- package/web/ExternalSource-BE7HX47E.js +250 -0
- package/web/ExternalSource-BL5GSlol.js +250 -0
- package/web/ExternalSource-BXQY6Dlc.js +10 -0
- package/web/ExternalSource-BXxH3JCD.js +250 -0
- package/web/ExternalSource-BYSS-PPV.js +245 -0
- package/web/ExternalSource-C57a61QN.js +10 -0
- package/web/ExternalSource-CKfMtOgU.js +250 -0
- package/web/ExternalSource-DP6q8ylB.js +10 -0
- package/web/LitUploaderBlock-AX6jOdAS.js +996 -0
- package/web/LitUploaderBlock-BjAaoLl2.js +996 -0
- package/web/LitUploaderBlock-D8E5HuwH.js +996 -0
- package/web/LitUploaderBlock-Dl3ce0Tc.js +996 -0
- package/web/LitUploaderBlock-Oi33U0uf.js +996 -0
- package/web/UrlSource-B9SX3K0L.js +10 -0
- package/web/UrlSource-C3zB1rCb.js +70 -0
- package/web/UrlSource-C7bEU6Xv.js +10 -0
- package/web/UrlSource-CE389CBz.js +70 -0
- package/web/UrlSource-CnvAJ58Y.js +10 -0
- package/web/UrlSource-CqF0h6B-.js +10 -0
- package/web/UrlSource-D-971Nut.js +70 -0
- package/web/UrlSource-DhI3YCt5.js +70 -0
- package/web/UrlSource-hWV7jtB2.js +70 -0
- package/web/abstract/CTX.d.ts +40 -0
- package/web/abstract/TypedCollection.d.ts +47 -0
- package/web/abstract/TypedCollection.test.d.ts +1 -0
- package/web/abstract/TypedData.d.ts +12 -0
- package/web/abstract/TypedData.test.d.ts +1 -0
- package/web/abstract/UploaderPublicApi.d.ts +41 -0
- package/web/abstract/buildOutputCollectionState.d.ts +3 -0
- package/web/abstract/customConfigOptions.d.ts +65 -0
- package/web/abstract/defineComponents.d.ts +1 -0
- package/web/abstract/features/ClipboardLayer.d.ts +12 -0
- package/web/abstract/loadFileUploaderFrom.d.ts +13 -0
- package/web/abstract/localeRegistry.d.ts +5 -0
- package/web/abstract/managers/LocaleManager.d.ts +10 -0
- package/web/abstract/managers/ModalManager.d.ts +53 -0
- package/web/abstract/managers/SecureUploadsManager.d.ts +7 -0
- package/web/abstract/managers/TelemetryManager.d.ts +41 -0
- package/web/abstract/managers/ValidationManager.d.ts +34 -0
- package/web/abstract/managers/__tests__/ModalManager.test.d.ts +13 -0
- package/web/abstract/managers/__tests__/SecureUploadsManager.test.d.ts +1 -0
- package/web/abstract/managers/a11y.d.ts +9 -0
- package/web/abstract/managers/plugin/PluginManager.d.ts +25 -0
- package/web/abstract/managers/plugin/PluginTypes.d.ts +146 -0
- package/web/abstract/managers/plugin/index.d.ts +2 -0
- package/web/abstract/sharedConfigKey.d.ts +2 -0
- package/web/abstract/uploadEntrySchema.d.ts +34 -0
- package/web/blocks/ActivityHeader/ActivityHeader.d.ts +8 -0
- package/web/blocks/CameraSource/CameraSource.d.ts +121 -0
- package/web/blocks/CameraSource/__tests__/calcCameraModes.test.d.ts +1 -0
- package/web/blocks/CameraSource/calcCameraModes.d.ts +5 -0
- package/web/blocks/CameraSource/constants.d.ts +15 -0
- package/web/blocks/CloudImageEditor/index.d.ts +1 -0
- package/web/blocks/CloudImageEditor/src/CloudImageEditorBlock.d.ts +60 -0
- package/web/blocks/CloudImageEditor/src/CropFrame.d.ts +56 -0
- package/web/blocks/CloudImageEditor/src/EditorAspectRatioButtonControl.d.ts +24 -0
- package/web/blocks/CloudImageEditor/src/EditorButtonControl.d.ts +14 -0
- package/web/blocks/CloudImageEditor/src/EditorCropButtonControl.d.ts +13 -0
- package/web/blocks/CloudImageEditor/src/EditorFilterControl.d.ts +35 -0
- package/web/blocks/CloudImageEditor/src/EditorImageCropper.d.ts +56 -0
- package/web/blocks/CloudImageEditor/src/EditorImageFader.d.ts +63 -0
- package/web/blocks/CloudImageEditor/src/EditorOperationControl.d.ts +15 -0
- package/web/blocks/CloudImageEditor/src/EditorScroller.d.ts +15 -0
- package/web/blocks/CloudImageEditor/src/EditorSlider.d.ts +33 -0
- package/web/blocks/CloudImageEditor/src/EditorToolbar.d.ts +68 -0
- package/web/blocks/CloudImageEditor/src/crop-utils.d.ts +36 -0
- package/web/blocks/CloudImageEditor/src/crop-utils.test.d.ts +1 -0
- package/web/blocks/CloudImageEditor/src/cropper-constants.d.ts +10 -0
- package/web/blocks/CloudImageEditor/src/elements/button/BtnUi.d.ts +31 -0
- package/web/blocks/CloudImageEditor/src/elements/line-loader/LineLoaderUi.d.ts +19 -0
- package/web/blocks/CloudImageEditor/src/elements/presence-toggle/PresenceToggle.d.ts +27 -0
- package/web/blocks/CloudImageEditor/src/elements/slider/SliderUi.d.ts +38 -0
- package/web/blocks/CloudImageEditor/src/index.d.ts +15 -0
- package/web/blocks/CloudImageEditor/src/lib/classNames.d.ts +5 -0
- package/web/blocks/CloudImageEditor/src/lib/classNames.test.d.ts +1 -0
- package/web/blocks/CloudImageEditor/src/lib/linspace.d.ts +1 -0
- package/web/blocks/CloudImageEditor/src/lib/linspace.test.d.ts +1 -0
- package/web/blocks/CloudImageEditor/src/lib/parseCropPreset.d.ts +4 -0
- package/web/blocks/CloudImageEditor/src/lib/parseCropPreset.test.d.ts +1 -0
- package/web/blocks/CloudImageEditor/src/lib/parseTabs.d.ts +2 -0
- package/web/blocks/CloudImageEditor/src/lib/pick.d.ts +1 -0
- package/web/blocks/CloudImageEditor/src/lib/pick.test.d.ts +1 -0
- package/web/blocks/CloudImageEditor/src/lib/transformationUtils.d.ts +7 -0
- package/web/blocks/CloudImageEditor/src/state.d.ts +20 -0
- package/web/blocks/CloudImageEditor/src/svg-sprite.d.ts +2 -0
- package/web/blocks/CloudImageEditor/src/toolbar-constants.d.ts +61 -0
- package/web/blocks/CloudImageEditor/src/types.d.ts +60 -0
- package/web/blocks/CloudImageEditor/src/util.d.ts +2 -0
- package/web/blocks/CloudImageEditor/src/utils/parseFilterValue.d.ts +7 -0
- package/web/blocks/CloudImageEditor/src/utils/parseFilterValue.test.d.ts +1 -0
- package/web/blocks/CloudImageEditorActivity/CloudImageEditorActivity.d.ts +25 -0
- package/web/blocks/Config/Config.d.ts +60 -0
- package/web/blocks/Config/assertions.d.ts +5 -0
- package/web/blocks/Config/computed-properties.d.ts +24 -0
- package/web/blocks/Config/computed-properties.test.d.ts +1 -0
- package/web/blocks/Config/initialConfig.d.ts +6 -0
- package/web/blocks/Config/normalizeConfigValue.d.ts +2 -0
- package/web/blocks/Config/validatorsType.d.ts +18 -0
- package/web/blocks/Copyright/Copyright.d.ts +10 -0
- package/web/blocks/DropArea/DropArea.d.ts +47 -0
- package/web/blocks/DropArea/addDropzone.d.ts +17 -0
- package/web/blocks/DropArea/getDropItems.d.ts +12 -0
- package/web/blocks/ExternalSource/ExternalSource.d.ts +45 -0
- package/web/blocks/ExternalSource/MessageBridge.d.ts +11 -0
- package/web/blocks/ExternalSource/buildThemeDefinition.d.ts +4 -0
- package/web/blocks/ExternalSource/query-string.d.ts +1 -0
- package/web/blocks/ExternalSource/types.d.ts +105 -0
- package/web/blocks/FileItem/FileItem.d.ts +50 -0
- package/web/blocks/FileItem/FileItemConfig.d.ts +10 -0
- package/web/blocks/FormInput/FormInput.d.ts +18 -0
- package/web/blocks/Icon/Icon.d.ts +19 -0
- package/web/blocks/Img/Img.d.ts +14 -0
- package/web/blocks/Img/ImgBase.d.ts +29 -0
- package/web/blocks/Img/ImgConfig.d.ts +28 -0
- package/web/blocks/Img/configurations.d.ts +11 -0
- package/web/blocks/Img/props-map.d.ts +28 -0
- package/web/blocks/Img/utils/parseObjectToString.d.ts +2 -0
- package/web/blocks/Modal/Modal.d.ts +34 -0
- package/web/blocks/PluginActivityRenderer/PluginActivityRenderer.d.ts +32 -0
- package/web/blocks/PluginActivityRenderer/index.d.ts +1 -0
- package/web/blocks/ProgressBar/ProgressBar.d.ts +21 -0
- package/web/blocks/ProgressBarCommon/ProgressBarCommon.d.ts +17 -0
- package/web/blocks/Select/Select.d.ts +18 -0
- package/web/blocks/SimpleBtn/SimpleBtn.d.ts +15 -0
- package/web/blocks/SourceBtn/SourceBtn.d.ts +23 -0
- package/web/blocks/SourceList/SourceList.d.ts +24 -0
- package/web/blocks/Spinner/Spinner.d.ts +9 -0
- package/web/blocks/StartFrom/StartFrom.d.ts +12 -0
- package/web/blocks/Thumb/Thumb.d.ts +35 -0
- package/web/blocks/UploadCtxProvider/EventEmitter.d.ts +70 -0
- package/web/blocks/UploadCtxProvider/UploadCtxProvider.d.ts +44 -0
- package/web/blocks/UploadList/UploadList.d.ts +39 -0
- package/web/blocks/UrlSource/UrlSource.d.ts +14 -0
- package/web/blocks/svg-backgrounds/svg-backgrounds.d.ts +3 -0
- package/web/blocks/themes/uc-basic/svg-sprite.d.ts +2 -0
- package/web/cameraPlugin-DeedXMWV.js +8 -0
- package/web/cameraPlugin-Duy1QwjB.js +8 -0
- package/web/cameraPlugin-QS9SUOtO.js +8 -0
- package/web/cameraPlugin-bq8ggY04.js +8 -0
- package/web/cameraPlugin-cel9YgP_.js +8 -0
- package/web/cloud-image-editor-8DrVRZ7E.js +12 -0
- package/web/cloud-image-editor-BX50EK1U.js +12 -0
- package/web/cloud-image-editor-DSW3oWq-.js +12 -0
- package/web/cloud-image-editor-DuI2Lx4M.js +12 -0
- package/web/cloudImageEditorPlugin-5my6aD36.js +8 -0
- package/web/cloudImageEditorPlugin-Bk19DmJv.js +8 -0
- package/web/cloudImageEditorPlugin-CcdnmtBW.js +8 -0
- package/web/cloudImageEditorPlugin-DQJmDl03.js +8 -0
- package/web/cloudImageEditorPlugin-kojghfqw.js +8 -0
- package/web/constants-BCfCF0cJ.js +4025 -0
- package/web/core.d.ts +42 -0
- package/web/env.d.ts +2 -0
- package/web/externalSourcesPlugin-BTeRm5C0.js +8 -0
- package/web/externalSourcesPlugin-BXgVeojg.js +8 -0
- package/web/externalSourcesPlugin-BgLpuIK9.js +8 -0
- package/web/externalSourcesPlugin-DMc9zs4T.js +8 -0
- package/web/externalSourcesPlugin-Dm9vnTBv.js +8 -0
- package/web/file-uploader.iife.min.js +697 -0
- package/web/file-uploader.min.js +1859 -0
- package/web/imageShrinkPlugin-BdHgEGZH.js +8 -0
- package/web/imageShrinkPlugin-BjkMGfvT.js +8 -0
- package/web/imageShrinkPlugin-CCkGHL2w.js +8 -0
- package/web/imageShrinkPlugin-D4WjaRGo.js +8 -0
- package/web/imageShrinkPlugin-DqYGutVx.js +8 -0
- package/web/index.d.ts +42 -0
- package/web/instagramPlugin-BTMz0K2a.js +8 -0
- package/web/instagramPlugin-BbIKgTH7.js +8 -0
- package/web/instagramPlugin-CQQhsEJa.js +8 -0
- package/web/instagramPlugin-Cm7lWKae.js +8 -0
- package/web/instagramPlugin-DcclxM_d.js +8 -0
- package/web/lit/BaseComponent.d.ts +12 -0
- package/web/lit/Constructor.d.ts +1 -0
- package/web/lit/CssDataMixin.d.ts +7 -0
- package/web/lit/LightDomMixin.d.ts +8 -0
- package/web/lit/LitActivityBlock.d.ts +53 -0
- package/web/lit/LitBlock.d.ts +83 -0
- package/web/lit/LitSolutionBlock.d.ts +21 -0
- package/web/lit/LitUploaderBlock.d.ts +53 -0
- package/web/lit/PubSubCompat.d.ts +18 -0
- package/web/lit/RegisterableElementMixin.d.ts +7 -0
- package/web/lit/SharedState.d.ts +119 -0
- package/web/lit/SymbioteCompatMixin.d.ts +40 -0
- package/web/lit/TestModeController.d.ts +16 -0
- package/web/lit/Uid.d.ts +3 -0
- package/web/lit/activity-constants.d.ts +11 -0
- package/web/lit/createDebugPrinter.d.ts +3 -0
- package/web/lit/findBlockInCtx.d.ts +3 -0
- package/web/lit/getOutputData.d.ts +2 -0
- package/web/lit/hasBlockInCtx.d.ts +3 -0
- package/web/lit/l10n.d.ts +5 -0
- package/web/lit/parseCssPropertyValue.d.ts +1 -0
- package/web/lit/shared-instances.d.ts +65 -0
- package/web/locales/file-uploader/ar.d.ts +137 -0
- package/web/locales/file-uploader/az.d.ts +129 -0
- package/web/locales/file-uploader/ca.d.ts +131 -0
- package/web/locales/file-uploader/cs.d.ts +133 -0
- package/web/locales/file-uploader/da.d.ts +129 -0
- package/web/locales/file-uploader/de.d.ts +129 -0
- package/web/locales/file-uploader/el.d.ts +129 -0
- package/web/locales/file-uploader/en.d.ts +129 -0
- package/web/locales/file-uploader/es.d.ts +131 -0
- package/web/locales/file-uploader/et.d.ts +129 -0
- package/web/locales/file-uploader/fi.d.ts +129 -0
- package/web/locales/file-uploader/fr.d.ts +131 -0
- package/web/locales/file-uploader/he.d.ts +131 -0
- package/web/locales/file-uploader/hy.d.ts +129 -0
- package/web/locales/file-uploader/is.d.ts +129 -0
- package/web/locales/file-uploader/it.d.ts +131 -0
- package/web/locales/file-uploader/ja.d.ts +129 -0
- package/web/locales/file-uploader/ka.d.ts +129 -0
- package/web/locales/file-uploader/kk.d.ts +129 -0
- package/web/locales/file-uploader/ko.d.ts +129 -0
- package/web/locales/file-uploader/lv.d.ts +131 -0
- package/web/locales/file-uploader/nb.d.ts +129 -0
- package/web/locales/file-uploader/nl.d.ts +129 -0
- package/web/locales/file-uploader/pl.d.ts +133 -0
- package/web/locales/file-uploader/pt.d.ts +131 -0
- package/web/locales/file-uploader/ro.d.ts +131 -0
- package/web/locales/file-uploader/ru.d.ts +133 -0
- package/web/locales/file-uploader/sk.d.ts +133 -0
- package/web/locales/file-uploader/sr.d.ts +131 -0
- package/web/locales/file-uploader/sv.d.ts +129 -0
- package/web/locales/file-uploader/tr.d.ts +129 -0
- package/web/locales/file-uploader/uk.d.ts +133 -0
- package/web/locales/file-uploader/vi.d.ts +129 -0
- package/web/locales/file-uploader/zh-TW.d.ts +129 -0
- package/web/locales/file-uploader/zh.d.ts +129 -0
- package/web/plugins/cameraPlugin.d.ts +2 -0
- package/web/plugins/cloudImageEditorPlugin.d.ts +2 -0
- package/web/plugins/externalSourcesPlugin.d.ts +2 -0
- package/web/plugins/imageShrinkPlugin.d.ts +2 -0
- package/web/plugins/instagramPlugin.d.ts +2 -0
- package/web/plugins/unsplashPlugin.d.ts +16 -0
- package/web/plugins/urlSourcePlugin.d.ts +2 -0
- package/web/plugins-Bt7FXHKx.js +562 -0
- package/web/plugins-CaaolyMk.js +562 -0
- package/web/plugins-Cjgw5oWg.js +562 -0
- package/web/plugins-CzNtrVQB.js +562 -0
- package/web/plugins-DS0hIs2V.js +563 -0
- package/web/ref-BOnG19ns.js +4040 -0
- package/web/ref-BejJFG7m.js +4040 -0
- package/web/ref-DcRg7zo9.js +4040 -0
- package/web/ref-ZWPcLQB9.js +4040 -0
- package/web/solutions/adaptive-image/index.d.ts +2 -0
- package/web/solutions/cloud-image-editor/CloudImageEditor.d.ts +11 -0
- package/web/solutions/cloud-image-editor/index.d.ts +5 -0
- package/web/solutions/file-uploader/inline/FileUploaderInline.d.ts +20 -0
- package/web/solutions/file-uploader/inline/index.d.ts +1 -0
- package/web/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +23 -0
- package/web/solutions/file-uploader/minimal/index.d.ts +1 -0
- package/web/solutions/file-uploader/regular/FileUploaderRegular.d.ts +17 -0
- package/web/solutions/file-uploader/regular/index.d.ts +1 -0
- package/web/style-map-BmZdux7T.js +37 -0
- package/web/style-map-CZ6fSV6e.js +37 -0
- package/web/style-map-Dk7mLCrB.js +37 -0
- package/web/style-map-HkHnu9oA.js +37 -0
- package/web/style-map-tw1yUEaj.js +37 -0
- package/web/types/dom.d.ts +1 -0
- package/web/types/events.d.ts +4 -0
- package/web/types/exported.d.ts +492 -0
- package/web/types/index.d.ts +5 -0
- package/web/uc-basic.layered.min.css +6046 -0
- package/web/uc-basic.min.css +5487 -0
- package/web/uc-cloud-image-editor.layered.min.css +1884 -0
- package/web/uc-cloud-image-editor.min.css +1675 -0
- package/web/uc-cloud-image-editor.min.js +457 -0
- package/web/uc-file-uploader-inline.layered.min.css +4352 -0
- package/web/uc-file-uploader-inline.min.css +3836 -0
- package/web/uc-file-uploader-inline.min.js +1859 -0
- package/web/uc-file-uploader-minimal.layered.min.css +4352 -0
- package/web/uc-file-uploader-minimal.min.css +3836 -0
- package/web/uc-file-uploader-minimal.min.js +1859 -0
- package/web/uc-file-uploader-regular.layered.min.css +4352 -0
- package/web/uc-file-uploader-regular.min.css +3836 -0
- package/web/uc-file-uploader-regular.min.js +1859 -0
- package/web/uc-img.min.js +895 -0
- package/web/urlSourcePlugin-9lhcr02f.js +8 -0
- package/web/urlSourcePlugin-C-sLGhGb.js +8 -0
- package/web/urlSourcePlugin-DNXDpnRD.js +8 -0
- package/web/urlSourcePlugin-JnD0cnxb.js +8 -0
- package/web/urlSourcePlugin-hcMU2K6T.js +8 -0
- package/web/utils/UID.d.ts +5 -0
- package/web/utils/UID.test.d.ts +1 -0
- package/web/utils/UploadSource.d.ts +37 -0
- package/web/utils/WindowHeightTracker.d.ts +9 -0
- package/web/utils/abilities.d.ts +1 -0
- package/web/utils/applyStyles.d.ts +1 -0
- package/web/utils/browser-info.d.ts +12 -0
- package/web/utils/browser-info.test.d.ts +1 -0
- package/web/utils/cdn-utils.d.ts +53 -0
- package/web/utils/cdn-utils.test.d.ts +1 -0
- package/web/utils/comma-separated.d.ts +2 -0
- package/web/utils/debounce.d.ts +3 -0
- package/web/utils/delay.d.ts +1 -0
- package/web/utils/fileTypes.d.ts +11 -0
- package/web/utils/fileTypes.test.d.ts +1 -0
- package/web/utils/get-top-level-origin.d.ts +1 -0
- package/web/utils/get-top-level-origin.test.d.ts +1 -0
- package/web/utils/getLocaleDirection.d.ts +1 -0
- package/web/utils/getPluralForm.d.ts +1 -0
- package/web/utils/getPluralForm.test.d.ts +1 -0
- package/web/utils/isPromiseLike.d.ts +1 -0
- package/web/utils/isPromiseLike.test.d.ts +1 -0
- package/web/utils/isSecureTokenExpired.d.ts +8 -0
- package/web/utils/isSecureTokenExpired.test.d.ts +1 -0
- package/web/utils/memoize.d.ts +1 -0
- package/web/utils/memoize.test.d.ts +1 -0
- package/web/utils/mixinClass.d.ts +8 -0
- package/web/utils/parseCdnUrl.d.ts +11 -0
- package/web/utils/parseCdnUrl.test.d.ts +1 -0
- package/web/utils/parseShrink.d.ts +7 -0
- package/web/utils/parseShrink.test.d.ts +1 -0
- package/web/utils/preloadImage.d.ts +10 -0
- package/web/utils/prettyBytes.d.ts +11 -0
- package/web/utils/prettyBytes.test.d.ts +1 -0
- package/web/utils/resizeImage.d.ts +1 -0
- package/web/utils/stringToArray.d.ts +1 -0
- package/web/utils/stringToArray.test.d.ts +1 -0
- package/web/utils/template-utils.d.ts +16 -0
- package/web/utils/template-utils.test.d.ts +1 -0
- package/web/utils/throttle.d.ts +3 -0
- package/web/utils/toKebabCase.d.ts +2 -0
- package/web/utils/toKebabCase.test.d.ts +1 -0
- package/web/utils/transparentPixelSrc.d.ts +1 -0
- package/web/utils/uniqueArray.d.ts +1 -0
- package/web/utils/uniqueArray.test.d.ts +1 -0
- package/web/utils/userAgent.d.ts +2 -0
- package/web/utils/validators/collection/index.d.ts +2 -0
- package/web/utils/validators/collection/validateCollectionUploadError.d.ts +2 -0
- package/web/utils/validators/collection/validateMultiple.d.ts +2 -0
- package/web/utils/validators/file/index.d.ts +4 -0
- package/web/utils/validators/file/validateFileType.d.ts +2 -0
- package/web/utils/validators/file/validateIsImage.d.ts +2 -0
- package/web/utils/validators/file/validateMaxSizeLimit.d.ts +2 -0
- package/web/utils/validators/file/validateUploadError.d.ts +2 -0
- package/web/utils/warnOnce.d.ts +1 -0
- package/web/utils/wildcardRegexp.d.ts +1 -0
- package/web/utils/wildcardRegexp.test.d.ts +1 -0
- package/web/utils/withResolvers.d.ts +5 -0
- package/web/utils/withResolvers.test.d.ts +1 -0
- package/dist/CameraSource-px4BzEMI.js +0 -9
- package/dist/ExternalSource-CR5DG0Jv.js +0 -9
- package/dist/UrlSource-BxVL9Pve.js +0 -9
- package/dist/cameraPlugin-dGash48Q.js +0 -8
- package/dist/cloudImageEditorPlugin-2EU0Pm_j.js +0 -8
- package/dist/env-B1nfXy9i.js +0 -8
- package/dist/externalSourcesPlugin-DKQqk3AC.js +0 -8
- package/dist/imageShrinkPlugin-DAx8eRen.js +0 -8
- package/dist/instagramPlugin-k67tMAo3.js +0 -8
- package/dist/urlSourcePlugin-9xdB7Pvw.js +0 -8
|
@@ -0,0 +1,697 @@
|
|
|
1
|
+
var UC=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.defineProperty,n=(e,t)=>()=>(e&&(t=e(e=0)),t),r=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n&&t(r,Symbol.toStringTag,{value:`Module`}),r},i,a=n((()=>{i=Symbol(`clean`)})),o,s,c,l,u,d=n((()=>{a(),o=[],s=0,c=4,l=0,u=e=>{let t=[],n={get(){return n.lc||n.listen(()=>{})(),n.value},lc:0,listen(e){return n.lc=t.push(e),()=>{for(let t=s+c;t<o.length;)o[t]===e?o.splice(t,c):t+=c;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){l++;let i=!o.length;for(let i of t)o.push(i,n.value,e,r);if(i){for(s=0;s<o.length;s+=c)o[s](o[s+1],o[s+2],o[s+3]);o.length=0}},off(){},set(e){let t=n.value;t!==e&&(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return process.env.NODE_ENV!==`production`&&(n[i]=()=>{t=[],n.lc=0,n.off()}),n}}));function f(e,t,n){let r=new Set(t).add(void 0);return e.listen((e,t,i)=>{r.has(i)&&n(e,t,i)})}function p(e,t,n){let r=f(e,t,n);return n(e.value),r}var m=n((()=>{})),h,ee=n((()=>{d(),h=(e={})=>{let t=u(e);return t.setKey=function(e,n){let r=t.value;n===void 0&&e in t.value?(t.value={...t.value},delete t.value[e],t.notify(r,e)):t.value[e]!==n&&(t.value={...t.value,[e]:n},t.notify(r,e))},t}})),te=n((()=>{m(),ee()})),g,ne=n((()=>{te(),g=class e{static{this._contexts=new Map}constructor(e,t){this._ctxId=e,this._store=t}get id(){return this._ctxId}pub(e,t){e in this._store.get()||console.warn(`PubSub#pub: Key "${String(e)}" not found`),this._store.setKey(e,t)}sub(e,t,n=!0){return(n?p:f)(this._store,[e],n=>{t(n[e])})}read(e){return e in this._store.get()||console.warn(`PubSub#read: Key "${String(e)}" not found`),this._store.get()[e]}add(e,t,n=!1){(!(e in this._store.get())||n)&&this._store.setKey(e,t)}has(e){return e in this._store.get()}get store(){return this._store.get()}static registerCtx(t,n){if(e._contexts.has(n))throw Error(`PubSub: Context with id "${n}" already exists`);let r=h(t);return e._contexts.set(n,r),new e(n,r)}static deleteCtx(t){e._contexts.delete(t)}static getCtx(t){let n=e._contexts.get(t);return n?new e(t,n):null}static hasCtx(t){return e._contexts.has(t)}}})),re,ie,ae,oe,se,ce,le,ue,de=n((()=>{re=globalThis,ie=re.ShadowRoot&&(re.ShadyCSS===void 0||re.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,ae=Symbol(),oe=new WeakMap,se=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==ae)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(ie&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=oe.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&oe.set(t,e))}return e}toString(){return this.cssText}},ce=e=>new se(typeof e==`string`?e:e+``,void 0,ae),le=(e,t)=>{if(ie)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=re.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},ue=ie?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return ce(t)})(e):e})),fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De=n((()=>{de(),{is:fe,defineProperty:pe,getOwnPropertyDescriptor:me,getOwnPropertyNames:he,getOwnPropertySymbols:ge,getPrototypeOf:_e}=Object,ve=globalThis,ye=ve.trustedTypes,be=ye?ye.emptyScript:``,xe=ve.reactiveElementPolyfillSupport,Se=(e,t)=>e,Ce={toAttribute(e,t){switch(t){case Boolean:e=e?be:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},we=(e,t)=>!fe(e,t),Te={attribute:!0,type:String,converter:Ce,reflect:!1,useDefault:!1,hasChanged:we},Symbol.metadata??=Symbol(`metadata`),ve.litPropertyMetadata??=new WeakMap,Ee=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Te){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&pe(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=me(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Te}static _$Ei(){if(this.hasOwnProperty(Se(`elementProperties`)))return;let e=_e(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Se(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Se(`properties`))){let e=this.properties,t=[...he(e),...ge(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(ue(e))}else e!==void 0&&t.push(ue(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.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(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return le(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?Ce:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?Ce:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??we)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}},Ee.elementStyles=[],Ee.shadowRootOptions={mode:`open`},Ee[Se(`elementProperties`)]=new Map,Ee[Se(`finalized`)]=new Map,xe?.({ReactiveElement:Ee}),(ve.reactiveElementVersions??=[]).push(`2.1.2`)}));function Oe(e,t){if(!Ve(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return Ne===void 0?t:Ne.createHTML(t)}function ke(e,t,n=e,r){if(t===Qe)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=Be(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=ke(e,i._$AS(e,t.values),i,r)),t}var Ae,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,_,Qe,v,$e,et,tt,nt,rt,it,at,ot,st,ct,lt,ut,dt,ft,pt=n((()=>{Ae=globalThis,je=e=>e,Me=Ae.trustedTypes,Ne=Me?Me.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,Pe=`$lit$`,Fe=`lit$${Math.random().toFixed(9).slice(2)}$`,Ie=`?`+Fe,Le=`<${Ie}>`,Re=document,ze=()=>Re.createComment(``),Be=e=>e===null||typeof e!=`object`&&typeof e!=`function`,Ve=Array.isArray,He=e=>Ve(e)||typeof e?.[Symbol.iterator]==`function`,Ue=`[
|
|
2
|
+
\f\r]`,We=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ge=/-->/g,Ke=/>/g,qe=RegExp(`>|${Ue}(?:([^\\s"'>=/]+)(${Ue}*=${Ue}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),Je=/'/g,Ye=/"/g,Xe=/^(?:script|style|textarea|title)$/i,Ze=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),_=Ze(1),Ze(2),Ze(3),Qe=Symbol.for(`lit-noChange`),v=Symbol.for(`lit-nothing`),$e=new WeakMap,et=Re.createTreeWalker(Re,129),tt=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=We;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===We?c[1]===`!--`?o=Ge:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=qe):(Xe.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=qe):o=Ke:o===qe?c[0]===`>`?(o=i??We,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?qe:c[3]===`"`?Ye:Je):o===Ye||o===Je?o=qe:o===Ge||o===Ke?o=We:(o=qe,i=void 0);let d=o===qe&&e[t+1].startsWith(`/>`)?` `:``;a+=o===We?n+Le:l>=0?(r.push(s),n.slice(0,l)+Pe+n.slice(l)+Fe+d):n+Fe+(l===-2?t:d)}return[Oe(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},nt=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=tt(t,n);if(this.el=e.createElement(l,r),et.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=et.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(Pe)){let t=u[o++],n=i.getAttribute(e).split(Fe),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?ot:r[1]===`?`?st:r[1]===`@`?ct:at}),i.removeAttribute(e)}else e.startsWith(Fe)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(Xe.test(i.tagName)){let e=i.textContent.split(Fe),t=e.length-1;if(t>0){i.textContent=Me?Me.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],ze()),et.nextNode(),c.push({type:2,index:++a});i.append(e[t],ze())}}}else if(i.nodeType===8)if(i.data===Ie)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(Fe,e+1))!==-1;)c.push({type:7,index:a}),e+=Fe.length-1}a++}}static createElement(e,t){let n=Re.createElement(`template`);return n.innerHTML=e,n}},rt=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??Re).importNode(t,!0);et.currentNode=r;let i=et.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new it(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new lt(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=et.nextNode(),a++)}return et.currentNode=Re,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},it=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=v,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=ke(this,e,t),Be(e)?e===v||e==null||e===``?(this._$AH!==v&&this._$AR(),this._$AH=v):e!==this._$AH&&e!==Qe&&this._(e):e._$litType$===void 0?e.nodeType===void 0?He(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==v&&Be(this._$AH)?this._$AA.nextSibling.data=e:this.T(Re.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=nt.createElement(Oe(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new rt(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=$e.get(e.strings);return t===void 0&&$e.set(e.strings,t=new nt(e)),t}k(t){Ve(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(ze()),this.O(ze()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=je(e).nextSibling;je(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},at=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=v,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=v}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=ke(this,e,t,0),a=!Be(e)||e!==this._$AH&&e!==Qe,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=ke(this,r[n+o],t,o),s===Qe&&(s=this._$AH[o]),a||=!Be(s)||s!==this._$AH[o],s===v?e=v:e!==v&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===v?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},ot=class extends at{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===v?void 0:e}},st=class extends at{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==v)}},ct=class extends at{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=ke(this,e,t,0)??v)===Qe)return;let n=this._$AH,r=e===v&&n!==v||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==v&&(n===v||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},lt=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){ke(this,e)}},ut={M:Pe,P:Fe,A:Ie,C:1,L:tt,R:rt,D:He,V:ke,I:it,H:at,N:st,U:ct,B:ot,F:lt},dt=Ae.litHtmlPolyfillSupport,dt?.(nt,it),(Ae.litHtmlVersions??=[]).push(`3.3.2`),ft=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new it(t.insertBefore(ze(),e),e,void 0,n??{})}return i._$AI(e),i}})),mt,ht,gt,_t=n((()=>{De(),De(),pt(),pt(),mt=globalThis,ht=class extends Ee{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=ft(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Qe}},ht._$litElement$=!0,ht.finalized=!0,mt.litElementHydrateSupport?.({LitElement:ht}),gt=mt.litElementPolyfillSupport,gt?.({LitElement:ht}),(mt.litElementVersions??=[]).push(`4.2.2`)})),vt=n((()=>{})),y=n((()=>{De(),pt(),_t(),vt()}));function yt(e){return e.length<2?!1:(e[0]===wt||e[0]===Ct)&&(e[e.length-1]===wt||e[e.length-1]===Ct)}function bt(e){let t=e;return(t[0]===wt||t[0]===Ct)&&(t=t.slice(1)),(t[t.length-1]===wt||t[t.length-1]===Ct)&&(t=t.slice(0,-1)),t}function xt(e){let t=``,n=``;for(let r=0;r<e.length;r++){let i=e[r+1];e[r]===`\\`&&i===`"`?(t+=`\\"`,r++):e[r]===`"`&&n!==`\\`?t+=`\\"`:t+=e[r],n=e[r]??``}return t}function St(e){let t=e;yt(e)&&(t=bt(t),t=t.replace(Tt,(e,t)=>String.fromCodePoint(parseInt(t.trim(),16))),t=t.replaceAll(`\\
|
|
3
|
+
`,`\\n`),t=xt(t),t=wt+t+wt);try{return JSON.parse(t)}catch{return}}var Ct,wt,Tt,Et=n((()=>{Ct=`'`,wt=`"`,Tt=/\\([0-9a-fA-F]{1,6} ?)/g}));function Dt(e){class t extends e{constructor(...e){super(...e),this._cssDataCache=null,this._computedStyle=null}getCssData(e,t=!1){let n=this._cssDataCache??Object.create(null);if(!Object.keys(n).includes(e)||!n[e]){this._computedStyle||=window.getComputedStyle(this);let r=this._computedStyle.getPropertyValue(e).trim();try{n[e]=St(r)}catch(r){t||console.warn(`CSS Data error: ${e}`,r),n[e]=null}}return this._cssDataCache=n,n[e]}}return t}var Ot=n((()=>{Et()}));function kt(e){class t extends e{constructor(...e){super(...e),this.willYield=!0,this._slotsMap={},this._initialLightDomChildren=null,this._hasAdoptedChildren=!1}createRenderRoot(){return this}connectedCallback(){this._initialLightDomChildren||=Array.from(this.childNodes),super.connectedCallback()}_adoptChildren(){if(this._hasAdoptedChildren)return;this._hasAdoptedChildren=!0,this._slotsMap={};let e=Array.from(this.childNodes),t=e.length?e:this._initialLightDomChildren??[];for(let e of t){let t=this._getSlotNameForChild(e),n=this._slotsMap[t]??[];e instanceof Element&&(e.removeAttribute(`slot`),e.removeAttribute(`content-for`)),n.push(e),this._slotsMap[t]=n}this._initialLightDomChildren=null}_getSlotNameForChild(e){return e instanceof Comment&&e.nextSibling instanceof Element?this._getSlotNameForChild(e.nextSibling):`contentFor`in e?e.contentFor||``:e instanceof Element&&e.hasAttribute(`content-for`)&&e.getAttribute(`content-for`)||``}_isTextNodeEmpty(e){return!e.textContent||!e.textContent.trim()}_isSlotEmpty(e){let t=this._slotsMap[e];return!t||t.every(e=>e instanceof Comment||e instanceof Text&&this._isTextNodeEmpty(e))}update(e){!this.hasUpdated&&this.willYield&&this._adoptChildren(),super.update(e)}yield(e,t){if(e===``&&!this._slotsMap[e]&&!this._hasAdoptedChildren&&this._initialLightDomChildren?.length){let t=[];for(let e of this._initialLightDomChildren)e instanceof Element&&(e.removeAttribute(`slot`),e.removeAttribute(`content-for`)),t.push(e);this._slotsMap[e]=t,this._hasAdoptedChildren=!0,this._initialLightDomChildren=null}return _`
|
|
4
|
+
${this._slotsMap[e]}
|
|
5
|
+
${this._isSlotEmpty(e)?t:void 0}
|
|
6
|
+
`}}return t}var At=n((()=>{y()}));function jt(e){class t extends e{static reg(e){let t=this,n=window.customElements.get(e);if(n){n!==t&&console.warn([`Element with tag name "${e}" already registered.`,`You're trying to override it with another class "${this.name}".`,`This is most likely a mistake.`,`New element will not be registered.`].join(`
|
|
7
|
+
`));return}window.customElements.define(e,t)}}return t}var Mt=n((()=>{})),Nt,Pt=n((()=>{Nt=class extends Event{constructor(e,t,n,r){super(`context-request`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=n,this.subscribe=r??!1}}}));function Ft(e){return e}var It=n((()=>{})),Lt,Rt=n((()=>{Pt(),Lt=class{constructor(e,t,n,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(e,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=e,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(e,t)),this.unsubscribe=t},this.host=e,t.context!==void 0){let e=t;this.context=e.context,this.callback=e.callback,this.subscribe=e.subscribe??!1}else this.context=t,this.callback=n,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&=(this.unsubscribe(),void 0)}dispatchRequest(){this.host.dispatchEvent(new Nt(this.context,this.host,this.t,this.subscribe))}}})),zt,Bt=n((()=>{zt=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}}})),Vt,Ht,Ut=n((()=>{Pt(),Bt(),Vt=class extends Event{constructor(e,t){super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},Ht=class extends zt{constructor(e,t,n){super(t.context===void 0?n:t.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=e=>{if(e.context!==this.context||(e.contextTarget??e.composedPath()[0])===this.host)return;let t=new Set;for(let[e,{consumerHost:n}]of this.subscriptions)t.has(e)||(t.add(e),n.dispatchEvent(new Nt(this.context,n,e,!0)));e.stopPropagation()},this.host=e,t.context===void 0?this.context=t:this.context=t.context,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 Vt(this.context,this.host))}}})),Wt=n((()=>{It(),Rt(),Ut()})),Gt=n((()=>{}));function b(e){return(t,n)=>typeof n==`object`?qt(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}var Kt,qt,Jt=n((()=>{De(),Kt={attribute:!0,type:String,converter:Ce,reflect:!1,hasChanged:we},qt=(e=Kt,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)}}));function x(e){return b({...e,state:!0,attribute:!1})}var Yt=n((()=>{Jt()})),Xt=n((()=>{})),Zt=n((()=>{})),Qt=n((()=>{})),$t=n((()=>{})),en=n((()=>{})),tn=n((()=>{})),S=n((()=>{Gt(),Jt(),Yt(),Xt(),Zt(),Qt(),$t(),en(),tn()}));function C(e,t){let n,r=((...r)=>{n&&clearTimeout(n),n=setTimeout(()=>e(...r),t)});return r.cancel=()=>{n&&clearTimeout(n)},r}var nn=n((()=>{}));function w(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var T=n((()=>{}));function rn(){return function(e){class t extends e{static set template(e){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(e){let t=e??void 0;this._ctxNameAttrValue!==t&&(this._ctxNameAttrValue=t,this._handleCtxNameSourceChange())}shouldUpdate(e){return this._isInitialized?super.shouldUpdate(e):!1}constructor(...e){super(...e),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 Lt(this,{context:an,callback:e=>{if(!e){console.error(`SymbioteMixin: Received invalid ctx-name from context`);return}this._ctxNameFromContext=e,this._handleCtxNameSourceChange()},subscribe:!0})}get _effectiveCtxName(){return this._ctxNameAttr||this._ctxNameFromContext||void 0}_handleCtxNameSourceChange(){if(this.ctxName=this._effectiveCtxName,!(!this.ctxName||this._symbioteFirstUpdated)){if(this.isConnected){this._performInitialization();return}this._pendingCtxInitOnConnect=!0}}willUpdate(e){super.willUpdate(e),this.ctxName=this._effectiveCtxName,this.ctxName&&(this._ctxNameProvider?this._ctxNameProvider.setValue(this.ctxName):this._ctxNameProvider=new Ht(this,{context:an,initialValue:this.ctxName}))}_applyPendingSharedAdds(){if(!(!this._symbioteSharedPubSub||this._pendingSharedAdds.size===0)){for(let[e,{value:t,rewrite:n}]of this._pendingSharedAdds)this._symbioteSharedPubSub.add(e,t,n);this._pendingSharedAdds.clear()}}_getSharedPubSub(){return!this._symbioteSharedPubSub&&this._effectiveCtxName&&this._initSharedContext(),this._symbioteSharedPubSub&&this._applyPendingSharedAdds(),this._symbioteSharedPubSub}_requireSharedPubSub(){let e=this._getSharedPubSub();if(!e)throw Error(`SymbioteMixin: Shared context is not initialized.`);return e}_initSharedContext(){let e=this.init$,t=this._effectiveCtxName;if(!t){console.error(`SymbioteMixin: ctx-name is required for components with shared properties (*)`);return}if(!this._symbioteSharedPubSub){this._symbioteSharedPubSub=g.getCtx(t)??g.registerCtx(e,t);for(let[e,t]of Object.entries(this.init$))this._symbioteSharedPubSub.add(e,t,this.ctxOwner);this._applyPendingSharedAdds()}}get $(){return this._effectiveCtxName&&this._initSharedContext(),new Proxy({},{get:(e,t)=>{if(typeof t==`string`)return this._symbioteSharedPubSub?.read(t)},set:(e,t,n)=>(typeof t==`string`&&this._symbioteSharedPubSub?.pub(t,n),!0)})}sub(e,t,n=!0){let r=this._requireSharedPubSub().sub(e,t,n);if(!r||typeof r!=`function`)return()=>{};let i=r.bind(r),a=!1,o=()=>{a||(a=!0,i(),this._symbioteSubscriptions.delete(o))};return this._symbioteSubscriptions.add(o),o}pub(e,t){this._requireSharedPubSub().pub(e,t)}set$(e){for(let[t,n]of Object.entries(e))this.pub(t,n)}get sharedCtx(){return this._requireSharedPubSub()}has(e){return this._symbioteSharedPubSub?.has(e)??!1}add(e,t,n=!1){let r=this._getSharedPubSub();if(!r){if(!n&&this._pendingSharedAdds.has(e))return;this._pendingSharedAdds.set(e,{value:t,rewrite:n});return}this._pendingSharedAdds.delete(e),r.add(e,t,n)}add$(e,t=!1){for(let[n,r]of Object.entries(e))this.add(n,r,t)}connectedCallback(){super.connectedCallback(),this._symbioteFirstUpdated?this._isInitialized&&this._needsReconnectInit&&(this._needsReconnectInit=!1,this.initCallback()):(this.ctxName||this._pendingCtxInitOnConnect&&this._effectiveCtxName)&&(this._pendingCtxInitOnConnect=!1,this._performInitialization())}_performInitialization(){if(this._symbioteFirstUpdated)return;this._symbioteFirstUpdated=!0,this._initSharedContext();let e=this.init$;if(Object.keys(e).length>0){let t=this._requireSharedPubSub();for(let[n,r]of Object.entries(e))t.read(n)===void 0&&t.pub(n,r),this.sub(n,C(async()=>{this.isConnected&&(await this.updateComplete,this.requestUpdate())},0),!1)}this.initCallback(),this._isInitialized=!0,this.requestUpdate()}firstUpdated(e){super.firstUpdated(e)}disconnectedCallback(){this._cleanupSymbioteSubscriptions(),super.disconnectedCallback(),this._symbioteFirstUpdated&&(this._needsReconnectInit=!0)}_cleanupSymbioteSubscriptions(){if(this._symbioteSubscriptions.size!==0){for(let e of[...this._symbioteSubscriptions])e();this._symbioteSubscriptions.clear()}}initCallback(){}}return w([b({type:String,attribute:`ctx-name`,noAccessor:!0})],t.prototype,`_ctxNameAttr`,null),w([x()],t.prototype,`_ctxNameFromContext`,void 0),w([x()],t.prototype,`ctxName`,void 0),w([x()],t.prototype,`_isInitialized`,void 0),t}}var an,on=n((()=>{Wt(),S(),nn(),ne(),T(),an=Ft(`ctx-name-context`)}));y(),Ot(),At(),Mt(),on();var sn=class extends jt(rn()(Dt(kt(ht)))){},cn,ln=n((()=>{cn=class e{static generateFastUid(){return`uid-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`}static generateRandomUUID(){let t=globalThis.crypto;return t&&typeof t.randomUUID==`function`?t.randomUUID():e.generateFastUid()}}}));function un(e){for(let t in e){if(dn.includes(t))continue;let n=[...t].reduce((e,t)=>(t.toUpperCase()===t&&(t=`-${t.toLowerCase()}`),e+=t,e),``);n.startsWith(`-`)&&(n=n.replace(`-`,``)),n.startsWith(`uc-`)||(n=`uc-${n}`),e[t].reg&&e[t].reg(n)}}var dn,fn=n((()=>{dn=[`UploaderBlock`,`ActivityBlock`,`Block`,`SolutionBlock`]}));ln(),fn();function pn(e,t=!1){return new Promise((n,r)=>{if(typeof document!=`object`){n(null);return}if(typeof window==`object`&&window.UC){n(window.UC);return}let i=document.createElement(`script`);i.async=!0,i.src=e,i.onerror=()=>{r()},i.onload=()=>{let e=window.UC;t&&un(e),n(e)},document.head.appendChild(i)})}var mn,hn=n((()=>{mn={"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`}})),gn,_n,vn,yn,bn,xn,Sn=n((()=>{hn(),gn=new Map,_n=new Map,vn=(e,t)=>{gn.has(e)&&console.log(`Locale ${e} is already defined. Overwriting...`);let n={...mn,...t};return gn.set(e,n),n},yn=(e,t)=>{_n.set(e,t)},bn=(e,t)=>{typeof t==`function`?yn(e,t):vn(e,t)},xn=async e=>{let t=gn.get(e);if(!t){let n=_n.get(e);if(!n)throw Error(`Locale ${e} is not defined`);t=vn(e,await n())}return t},bn(`en`,mn)})),E,Cn=n((()=>{E=e=>`*cfg/${e}`})),wn,Tn,En=n((()=>{wn=e=>e?e.split(`,`).map(e=>e.trim()).filter(Boolean):[],Tn=e=>e.join(`,`)}));function Dn(e){let t=new URL(e),n=t.pathname+t.search+t.hash,r=n.lastIndexOf(`http`),i=n.lastIndexOf(`/`),a=``;return r>=0?a=n.slice(r):i>=0&&(a=n.slice(i+1)),a}function On(e){let{pathname:t}=new URL(e),n=t.indexOf(`/`),r=t.indexOf(`/`,n+1);return t.substring(n+1,r)}function kn(e){let t=jn(e),n=new URL(t),r=n.pathname.indexOf(`/-/`);return r===-1?``:n.pathname.substring(r).slice(1)}function An(e){return kn(e).split(`/-/`).filter(Boolean).map(e=>Pn(e))}function jn(e){let t=new URL(e),n=Dn(e),r=Mn(n)?Nn(n).pathname:n;return t.pathname=t.pathname.replace(r,``),t.search=``,t.hash=``,t.toString()}function Mn(e){return e.startsWith(`http`)}function Nn(e){let t=new URL(e);return{pathname:`${t.origin}${t.pathname??``}`,search:t.search??``,hash:t.hash??``}}var Pn,Fn,In,Ln,Rn,zn=n((()=>{Pn=e=>{if(typeof e!=`string`||!e)return``;let t=e.trim();return t.startsWith(`-/`)?t=t.slice(2):t.startsWith(`/`)&&(t=t.slice(1)),t.endsWith(`/`)&&(t=t.slice(0,t.length-1)),t},Fn=(...e)=>e.filter(e=>typeof e==`string`&&!!e).map(e=>Pn(e)).join(`/-/`),In=(...e)=>{let t=Fn(...e);return t?`-/${t}/`:``},Ln=(e,t,n)=>{let r=new URL(jn(e)),i=n??Dn(e),a=t??``;if(r.pathname.startsWith(`//`)&&(r.pathname=r.pathname.replace(`//`,`/`)),i&&Mn(i)){let e=Nn(i);r.pathname=`${r.pathname}${a}${e.pathname||``}`,r.search=e.search,r.hash=e.hash}else r.pathname=`${r.pathname}${a}${i||``}`;return r.toString()},Rn=(e,t)=>{let n=new URL(e);return n.pathname=`${t}/`,n.toString()}})),Bn,Vn=n((()=>{Bn=(e,t=`,`)=>e.trim().split(t).map(e=>e.trim()).filter(e=>e.length>0)}));function Hn(e,t){if(typeof t==`number`){let n=t;return Gn[e]===n?``:`${e}/${n}`}if(typeof t==`boolean`){let n=t;return Gn[e]===n?``:`${e}`}if(e===`filter`&&t){let{name:n,amount:r}=t;return Gn.filter===r?``:`${e}/${n}/${r}`}if(e===`crop`&&t){let{dimensions:n,coords:r}=t;return`${e}/${n.join(`x`)}/${r.join(`,`)}`}return``}function Un(e){return Fn(...Kn.filter(t=>e[t]!==void 0&&e[t]!==null).map(t=>{let n=e[t];return Hn(t,n)}).filter(e=>!!e))}function Wn(e){let t={};for(let n of e){let[e,...r]=n.split(`/`);if(!e||!Kn.includes(e))continue;let i=e,a=Qn[i];try{t[i]=a(r)}catch(e){console.warn([`Failed to parse URL operation "${n}". It will be ignored.`,e instanceof Error?`Error message: "${e.message}"`:e,`If you need this functionality, please feel free to open an issue at https://github.com/uploadcare/blocks/issues/new`].join(`
|
|
8
|
+
`))}}return t}var Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n=n((()=>{zn(),Vn(),Gn=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}),Kn=[`enhance`,`brightness`,`exposure`,`gamma`,`contrast`,`saturation`,`vibrance`,`warmth`,`filter`,`mirror`,`flip`,`rotate`,`crop`],qn=Fn(`format/auto`,`progressive/yes`),Jn=([e])=>e===void 0?void 0:Number(e),Yn=()=>!0,Xn=([e,t])=>({name:e,amount:t===void 0?100:Number(t)}),Zn=([e,t])=>{if(!/\d+x\d+/.test(e)||!/\d+,\d+/.test(t))throw Error(`Crop by aspect ratio, percentage or alignment shortcuts is not supported.`);return{dimensions:Bn(e,`x`).map(Number),coords:Bn(t).map(Number)}},Qn=Object.freeze({enhance:Jn,brightness:Jn,exposure:Jn,gamma:Jn,contrast:Jn,saturation:Jn,vibrance:Jn,warmth:Jn,filter:Xn,mirror:Yn,flip:Yn,rotate:Jn,crop:e=>{let[t,n]=e,{dimensions:r,coords:i}=Zn([t,n]);return{dimensions:r,coords:i}}})})),D,er,tr,nr,rr,ir,ar,or=n((()=>{$n(),D=Object.freeze({CROP:`crop`,TUNING:`tuning`,FILTERS:`filters`}),er=Object.freeze([D.CROP,D.TUNING,D.FILTERS]),tr=Object.freeze([`brightness`,`exposure`,`gamma`,`contrast`,`saturation`,`vibrance`,`warmth`,`enhance`]),nr=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`.split(`.`)),rr=Object.freeze([`rotate`,`mirror`,`flip`]),ir=Gn,ar=Object.freeze({brightness:{zero:ir.brightness,range:[-100,100],keypointsNumber:2},exposure:{zero:ir.exposure,range:[-500,500],keypointsNumber:2},gamma:{zero:ir.gamma,range:[0,1e3],keypointsNumber:2},contrast:{zero:ir.contrast,range:[-100,500],keypointsNumber:2},saturation:{zero:ir.saturation,range:[-100,500],keypointsNumber:1},vibrance:{zero:ir.vibrance,range:[-100,500],keypointsNumber:1},warmth:{zero:ir.warmth,range:[-100,100],keypointsNumber:1},enhance:{zero:ir.enhance,range:[0,100],keypointsNumber:1},filter:{zero:ir.filter,range:[0,100],keypointsNumber:1}})})),sr,cr,lr,ur,dr,fr,pr=n((()=>{En(),or(),sr=`https://ucarecdn.com`,cr=`https://upload.uploadcare.com`,lr=`https://social.uploadcare.com`,ur=`https://ucarecd.net`,dr={pubkey:``,multiple:!0,multipleMin:0,multipleMax:2**53-1,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:sr,cdnCnamePrefixed:ur,baseUrl:cr,socialBaseUrl:lr,secureSignature:``,secureExpire:``,secureDeliveryProxy:``,retryThrottledRequestMaxTimes:3,retryNetworkErrorMaxTimes:3,multipartMinFileSize:26214400,multipartChunkSize:5242880,maxConcurrentRequests:10,multipartMaxConcurrentRequests:4,multipartMaxAttempts:3,checkForUrlDuplicates:!1,saveUrlForRecurrentUploads:!1,groupOutput:!1,userAgentIntegration:``,debug:!1,metadata:null,localeName:`en`,localeDefinitionOverride:null,secureUploadsExpireThreshold:600*1e3,secureUploadsSignatureResolver:null,secureDeliveryProxyUrlResolver:null,iconHrefResolver:null,fileValidators:[],collectionValidators:[],validationTimeout:15*1e3,validationConcurrency:100,cameraModes:`photo, video`,defaultCameraMode:null,enableAudioRecording:!0,enableVideoRecording:null,maxVideoRecordingDuration:null,mediaRecorderOptions:null,filesViewMode:`list`,gridShowFileNames:!1,useCloudImageEditor:!0,cloudImageEditorAutoOpen:!1,cloudImageEditorTabs:Tn(er),cloudImageEditorMaskHref:null,testMode:!1,qualityInsights:!0,pasteScope:`local`,plugins:[]},fr=Object.freeze(dr)})),mr,hr=n((()=>{Cn(),mr=(e,t)=>(...n)=>{let r=e();if(!r.read(E(`debug`)))return;let i=n;if(typeof n?.[0]==`function`){let e=n[0];i=e()}let a=[r.id,t].filter(Boolean);console.log(`[${a.join(`][`)}]`,...i)}})),gr,_r,vr,yr,br=n((()=>{Cn(),pr(),hr(),gr=class{constructor(e){this._subscriptions=new Set,this._cfgProxy=null,this._debugPrint=mr(()=>this._sharedInstancesBag.ctx,this.constructor.name),this._sharedInstancesBag=e,this._ctx=e.ctx}addSub(e){this._subscriptions.add(e)}get _cfg(){return this._cfgProxy||=new Proxy({},{set:()=>{throw Error(`SharedInstance cfg proxy is read-only`)},get:(e,t)=>{if(typeof t!=`string`)return;let n=E(t);return this._sharedInstancesBag.ctx.has(n)?this._sharedInstancesBag.ctx.read(n):fr[t]}}),this._cfgProxy}destroy(){for(let e of this._subscriptions)try{e()}catch{}this._subscriptions.clear()}},_r={modalManager:`*modalManager`,pluginManager:`*pluginManager`,telemetryManager:`*telemetryManager`,localeManager:`*localeManager`,a11y:`*a11y`,clipboard:`*clipboard`,blocksRegistry:`*blocksRegistry`,eventEmitter:`*eventEmitter`,uploadCollection:`*uploadCollection`,secureUploadsManager:`*secureUploadsManager`,api:`*publicApi`,validationManager:`*validationManager`},vr=(e,t,n=!0)=>{let r=e.has(t),i=r?e.read(t):null;if(r&&i||!n)return i;throw Error(`Unexpected error: shared instance for key "${String(t)}" is not available`)},yr=e=>({get ctx(){return e()},get modalManager(){return vr(e(),`*modalManager`,!1)},get pluginManager(){return vr(e(),`*pluginManager`)},get telemetryManager(){return vr(e(),`*telemetryManager`)},get localeManager(){return vr(e(),`*localeManager`)},get a11y(){return vr(e(),`*a11y`)},get blocksRegistry(){return vr(e(),`*blocksRegistry`)},get eventEmitter(){return vr(e(),`*eventEmitter`)},get uploadCollection(){return vr(e(),`*uploadCollection`)},get secureUploadsManager(){return vr(e(),`*secureUploadsManager`,!1)},get api(){return vr(e(),`*publicApi`)},get validationManager(){return vr(e(),`*validationManager`)},when(t,n){let r=_r[t],i=e(),a=i.has(r)?i.read(r):void 0;if(a)return n(a),()=>{};let o=i.sub(r,e=>{e&&(n(e),o())});return o}})})),O,xr,Sr=n((()=>{br(),O=Object.freeze({ADD:`modal:add`,DELETE:`modal:delete`,OPEN:`modal:open`,CLOSE:`modal:close`,CLOSE_ALL:`modal:closeAll`,DESTROY:`modal:destroy`}),xr=class extends gr{constructor(...e){super(...e),this._modals=new Map,this._activeModals=new Set,this._subscribers=new Map}registerModal(e,t){this._modals.set(e,t),this._notify(O.ADD,{id:e,modal:t})}deleteModal(e){let t=this._modals.get(e);return t?(this._modals.delete(e),this._activeModals.delete(e),this._notify(O.DELETE,{id:e,modal:t}),!0):!1}open(e){let t=this._modals.get(e);return t?(this._activeModals.add(e),this._notify(O.OPEN,{modal:t,id:e}),!0):(this._debugPrint(`Modal with ID "${e}" not found`),!1)}close(e){let t=this._modals.get(e);return!t||!this._activeModals.has(e)?(this._debugPrint(`Modal with ID "${e}" not found or not active`),!1):(this._activeModals.delete(e),this._notify(O.CLOSE,{id:e,modal:t}),!0)}toggle(e){return this._modals.has(e)?this._activeModals.has(e)?this.close(e):this.open(e):(this._debugPrint(`Modal with ID "${e}" not found`),!1)}get hasActiveModals(){return this._activeModals.size>0}back(){if(this._activeModals.size===0)return this._debugPrint(`No active modals to go back from`),!1;let e=Array.from(this._activeModals).pop();return e?this.close(e):!1}closeAll(){let e=this._activeModals.size;return this._activeModals.clear(),this._notify(O.CLOSE_ALL,{}),e}subscribe(e,t){return this._subscribers.has(e)||this._subscribers.set(e,new Set),this._subscribers.get(e)?.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){this._subscribers.has(e)&&this._subscribers.get(e)?.delete(t)}_notify(e,t){if(this._subscribers.has(e))for(let n of this._subscribers.get(e)??new Set)try{n(t)}catch(e){this._sharedInstancesBag.telemetryManager.sendEventError(e,`modal subscriber`),this._debugPrint(`Error in modal subscriber:`,e)}}destroy(){super.destroy(),this.closeAll(),this._modals.clear(),this._subscribers.clear(),this._notify(O.DESTROY,{})}}})),Cr,wr=n((()=>{Cr=e=>e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(e=>e.toLowerCase()).join(`-`)}));function Tr(e){return Object.prototype.toString.call(e)===`[object Object]`}function Er(e){return e.split(Qr).map((e,t)=>e.charAt(0)[t>0?`toUpperCase`:`toLowerCase`]()+e.slice(1)).join(``)}function Dr(e,{ignoreKeys:t}={ignoreKeys:[]}){return Array.isArray(e)?e.map(e=>Or(e,{ignoreKeys:t})):e}function Or(e,{ignoreKeys:t}={ignoreKeys:[]}){if(Array.isArray(e))return Dr(e,{ignoreKeys:t});if(!Tr(e))return e;let n={};for(let r of Object.keys(e)){let i=e[r];if(t.includes(r)){n[r]=i;continue}Tr(i)?i=Or(i,{ignoreKeys:t}):Array.isArray(i)&&(i=Dr(i,{ignoreKeys:t})),n[Er(r)]=i}return n}function kr({libraryName:e,libraryVersion:t,userAgent:n,publicKey:r=``,integration:i=``}){let a=`JavaScript`;return typeof n==`string`?n:typeof n==`function`?n({publicKey:r,libraryName:e,libraryVersion:t,languageName:a,integration:i}):`${[e,t,r].filter(Boolean).join(`/`)} (${[a,i].filter(Boolean).join(`; `)})`}function Ar(e,t=ei){let n=0;function r(e){let i=Math.round(t.time*t.factor**n);return e({attempt:n,retry:t=>$r(t??i).then(()=>(n+=1,r(e)))})}return r(e)}function jr(e,...t){return e}function Mr(e,t,n){if(Array.isArray(n))for(let r of n)Mr(e,`${t}[]`,r);else if(bi(n)){let{name:r,contentType:i}=n,a=di(n.data,r,i??si),o=ui({name:r,contentType:i});e.push([t,a,...o])}else if(yi(n))for(let[r,i]of Object.entries(n))i!==void 0&&e.push([`${t}[${r}]`,String(i)]);else vi(n)&&n&&e.push([t,n.toString()])}function Nr(e){let t=[];for(let[n,r]of Object.entries(e))Mr(t,n,r);return t}function Pr(e){let t=fi(),n=Nr(e);for(let e of n){let[n,r,...i]=e;t.append(n,r,...i)}return t}function Fr(e){return kr({libraryName:Ti,libraryVersion:Ei,...e})}function Ir(e){let{headers:t}=e||{};if(!t||typeof t[`retry-after`]!=`string`)return Oi;let n=parseInt(t[`retry-after`],10);return Number.isFinite(n)?n*1e3:Oi}function Lr(e,t){let{retryThrottledRequestMaxTimes:n,retryNetworkErrorMaxTimes:r}=t;return Ar(({attempt:t,retry:i})=>e().catch(e=>{if(`response`in e&&e?.code===Di&&t<n)return i(Ir(e));if(e instanceof ni&&t<r)return i((t+1)*ki);throw e}))}function Rr(e){return e===void 0||e===`auto`?`auto`:e?`1`:`0`}function zr(e,{publicKey:t,fileName:n,contentType:r,baseURL:i=k.baseURL,secureSignature:a,secureExpire:o,store:s,signal:c,onProgress:l,source:u=`local`,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p=k.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=k.retryNetworkErrorMaxTimes,metadata:h}){return Lr(()=>li({method:`POST`,url:Ci(i,`/base/`,{jsonerrors:1}),headers:{"X-UC-User-Agent":Fr({publicKey:t,integration:d,userAgent:f})},data:Pr({file:{data:e,name:n||ji(e),contentType:r||Ai(e)},UPLOADCARE_PUB_KEY:t,UPLOADCARE_STORE:Rr(s),signature:a,expire:o,source:u,metadata:h}),signal:c,onProgress:l}).then(({data:e,headers:t,request:n})=>{let r=Or(JSON.parse(e));if(`error`in r)throw new xi(r.error.content,r.error.errorCode,n,r,t);return r}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:p})}function Br(e,{publicKey:t,baseURL:n=k.baseURL,store:r,fileName:i,checkForUrlDuplicates:a,saveUrlForRecurrentUploads:o,secureSignature:s,secureExpire:c,source:l=`url`,signal:u,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p=k.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=k.retryNetworkErrorMaxTimes,metadata:h}){return Lr(()=>li({method:`POST`,headers:{"X-UC-User-Agent":Fr({publicKey:t,integration:d,userAgent:f})},url:Ci(n,`/from_url/`,{jsonerrors:1,pub_key:t,source_url:e,store:Rr(r),filename:i,check_URL_duplicates:a?1:void 0,save_URL_duplicates:o?1:void 0,signature:s,expire:c,source:l,metadata:h}),signal:u}).then(({data:e,headers:t,request:n})=>{let r=Or(JSON.parse(e));if(`error`in r)throw new xi(r.error.content,r.error.errorCode,n,r,t);return r}),{retryNetworkErrorMaxTimes:m,retryThrottledRequestMaxTimes:p})}function Vr(e,{publicKey:t,baseURL:n=k.baseURL,signal:r,integration:i,userAgent:a,retryThrottledRequestMaxTimes:o=k.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:s=k.retryNetworkErrorMaxTimes}={}){return Lr(()=>li({method:`GET`,headers:t?{"X-UC-User-Agent":Fr({publicKey:t,integration:i,userAgent:a})}:void 0,url:Ci(n,`/from_url/status/`,{jsonerrors:1,token:e}),signal:r}).then(({data:e,headers:t,request:n})=>{let r=Or(JSON.parse(e));if(`error`in r&&!Ni(r))throw new xi(r.error.content,r.error.errorCode,n,r,t);return r}),{retryNetworkErrorMaxTimes:s,retryThrottledRequestMaxTimes:o})}function Hr(e,{publicKey:t,baseURL:n=k.baseURL,jsonpCallback:r,secureSignature:i,secureExpire:a,signal:o,source:s,integration:c,userAgent:l,retryThrottledRequestMaxTimes:u=k.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:d=k.retryNetworkErrorMaxTimes}){return Lr(()=>li({method:`POST`,headers:{"X-UC-User-Agent":Fr({publicKey:t,integration:c,userAgent:l})},url:Ci(n,`/group/`,{jsonerrors:1}),data:Pr({files:e,callback:r,pub_key:t,signature:i,expire:a,source:s}),signal:o}).then(({data:e,headers:t,request:n})=>{let r=Or(JSON.parse(e));if(`error`in r)throw new xi(r.error.content,r.error.errorCode,n,r,t);return r}),{retryNetworkErrorMaxTimes:d,retryThrottledRequestMaxTimes:u})}function Ur(e,{publicKey:t,baseURL:n=k.baseURL,signal:r,source:i,integration:a,userAgent:o,retryThrottledRequestMaxTimes:s=k.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:c=k.retryNetworkErrorMaxTimes}){return Lr(()=>li({method:`GET`,headers:{"X-UC-User-Agent":Fr({publicKey:t,integration:a,userAgent:o})},url:Ci(n,`/info/`,{jsonerrors:1,pub_key:t,file_id:e,source:i}),signal:r}).then(({data:e,headers:t,request:n})=>{let r=Or(JSON.parse(e));if(`error`in r)throw new xi(r.error.content,r.error.errorCode,n,r,t);return r}),{retryThrottledRequestMaxTimes:s,retryNetworkErrorMaxTimes:c})}function Wr(e,{publicKey:t,contentType:n,fileName:r,multipartChunkSize:i=k.multipartChunkSize,baseURL:a=``,secureSignature:o,secureExpire:s,store:c,signal:l,source:u=`local`,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p=k.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:m=k.retryNetworkErrorMaxTimes,metadata:h}){return Lr(()=>li({method:`POST`,url:Ci(a,`/multipart/start/`,{jsonerrors:1}),headers:{"X-UC-User-Agent":Fr({publicKey:t,integration:d,userAgent:f})},data:Pr({filename:r||ci,size:e,content_type:n||si,part_size:i,UPLOADCARE_STORE:Rr(c),UPLOADCARE_PUB_KEY:t,signature:o,expire:s,source:u,metadata:h}),signal:l}).then(({data:e,headers:t,request:n})=>{let r=Or(JSON.parse(e));if(`error`in r)throw new xi(r.error.content,r.error.errorCode,n,r,t);return r.parts=Object.keys(r.parts).map(e=>r.parts[Number(e)]),r}),{retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m})}function Gr(e,t,{contentType:n,signal:r,onProgress:i,retryThrottledRequestMaxTimes:a=k.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:o=k.retryNetworkErrorMaxTimes}){return Lr(()=>li({method:`PUT`,url:t,data:e,onProgress:i,signal:r,headers:{"Content-Type":n||si}}).then(e=>(i&&i({isComputable:!0,value:1}),e)).then(({status:e})=>({code:e})),{retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:o})}function Kr(e,{publicKey:t,baseURL:n=k.baseURL,source:r=`local`,signal:i,integration:a,userAgent:o,retryThrottledRequestMaxTimes:s=k.retryThrottledRequestMaxTimes,retryNetworkErrorMaxTimes:c=k.retryNetworkErrorMaxTimes}){return Lr(()=>li({method:`POST`,url:Ci(n,`/multipart/complete/`,{jsonerrors:1}),headers:{"X-UC-User-Agent":Fr({publicKey:t,integration:a,userAgent:o})},data:Pr({uuid:e,UPLOADCARE_PUB_KEY:t,source:r}),signal:i}).then(({data:e,headers:t,request:n})=>{let r=Or(JSON.parse(e));if(`error`in r)throw new xi(r.error.content,r.error.errorCode,n,r,t);return r}),{retryThrottledRequestMaxTimes:s,retryNetworkErrorMaxTimes:c})}function qr(e,{publicKey:t,baseURL:n,source:r,integration:i,userAgent:a,retryThrottledRequestMaxTimes:o,retryNetworkErrorMaxTimes:s,signal:c,onProgress:l}){return oi({check:c=>Ur(e,{publicKey:t,baseURL:n,signal:c,source:r,integration:i,userAgent:a,retryThrottledRequestMaxTimes:o,retryNetworkErrorMaxTimes:s}).then(e=>e.isReady?e:(l&&l({isComputable:!0,value:1}),!1)),signal:c})}function Jr(e){return`defaultEffects`in e}function Yr({token:e,publicKey:t,baseURL:n,integration:r,userAgent:i,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:o,onProgress:s,signal:c}){return oi({check:c=>Vr(e,{publicKey:t,baseURL:n,integration:r,userAgent:i,retryThrottledRequestMaxTimes:a,retryNetworkErrorMaxTimes:o,signal:c}).then(t=>{switch(t.status){case A.Error:return new xi(t.error,t.errorCode);case A.Waiting:return!1;case A.Unknown:return new xi(`Token "${e}" was not found.`);case A.Progress:return s&&(t.total===`unknown`?s({isComputable:!1}):s({isComputable:!0,value:t.done/t.total})),!1;case A.Success:return s&&s({isComputable:!0,value:t.done/t.total}),t;default:throw Error(`Unknown status`)}}),signal:c})}async function Xr(e,{publicKey:t,fileName:n,baseURL:r=k.baseURL,secureSignature:i,secureExpire:a,store:o,signal:s,onProgress:c,source:l,integration:u,userAgent:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:p,contentType:m,multipartMinFileSize:h,multipartChunkSize:ee,maxConcurrentRequests:te,baseCDN:g=k.baseCDN,checkForUrlDuplicates:ne,saveUrlForRecurrentUploads:re,pusherKey:ie,metadata:ae}){if(_i(e)){let ne=await Yi(e);return Xi(ne,h)?ra(e,{publicKey:t,contentType:m,multipartChunkSize:ee,fileSize:ne,fileName:n,baseURL:r,secureSignature:i,secureExpire:a,store:o,signal:s,onProgress:c,source:l,integration:u,userAgent:d,maxConcurrentRequests:te,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:p,baseCDN:g,metadata:ae}):Fi(e,{publicKey:t,fileName:n,contentType:m,baseURL:r,secureSignature:i,secureExpire:a,store:o,signal:s,onProgress:c,source:l,integration:u,userAgent:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:p,baseCDN:g,metadata:ae})}if(Qi(e))return Ki(e,{publicKey:t,fileName:n,baseURL:r,baseCDN:g,checkForUrlDuplicates:ne,saveUrlForRecurrentUploads:re,secureSignature:i,secureExpire:a,store:o,signal:s,onProgress:c,source:l,integration:u,userAgent:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:p,pusherKey:ie,metadata:ae});if(Zi(e))return Ii(e,{publicKey:t,fileName:n,baseURL:r,signal:s,onProgress:c,source:l,integration:u,userAgent:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:p,baseCDN:g});throw TypeError(`File uploading from "${e}" is not supported`)}function Zr(e,{publicKey:t,fileName:n,baseURL:r=k.baseURL,secureSignature:i,secureExpire:a,store:o,signal:s,onProgress:c,source:l,integration:u,userAgent:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:p,contentType:m,multipartChunkSize:h=k.multipartChunkSize,baseCDN:ee=k.baseCDN,checkForUrlDuplicates:te,saveUrlForRecurrentUploads:g,jsonpCallback:ne}){if(!oa(e)&&!ca(e)&&!sa(e))throw TypeError(`Group uploading from "${e}" is not supported`);let re,ie=!0,ae=e.length,oe=(e,t)=>{if(!c)return;re||=Array(e).fill(0);let n=t=>t.reduce((e,t)=>e+t)/e;return e=>{if(!e.isComputable||!ie){ie=!1,c({isComputable:!1});return}re[t]=e.value,c({isComputable:!0,value:n(re)})}};return Promise.all(e.map((e,c)=>_i(e)||Qi(e)?Xr(e,{publicKey:t,fileName:n,baseURL:r,secureSignature:i,secureExpire:a,store:o,signal:s,onProgress:oe(ae,c),source:l,integration:u,userAgent:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:p,contentType:m,multipartChunkSize:h,baseCDN:ee,checkForUrlDuplicates:te,saveUrlForRecurrentUploads:g}).then(e=>e.uuid):e)).then(e=>Hr(e,{publicKey:t,baseURL:r,jsonpCallback:ne,secureSignature:i,secureExpire:a,signal:s,source:l,integration:u,userAgent:d,retryThrottledRequestMaxTimes:f,retryNetworkErrorMaxTimes:p}).then(e=>new aa(e,{baseCDN:ee})).then(e=>(c&&c({isComputable:!0,value:1}),e)))}var Qr,$r,ei,ti,ni,ri,ii,ai,oi,k,si,ci,li,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,A,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi,Hi,Ui,Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra,ia,aa,oa,sa,ca,la,ua=n((()=>{Qr=/\W|_/g,$r=e=>new Promise(t=>setTimeout(t,e)),ei={factor:2,time:100},ti=class extends Error{},ni=class e extends ti{originalProgressEvent;constructor(t){super(),this.name=`NetworkError`,this.message=`Network error`,Object.setPrototypeOf(this,e.prototype),this.originalProgressEvent=t}},ri=(e,t)=>{e&&(e.aborted?Promise.resolve().then(t):e.addEventListener(`abort`,()=>t(),{once:!0}))},ii=class e extends ti{isCancel=!0;constructor(t=`Request canceled`){super(t),this.name=`CancelError`,Object.setPrototypeOf(this,e.prototype)}},ai=500,oi=({check:e,interval:t=ai,timeout:n,signal:r})=>new Promise((i,a)=>{let o,s;ri(r,()=>{o&&clearTimeout(o),a(new ii(`Poll cancelled`))}),n&&(s=setTimeout(()=>{o&&clearTimeout(o),a(new ii(`Timed out`))},n));let c=()=>{try{Promise.resolve(e(r)).then(e=>{e?(s&&clearTimeout(s),i(e)):o=setTimeout(c,t)}).catch(e=>{s&&clearTimeout(s),a(e)})}catch(e){s&&clearTimeout(s),a(e)}};o=setTimeout(c,0)}),k={baseCDN:`https://ucarecdn.com`,baseURL:`https://upload.uploadcare.com`,maxContentLength:50*1024*1024,retryThrottledRequestMaxTimes:1,retryNetworkErrorMaxTimes:3,multipartMinFileSize:25*1024*1024,multipartChunkSize:5*1024*1024,multipartMinLastPartSize:1024*1024,maxConcurrentRequests:4,pollingTimeoutMilliseconds:1e4,pusherKey:`79ae88bd931ea68464d9`},si=`application/octet-stream`,ci=`original`,li=({method:e,url:t,data:n,headers:r={},signal:i,onProgress:a})=>new Promise((o,s)=>{let c=new XMLHttpRequest,l=e?.toUpperCase()||`GET`,u=!1;c.open(l,t,!0),r&&Object.entries(r).forEach(e=>{let[t,n]=e;n!==void 0&&!Array.isArray(n)&&c.setRequestHeader(t,n)}),c.responseType=`text`,ri(i,()=>{u=!0,c.abort(),s(new ii)}),c.onload=()=>{if(c.status!=200)s(Error(`Error ${c.status}: ${c.statusText}`));else{let e={method:l,url:t,data:n,headers:r||void 0,signal:i,onProgress:a},s=c.getAllResponseHeaders().trim().split(/[\r\n]+/),u={};s.forEach(function(e){let t=e.split(`: `),n=t.shift(),r=t.join(`: `);n&&n!==void 0&&(u[n]=r)});let d=c.response,f=c.status;o({request:e,data:d,headers:u,status:f})}},c.onerror=e=>{u||s(new ni(e))},a&&typeof a==`function`&&(c.upload.onprogress=e=>{e.lengthComputable?a({isComputable:!0,value:e.loaded/e.total}):a({isComputable:!1})}),n?c.send(n):c.send()}),ui=({name:e})=>e?[e]:[],di=jr,fi=()=>new FormData,pi=e=>!1,mi=e=>typeof Blob<`u`&&e instanceof Blob,hi=e=>typeof File<`u`&&e instanceof File,gi=e=>!!e&&typeof e==`object`&&!Array.isArray(e)&&`uri`in e&&typeof e.uri==`string`,_i=e=>mi(e)||hi(e)||pi()||gi(e),vi=e=>typeof e==`string`||typeof e==`number`||e===void 0,yi=e=>!!e&&typeof e==`object`&&!Array.isArray(e),bi=e=>!!e&&typeof e==`object`&&`data`in e&&_i(e.data),xi=class e extends ti{code;request;response;headers;constructor(t,n,r,i,a){super(),this.name=`UploadError`,this.message=t,this.code=n,this.request=r,this.response=i,this.headers=a,Object.setPrototypeOf(this,e.prototype)}},Si=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r&&typeof r==`object`&&!Array.isArray(r)?Object.entries(r).filter(e=>e[1]??!1).forEach(e=>t.set(`${n}[${e[0]}]`,String(e[1]))):Array.isArray(r)?r.forEach(e=>{t.append(`${n}[]`,e)}):typeof r==`string`&&r?t.set(n,r):typeof r==`number`&&t.set(n,r.toString());return t.toString()},Ci=(e,t,n)=>{let r=new URL(e);return r.pathname=(r.pathname+t).replace(`//`,`/`),n&&(r.search=Si(n)),r.toString()},wi=`6.18.4`,Ti=`UploadcareUploadClient`,Ei=wi,Di=`RequestThrottledError`,Oi=15e3,ki=1e3,Ai=e=>{let t=``;return(mi(e)||hi(e)||gi(e))&&(t=e.type),t||si},ji=e=>{let t=``;return hi(e)&&e.name?t=e.name:mi(e)||pi()?t=``:gi(e)&&e.name&&(t=e.name),t||ci},(function(e){e.Token=`token`,e.FileInfo=`file_info`})(Mi||={}),(function(e){e.Unknown=`unknown`,e.Waiting=`waiting`,e.Progress=`progress`,e.Error=`error`,e.Success=`success`})(A||={}),Ni=e=>`status`in e&&e.status===A.Error,Pi=class{uuid;name;size;isStored;isImage;mimeType;cdnUrl;s3Url;originalFilename;imageInfo;videoInfo;contentInfo;metadata;s3Bucket;defaultEffects=null;constructor(e,{baseCDN:t=k.baseCDN,fileName:n}={}){let{uuid:r,s3Bucket:i}=e,a=Ci(t,`${r}/`),o=i?Ci(`https://${i}.s3.amazonaws.com/`,`${r}/${e.filename}`):null;this.uuid=r,this.name=n||e.filename,this.size=e.size,this.isStored=e.isStored,this.isImage=e.isImage,this.mimeType=e.mimeType,this.cdnUrl=a,this.originalFilename=e.originalFilename,this.imageInfo=e.imageInfo,this.videoInfo=e.videoInfo,this.contentInfo=e.contentInfo,this.metadata=e.metadata||null,this.s3Bucket=i||null,this.s3Url=o,Jr(e)&&(this.defaultEffects=e.defaultEffects)}},Fi=(e,{publicKey:t,fileName:n,baseURL:r,secureSignature:i,secureExpire:a,store:o,contentType:s,signal:c,onProgress:l,source:u,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m,baseCDN:h,metadata:ee})=>zr(e,{publicKey:t,fileName:n,contentType:s,baseURL:r,secureSignature:i,secureExpire:a,store:o,signal:c,onProgress:l,source:u,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m,metadata:ee}).then(({file:e})=>qr(e,{publicKey:t,baseURL:r,source:u,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m,onProgress:l,signal:c})).then(e=>new Pi(e,{baseCDN:h})),Ii=(e,{publicKey:t,fileName:n,baseURL:r,signal:i,onProgress:a,source:o,integration:s,userAgent:c,retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:u,baseCDN:d})=>Ur(e,{publicKey:t,baseURL:r,signal:i,source:o,integration:s,userAgent:c,retryThrottledRequestMaxTimes:l,retryNetworkErrorMaxTimes:u}).then(e=>new Pi(e,{baseCDN:d,fileName:n})).then(e=>(a&&a({isComputable:!0,value:1}),e)),Li=(e,{signal:t}={})=>{let n=null,r=null,i=e.map(()=>new AbortController),a=e=>()=>{r=e,i.forEach((t,n)=>n!==e&&t.abort())};return ri(t,()=>{i.forEach(e=>e.abort())}),Promise.all(e.map((e,t)=>{let r=a(t);return Promise.resolve().then(()=>e({stopRace:r,signal:i[t].signal})).then(e=>(r(),e)).catch(e=>(n=e,null))})).then(e=>{if(r===null)throw n;return e[r]})},Ri=window.WebSocket,zi=class{events=Object.create({});emit(e,t){this.events[e]?.forEach(e=>e(t))}on(e,t){this.events[e]=this.events[e]||[],this.events[e].push(t)}off(e,t){t?this.events[e]=this.events[e].filter(e=>e!==t):this.events[e]=[]}},Bi=(e,t)=>e===`success`?{status:A.Success,...t}:e===`progress`?{status:A.Progress,...t}:{status:A.Error,...t},Vi=class{key;disconnectTime;ws=void 0;queue=[];isConnected=!1;subscribers=0;emmitter=new zi;disconnectTimeoutId=null;constructor(e,t=3e4){this.key=e,this.disconnectTime=t}connect(){this.disconnectTimeoutId&&clearTimeout(this.disconnectTimeoutId),!this.isConnected&&!this.ws&&(this.ws=new Ri(`wss://ws.pusherapp.com/app/${this.key}?protocol=5&client=js&version=1.12.2`),this.ws.addEventListener(`error`,e=>{this.emmitter.emit(`error`,Error(e.message))}),this.emmitter.on(`connected`,()=>{this.isConnected=!0,this.queue.forEach(e=>this.send(e.event,e.data)),this.queue=[]}),this.ws.addEventListener(`message`,e=>{let t=JSON.parse(e.data.toString());switch(t.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`:this.emmitter.emit(t.channel,Bi(t.event,JSON.parse(t.data)))}}))}disconnect(){let e=()=>{this.ws?.close(),this.ws=void 0,this.isConnected=!1};this.disconnectTime?this.disconnectTimeoutId=setTimeout(()=>{e()},this.disconnectTime):e()}send(e,t){let n=JSON.stringify({event:e,data:t});this.ws?.send(n)}subscribe(e,t){this.subscribers+=1,this.connect();let n=`task-status-${e}`,r={event:`pusher:subscribe`,data:{channel:n}};this.emmitter.on(n,t),this.isConnected?this.send(r.event,r.data):this.queue.push(r)}unsubscribe(e){--this.subscribers;let t=`task-status-${e}`,n={event:`pusher:unsubscribe`,data:{channel:t}};this.emmitter.off(t),this.isConnected?this.send(n.event,n.data):this.queue=this.queue.filter(e=>e.data.channel!==t),this.subscribers===0&&this.disconnect()}onError(e){return this.emmitter.on(`error`,e),()=>this.emmitter.off(`error`,e)}},Hi=null,Ui=e=>(Hi||=new Vi(e,typeof window>`u`?0:3e4),Hi),Wi=e=>{Ui(e).connect()},Gi=({token:e,pusherKey:t,signal:n,onProgress:r})=>new Promise((i,a)=>{let o=Ui(t),s=o.onError(a),c=()=>{s(),o.unsubscribe(e)};ri(n,()=>{c(),a(new ii(`pusher cancelled`))}),o.subscribe(e,e=>{switch(e.status){case A.Progress:r&&(e.total===`unknown`?r({isComputable:!1}):r({isComputable:!0,value:e.done/e.total}));break;case A.Success:c(),r&&r({isComputable:!0,value:e.done/e.total}),i(e);break;case A.Error:c(),a(new xi(e.msg,e.error_code))}})}),Ki=(e,{publicKey:t,fileName:n,baseURL:r,baseCDN:i,checkForUrlDuplicates:a,saveUrlForRecurrentUploads:o,secureSignature:s,secureExpire:c,store:l,signal:u,onProgress:d,source:f,integration:p,userAgent:m,retryThrottledRequestMaxTimes:h,pusherKey:ee=k.pusherKey,metadata:te})=>Promise.resolve(Wi(ee)).then(()=>Br(e,{publicKey:t,fileName:n,baseURL:r,checkForUrlDuplicates:a,saveUrlForRecurrentUploads:o,secureSignature:s,secureExpire:c,store:l,signal:u,source:f,integration:p,userAgent:m,retryThrottledRequestMaxTimes:h,metadata:te})).catch(e=>(Ui(ee)?.disconnect(),Promise.reject(e))).then(e=>e.type===Mi.FileInfo?e:Li([({signal:n})=>Yr({token:e.token,publicKey:t,baseURL:r,integration:p,userAgent:m,retryThrottledRequestMaxTimes:h,onProgress:d,signal:n}),({signal:t})=>Gi({token:e.token,pusherKey:ee,signal:t,onProgress:d})],{signal:u})).then(e=>{if(e instanceof xi)throw e;return e}).then(e=>qr(e.uuid,{publicKey:t,baseURL:r,integration:p,userAgent:m,retryThrottledRequestMaxTimes:h,onProgress:d,signal:u})).then(e=>new Pi(e,{baseCDN:i})),qi=new WeakMap,Ji=async e=>{if(qi.has(e))return qi.get(e);let t=await fetch(e.uri).then(e=>e.blob());return qi.set(e,t),t},Yi=async e=>{if(hi(e)||mi(e))return e.size;if(gi(e))return(await Ji(e)).size;throw Error(`Unknown file type. Cannot determine file size.`)},Xi=(e,t=k.multipartMinFileSize)=>e>=t,Zi=e=>{let t=RegExp(`[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`);return!_i(e)&&t.test(e)},Qi=e=>{let t=RegExp(`^(?:\\w+:)?\\/\\/([^\\s\\.]+\\.\\S{2}|localhost[\\:?\\d]*)\\S*$`);return!_i(e)&&t.test(e)},$i=(e,t)=>new Promise((n,r)=>{let i=[],a=!1,o=t.length,s=[...t],c=()=>{let e=t.length-s.length,l=s.shift();l&&l().then(t=>{a||(i[e]=t,--o,o?c():n(i))}).catch(e=>{a=!0,r(e)})};for(let t=0;t<e;t++)c()}),ea=(e,t,n,r)=>{let i=r*t,a=Math.min(i+r,n);return e.slice(i,a)},ta=async(e,t,n)=>r=>ea(e,r,t,n),na=(e,t,{publicKey:n,contentType:r,onProgress:i,signal:a,integration:o,retryThrottledRequestMaxTimes:s,retryNetworkErrorMaxTimes:c})=>Gr(e,t,{publicKey:n,contentType:r,onProgress:i,signal:a,integration:o,retryThrottledRequestMaxTimes:s,retryNetworkErrorMaxTimes:c}),ra=async(e,{publicKey:t,fileName:n,fileSize:r,baseURL:i,secureSignature:a,secureExpire:o,store:s,signal:c,onProgress:l,source:u,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m,contentType:h,multipartChunkSize:ee=k.multipartChunkSize,maxConcurrentRequests:te=k.maxConcurrentRequests,baseCDN:g,metadata:ne})=>{let re=r??await Yi(e),ie,ae=(e,t)=>{if(!l)return;ie||=Array(e).fill(0);let n=e=>e.reduce((e,t)=>e+t,0);return r=>{r.isComputable&&(ie[t]=r.value,l({isComputable:!0,value:n(ie)/e}))}};return h||=Ai(e),Wr(re,{publicKey:t,contentType:h,fileName:n||ji(e),baseURL:i,secureSignature:a,secureExpire:o,store:s,signal:c,source:u,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m,metadata:ne,multipartChunkSize:ee}).then(async({uuid:n,parts:r})=>{let i=await ta(e,re,ee);return Promise.all([n,$i(te,r.map((e,n)=>()=>na(i(n),e,{publicKey:t,contentType:h,onProgress:ae(r.length,n),signal:c,integration:d,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m})))])}).then(([e])=>Kr(e,{publicKey:t,baseURL:i,source:u,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m})).then(e=>e.isReady?e:qr(e.uuid,{publicKey:t,baseURL:i,source:u,integration:d,userAgent:f,retryThrottledRequestMaxTimes:p,retryNetworkErrorMaxTimes:m,onProgress:l,signal:c})).then(e=>new Pi(e,{baseCDN:g}))},ia=(e,t)=>{try{let n=new URL(e),r=new URL(t);return n.protocol=r.protocol,n.hostname=r.hostname,n.port=r.port,n.toString()}catch{return e}},aa=class{uuid;filesCount;totalSize;isStored;isImage;cdnUrl;files;createdAt;storedAt=null;constructor(e,{baseCDN:t=k.baseCDN}={}){this.uuid=e.id,this.filesCount=e.filesCount;let n=e.files.filter(Boolean);this.totalSize=Object.values(n).reduce((e,t)=>e+t.size,0),this.isStored=!!e.datetimeStored,this.isImage=!!Object.values(n).filter(e=>e.isImage).length,this.cdnUrl=ia(e.cdnUrl,t),this.files=n.map(e=>new Pi(e,{baseCDN:t})),this.createdAt=e.datetimeCreated,this.storedAt=e.datetimeStored}},oa=e=>{for(let t of e)if(!_i(t))return!1;return!0},sa=e=>{for(let t of e)if(!Zi(t))return!1;return!0},ca=e=>{for(let t of e)if(!Qi(t))return!1;return!0},la=class{_concurrency=1;_pending=[];_running=0;_resolvers=new Map;_rejectors=new Map;constructor(e){this._concurrency=e}run(){let e=this._concurrency-this._running;for(let t=0;t<e;t++){let e=this._pending.shift();if(!e)return;let t=this._resolvers.get(e),n=this._rejectors.get(e);if(!t||!n)throw Error(`Unexpected behavior: resolver or rejector is undefined`);this._running+=1,e().finally(()=>{this._resolvers.delete(e),this._rejectors.delete(e),--this._running,this.run()}).then(e=>t(e)).catch(e=>n(e))}}add(e,{autoRun:t}={autoRun:!0}){return new Promise((n,r)=>{this._resolvers.set(e,n),this._rejectors.set(e,r),this._pending.push(e),t&&this.run()})}get pending(){return this._pending.length}get running(){return this._running}set concurrency(e){this._concurrency=e,this.run()}get concurrency(){return this._concurrency}}})),da,fa,pa,ma,ha=n((()=>{ua(),da=()=>({}),fa=e=>({...da(),"*currentActivity":null,"*currentActivityParams":{},"*history":[],"*historyBack":null,"*closeModal":()=>{e.modalManager?.close(e.$[`*currentActivity`]),e.pub(`*currentActivity`,null)}}),pa=e=>({...fa(e),"*commonProgress":0,"*uploadList":[],"*uploadQueue":new la(1),"*collectionErrors":[],"*collectionState":null,"*groupInfo":null,"*uploadTrigger":new Set}),ma=e=>({...pa(e),"*solution":null})})),j,ga=n((()=>{j=Object.freeze({START_FROM:`start-from`,CAMERA:`camera`,UPLOAD_LIST:`upload-list`,URL:`url`,CLOUD_IMG_EDIT:`cloud-image-edit`,EXTERNAL:`external`})})),_a,va=n((()=>{ga(),br(),_a=class extends gr{constructor(e){super(e),this.scopes=new Set,this.listener=this._listener.bind(this),window.addEventListener(`paste`,this.listener)}openUploadList(){this._sharedInstancesBag.api.setCurrentActivity(j.UPLOAD_LIST),this._sharedInstancesBag.api.setModalState(!0)}async _listener(e){if(e.clipboardData){for(let t of this.scopes)if(t.isConnected)switch(this._cfg.pasteScope){case`global`:await this.handlePaste(e);break;case`local`:if(!t.contains(e.target))continue;await this.handlePaste(e);break;default:continue}}}async handlePaste(e){let t=Array.from(e.clipboardData.items),n=t.map(e=>e.getAsFile()).filter(e=>e!==null),r=t.filter(e=>e.kind===`string`&&e.type===`text/plain`).map(e=>new Promise(t=>{e.getAsString(e=>{t(e)})}));n.length>0&&(n.forEach(e=>{this._sharedInstancesBag.api.addFileFromObject(e,{source:`clipboard`})}),this.openUploadList()),r.length>0&&((await Promise.all(r)).forEach(e=>{this._sharedInstancesBag.api.addFileFromUrl(e,{source:`clipboard`})}),this.openUploadList())}registerBlock(e){return this.scopes.add(e),()=>{this.scopes.delete(e)}}destroy(){super.destroy(),window.removeEventListener(`paste`,this.listener),this.scopes.clear()}}})),ya=n((()=>{}));function ba(e,t){t.tabIndex=0,t.focus(),e.tabIndex=-1}function xa(e){let t=e.role||e.type||e.tagName;if(!t)return null;let n=Ea[t.toLowerCase()];if(!n)return null;for(let t of n){let n=e.closest(`[role=${t}]`);if(n)return n}}function Sa(e,t){return t.role===`toolbar`?Ca(t):t.querySelectorAll(`[role=${e.role}]`)}function Ca(e){return[...e.querySelectorAll(`*`)].filter(e=>e.role===`button`||e.type===`button`||e.role===`checkbox`||e.type===`checkbox`)}function wa(e){let t=e.getAttribute(`aria-orientation`);if(t===`vertical`)return!1;if(t===`horizontal`)return!0;let n=e.role;return n===`menubar`||n===`tablist`||n===`toolbar`}function Ta(e){return t=>{let n=!1,r=e?.searchDelayMs||300,i=0,a=``;function o(e){let n=xa(e.target);if(!n){s();return}let o=Sa(e.target,n),c=Array.from(o).indexOf(e.target),l=`ArrowDown`,u=`ArrowUp`;if(wa(n)&&(t.document.dir===`rtl`?(l=`ArrowLeft`,u=`ArrowRight`):(l=`ArrowRight`,u=`ArrowLeft`)),e.key===l)e.preventDefault(),ba(e.target,o[c+1]||o[0]);else if(e.key===u)e.preventDefault(),ba(e.target,o[c-1]||o[o.length-1]);else if(e.key===`Home`)e.preventDefault(),ba(e.target,o[0]);else if(e.key===`End`)e.preventDefault(),ba(e.target,o[o.length-1]);else if(e.key.length===1&&n.role!==`tablist`){let t=Date.now();t-i<=r?a+=e.key.toLowerCase():a=e.key.toLowerCase(),i=t;let n=Array.from(o).find(e=>e.textContent?.trim()?.toLowerCase()?.startsWith(a));n&&(e.preventDefault(),ba(e.target,n))}}function s(){n=!1,t.removeEventListener(`keydown`,o)}function c(e){let r=xa(e.target);if(r){n||(n=!0,t.addEventListener(`keydown`,o));let i=Sa(e.target,r);for(let t of i)t!==e.target&&t.setAttribute(`tabindex`,-1)}else n&&s()}function l(e){(!e.relatedTarget||e.relatedTarget===t.document)&&s()}function u(e){let t=xa(e.target);if(t){let n=Sa(e.target,t);for(let t of n)t!==e.target&&t.setAttribute(`tabindex`,-1);e.target.setAttribute(`tabindex`,0)}}return t.addEventListener(`click`,u),t.addEventListener(`focusin`,c),t.addEventListener(`focusout`,l),()=>{s(),t.removeEventListener(`click`,u),t.removeEventListener(`focusin`,c),t.removeEventListener(`focusout`,l)}}}var Ea,Da=n((()=>{Ea={button:[`toolbar`],checkbox:[`toolbar`],menuitem:[`menu`,`menubar`],option:[`listbox`],tab:[`tablist`]}}));function Oa(){return e=>{let t,n;function r(e){if(e.target.getAttribute(`aria-hidden`)===`true`){t=e.target,t.setAttribute(`aria-hidden`,`false`),n=t.hidden,n&&(t.hidden=!1);let r=e.target.querySelector(`a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])`);r&&(r.tabIndex=0)}}function i(e){t&&t.contains(e.target)&&(!e.relatedTarget||!t.contains(e.relatedTarget))&&(e.target.tabIndex=-1,t.setAttribute(`aria-hidden`,`true`),n&&(t.hidden=!0),t=null)}return e.addEventListener(`keyuxJump`,r),e.addEventListener(`focusout`,i),()=>{e.removeEventListener(`keyuxJump`,r),e.removeEventListener(`focusout`,i)}}}var ka=n((()=>{})),Aa=n((()=>{}));function ja(){return e=>{let t=[];function n(n){let r=e.document.activeElement;r&&r!==e.document.body&&t.push(new WeakRef(r)),n.focus({focusVisible:!0})}function r(){let n=t.pop();if(!n){e.document.activeElement.blur();return}let i=n.deref();i&&i.isConnected?i.focus():r()}let i=0,a;function o(t){clearInterval(a);let r=t.getAttribute(`aria-controls`);a=setInterval(()=>{if(i++>50){clearInterval(a);return}let t=e.document.getElementById(r);if(t){let r=t.querySelector(`a, button, select, textarea, input:not([type=radio]), [type=radio]:checked, [tabindex]:not([tabindex="-1"])`);r&&(clearInterval(a),t.dispatchEvent(new e.CustomEvent(`keyuxJump`,{bubbles:!0})),n(r))}},50)}function s(e){e.target.getAttribute(`aria-controls`)&&e.key===`Enter`&&o(e.target),e.key===`Escape`&&r()}return e.addEventListener(`keydown`,s),()=>{e.removeEventListener(`keydown`,s)}}}var Ma=n((()=>{})),Na=n((()=>{}));function Pa(e){let t,n=e.split(` `),r;function i(e){e.key===`Enter`&&(e.target.tagName===`BUTTON`||e.target.tagName===`A`)&&(a(),e.target.classList.add(...n),t=e.target,r=e.target)}function a(){t&&t.classList.remove(...n),r=null}function o(e){e.clientX===0&&e.clientY===0&&r!==e.target&&(a(),e.target.classList.add(...n),t=e.target)}return e=>(e.addEventListener(`click`,o),e.addEventListener(`keydown`,i),e.addEventListener(`keyup`,a),()=>{e.removeEventListener(`click`,o),e.removeEventListener(`keydown`,i),e.removeEventListener(`keyup`,a)})}var Fa=n((()=>{}));function Ia(e,t){let n=t.map(t=>t(e));return()=>{n.forEach(e=>e())}}var La=n((()=>{ya(),Da(),ka(),Aa(),Ma(),Na(),Fa()})),Ra,za,Ba=n((()=>{La(),Ra=class{constructor(){this._listeners=new Map,this._scope=[]}addEventListener(e,t){let n=e=>{let n=e.target;n instanceof Node&&this._scope.some(e=>e===n||e.contains(n))&&t(e)};this._listeners.set(t,n),window.addEventListener(e,n)}removeEventListener(e,t){let n=this._listeners.get(t);n&&window.removeEventListener(e,n),this._listeners.delete(t)}get CustomEvent(){return window.CustomEvent}get document(){return window.document}get navigator(){return window.navigator}registerScope(e){this._scope.push(e)}destroy(){this._scope=[];for(let e of this._listeners.values())window.removeEventListener(`keydown`,e),window.removeEventListener(`keyup`,e);this._listeners.clear()}},za=class{constructor(){this._scopedWindow=new Ra,this._destroyKeyUX=Ia(this._scopedWindow,[Ta(),Pa(`is-pressed`),ja(),Oa()])}registerBlock(e){this._scopedWindow.registerScope(e)}destroy(){this._destroyKeyUX?.(),this._scopedWindow.destroy()}}})),Va,Ha,Ua=n((()=>{br(),hn(),Sn(),Cn(),Va=e=>`*l10n/${e}`,Ha=class extends gr{constructor(e){super(e),this._localeName=``;for(let[e,t]of Object.entries(mn)){let n=this._ctx.has(Va(e))?!this._ctx.read(Va(e)):!0;this._ctx.add(Va(e),t,n)}let t=e.pluginManager;t?.onPluginsChange&&this.addSub(t.onPluginsChange(()=>{this._localeName&&this._applyPluginLocales(this._localeName)})),this.addSub(this._ctx.sub(E(`localeName`),async e=>{if(!e)return;this._localeName=e;let t=await xn(e);e!==`en`&&this._localeName!==e||(this._applyPluginLocales(e),this._applyOverrides(e,t))})),this.addSub(this._ctx.sub(E(`localeDefinitionOverride`),e=>{if(!e)return;let t=e[this._localeName];t&&this._applyOverrides(this._localeName,t)}))}_applyOverrides(e,t){let n=this._cfg.localeDefinitionOverride?.[e];for(let[e,r]of Object.entries(t)){let t=n?.[e];this._ctx.add(Va(e),t??r,!0)}}_applyPluginLocales(e){let t=this._sharedInstancesBag.pluginManager;if(!t)return;let n=t.snapshot();for(let t of n.i18n){let{pluginId:n,...r}=t,i=r[e];if(i)for(let[e,t]of Object.entries(i))t!==void 0&&this._ctx.add(Va(e),t,!0)}}}})),Wa,Ga=n((()=>{Wa=class{constructor(){this._definitions=new Map}register(e,t){if(this._definitions.has(t.name)){console.warn(`[CustomConfig] Config option "${t.name}" is already registered`);return}let n={attribute:!0,...t,pluginId:e};this._definitions.set(t.name,n)}unregister(e){this._definitions.delete(e)}unregisterByPlugin(e){for(let[t,n]of this._definitions)n.pluginId===e&&this._definitions.delete(t)}get(e){return this._definitions.get(e)}getAll(){return new Map(this._definitions)}}})),Ka,qa=n((()=>{br(),Ga(),Cn(),Ka=class extends gr{constructor(e){super(e),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 Wa,this.addSub(this._ctx.sub(E(`plugins`),e=>{this._pluginsUpdate=this._pluginsUpdate.then(()=>this._syncPlugins(e))}))}onPluginsChange(e){return this._subscribers.add(e),()=>{this._subscribers.delete(e)}}async _syncPlugins(e){let t=new Set(this._plugins.keys()),n=new Set;for(let r of e){if(n.has(r.id)){this._debugPrint(`Plugin "${r.id}" is already in the list, skipping duplicate`);continue}n.add(r.id);let e=this._plugins.get(r.id);if(!e||e.plugin!==r)try{await this._registerPlugin(r)}catch(e){this._purgeRegistrations(r.id),this._notifySubscribers(),this._debugPrint(`Plugin "${r.id}" setup failed`,e)}t.delete(r.id)}for(let e of t)this._unregisterPlugin(e)}async _registerPlugin(e){this._plugins.has(e.id)&&this._unregisterPlugin(e.id);let t={sources:[],activities:[],fileActions:[],fileHooks:[],icons:[],i18n:[]},n=[],r={registry:{registerSource:n=>this._register(this._sources,t.sources,e.id,n),registerActivity:n=>this._register(this._activities,t.activities,e.id,n),registerFileAction:n=>this._register(this._fileActions,t.fileActions,e.id,n),registerFileHook:n=>this._register(this._fileHooks,t.fileHooks,e.id,n),registerIcon:n=>this._register(this._icons,t.icons,e.id,n),registerI18n:n=>this._register(this._i18n,t.i18n,e.id,n),registerConfig:t=>{this.configRegistry.register(e.id,t)}},config:{get:e=>{let t=E(e);return this._ctx.read(t)},subscribe:(e,t)=>{let r=E(e),i=this._ctx.sub(r,e=>{t(e)});return n.push(i),i}},activity:{getParams:()=>this._ctx.read(`*currentActivityParams`),subscribeToParams:e=>{let t=this._ctx.sub(`*currentActivityParams`,t=>{e(t)});return n.push(t),t}},files:{update:(e,t)=>{let n=this._sharedInstancesBag.uploadCollection?.read(e);n&&(t.file!==void 0&&(n.setValue(`file`,t.file),n.setValue(`fileSize`,t.file.size)),t.cdnUrl!==void 0&&n.setValue(`cdnUrl`,t.cdnUrl),t.cdnUrlModifiers!==void 0&&n.setValue(`cdnUrlModifiers`,t.cdnUrlModifiers),t.mimeType!==void 0&&n.setValue(`mimeType`,t.mimeType))}}},i=this._sharedInstancesBag.api,a;try{a=await e.setup({pluginApi:r,uploaderApi:i})??void 0}catch(e){for(let e of n)try{e()}catch(e){this._debugPrint(`Failed to unsubscribe config listener`,e)}throw e}this._plugins.set(e.id,{plugin:e,exports:a,registrations:t,configSubscriptions:n}),this._notifySubscribers()}_unregisterPlugin(e){let t=this._plugins.get(e);if(t){this._purgeRegistrations(e);for(let e of t.configSubscriptions)try{e()}catch(e){this._debugPrint(`Failed to unsubscribe config listener`,e)}t.exports?.dispose?.(),this._plugins.delete(e),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 e of Array.from(this._plugins.keys()))this._unregisterPlugin(e);super.destroy()}_register(e,t,n,r){let i={...r,pluginId:n};return e.push(i),t.push(i),r}_purgeRegistrations(e){this._sources=this._sources.filter(t=>t.pluginId!==e),this._activities=this._activities.filter(t=>t.pluginId!==e),this._fileActions=this._fileActions.filter(t=>t.pluginId!==e),this._fileHooks=this._fileHooks.filter(t=>t.pluginId!==e),this._icons=this._icons.filter(t=>t.pluginId!==e),this._i18n=this._i18n.filter(t=>t.pluginId!==e),this.configRegistry.unregisterByPlugin(e)}_notifySubscribers(){for(let e of this._subscribers)try{e()}catch{}}}})),Ja=n((()=>{})),Ya=n((()=>{qa(),Ja()}));function Xa(e){return e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`).replace(/__/g,`_`)}function Za(e){return Array.isArray(e)?e.map(e=>typeof e==`object`&&e?Za(e):e):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,t])=>{let n=Xa(e);return typeof t==`object`&&t?[n,Za(t)]:[n,t]}))}function Qa(e){return{ok:!0,value:e}}function $a(e){return{ok:!1,error:e}}var eo,to,no,ro,io,ao=n((()=>{eo=`https://tlm.uploadcare.com/api/`,to=class{constructor(e=eo){this.baseUrl=e}async base(e,t={}){let n=`${this.baseUrl}${e}`;try{let e=await fetch(n,t);if(!e.ok)return $a(Error(`Got non-200 response from "${n}". Status: ${e.status.toString()}`));try{return Qa(await e.json())}catch(e){return $a(Error(`Error parsing JSON from "${n}". Error: ${e}`))}}catch(e){return $a(Error(`Error fetching data from "${n}". Error: ${e}`))}}async post(e,t,n={}){return await this.base(e,{...n,method:`POST`,body:JSON.stringify(Za(t)),headers:{"Content-Type":`application/json`,...n.headers||{}}})}async get(e,t={}){return await this.base(e,{method:`GET`,...t})}},no=async(e,t)=>({success:!0,data:t}),ro=async e=>no(void 0,e),io=class extends to{constructor(){super()}async sendEvent(e,t){let n=await ro(e);if(!n.success)throw console.error(`TelemetryAPIService: events: body is invalid`,n.error),Error(`TelemetryAPIService: events: body is invalid`);return this.post(`v1/events`,e,t)}}})),oo,M,N,so,P=n((()=>{br(),oo=20,M=Object.freeze({INIT_SOLUTION:`init-solution`,CHANGE_CONFIG:`change-config`,ACTION_EVENT:`action-event`,ERROR_EVENT:`error-event`}),N=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`}),so=class extends gr{constructor(...e){super(...e),this._timeoutStore=new Map,this._targets=new Set}bindTarget(e){return this._targets.add(e),()=>{this._targets.delete(e)}}_dispatch(e,t){for(let n of this._targets)n.dispatchEvent(new CustomEvent(e,{detail:t}));this._debugPrint?.(()=>{let n=t&&typeof t==`object`?{...t}:t;return[`event "${e}"`,n]})}emit(e,t,n={}){let{debounce:r}=n;if(typeof r!=`number`&&!r){this._dispatch(e,typeof t==`function`?t():t);return}this._timeoutStore.has(e)&&window.clearTimeout(this._timeoutStore.get(e));let i=typeof r==`number`?r:oo,a=window.setTimeout(()=>{try{let n=typeof t==`function`?t():t;this._dispatch(e,n),this._timeoutStore.delete(e)}catch(t){this._debugPrint?.(()=>`Error while getting payload for event "${e}"`,t)}},i);this._timeoutStore.set(e,a)}destroy(){for(let e of this._timeoutStore.values())window.clearTimeout(e);this._targets.clear()}}})),co,lo=n((()=>{co=`1.28.0-alpha.1`})),uo,fo,po=n((()=>{lo(),uo=`blocks`,fo=co})),mo,ho=n((()=>{ao(),ua(),pr(),P(),po(),br(),Cn(),mo=class extends gr{constructor(e){super(e),this._sessionId=cn.generateRandomUUID(),this._config=structuredClone(fr),this._initialized=!1,this._lastPayload=null,this._isEnabled=!1,this._telemetryInstance=new io,this._queue=new la(10),this.addSub(this._ctx.sub(E(`qualityInsights`),e=>{this._isEnabled=!!e}));for(let e of Object.keys(this._config))this.addSub(this._ctx.sub(E(e),t=>{this._isEnabled&&(this._initialized&&this._config[e]!==t&&this.sendEvent({eventType:M.CHANGE_CONFIG}),this._setConfig(e,t))}))}_init(e){e===M.INIT_SOLUTION&&!this._initialized&&(this._initialized=!0)}_setConfig(e,t){this._config[e]!==t&&(this._config[e]=t)}_formattingPayload(e){let t=e.payload?{...e.payload}:{};t.activity&&=void 0;let n={...e};return(e.eventType===M.INIT_SOLUTION||e.eventType===M.CHANGE_CONFIG)&&(n.config=this._config),{...n,appVersion:fo,appName:uo,sessionId:this._sessionId,component:this._solution,activity:this._activity,projectPubkey:this._config.pubkey,userAgent:navigator.userAgent,eventType:n.eventType??``,eventTimestamp:this._timestamp,payload:{location:this._location,...t}}}_excludedEvents(e){return!!(e&&[N.CHANGE,N.COMMON_UPLOAD_PROGRESS,N.FILE_ADDED,N.FILE_REMOVED,N.FILE_UPLOAD_START,N.FILE_UPLOAD_PROGRESS,N.FILE_UPLOAD_SUCCESS,N.FILE_UPLOAD_FAILED].includes(e))}sendEvent(e){if(!this._isEnabled)return;let t=this._formattingPayload({eventType:e.eventType,payload:e.payload,config:e.config});this._init(e.eventType),!this._excludedEvents(e.eventType)&&(this._lastPayload&&this._checkObj(this._lastPayload,t)||this._queue.add(async()=>{this._lastPayload=t,await this._telemetryInstance.sendEvent(t)}))}sendEventError(e,t=`unknown`){this.sendEvent({eventType:M.ERROR_EVENT,payload:{metadata:{event:`error`,text:`Error in ${t}`,error:e.message}}})}sendEventCloudImageEditor(e,t,n={}){this.sendEvent({eventType:M.ACTION_EVENT,payload:{metadata:{tabId:t,node:e.currentTarget?.tagName,event:e.type,...n}}})}_checkObj(e,t){if(JSON.stringify(e)===JSON.stringify(t))return!0;if(typeof e!=`object`||typeof t!=`object`||e==null||t==null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.hasOwn(t,r)||!this._checkObj(e[r],t[r]))return!1;return!0}get _timestamp(){return Date.now()}get _solution(){if(!this._ctx.has(`*solution`))return null;let e=this._ctx.read(`*solution`);return e?e.toLowerCase():null}get _activity(){return this._ctx.has(`*currentActivity`)?this._ctx.read(`*currentActivity`):null}get _location(){return location.origin}}})),go,_o=n((()=>{go=e=>{let t=new Intl.Locale(e),n=`ltr`,r=t.getTextInfo?.().direction;return r?n=r:t.textInfo?.direction&&(n=t.textInfo.direction),n}}));function vo(e,t={},n={}){let{openToken:r=xo,closeToken:i=So,transform:a=bo}=n;for(let n in t){let o=t[n]?.toString(),s=typeof o==`string`?a(o):String(o);e=e.replaceAll(r+n+i,s)}return e}function yo(e){let t=[],n=e.indexOf(xo);for(;n!==-1;){let r=e.indexOf(So,n);if(r===-1)break;let i=e.substring(n+2,r);if(i.startsWith(Co)){let a=e.substring(n+2,r).replace(Co,``),o=a.substring(0,a.indexOf(`(`)),s=a.substring(a.indexOf(`(`)+1,a.indexOf(`)`));t.push({variable:i,pluralKey:o,countVariable:s})}n=e.indexOf(xo,r)}return t}var bo,xo,So,Co,wo=n((()=>{bo=e=>e,xo=`{{`,So=`}}`,Co=`plural:`})),To,Eo,Do=n((()=>{nn(),To=`--uploadcare-blocks-window-height`,Eo=class e{static{this.clientsRegistry=new Set}static{this.flush=C(()=>{document.documentElement.style.setProperty(To,`${window.innerHeight}px`)},100)}static registerClient(t){e.clientsRegistry.size===0&&e.attachTracker(),e.clientsRegistry.add(t)}static unregisterClient(t){e.clientsRegistry.delete(t),e.clientsRegistry.size===0&&e.detachTracker()}static attachTracker(){window.addEventListener(`resize`,e.flush,{passive:!0,capture:!0}),e.flush()}static detachTracker(){window.removeEventListener(`resize`,e.flush,{capture:!0}),document.documentElement.style.removeProperty(To)}}})),Oo,ko=n((()=>{Oo=(e,t)=>new Intl.PluralRules(e).select(t)})),Ao,jo,Mo=n((()=>{Ua(),ko(),wo(),Ao=e=>(t,n)=>{let r=e();return r(`${t}__${Oo(r(`locale-id`)||`en`,n)}`)},jo=e=>{let t=Ao(()=>n),n=(n,r={})=>{if(!n)return``;let i=e().read(Va(n))||n,a=yo(i);for(let e of a)r[e.variable]=t(e.pluralKey,Number(r[e.countVariable]));return vo(i,r)};return n}})),No,Po,Fo=n((()=>{Cn(),No=e=>e.tagName?.includes(`-`)??!1,Po=class{constructor(e){this._trackedElements=new Set,this._originalValues=new Map,this._enabled=!1,this._host=e,this._host.addController(this)}hostDisconnected(){this._unsubscribe?.(),this._unsubscribe=void 0,this._trackedElements.clear(),this._originalValues.clear()}hostUpdated(){!this._unsubscribe&&this._host.has(E(`testMode`))&&(this._unsubscribe=this._host.subConfigValue(`testMode`,e=>{this._enabled=!!e,this._applyTestMode()})),this._collectElements(),this._applyTestMode()}_collectElements(){let e=this._host,t=e.renderRoot??e;if(!t)return;let n=this._host,r=n.tagName?.toLowerCase(),i=Array.from(t.querySelectorAll(`[data-testid]`)).filter(e=>!No(e));for(let e of i)if(!(r&&e.closest(r)!==n)&&!this._trackedElements.has(e)){let t=e.getAttribute(`data-testid`);if(!t)continue;this._trackedElements.add(e),this._originalValues.set(e,t)}for(let e of Array.from(this._trackedElements))(!e.isConnected||r&&e.closest(r)!==n)&&(this._trackedElements.delete(e),this._originalValues.delete(e))}_applyTestMode(){if(!this._trackedElements.size)return;let e=this._host.testId||``;for(let t of this._trackedElements){let n=this._originalValues.get(t);n&&(this._enabled?t.setAttribute(`data-testid`,`${e}--${n}`):t.removeAttribute(`data-testid`))}}}})),Io,F,I=n((()=>{y(),ha(),va(),Ba(),Ua(),Sr(),Ya(),ho(),Cn(),pr(),P(),ne(),zn(),_o(),wo(),Do(),Ot(),hr(),At(),Mo(),Mt(),on(),br(),Fo(),Io=jt(rn()(Dt(kt(ht)))),F=class extends Io{static{this.styleAttrs=[]}constructor(){super(),this.activityType=null,this.init$=da(),this.l10n=jo(()=>this.sharedCtx),this.debugPrint=mr(()=>this.sharedCtx,this.constructor.name),this._sharedInstancesBag=yr(()=>this.sharedCtx),new Po(this)}emit(e,t,n){let r=this.has(`*eventEmitter`)?this.$[`*eventEmitter`]:void 0;if(!r)return;r.emit(e,t,n);let i=typeof t==`function`?t():t;this.telemetryManager.sendEvent({eventType:e,payload:i??void 0})}hasBlockInCtx(e){for(let t of this.blocksRegistry)if(e(t))return!0;return!1}connectedCallback(){this.constructor.styleAttrs.forEach(e=>{this.setAttribute(e,``)}),super.connectedCallback(),Eo.registerClient(this)}initCallback(){this._addSharedContextInstance(`*blocksRegistry`,()=>new Set),this._addSharedContextInstance(`*pluginManager`,e=>new Ka(e)),this._addSharedContextInstance(`*eventEmitter`,e=>new so(e)),this._addSharedContextInstance(`*localeManager`,e=>new Ha(e)),this._addSharedContextInstance(`*modalManager`,e=>new xr(e)),this._addSharedContextInstance(`*a11y`,()=>new za),this._addSharedContextInstance(`*clipboard`,e=>new _a(e)),this._addSharedContextInstance(`*telemetryManager`,e=>new mo(e)),this.sub(Va(`locale-id`),e=>{let t=go(e);this.style.direction=t===`ltr`?``:t,this.requestUpdate()}),this.subConfigValue(`testMode`,e=>{if(!e||!this.testId){this.removeAttribute(`data-testid`);return}this.setAttribute(`data-testid`,this.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(),Eo.unregisterClient(this);let e=this.blocksRegistry;e?.delete(this),e?.size===0&&setTimeout(()=>{this.isConnected||e?.size>0||this.destroyCtxCallback()},0)}destroyCtxCallback(){this._destroySharedContextInstances(),g.deleteCtx(this.ctxName)}_getSharedContextInstances(){let e=`*sharedContextInstances`;if(!this.has(e)||!this.$[e]){let t=new Map;this.add(e,t,!0)}return this.$[e]}_addSharedContextInstance(e,t){let n=this._getSharedContextInstances();if(!n.has(e)&&(!this.has(e)||!this.$[e])){let r=t(this._sharedInstancesBag);this.add(e,r,!0),n.set(e,r);return}}_destroySharedContextInstances(){let e=this._getSharedContextInstances();for(let[t,n]of e.entries())n?.destroy?.(),this.pub(t,null);e.clear()}_getSharedContextInstance(e,t=!0){if(this.has(e)&&this.$[e]||!t)return this.$[e];throw Error(`Unexpected error: context manager for key "${String(e)}" is not available`)}async proxyUrl(e){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(e,{uuid:On(e),cdnUrlModifiers:kn(e),fileName:Dn(e)})}catch(t){return console.error(`Failed to resolve secure delivery proxy URL. Falling back to the default URL.`,t),this.telemetryManager.sendEventError(t,`secureDeliveryProxyUrlResolver. Failed to resolve secure delivery proxy URL. Falling back to the default URL.`),e}return this.cfg.secureDeliveryProxy?vo(this.cfg.secureDeliveryProxy,{previewUrl:e},{transform:e=>window.encodeURIComponent(e)}):e}get cfg(){return this._cfgProxy||=new Proxy({},{set:(e,t,n)=>{if(typeof t!=`string`||!(t in fr))return!1;let r=t,i=E(r);return this.has(i)||this.add(i,fr[r]),this.$[i]=n,!0},get:(e,t)=>{let n=E(t);return this.has(n)||this.add(n,fr[t]),this.$[n]}}),this._cfgProxy}subConfigValue(e,t){let n=E(e);return this.has(n)||this.add(n,fr[e]),this.sub(n,t)}}})),Lo,Ro,zo,Bo=n((()=>{Lo={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Ro=e=>(...t)=>({_$litDirective$:e,values:t}),zo=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}})),Vo,Ho=n((()=>{pt(),Bo(),Vo=class extends zo{constructor(e){if(super(e),this.it=v,e.type!==Lo.CHILD)throw Error(this.constructor.directiveName+`() can only be used in child bindings`)}render(e){if(e===v||e==null)return this._t=void 0,this.it=e;if(e===Qe)return e;if(typeof e!=`string`)throw Error(this.constructor.directiveName+`() called with a non-string value`);if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}},Vo.directiveName=`unsafeHTML`,Vo.resultType=1,Ro(Vo)})),Uo,Wo,Go=n((()=>{Bo(),Ho(),Uo=class extends Vo{},Uo.directiveName=`unsafeSVG`,Uo.resultType=2,Wo=Ro(Uo)})),Ko=n((()=>{Go()}));Ko(),I(),wr();var qo=`<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>`;y(),ha();var Jo=class extends F{constructor(...e){super(...e),this.init$=ma(this)}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 _`${Wo(qo)}`}},Yo,Xo,Zo=n((()=>{Yo=e=>typeof e==`number`?Math.floor(e/1e3):0,Xo=(e,{threshold:t})=>{let{secureExpire:n}=e,r=Yo(Date.now()),i=Number(n);return r+Yo(t)>=i}})),Qo,$o=n((()=>{br(),Zo(),Qo=class extends gr{constructor(...e){super(...e),this._secureToken=null}async getSecureToken(){let{secureSignature:e,secureExpire:t,secureUploadsSignatureResolver:n,secureUploadsExpireThreshold:r}=this._cfg;if((e||t)&&n&&console.warn(`Both secureSignature/secureExpire and secureUploadsSignatureResolver are set. secureUploadsSignatureResolver will be used.`),n){if(!this._secureToken||Xo(this._secureToken,{threshold:r})){this._secureToken?this._debugPrint(`Secure signature is expired. Resolving a new one...`):this._debugPrint(`Secure signature is not set yet.`);try{let e=await n();e?!e.secureSignature||!e.secureExpire?console.error(`Secure signature resolver returned an invalid result:`,e):(this._debugPrint(`Secure signature resolved:`,e),this._debugPrint(`Secure signature will expire in`,new Date(Number(e.secureExpire)*1e3).toISOString()),this._secureToken=e):(this._debugPrint(`Secure signature resolver returned nothing.`),this._secureToken=null)}catch(e){console.error(`Secure signature resolving failed. Falling back to the previous one.`,e),this._sharedInstancesBag.telemetryManager.sendEventError(e,`secureUploadsSignatureResolver. Secure signature resolving failed. Falling back to the previous one.`)}}return this._secureToken}return e&&t?(this._debugPrint(`Secure signature and expire are set. Using them...`,{secureSignature:e,secureExpire:t}),{secureSignature:e,secureExpire:t}):null}destroy(){super.destroy(),this._secureToken=null}}})),es,ts=n((()=>{es=(e,t)=>{if(e.failedCount>0)return{type:`SOME_FILES_HAS_ERRORS`,message:t.l10n(`some-files-were-not-uploaded`)}}})),ns,rs=n((()=>{ns=(e,t)=>{let n=e.totalCount,r=t.cfg.multiple?t.cfg.multipleMin:0,i=t.cfg.multiple?t.cfg.multipleMax:1;if(r&&n<r)return{type:`TOO_FEW_FILES`,message:t.l10n(`files-count-limit-error-too-few`,{min:r,max:i,total:n}),payload:{total:n,min:r,max:i}};if(i&&n>i)return{type:`TOO_MANY_FILES`,message:t.l10n(`files-count-limit-error-too-many`,{min:r,max:i,total:n}),payload:{total:n,min:r,max:i}}}})),is=n((()=>{ts(),rs()})),as,os,ss,cs,ls,us,ds=n((()=>{as=()=>{let e=navigator.userAgent;return/Macintosh|Windows/.test(e)&&/Version\/[\d.]+.*Safari/.test(e)&&!/Chrome|Chromium|Edg|OPR/.test(e)},os=()=>`capture`in document.createElement(`input`),ss=()=>({safariDesktop:as()}),cs=()=>({htmlMediaCapture:os()}),ls=ss(),us=cs()})),fs,ps,ms,hs,gs,_s,vs,ys,bs,xs=n((()=>{ds(),Vn(),fs=`image/*`,ps=`video/*`,ms=[`image/heif`,`image/heif-sequence`,`image/heic`,`image/heic-sequence`,`image/avif`,`image/avif-sequence`,`.heif`,`.heifs`,`.heic`,`.heics`,`.avif`,`.avifs`],hs=()=>ls.safariDesktop?[fs]:[fs,...ms],gs=hs(),_s=e=>e?e.filter(e=>typeof e==`string`).flatMap(e=>Bn(e)):[],vs=(e,t)=>t.some(t=>{if(t.endsWith(`*`)){let n=t.replace(`*`,``);return e.startsWith(n)}return e===t}),ys=(e,t)=>t.some(t=>t.startsWith(`.`)?e.toLowerCase().endsWith(t.toLowerCase()):!1),bs=e=>{let t=e?.type;return t?vs(t,gs):!1}})),Ss,Cs=n((()=>{xs(),Ss=(e,t)=>{let n=t.cfg.imgOnly,r=t.cfg.accept,i=_s([...n?gs:[],r]);if(!i.length)return;let a=e.mimeType,o=e.name;if(!a||!o)return;let s=vs(a,i),c=ys(o,i);if(!s&&!c)return{type:`FORBIDDEN_FILE_TYPE`,message:t.l10n(`file-type-not-allowed`),payload:{entry:e}}}})),ws,Ts=n((()=>{ws=(e,t)=>{let n=t.cfg.imgOnly,r=e.isImage;if(!(!n||r)&&!(!e.fileInfo&&e.externalUrl)&&!(!e.fileInfo&&!e.mimeType))return{type:`NOT_AN_IMAGE`,message:t.l10n(`images-only-accepted`),payload:{entry:e}}}})),Es,Ds,Os,ks,As=n((()=>{ko(),Es=1e3,Ds=Object.freeze({AUTO:`auto`,BYTE:`byte`,KB:`kb`,MB:`mb`,GB:`gb`,TB:`tb`,PB:`pb`}),Os=e=>Math.ceil(e*100)/100,ks=(e,t=Ds.AUTO)=>{let n=t===Ds.AUTO;return t===Ds.BYTE||n&&e<Es**1?`${e} ${Oo(`en-US`,e)===`one`?`byte`:`bytes`}`:t===Ds.KB||n&&e<Es**2?`${Os(e/Es**1)} KB`:t===Ds.MB||n&&e<Es**3?`${Os(e/Es**2)} MB`:t===Ds.GB||n&&e<Es**4?`${Os(e/Es**3)} GB`:t===Ds.TB||n&&e<Es**5?`${Os(e/Es**4)} TB`:`${Os(e/Es**5)} PB`}})),js,Ms=n((()=>{As(),js=(e,t)=>{let n=t.cfg.maxLocalFileSizeBytes,r=e.size;if(n&&r&&r>n)return{type:`FILE_SIZE_EXCEEDED`,message:t.l10n(`files-max-size-limit-error`,{maxFileSize:ks(n)}),payload:{entry:e}}}})),Ns,Ps=n((()=>{ua(),Ns=(e,t)=>{let{internalId:n}=e;if(!t._uploadCollection.hasItem(n))return;let r=t._uploadCollection.read(n)?.getValue(`uploadError`);if(!r)return;if(r instanceof xi)return{type:`UPLOAD_ERROR`,message:r.message,payload:{entry:e,error:r}};if(r instanceof ni)return{type:`NETWORK_ERROR`,message:r.message,payload:{entry:e,error:r}};let i=r instanceof Error?r:Error(`Unknown error`,{cause:r});return{type:`UNKNOWN_ERROR`,message:i.message,payload:{entry:e,error:i}}}})),Fs=n((()=>{Cs(),Ts(),Ms(),Ps()})),Is,Ls,Rs,zs=n((()=>{ua(),P(),br(),nn(),is(),Fs(),Cn(),Is={FILE_VALIDATION_FAILED:`File validator execution has failed`,FILE_VALIDATION_TIMEOUT:`File validator execution has timed out`,COLLECTION_VALIDATION_FAILED:`Collection validator execution has failed`,MISSING_ERROR_MESSAGE:`Missing message. We recommend adding message: value.`},Ls=e=>typeof e==`function`?{runOn:`change`,validator:e}:e,Rs=class extends gr{get _uploadCollection(){return this._sharedInstancesBag.uploadCollection}constructor(e){super(e),this._commonFileValidators=[ws,Ss,js,Ns],this._commonCollectionValidators=[ns,es],this._queue=new la(20),this._runQueueDebounced=C(()=>{this._queue.run()},500),this._isDestroyed=!1,this._entryValidationState=new Map;let t=C(()=>{this.runFileValidators(`change`),this.runCollectionValidators()},0);this.addSub(this._ctx.sub(E(`maxLocalFileSizeBytes`),t)),this.addSub(this._ctx.sub(E(`multipleMin`),t)),this.addSub(this._ctx.sub(E(`multipleMax`),t)),this.addSub(this._ctx.sub(E(`multiple`),t)),this.addSub(this._ctx.sub(E(`imgOnly`),t)),this.addSub(this._ctx.sub(E(`accept`),t)),this.addSub(this._ctx.sub(E(`validationConcurrency`),e=>{this._queue.concurrency=e}))}runFileValidators(e,t){if(this._isDestroyed)return;let n=t??this._uploadCollection.items();for(let t of n){let n=this._uploadCollection.read(t);n&&this._runFileValidatorsForEntry(n,e)}}runCollectionValidators(){if(this._isDestroyed)return;let e=this._sharedInstancesBag.api,t=e.getOutputCollectionState(),n=[],r=this._cfg.collectionValidators;for(let i of[...this._commonCollectionValidators,...r])try{let r=i(t,e);if(!r)continue;r&&(n.push(this._addCustomTypeToValidationError(r)),r.message||console.warn(Is.MISSING_ERROR_MESSAGE))}catch(e){console.warn(Is.COLLECTION_VALIDATION_FAILED,e)}this._ctx.pub(`*collectionErrors`,n),n.length>0&&this._sharedInstancesBag.eventEmitter.emit(N.COMMON_UPLOAD_FAILED,()=>e.getOutputCollectionState(),{debounce:!0})}cleanupValidationForEntry(e){let t=this._entryValidationState.get(e.uid);t&&(t.abortController?.abort(),this._entryValidationState.delete(e.uid))}async _runFileValidatorsForEntry(e,t){if(this._isDestroyed)return;let n=this._sharedInstancesBag.api,r=this._getEntryValidationState(e),i=r.promise??Promise.resolve(),a=(async()=>{if(this._isDestroyed||(await i,this._isDestroyed))return;let a=this._getValidatorDescriptorsForEntry(e,t);if(a.length===0||!this._uploadCollection.hasItem(e.uid))return;e.setMultipleValues({isQueuedForValidation:!0,isValidationPending:!0});let o=n.getOutputItem(e.uid),s=new AbortController;r.abortController=s;let c=this._cfg.validationTimeout,l=this._getValidatorDescriptors(),u=new Set(a.map(e=>e.validator)),d=[];for(let e of l)if(!u.has(e.validator)){let t=r.lastErrorThrownByValidator.get(e.validator);t&&d.push(t)}let f=a.map(e=>async()=>{if(this._isDestroyed)return;let t=setTimeout(()=>{r.skippedValidators.add(e.validator),s.abort(),console.warn(Is.FILE_VALIDATION_TIMEOUT)},c);try{let t=await e.validator(o,n,{signal:s.signal});if(!t||s.signal.aborted){r.lastErrorThrownByValidator.set(e.validator,void 0);return}let i=this._addCustomTypeToValidationError(t);r.lastErrorThrownByValidator.set(e.validator,i),d.push(i),t.message||console.warn(Is.MISSING_ERROR_MESSAGE)}catch(t){s.signal.aborted||(r.skippedValidators.add(e.validator),console.warn(Is.FILE_VALIDATION_FAILED,t),this._sharedInstancesBag.telemetryManager.sendEventError(t,`file validator. ${Is.FILE_VALIDATION_FAILED}`))}finally{clearTimeout(t),e.runOn!==`change`&&r.skippedValidators.add(e.validator)}});if(this._runQueueDebounced(),await this._queue.add(async()=>{this._isDestroyed||(e.setValue(`isQueuedForValidation`,!1),await Promise.all(f.map(e=>e())).catch(()=>{}))},{autoRun:!1}),s.signal.aborted){e.setMultipleValues({isQueuedForValidation:!1,isValidationPending:!1});return}e.setMultipleValues({isValidationPending:!1,isQueuedForValidation:!1,errors:d})})();r.promise=a;try{await a}finally{r.promise===a&&(r.promise=void 0)}}_addCustomTypeToValidationError(e){return{...e,type:e.type??`CUSTOM_ERROR`}}_getEntryValidationState(e){let t=this._entryValidationState.get(e.uid);if(t)return t;let n={abortController:void 0,skippedValidators:new WeakSet,promise:void 0,lastErrorThrownByValidator:new WeakMap};return this._entryValidationState.set(e.uid,n),n}_getValidatorDescriptors(){let e=this._cfg.fileValidators;return[...this._commonFileValidators,...e].map(Ls)}_getValidatorDescriptorsForEntry(e,t){let n=this._getEntryValidationState(e);return this._getValidatorDescriptors().filter(e=>!n.skippedValidators.has(e.validator)).filter(e=>e.runOn===t)}destroy(){this._isDestroyed=!0,this._runQueueDebounced.cancel();for(let e of this._entryValidationState.values())e.abortController?.abort(),e.promise=void 0;this._entryValidationState.clear()}}})),Bs,Vs,Hs=n((()=>{ne(),ln(),Bs=`[Typed State] Wrong property name: `,Vs=class{constructor(e){this._ctxId=cn.generateFastUid(),this._data=g.registerCtx(e,this._ctxId)}get uid(){return this._ctxId}setValue(e,t){if(!this._data.has(e)){console.warn(`${Bs}${String(e)}`);return}this._data.read(e)!==t&&this._data.pub(e,t)}setMultipleValues(e){for(let[t,n]of Object.entries(e))this.setValue(t,n)}getValue(e){return this._data.has(e)||console.warn(`${Bs}${String(e)}`),this._data.read(e)}subscribe(e,t){return this._data.sub(e,t)}destroy(){g.deleteCtx(this._ctxId)}}})),Us,Ws=n((()=>{ne(),ln(),Hs(),Us=class e{static{this._destroyDelayMs=1e4}constructor(e){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=e.initialValue,this._ctxId=cn.generateFastUid(),this._data=g.registerCtx({},this._ctxId),this._watchList=e.watchList||[];let t=Object.create(null);this._notifyObservers=(e,n)=>{this._observeTimeout&&window.clearTimeout(this._observeTimeout),t[e]||(t[e]=new Set),t[e].add(n),this._observeTimeout=window.setTimeout(()=>{Object.keys(t).length!==0&&(this._propertyObservers.forEach(e=>{e({...t})}),t=Object.create(null))}),this._scheduleDestroyMarkedItems()},e.handler&&this.observeCollection(e.handler)}_notify(){this._notifyTimeout&&window.clearTimeout(this._notifyTimeout),this._notifyTimeout=window.setTimeout(()=>{let e=new Set(this._added),t=new Set(this._removed);this._added.clear(),this._removed.clear();for(let n of this._collectionObservers)n?.([...this._items],e,t);this._scheduleDestroyMarkedItems()})}_scheduleDestroyMarkedItems(){this._markedToDestroy.size!==0&&(this._destroyTimeout&&window.clearTimeout(this._destroyTimeout),this._destroyTimeout=window.setTimeout(()=>{let e=[...this._markedToDestroy];this._markedToDestroy.clear();for(let t of e)t.destroy()},e._destroyDelayMs))}observeCollection(e){return this._collectionObservers.add(e),this._items.size>0&&this._notify(),()=>{this.unobserveCollection(e)}}unobserveCollection(e){this._collectionObservers.delete(e)}add(e){let t=new Vs(this._initialValue);for(let[n,r]of Object.entries(e))t.setValue(n,r);return this._items.add(t.uid),this._notify(),this._data.add(t.uid,t),this._added.add(t),this._watchList.forEach(e=>{this._subsMap[t.uid]||(this._subsMap[t.uid]=[]),this._subsMap[t.uid]?.push(t.subscribe(e,()=>{this._notifyObservers(e,t.uid)}))}),t.uid}hasItem(e){return this._items.has(e)}read(e){return this._data.read(e)??null}readProp(e,t){let n=this.read(e);if(!n)throw Error(`TypedCollection#readProp: Item with id ${e} not found`);return n.getValue(t)}publishProp(e,t,n){let r=this.read(e);if(!r)throw Error(`TypedCollection#publishProp: Item with id ${e} not found`);r.setValue(t,n)}remove(e){let t=this.read(e);t&&(this._removed.add(t),this._markedToDestroy.add(t)),this._items.delete(e),this._notify(),this._data.pub(e,void 0),this._subsMap[e]?.forEach(e=>{e()}),delete this._subsMap[e]}clearAll(){this._items.forEach(e=>{this.remove(e)})}observeProperties(e){return this._propertyObservers.add(e),()=>{this.unobserveProperties(e)}}unobserveProperties(e){this._propertyObservers.delete(e)}findItems(e){let t=[];return this._items.forEach(n=>{let r=this.read(n);r&&e(r)&&t.push(n)}),t}items(){return[...this._items]}get size(){return this._items.size}destroy(){this._observeTimeout&&window.clearTimeout(this._observeTimeout),this._notifyTimeout&&window.clearTimeout(this._notifyTimeout),this._destroyTimeout&&window.clearTimeout(this._destroyTimeout);for(let e of this._markedToDestroy)e.destroy();this._markedToDestroy.clear(),g.deleteCtx(this._ctxId),this._propertyObservers=new Set,this._collectionObservers=new Set;for(let e of Object.keys(this._subsMap))this._subsMap[e]?.forEach(e=>{e()}),delete this._subsMap[e]}}})),L,Gs,Ks=n((()=>{L=Object.freeze({PHOTO:`photo`,VIDEO:`video`}),Gs=Object.freeze({IDLE:`idle`,SHOT:`shot`,PLAY:`play`,PAUSE:`pause`,RESUME:`resume`,STOP:`stop`,RETAKE:`retake`,ACCEPT:`accept`})})),qs,Js=n((()=>{En(),Ks(),qs=e=>({isVideoRecordingEnabled:wn(e.cameraModes).includes(L.VIDEO),isPhotoEnabled:wn(e.cameraModes).includes(L.PHOTO)})})),Ys,Xs=n((()=>{Ys=(e,t)=>{for(let n of e)if(t(n))return n}})),Zs,Qs=n((()=>{Zs=(e,t)=>{for(let n of e)if(t(n))return!0;return!1}}));function $s(e,t){for(let n in t)n.includes(`-`)?e.style.setProperty(n,String(t[n])):e.style[n]=String(t[n])}var ec=n((()=>{})),tc,nc,rc=n((()=>{pr(),tc=RegExp(`^/?([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})(?:/(-/(?:[^/]+/)+)?([^/]*))?$`,`i`),nc=({url:e,cdnBase:t})=>{let n=new URL(t),r=new URL(sr),i=new URL(e);if(n.host!==i.host&&r.host!==i.host)return null;let a=tc.exec(i.pathname);if(!a)return null;let[,o,s,c]=a;return o?{uuid:o,cdnUrlModifiers:s||``,filename:c||null}:null}})),ic,ac,R,oc=n((()=>{ic=Object.freeze({FACEBOOK:`facebook`,DROPBOX:`dropbox`,GDRIVE:`gdrive`,GPHOTOS:`gphotos`,FLICKR:`flickr`,VK:`vk`,EVERNOTE:`evernote`,BOX:`box`,ONEDRIVE:`onedrive`,HUDDLE:`huddle`}),ac=Object.freeze({MOBILE_VIDEO_CAMERA:`mobile-video-camera`,MOBILE_PHOTO_CAMERA:`mobile-photo-camera`}),R=Object.freeze({LOCAL:`local`,DROP_AREA:`drop-area`,CAMERA:`camera`,EXTERNAL:`external`,API:`js-api`,URL:`url`,...ac,...ic})})),sc,cc=n((()=>{sc=e=>e.uploadCollection.items().map(t=>e.api.getOutputItem(t))}));function lc(e){let t=new Map;return(...n)=>{let r=JSON.stringify(n);if(t.has(r))return t.get(r);let i=e(...n);return t.set(r,i),i}}var uc=n((()=>{}));function dc(e){fc.has(e)||(fc.add(e),console.warn(e))}var fc,pc=n((()=>{fc=new Set}));function mc(e){let t=!1;return setTimeout(()=>{t=!0},0),n=>((...r)=>(t&&dc(e),n(...r)))}function hc(e){let t={},n=e.ctx,r={progress:()=>n.read(`*commonProgress`),errors:()=>n.read(`*collectionErrors`),group:()=>n.read(`*groupInfo`),totalCount:()=>e.uploadCollection.size,failedCount:()=>t.failedEntries.length,successCount:()=>t.successEntries.length,uploadingCount:()=>t.uploadingEntries.length,status:()=>t.isFailed?`failed`:t.isUploading?`uploading`:t.isSuccess?`success`:`idle`,isSuccess:()=>t.allEntries.length>0&&t.errors.length===0&&t.successEntries.length===t.allEntries.length,isUploading:()=>t.allEntries.some(e=>e.status===`uploading`),isFailed:()=>t.errors.length>0||t.failedEntries.length>0,allEntries:()=>sc(e),successEntries:()=>t.allEntries.filter(e=>e.status===`success`),failedEntries:()=>t.allEntries.filter(e=>e.status===`failed`),uploadingEntries:()=>t.allEntries.filter(e=>e.status===`uploading`),idleEntries:()=>t.allEntries.filter(e=>e.status===`idle`)},i=mc("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}`");for(let[e,n]of Object.entries(r)){let r=e,a=lc(i(n));Object.defineProperty(t,r,{get:a,enumerable:!0})}return t}var gc=n((()=>{cc(),uc(),pc()})),_c,vc=n((()=>{Js(),Ks(),P(),ga(),Xs(),Qs(),Mo(),ne(),br(),ec(),ds(),En(),xs(),rc(),Vn(),oc(),gc(),_c=class extends gr{constructor(...e){super(...e),this._l10n=jo(()=>this._ctx),this.addFileFromUrl=(e,{silent:t,fileName:n,source:r}={})=>{let i=this._uploadCollection.add({externalUrl:e,fileName:n??null,silent:t??!1,source:r??R.API});return this.getOutputItem(i)},this.addFileFromUuid=(e,{silent:t,fileName:n,source:r}={})=>{let i=this._uploadCollection.add({uuid:e,fileName:n??null,silent:t??!1,source:r??R.API});return this.getOutputItem(i)},this.addFileFromCdnUrl=(e,{silent:t,fileName:n,source:r}={})=>{let i=nc({url:e,cdnBase:this.cfg.cdnCname});if(!i)throw Error(`Invalid CDN URL`);let a=this._uploadCollection.add({uuid:i.uuid,cdnUrl:e,cdnUrlModifiers:i.cdnUrlModifiers,fileName:n??i.filename??null,silent:t??!1,source:r??R.API});return this.getOutputItem(a)},this.addFileFromObject=(e,{silent:t,fileName:n,source:r,fullPath:i}={})=>{let a=this._uploadCollection.add({file:e,isImage:bs(e),mimeType:e.type,fileName:n??e.name,fileSize:e.size,silent:t??!1,source:r??R.API,fullPath:i??null});return this.getOutputItem(a)},this.removeFileByInternalId=e=>{if(!this._uploadCollection.read(e))throw Error(`File with internalId ${e} not found`);this._uploadCollection.remove(e)},this.uploadAll=()=>{let e=this._uploadCollection.items().filter(e=>{let t=this._uploadCollection.read(e);return t?!t.getValue(`isRemoved`)&&!t.getValue(`isUploading`)&&!t.getValue(`fileInfo`)&&t.getValue(`errors`).length===0&&!t.getValue(`isValidationPending`)&&!t.getValue(`isQueuedForValidation`):!1});e.length!==0&&(this._ctx.pub(`*uploadTrigger`,new Set(e)),this._sharedInstancesBag.eventEmitter.emit(N.COMMON_UPLOAD_START,this.getOutputCollectionState()))},this.openSystemDialog=(e={})=>{let t=Tn(_s([this.cfg.accept??``,...this.cfg.imgOnly?gs:[]])),n=`uploadcare-file-input`,r=document.createElement(`input`);if(r.setAttribute(n,``),$s(r,{opacity:0,height:0,width:0,visibility:`hidden`,position:`absolute`,top:0,left:0}),r.type=`file`,r.multiple=this.cfg.multiple,e.captureCamera){r.capture=this.cfg.cameraCapture;let{isPhotoEnabled:t,isVideoRecordingEnabled:n}=qs(this.cfg);e.modeCamera===L.PHOTO&&t?r.accept=fs:e.modeCamera===L.VIDEO&&n?r.accept=ps:r.accept=[fs,n&&`video/*`].filter(Boolean).join(`,`)}else r.accept=t;r.addEventListener(`change`,()=>{r.files&&([...r.files].forEach(t=>{this.addFileFromObject(t,{source:e.captureCamera?R.CAMERA:R.LOCAL})}),this._ctx.pub(`*currentActivity`,j.UPLOAD_LIST),this._sharedInstancesBag.modalManager?.open(j.UPLOAD_LIST),r.remove())},{once:!0}),document.querySelectorAll(`[${n}]`).forEach(e=>{e.remove()}),document.body.appendChild(r),r.dispatchEvent(new MouseEvent(`click`))},this.initFlow=(e=!1)=>{if(this._uploadCollection.size>0&&!e)this._ctx.pub(`*currentActivity`,j.UPLOAD_LIST),this._sharedInstancesBag.modalManager?.open(j.UPLOAD_LIST);else if(this._sourceList?.length===1){let e=this._sourceList[0];if(e===`local`){this._ctx.pub(`*currentActivity`,j.UPLOAD_LIST),this.openSystemDialog();return}if(e===`camera`&&us.htmlMediaCapture){let{isPhotoEnabled:e,isVideoRecordingEnabled:t}=qs(this.cfg);if(e&&t){this._ctx.pub(`*currentActivity`,j.START_FROM);return}else if(e||t){this.openSystemDialog({captureCamera:!0,modeCamera:e?L.PHOTO:L.VIDEO});return}else this.openSystemDialog({captureCamera:!0,modeCamera:L.PHOTO})}setTimeout(()=>{if(e!==this._sourceList[0])return;let t=this._sharedInstancesBag.blocksRegistry;Ys(t,t=>`type`in t&&t.type===e)?.activate()},0),this._ctx.read(`*currentActivity`)&&this._sharedInstancesBag.modalManager?.open(this._ctx.read(`*currentActivity`))}else this._ctx.pub(`*currentActivity`,j.START_FROM),this._sharedInstancesBag.modalManager?.open(j.START_FROM)},this.doneFlow=()=>{let e=Ys(this._sharedInstancesBag.blocksRegistry,e=>`doneActivity`in e);e&&(this._ctx.pub(`*currentActivity`,e.doneActivity),this._ctx.pub(`*history`,e.doneActivity?[e.doneActivity]:[]),this._ctx.read(`*currentActivity`)||this._sharedInstancesBag.modalManager?.closeAll())},this.setCurrentActivity=(e,...t)=>{setTimeout(()=>{if(Zs(this._sharedInstancesBag.blocksRegistry,t=>t.activityType===e)){this._ctx.pub(`*currentActivityParams`,t[0]??{}),this._ctx.pub(`*currentActivity`,e);return}console.warn(`Activity type "${e}" not found in the context`)})},this.getCurrentActivity=()=>this._ctx.read(`*currentActivity`),this.setModalState=e=>{setTimeout(()=>{if(e&&!this._ctx.read(`*currentActivity`)){console.warn(`Can't open modal without current activity. Please use "setCurrentActivity" method first.`);return}e?this._sharedInstancesBag.modalManager?.open(this._ctx.read(`*currentActivity`)):(this._sharedInstancesBag.modalManager?.close(this._ctx.read(`*currentActivity`)),this._ctx.pub(`*currentActivity`,null))})}}get _uploadCollection(){return this._sharedInstancesBag.uploadCollection}get cfg(){return this._cfg}get l10n(){return this._l10n}removeAllFiles(){this._uploadCollection.clearAll()}getOutputItem(e){let t=g.getCtx(e);if(!t)throw Error(`UploaderPublicApi#getOutputItem: Entry with ID "${e}" not found in the upload collection`);let n=t.store,r=n.fileInfo,i=n.isRemoved?`removed`:n.errors.length>0?`failed`:n.fileInfo?`success`:n.isUploading?`uploading`:`idle`;return{uuid:r?.uuid??n.uuid??null,internalId:e,name:r?.originalFilename??n.fileName,size:r?.size??n.fileSize,isImage:r?.isImage??n.isImage,mimeType:r?.mimeType??n.mimeType,file:n.file,externalUrl:n.externalUrl,cdnUrlModifiers:n.cdnUrlModifiers,cdnUrl:n.cdnUrl??r?.cdnUrl??null,fullPath:n.fullPath,uploadProgress:n.uploadProgress,fileInfo:r??null,metadata:n.metadata??r?.metadata??null,isSuccess:i===`success`,isUploading:i===`uploading`,isFailed:i===`failed`,isRemoved:i===`removed`,isValidationPending:n.isValidationPending,errors:n.errors,status:i,source:n?.source}}getOutputCollectionState(){return hc(this._sharedInstancesBag)}get _sourceList(){let e=[];return this.cfg.sourceList&&(e=Bn(this.cfg.sourceList)),e}}})),yc,bc=n((()=>{yc={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}})),xc,Sc,Cc=n((()=>{xc=3/2,Sc=100/3}));function wc(e,t){for(let[n,r]of Object.entries(t))e.setAttributeNS(null,n,r.toString())}function Tc(e,t={}){let n=document.createElementNS(`http://www.w3.org/2000/svg`,e);return wc(n,t),n}function Ec(e,t,n){let{x:r,y:i,width:a,height:o}=e,s=t.includes(`w`)?0:1,c=t.includes(`n`)?0:1,l=s===0?-1:1,u=c===0?-1:1,d=[r+s*a+xc*l,i+c*o+xc*u-24*n*u],f=[r+s*a+xc*l,i+c*o+xc*u],p=[r+s*a-24*n*l+xc*l,i+c*o+xc*u];return{d:`M ${d[0]} ${d[1]} L ${f[0]} ${f[1]} L ${p[0]} ${p[1]}`,center:[f[0],f[1]]}}function Dc(e,t,n){let{x:r,y:i,width:a,height:o}=e,s=t===`n`||t===`s`,c=t===`w`||t===`e`,l=s?.5:t===`w`?0:1,u=c?.5:t===`n`?0:1,d=t===`w`?-1:t===`e`?1:0,f=t===`n`?-1:t===`s`?1:0,p,m;return s?(p=[r+l*a-34*n/2,i+u*o+xc*f],m=[r+l*a+34*n/2,i+u*o+xc*f]):(p=[r+l*a+xc*d,i+u*o-34*n/2],m=[r+l*a+xc*d,i+u*o+34*n/2]),{d:`M ${p[0]} ${p[1]} L ${m[0]} ${m[1]}`,center:[(p[0]+m[0])/2,(p[1]+m[1])/2]}}function Oc(e){return e===``?`move`:[`e`,`w`].includes(e)?`ew-resize`:[`n`,`s`].includes(e)?`ns-resize`:[`nw`,`se`].includes(e)?`nwse-resize`:`nesw-resize`}function kc({rect:e,delta:[t,n],imageBox:r}){return Ac({...e,x:e.x+t,y:e.y+n},r)}function Ac(e,t){let{x:n}=e,{y:r}=e;return e.x<t.x?n=t.x:e.x+e.width>t.x+t.width&&(n=t.x+t.width-e.width),e.y<t.y?r=t.y:e.y+e.height>t.y+t.height&&(r=t.y+t.height-e.height),{...e,x:n,y:r}}function jc({rect:e,delta:t,aspectRatio:n,imageBox:r}){let[,i]=t,{y:a,width:o,height:s}=e;a+=i,s-=i,n&&(o=s*n);let c=e.x+e.width/2-o/2;return a<=r.y&&(a=r.y,s=e.y+e.height-a,n&&(o=s*n,c=e.x+e.width/2-o/2)),c<=r.x&&(c=r.x,a=e.y+e.height-s),c+o>=r.x+r.width&&(c=Math.max(r.x,r.x+r.width-o),o=r.x+r.width-c,n&&(s=o/n),a=e.y+e.height-s),s<1&&(s=1,n&&(o=s*n,c=e.x+e.width/2-o/2),a=e.y+e.height-s),o<1&&(o=1,n&&(s=o/n,c=e.x+e.width/2-o/2),a=e.y+e.height-s),{x:c,y:a,width:o,height:s}}function Mc({rect:e,delta:t,aspectRatio:n,imageBox:r}){let[i]=t,{x:a,width:o,height:s}=e;a+=i,o-=i,n&&(s=o/n);let c=e.y+e.height/2-s/2;return a<=r.x&&(a=r.x,o=e.x+e.width-a,n&&(s=o/n,c=e.y+e.height/2-s/2)),c<=r.y&&(c=r.y,a=e.x+e.width-o),c+s>=r.y+r.height&&(c=Math.max(r.y,r.y+r.height-s),s=r.y+r.height-c,n&&(o=s*n),a=e.x+e.width-o),s<1&&(s=1,n&&(o=s*n),c=e.y+e.height/2-s/2,a=e.x+e.width-o),o<1&&(o=1,n&&(s=o/n),c=e.y+e.height/2-s/2,a=e.x+e.width-o),{x:a,y:c,width:o,height:s}}function Nc({rect:e,delta:t,aspectRatio:n,imageBox:r}){let[,i]=t,{y:a,width:o,height:s}=e;s+=i,n&&(o=s*n);let c=e.x+e.width/2-o/2;return a+s>=r.y+r.height&&(s=r.y+r.height-a,n&&(o=s*n),c=e.x+e.width/2-o/2),c<=r.x&&(c=r.x,a=e.y),c+o>=r.x+r.width&&(c=Math.max(r.x,r.x+r.width-o),o=r.x+r.width-c,n&&(s=o/n),a=e.y),s<1&&(s=1,n&&(o=s*n),c=e.x+e.width/2-o/2),o<1&&(o=1,n&&(s=o/n),c=e.x+e.width/2-o/2),{x:c,y:a,width:o,height:s}}function Pc({rect:e,delta:t,aspectRatio:n,imageBox:r}){let[i]=t,{x:a,width:o,height:s}=e;o+=i,n&&(s=o/n);let c=e.y+e.height/2-s/2;return a+o>=r.x+r.width&&(o=r.x+r.width-a,n&&(s=o/n),c=e.y+e.height/2-s/2),c<=r.y&&(c=r.y,a=e.x),c+s>=r.y+r.height&&(c=Math.max(r.y,r.y+r.height-s),s=r.y+r.height-c,n&&(o=s*n),a=e.x),s<1&&(s=1,n&&(o=s*n),c=e.y+e.height/2-s/2),o<1&&(o=1,n&&(s=o/n),c=e.y+e.height/2-s/2),{x:a,y:c,width:o,height:s}}function Fc({rect:e,delta:t,aspectRatio:n,imageBox:r}){let[i,a]=t,{x:o,y:s,width:c,height:l}=e;return o+i<r.x&&(i=r.x-o),s+a<r.y&&(a=r.y-s),o+=i,c-=i,s+=a,l-=a,n&&Math.abs(c/l)>n?(a=c/n-l,l+=a,s-=a,s<=r.y&&(l-=r.y-s,c=l*n,o=e.x+e.width-c,s=r.y)):n&&(i=l*n-c,c+=i,o-=i,o<=r.x&&(c-=r.x-o,l=c/n,o=r.x,s=e.y+e.height-l)),l<1&&(l=1,n&&(c=l*n),o=e.x+e.width-c,s=e.y+e.height-l),c<1&&(c=1,n&&(l=c/n),o=e.x+e.width-c,s=e.y+e.height-l),{x:o,y:s,width:c,height:l}}function Ic({rect:e,delta:t,aspectRatio:n,imageBox:r}){let[i,a]=t,{x:o,y:s,width:c,height:l}=e;return o+c+i>r.x+r.width&&(i=r.x+r.width-o-c),s+a<r.y&&(a=r.y-s),c+=i,s+=a,l-=a,n&&Math.abs(c/l)>n?(a=c/n-l,l+=a,s-=a,s<=r.y&&(l-=r.y-s,c=l*n,o=e.x,s=r.y)):n&&(i=l*n-c,c+=i,o+c>=r.x+r.width&&(c=r.x+r.width-o,l=c/n,o=r.x+r.width-c,s=e.y+e.height-l)),l<1&&(l=1,n&&(c=l*n),s=e.y+e.height-l),c<1&&(c=1,n&&(l=c/n),s=e.y+e.height-l),{x:o,y:s,width:c,height:l}}function Lc({rect:e,delta:t,aspectRatio:n,imageBox:r}){let[i,a]=t,{x:o,y:s,width:c,height:l}=e;return o+i<r.x&&(i=r.x-o),s+l+a>r.y+r.height&&(a=r.y+r.height-s-l),o+=i,c-=i,l+=a,n&&Math.abs(c/l)>n?(a=c/n-l,l+=a,s+l>=r.y+r.height&&(l=r.y+r.height-s,c=l*n,o=e.x+e.width-c,s=r.y+r.height-l)):n&&(i=l*n-c,c+=i,o-=i,o<=r.x&&(c-=r.x-o,l=c/n,o=r.x,s=e.y)),l<1&&(l=1,n&&(c=l*n),o=e.x+e.width-c),c<1&&(c=1,n&&(l=c/n),o=e.x+e.width-c),{x:o,y:s,width:c,height:l}}function Rc({rect:e,delta:t,aspectRatio:n,imageBox:r}){let[i,a]=t,{x:o,y:s,width:c,height:l}=e;return o+c+i>r.x+r.width&&(i=r.x+r.width-o-c),s+l+a>r.y+r.height&&(a=r.y+r.height-s-l),c+=i,l+=a,n&&Math.abs(c/l)>n?(a=c/n-l,l+=a,s+l>=r.y+r.height&&(l=r.y+r.height-s,c=l*n,o=e.x,s=r.y+r.height-l)):n&&(i=l*n-c,c+=i,o+c>=r.x+r.width&&(c=r.x+r.width-o,l=c/n,o=r.x+r.width-c,s=e.y)),l<1&&(l=1,n&&(c=l*n)),c<1&&(c=1,n&&(l=c/n)),{x:o,y:s,width:c,height:l}}function zc({direction:e,...t}){switch(e){case`n`:return jc(t);case`w`:return Mc(t);case`s`:return Nc(t);case`e`:return Pc(t);case`nw`:return Fc(t);case`ne`:return Ic(t);case`sw`:return Lc(t);case`se`:return Rc(t);default:return t.rect}}function Bc(e,[t,n]){return e.x<=t&&t<=e.x+e.width&&e.y<=n&&n<=e.y+e.height}function Vc(e,t){return e.x>=t.x&&e.y>=t.y&&e.x+e.width<=t.x+t.width&&e.y+e.height<=t.y+t.height}function Hc(e,t){return Math.abs(e.width/e.height-t)<.1}function Uc({width:e,height:t},n){let r=n/90%2!=0;return{width:r?t:e,height:r?e:t}}function Wc(e,t,n){let r=e/t,i,a;r>n?(i=Math.round(t*n),a=t):(i=e,a=Math.round(e/n));let o=Math.round((e-i)/2),s=Math.round((t-a)/2);return o+i>e&&(i=e-o),s+a>t&&(a=t-s),{x:o,y:s,width:i,height:a}}function Gc(e){return{x:Math.round(e.x),y:Math.round(e.y),width:Math.round(e.width),height:Math.round(e.height)}}function Kc(e,t,n){return Math.min(Math.max(e,t),n)}var qc=n((()=>{Cc()})),Jc,Yc,Xc,Zc=n((()=>{Vn(),ln(),Jc=[`free`],Yc=e=>{let t=Bn(e);if(!t||t.length===0)return[];let n=[];for(let e of t){let t=e.trim();if(!t)continue;let r=t.indexOf(`:`);if(r===-1&&!Jc.includes(t)){console.warn(`Invalid crop preset: ${t}`);continue}let i=Number(t.slice(0,r)),a=Number(t.slice(r+1));if((!Number.isFinite(i)||!Number.isFinite(a)||i<=0||a<=0)&&!Jc.includes(t)){console.warn(`Invalid crop preset: ${t}`);continue}n.push({id:cn.generateFastUid(),type:`aspect-ratio`,width:Jc.includes(t)?0:i,height:Jc.includes(t)?0:a,hasFreeform:Jc.includes(t)})}return n},Xc=(e,t,n,r=.1)=>{let i=e/t,a=null,o=1/0;for(let e of n){let[t,n]=[e.width,e.height],r=t/n,s=Math.abs(i-r);s<o&&(o=s,a=e)}if(a){let[e,t]=[a.width,a.height],n=e/t;if(Math.abs(i-n)/n>r)return null}return a}}));function Qc(e){return kr({...e,libraryName:uo,libraryVersion:fo})}var $c=n((()=>{ua(),po()})),el,tl,z,B=n((()=>{ha(),P(),nn(),ga(),I(),el=`active`,tl=`___ACTIVITY_IS_ACTIVE___`,z=class e extends F{constructor(...e){super(...e),this.historyTracked=!1,this.init$=fa(this),this._debouncedHistoryFlush=C(this._historyFlush.bind(this),10)}_deactivate(){let t=e._activityCallbacks.get(this);this[tl]=!1,this.removeAttribute(el),t?.deactivateCallback?.()}_activate(){let t=e._activityCallbacks.get(this);this.$[`*historyBack`]=this.historyBack.bind(this),this[tl]=!0,this.setAttribute(el,``),t?.activateCallback?.(),this._debouncedHistoryFlush(),this.emit(N.ACTIVITY_CHANGE,{activity:this.activityType})}initCallback(){super.initCallback(),this.activityType&&(this.hasAttribute(`activity`)||this.setAttribute(`activity`,this.activityType),this.sub(`*currentActivity`,e=>{try{this.activityType!==e&&this[tl]?this._deactivate():this.activityType===e&&!this[tl]&&this._activate()}catch(e){this.telemetryManager.sendEventError(e,`activity "${this.activityType}"`),console.error(`Error in activity "${this.activityType}". `,e);let t=this.$[`*history`][this.$[`*history`].length-1];this.$[`*currentActivity`]=t??null}e||(this.$[`*history`]=[])}))}_historyFlush(){let e=this.$[`*history`];e&&(e.length>10&&(e=e.slice(e.length-11,e.length-1)),this.historyTracked&&e[e.length-1]!==this.activityType&&e.push(this.activityType),this.$[`*history`]=e)}_isActivityRegistered(){return!!this.activityType&&e._activityCallbacks.has(this)}static{this._activityCallbacks=new Map}get isActivityActive(){return!!this[tl]}get couldOpenActivity(){return!0}registerActivity(t,n={}){let{onActivate:r,onDeactivate:i}=n;e._activityCallbacks.set(this,{activateCallback:r,deactivateCallback:i})}_unregisterActivity(){this.isActivityActive&&this._deactivate(),e._activityCallbacks.delete(this)}disconnectedCallback(){super.disconnectedCallback(),this._isActivityRegistered()&&this._unregisterActivity();let t=this.$[`*currentActivity`];this.blocksRegistry&&([...this.blocksRegistry].find(n=>n instanceof e&&n.activityType===t)||(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 e=this.$[`*history`];if(e){let t=e.pop();for(;t===this.activityType;)t=e.pop();let n=!!t;t&&(n=[...this.blocksRegistry].find(e=>e.activityType===t)?.couldOpenActivity??!1),t=n?t:null,this.$[`*currentActivity`]=t??null,t&&this.modalManager?.open(t),this.$[`*history`]=e,t||this.modalManager?.closeAll()}}},z.activities=j})),V,H=n((()=>{ua(),ha(),$o(),zs(),Ws(),vc(),bc(),qc(),Zc(),P(),zn(),nn(),oc(),$c(),cc(),B(),ne(),V=class e extends z{constructor(...e){super(...e),this.couldBeCtxOwner=!1,this._isCtxOwner=!1,this.init$=pa(this),this._flushOutputItems=C(async()=>{if(this.getOutputData().length!==this.uploadCollection.size)return;let e=this.api.getOutputCollectionState();this.$[`*collectionState`]=e,this.emit(N.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.cfg.groupOutput&&e.totalCount>0&&e.status===`success`&&this._createGroup(e)},300),this._handleCollectionUpdate=(e,t,n)=>{if(this.isConnected){(t.size||n.size)&&(this.$[`*groupInfo`]=null),this.validationManager.runFileValidators(`add`,[...t].map(e=>e.uid));for(let e of t)e.getValue(`silent`)||this.emit(N.FILE_ADDED,this.api.getOutputItem(e.uid));this.validationManager.runCollectionValidators();for(let e of n){this.$[`*uploadTrigger`].delete(e.uid),this.validationManager.cleanupValidationForEntry(e),e.getValue(`abortController`)?.abort(),e.setMultipleValues({isRemoved:!0,abortController:null,isUploading:!1,uploadProgress:0});let t=e?.getValue(`thumbUrl`);t&&URL.revokeObjectURL(t),this.emit(N.FILE_REMOVED,this.api.getOutputItem(e.uid))}this.$[`*uploadList`]=e.map(e=>({uid:e})),this._flushCommonUploadProgress(),this._flushOutputItems()}},this._handleCollectionPropertiesUpdate=e=>{if(!this.isConnected)return;this._flushOutputItems();let t=this.uploadCollection,n=[...new Set(Object.entries(e).filter(([e])=>[`uploadError`,`fileInfo`,`cdnUrl`,`cdnUrlModifiers`].includes(e)).flatMap(([,e])=>[...e]))];if(n.length>0&&setTimeout(()=>{if(!this.isConnected)return;let t=n.filter(t=>e.fileInfo?.has(t)&&!!g.getCtx(t)?.store.fileInfo);t.length>0&&this.validationManager.runFileValidators(`upload`,t),this.validationManager.runFileValidators(`change`,n)}),e.uploadProgress){for(let t of e.uploadProgress){let e=g.getCtx(t);if(!e)continue;let{isUploading:n,silent:r}=e.store;n&&!r&&this.emit(N.FILE_UPLOAD_PROGRESS,this.api.getOutputItem(t))}this._flushCommonUploadProgress()}if(e.isUploading)for(let t of e.isUploading){let e=g.getCtx(t);if(!e)continue;let{isUploading:n,silent:r}=e.store;n&&!r&&this.emit(N.FILE_UPLOAD_START,this.api.getOutputItem(t))}if(e.fileInfo){for(let t of e.fileInfo){let e=g.getCtx(t);if(!e)continue;let{fileInfo:n,silent:r}=e.store;n&&!r&&this.emit(N.FILE_UPLOAD_SUCCESS,this.api.getOutputItem(t))}this.cfg.cropPreset&&this._setInitialCrop(),this.cfg.cloudImageEditorAutoOpen&&this._openCloudImageEditor()}if(e.errors){this.validationManager.runCollectionValidators();for(let t of e.errors){let e=g.getCtx(t);if(!e)continue;let{errors:n}=e.store;n.length>0&&(this.emit(N.FILE_UPLOAD_FAILED,this.api.getOutputItem(t)),this.emit(N.COMMON_UPLOAD_FAILED,()=>this.api.getOutputCollectionState(),{debounce:!0}))}let n=t.findItems(e=>!!e.getValue(`fileInfo`)),r=t.findItems(e=>e.getValue(`errors`).length>0);t.size>0&&r.length===0&&t.size===n.length&&this.$[`*collectionErrors`].length===0&&this.emit(N.COMMON_UPLOAD_SUCCESS,this.api.getOutputCollectionState())}e.cdnUrl&&([...e.cdnUrl].filter(e=>!!this.uploadCollection.read(e)?.getValue(`cdnUrl`)).forEach(e=>{this.emit(N.FILE_URL_CHANGED,this.api.getOutputItem(e))}),this.$[`*groupInfo`]=null)},this._flushCommonUploadProgress=()=>{let e=0,t=[...this.$[`*uploadTrigger`]].filter(e=>!!this.uploadCollection.read(e));t.forEach(t=>{let n=this.uploadCollection.readProp(t,`uploadProgress`);typeof n==`number`&&(e+=n)});let n=t.length?Math.round(e/t.length):0;this.$[`*commonProgress`]!==n&&(this.$[`*commonProgress`]=n,this.emit(N.COMMON_UPLOAD_PROGRESS,this.api.getOutputCollectionState()))}}get _hasCtxOwner(){return this.hasBlockInCtx(t=>t instanceof e?t._isCtxOwner&&t.isConnected&&t!==this:!1)}initCallback(){super.initCallback(),this._addSharedContextInstance(`*uploadCollection`,()=>new Us({initialValue:yc,watchList:[`uploadProgress`,`uploadError`,`fileInfo`,`errors`,`cdnUrl`,`isUploading`,`isValidationPending`]})),this._addSharedContextInstance(`*secureUploadsManager`,e=>new Qo(e)),this._addSharedContextInstance(`*validationManager`,e=>new Rs(e)),this._addSharedContextInstance(`*publicApi`,e=>new _c(e)),!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`,e=>{this.$[`*uploadQueue`].concurrency=Number(e)||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(e){let t=await this.getUploadClientOptions(),n=e.allEntries.map(e=>e.uuid+(e.cdnUrlModifiers?`/${e.cdnUrlModifiers}`:``)),r=new AbortController,i=await Zr(n,{...t,signal:r.signal});if(this.$[`*collectionState`]!==e){r.abort();return}this.$[`*groupInfo`]=i;let a=this.api.getOutputCollectionState();this.emit(N.GROUP_CREATED,a),this.emit(N.CHANGE,()=>this.api.getOutputCollectionState(),{debounce:!0}),this.$[`*collectionState`]=a}_openCloudImageEditor(){let[e]=this.uploadCollection.findItems(e=>!!e.getValue(`fileInfo`)&&e.getValue(`isImage`)).map(e=>this.uploadCollection.read(e));e&&this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(e=>e.activityType===z.activities.CLOUD_IMG_EDIT)&&(this.$[`*currentActivityParams`]={internalId:e.uid},this.$[`*currentActivity`]=z.activities.CLOUD_IMG_EDIT,this.modalManager?.open(z.activities.CLOUD_IMG_EDIT))}_setInitialCrop(){let e=Yc(this.cfg.cropPreset);if(e){let[t]=e,n=this.uploadCollection.findItems(e=>!!e.getValue(`fileInfo`)&&e.getValue(`isImage`)&&!e.getValue(`cdnUrlModifiers`)?.includes(`/crop/`)).map(e=>this.uploadCollection.read(e)).filter(Boolean);for(let e of n){let n=e.getValue(`fileInfo`);if(!n||!n.imageInfo){console.warn(`Failed to get image info for entry`,e.uid);continue}let{width:r,height:i}=n.imageInfo,a=Wc(r,i,typeof t?.width==`number`&&typeof t?.height==`number`&&t.width>0&&t.height>0?t.width/t.height:1),o=In(`crop/${a.width}x${a.height}/${a.x},${a.y}`,`preview`),s=e.getValue(`cdnUrl`);if(!s){console.warn(`Failed to get cdnUrl for entry`,e.uid);continue}e.setMultipleValues({cdnUrlModifiers:o,cdnUrl:Ln(s,o)}),this.uploadCollection.size===1&&this.cfg.useCloudImageEditor&&this.hasBlockInCtx(e=>e.activityType===z.activities.CLOUD_IMG_EDIT)&&(this.$[`*currentActivityParams`]={internalId:e.uid},this.$[`*currentActivity`]=z.activities.CLOUD_IMG_EDIT,this.modalManager?.open(z.activities.CLOUD_IMG_EDIT))}}}async getMetadataFor(e){let t=this.cfg.metadata||void 0;return typeof t==`function`?await t(this.api.getOutputItem(e)):t}async getUploadClientOptions(){let e=await this.secureUploadsManager.getSecureToken().catch(()=>null);return{store:this.cfg.store,publicKey:this.cfg.pubkey,baseCDN:this.cfg.cdnCname,baseURL:this.cfg.baseUrl,userAgent:Qc,integration:this.cfg.userAgentIntegration,secureSignature:e?.secureSignature,secureExpire:e?.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 sc(this._sharedInstancesBag)}},V.extSrcList=Object.freeze({...ic}),V.sourceTypes=Object.freeze({...R})})),nl=n((()=>{})),rl,il=n((()=>{y(),S(),Ko(),I(),nl(),T(),rl=class extends F{constructor(...e){super(...e),this.name=``,this._resolvedHref=``,this._pluginSvg=null,this._iconHrefResolver=null}initCallback(){super.initCallback(),this.setAttribute(`aria-hidden`,`true`),this.subConfigValue(`iconHrefResolver`,e=>{this._iconHrefResolver=e,this._updateResolvedHref()});let e=this._sharedInstancesBag.pluginManager;e?.onPluginsChange&&(this._unsubscribePlugins=e.onPluginsChange(()=>this._updateResolvedHref()))}willUpdate(e){super.willUpdate(e),e.has(`name`)&&this._updateResolvedHref()}_updateResolvedHref(){if(!this.name){this._resolvedHref=``,this._pluginSvg=null;return}let e=this._sharedInstancesBag.pluginManager?.snapshot().icons.find(e=>e.name===this.name);if(e){this._pluginSvg=e.svg,this._resolvedHref=``;return}this._pluginSvg=null;let t=`#uc-icon-${this.name}`;this._resolvedHref=this._iconHrefResolver?.(this.name)??t}render(){return this._pluginSvg?_`${this.yield(``,_`${Wo(this._pluginSvg)}`)}`:_`
|
|
9
|
+
${this.yield(``,_`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
10
|
+
<use href=${this._resolvedHref}></use>
|
|
11
|
+
</svg>`)}
|
|
12
|
+
`}disconnectedCallback(){this._unsubscribePlugins?.(),this._unsubscribePlugins=void 0,super.disconnectedCallback()}},w([b({type:String})],rl.prototype,`name`,void 0),w([x()],rl.prototype,`_resolvedHref`,void 0),w([x()],rl.prototype,`_pluginSvg`,void 0)}));H();let al=e=>[...new Set(e)],ol=`--uc-img-`,sl=`unresolved`,cl=!window.location.host.trim()||window.location.host.includes(`:`)||window.location.hostname.includes(`localhost`),ll=Object.freeze({PREVIEW:`PREVIEW`,MAIN:`MAIN`});var ul=`https://ucarecdn.com`;let dl=Object.freeze({"dev-mode":{},pubkey:{},uuid:{},src:{},lazy:{default:1},intersection:{},breakpoints:{},"cdn-cname":{default:ul},"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}});y(),po(),Ot(),Mt();var fl=class extends Dt(jt(ht)){createRenderRoot(){return this}constructor(){for(let e in super(),this._state={},this._subscribers=new Map,this._isnObserver=null,this._observed=null,dl){let t=dl[e];this._state[ol+e]=t?.default||``}}$$(e){return this._state[ol+e]}set$$(e){for(let t in e){let n=ol+t,r=e[t];this._state[n]=r,this._notify(n,r)}}sub$$(e,t){let n=ol+e;this._subscribers.has(n)||this._subscribers.set(n,new Set),this._subscribers.get(n)?.add(t);let r=this._state[n];r!==null&&r!==``&&t(r)}_notify(e,t){this._subscribers.has(e)&&this._subscribers.get(e)?.forEach(e=>{t===null||t===``||e(t)})}analyticsParams(){return`-/@clib/${uo}/${fo}/uc-img/`}initAttributes(e){Array.from(this.attributes).forEach(t=>{let n=t;dl[n.name]||e.setAttribute(n.name,n.value)})}initIntersection(e,t){this._isnObserver=new IntersectionObserver(n=>{n.forEach(n=>{n.isIntersecting&&(t(),this._isnObserver?.unobserve(e))})},{root:null,rootMargin:`0px`}),this._isnObserver.observe(e),this._observed||=new Set,this._observed.add(e)}connectedCallback(){super.connectedCallback(),this._initCssProperties()}_initCssProperties(){for(let e in dl){let t=ol+e,n=this.getCssData(t,!0);n!=null&&(this._state[t]=n)}}disconnectedCallback(){super.disconnectedCallback(),this._isnObserver&&=(this._observed?.forEach(e=>{this._isnObserver?.unobserve(e)}),null),this._subscribers.clear()}static get observedAttributes(){return Object.keys(dl)}attributeChangedCallback(e,t,n){window.setTimeout(()=>{let t=ol+e;this._state[t]=n,this._notify(t,n)})}};let pl=e=>Object.entries(e).filter(([e,t])=>t!==void 0&&t!==``).map(([e,t])=>e===`cdn-operations`||e===`analytics`?t:`${e}/${t}`);zn(),Vn(),wo();var ml=class extends fl{constructor(...e){super(...e),this._img=new Image,this._imgPreview=new Image}_fmtAbs(e){return!e.includes(`//`)&&!cl&&(e=new URL(e,document.baseURI).href),e}_validateSize(e){if(!e)return;let t=e,n=t.match(/\d+/)?.[0],r=t.match(/[a-zA-Z]+/)?.[0];if(!n||!r)return;let i=parseInt(n,10);return Number(i)>5e3&&this._hasFormatJPG?5e3+r:Number(i)>3e3&&!this._hasFormatJPG?3e3+r:e}_getCdnModifiers(e,t){return In(...pl({format:this._getTypedCssValue(`format`),quality:this._getTypedCssValue(`quality`),resize:this._validateSize(e),blur:t,"cdn-operations":this._getTypedCssValue(`cdn-operations`)??void 0,analytics:this.analyticsParams()}))}_getTypedCssValue(e){let t=this.$$(e);if(t==null||typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return t}_getUrlBase(e=``,t=``){let n=this.$$(`src`);if(n.startsWith(`data:`)||n.startsWith(`blob:`))return n;if(cl&&n&&!n.includes(`//`))return this._proxyUrl(n);let r=this._getCdnModifiers(e,t),i=this.$$(`cdn-cname`),a=i;if(n.startsWith(String(i)))return Ln(n,r);let o=this.$$(`uuid`);if(a&&o||o)return this._proxyUrl(Ln(Rn(a,o),r));let s=this.$$(`proxy-cname`);if(s)return this._proxyUrl(Ln(s,r,this._fmtAbs(n)));let c=this.$$(`pubkey`);if(c)return this._proxyUrl(Ln(`https://${c}.ucr.io/`,r,this._fmtAbs(n)))}_proxyUrl(e){let t=this.$$(`secure-delivery-proxy`);return t?vo(t,{previewUrl:e},{transform:e=>window.encodeURIComponent(e)}):e}_getElSize(e,t=1,n=!0){let r=e.getBoundingClientRect(),i=t*Math.round(r.width),a=n?``:t*Math.round(r.height);return i||a?`${i||``}x${a||``}`:null}_setupEventProxy(e){let t=e=>{e.stopPropagation();let t=new Event(e.type,e);this.dispatchEvent(t)};for(let n of[`load`,`error`])e.addEventListener(n,t)}get img(){return this._hasPreviewImage||(this._setupConfigForImage({elNode:this._img}),this.appendChild(this._img)),this._img}get _currentImg(){return this._hasPreviewImage?{type:ll.PREVIEW,img:this._imgPreview}:{type:ll.MAIN,img:this.img}}get _hasPreviewImage(){return this.$$(`is-preview-blur`)}get _bgSelector(){return this.$$(`is-background-for`)}get _breakpoints(){let e=this.$$(`breakpoints`);return e?al(Bn(e).map(e=>parseInt(e,10))):null}get _hasFormatJPG(){return this.$$(`format`).toLowerCase()===`jpeg`}_renderBg(e){let t=new Set;t.add(`url("${this._getUrlBase(this._getElSize(e))}") 1x`),this.$$(`hi-res-support`)&&t.add(`url("${this._getUrlBase(this._getElSize(e,2))}") 2x`),this.$$(`ultra-res-support`)&&t.add(`url("${this._getUrlBase(this._getElSize(e,3))}") 3x`);let n=`image-set(${[...t].join(`, `)})`;e.style.setProperty(`background-image`,n),e.style.setProperty(`background-image`,`-webkit-${n}`)}_getSrcset(){let e=new Set;return this._breakpoints?this._breakpoints.forEach(t=>{e.add(`${this._getUrlBase(`${t}x`)} ${this._validateSize(`${t}w`)}`),this.$$(`hi-res-support`)&&e.add(`${this._getUrlBase(`${t*2}x`)} ${this._validateSize(`${t*2}w`)}`),this.$$(`ultra-res-support`)&&e.add(`${this._getUrlBase(`${t*3}x`)} ${this._validateSize(`${t*3}w`)}`)}):(e.add(`${this._getUrlBase(this._getElSize(this._currentImg.img))} 1x`),this.$$(`hi-res-support`)&&e.add(`${this._getUrlBase(this._getElSize(this._currentImg.img,2))} 2x`),this.$$(`ultra-res-support`)&&e.add(`${this._getUrlBase(this._getElSize(this._currentImg.img,3))} 3x`)),[...e].join()}_getSrc(){return this._getUrlBase()}get _srcUrlPreview(){return this._getUrlBase(`100x`,`100`)}_renderBackground(){let e=this._bgSelector;[...document.querySelectorAll(e)].forEach(e=>{this.$$(`intersection`)?this.initIntersection(e,()=>{this._renderBg(e)}):this._renderBg(e)})}_appendURL({elNode:e,src:t,srcset:n}){t&&(e.src=t),n&&(e.srcset=n)}_setupConfigForImage({elNode:e}){this._setupEventProxy(e),this.initAttributes(e)}_loaderImage({src:e,srcset:t,elNode:n}){return new Promise((r,i)=>{this._setupConfigForImage({elNode:n}),n.setAttribute(sl,``),n.addEventListener(`load`,()=>{n.removeAttribute(sl),r(n)}),n.addEventListener(`error`,()=>{i(!1)}),this._appendURL({elNode:n,src:e,srcset:t})})}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()}},hl=class extends ml{connectedCallback(){super.connectedCallback(),this.sub$$(`src`,()=>{this.init()}),this.sub$$(`uuid`,()=>{this.init()}),this.sub$$(`lazy`,e=>{!this.$$(`is-background-for`)&&!this.$$(`is-preview-blur`)&&(this.img.loading=e?`lazy`:`eager`)})}},gl,_l,vl,yl,bl,xl,Sl,Cl,wl,Tl,El=n((()=>{pt(),{I:gl}=ut,_l=e=>e,vl=e=>e.strings===void 0,yl=()=>document.createComment(``),bl=(e,t,n)=>{let r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0)n=new gl(r.insertBefore(yl(),i),r.insertBefore(yl(),i),e,e.options);else{let t=n._$AB.nextSibling,a=n._$AM,o=a!==e;if(o){let t;n._$AQ?.(e),n._$AM=e,n._$AP!==void 0&&(t=e._$AU)!==a._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){let t=_l(e).nextSibling;_l(r).insertBefore(e,i),e=t}}}return n},xl=(e,t,n=e)=>(e._$AI(t,n),e),Sl={},Cl=(e,t=Sl)=>e._$AH=t,wl=e=>e._$AH,Tl=e=>{e._$AR(),e._$AA.remove()}}));function Dl(e){this._$AN===void 0?this._$AM=e:(Al(this),this._$AM=e,jl(this))}function Ol(e,t=!1,n=0){let r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(let e=n;e<r.length;e++)kl(r[e],!1),Al(r[e]);else r!=null&&(kl(r,!1),Al(r));else kl(this,e)}var kl,Al,jl,Ml,Nl,Pl=n((()=>{El(),Bo(),kl=(e,t)=>{let n=e._$AN;if(n===void 0)return!1;for(let e of n)e._$AO?.(t,!1),kl(e,t);return!0},Al=e=>{let t,n;do{if((t=e._$AM)===void 0)break;n=t._$AN,n.delete(e),e=t}while(n?.size===0)},jl=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(n===void 0)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),Ml(t)}},Ml=e=>{e.type==Lo.CHILD&&(e._$AP??=Ol,e._$AQ??=Dl)},Nl=class extends zo{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),jl(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(kl(this,e),Al(this))}setValue(e){if(vl(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}}})),U,Fl,Il,W,Ll=n((()=>{pt(),Pl(),Bo(),U=()=>new Fl,Fl=class{},Il=new WeakMap,W=Ro(class extends Nl{render(e){return v}update(e,[t]){let n=t!==this.G;return n&&this.G!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.G=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),v}rt(e){if(this.isConnected||(e=void 0),typeof this.G==`function`){let t=this.ht??globalThis,n=Il.get(t);n===void 0&&(n=new WeakMap,Il.set(t,n)),n.get(this.G)!==void 0&&this.G.call(this.ht,void 0),n.set(this.G,e),e!==void 0&&this.G.call(this.ht,e)}else this.G.value=e}get lt(){return typeof this.G==`function`?Il.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}})})),G=n((()=>{Ll()}));y(),Sr(),I(),P(),S(),G(),T();var Rl=null,zl=class extends F{constructor(...e){super(...e),this.dialogEl=U(),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 t=e.target;t===this.dialogEl.value&&t===this._mouseDownTarget&&this.closeDialog()},this._handleModalOpen=({id:e})=>{e===this.id?(Rl=e,this.show(),this.emit(N.MODAL_OPEN,{modalId:e},{debounce:!0})):this.hide()},this._handleModalClose=({id:e})=>{e===this.id&&(this.hide(),this.emit(N.MODAL_CLOSE,{modalId:e,hasActiveModals:this.modalManager?.hasActiveModals},{debounce:!0}))},this._handleModalCloseAll=e=>{this.hide(),Rl===this.id&&this.emit(N.MODAL_CLOSE,{modalId:Rl,hasActiveModals:this.modalManager?.hasActiveModals},{debounce:!0})}}static{this.styleAttrs=[...super.styleAttrs,`uc-modal`]}show(){let e=this.dialogEl.value;typeof e.showModal==`function`?(this.setAttribute(`aria-modal`,`true`),e.showModal()):e.setAttribute(`open`,``),this.cfg.modalScrollLock&&(document.body.style.overflow=`hidden`)}hide(){let e=this.dialogEl.value;e&&(typeof e.close==`function`?(this.setAttribute(`aria-modal`,`false`),e.close()):e.removeAttribute(`open`))}initCallback(){super.initCallback(),this.modalManager?.registerModal(this.id,this),this.subConfigValue(`modalBackdropStrokes`,e=>{e?this.setAttribute(`strokes`,``):this.removeAttribute(`strokes`)}),this.modalManager?.subscribe(O.OPEN,this._handleModalOpen),this.modalManager?.subscribe(O.CLOSE,this._handleModalClose),this.modalManager?.subscribe(O.CLOSE_ALL,this._handleModalCloseAll)}disconnectedCallback(){super.disconnectedCallback(),document.body.style.overflow=``,this._mouseDownTarget=void 0,this.modalManager?.unsubscribe(O.OPEN,this._handleModalOpen),this.modalManager?.unsubscribe(O.CLOSE,this._handleModalClose),this.modalManager?.unsubscribe(O.CLOSE_ALL,this._handleModalCloseAll)}_handleDialogRef(e){this.dialogEl={value:e},this.dialogEl.value?.addEventListener(`close`,this._handleDialogClose),this.dialogEl.value?.addEventListener(`mousedown`,this._handleDialogMouseDown),this.dialogEl.value?.addEventListener(`mouseup`,this._handleDialogMouseUp)}render(){return _`
|
|
13
|
+
<dialog ${W(this._handleDialogRef)}>
|
|
14
|
+
${this.yield(``)}
|
|
15
|
+
</dialog>
|
|
16
|
+
`}};w([b({type:Boolean,noAccessor:!0})],zl.prototype,`strokes`,void 0),w([b({type:Boolean,attribute:`block-body-scrolling`,noAccessor:!0})],zl.prototype,`blockBodyScrolling`,void 0),S(),ec(),T();var Bl=class extends V{constructor(...e){super(...e),this._validationInputElement=null,this._dynamicInputsContainer=null}get _inputName(){return this.nameAttrValue??this.ctxName}_createValidationInput(){let e=document.createElement(`input`);return e.type=`text`,e.name=this._inputName,e.required=this.cfg.multipleMin>0,e.tabIndex=-1,$s(e,{opacity:0,height:0,width:0}),e}initCallback(){super.initCallback(),this._validationInputElement=this._createValidationInput(),this.appendChild(this._validationInputElement),this.sub(`*collectionState`,e=>{if(!e)return;if(!this._dynamicInputsContainer){let e=document.createElement(`div`);this.appendChild(e),this._dynamicInputsContainer=e}if(!this._validationInputElement){let e=this._createValidationInput();this.appendChild(e),this._validationInputElement=e}if(this._dynamicInputsContainer.innerHTML=``,e.status===`uploading`||e.status===`idle`){this._validationInputElement.value=``,this._validationInputElement.setCustomValidity(``);return}if(e.status===`failed`){let t=e.errors[0]?.message;this._validationInputElement.value=``,this._validationInputElement.setCustomValidity(t??``);return}let t=e.group?e.group:null;if(t){this._validationInputElement.value=t.cdnUrl??``,this._validationInputElement.setCustomValidity(``);return}let n=e.allEntries.map(e=>e.cdnUrl).filter(e=>typeof e==`string`);if(!this.cfg.multiple&&n.length===1&&n[0]){this._validationInputElement.value=n[0],this._validationInputElement.setCustomValidity(``);return}this._validationInputElement.remove(),this._validationInputElement=null;let r=new DocumentFragment;for(let e of n){let t=document.createElement(`input`);t.type=`hidden`,t.name=`${this._inputName}[]`,t.value=e,r.appendChild(t)}this._dynamicInputsContainer.replaceChildren(r)},!1)}};w([b({type:String,noAccessor:!0,attribute:`name`})],Bl.prototype,`nameAttrValue`,void 0),y(),I();var Vl=class extends F{initCallback(){super.initCallback(),this.subConfigValue(`removeCopyright`,e=>{this.toggleAttribute(`hidden`,!!e)})}render(){return _`
|
|
17
|
+
<a
|
|
18
|
+
href="https://uploadcare.com/?utm_source=copyright&utm_medium=referral&utm_campaign=v4"
|
|
19
|
+
target="_blank noopener"
|
|
20
|
+
class="uc-credits"
|
|
21
|
+
>Powered by Uploadcare</a
|
|
22
|
+
>
|
|
23
|
+
`}};y(),S(),G(),I(),T();var Hl=class extends F{constructor(...e){super(...e),this.hasFileName=!1,this.value=0,this.visible=!0,this._progressValue=0,this._fakeProgressLineRef=U(),this._handleFakeProgressAnimation=()=>{let e=this._fakeProgressLineRef.value;if(e){if(!this.visible){e.classList.add(`uc-fake-progress--hidden`);return}this._progressValue>0&&e.classList.add(`uc-fake-progress--hidden`)}}}firstUpdated(e){super.firstUpdated(e),this._progressValue=this._normalizeProgressValue(this.value),this._updateProgressValueStyle(),this._fakeProgressLineRef.value?.addEventListener(`animationiteration`,this._handleFakeProgressAnimation)}updated(e){if(super.updated(e),e.has(`value`)){let e=this._normalizeProgressValue(this.value);if(!this.visible)this._progressValue=e;else{let t=Math.max(this._progressValue,e);t!==this._progressValue&&(this._progressValue=t,this._updateProgressValueStyle())}}e.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(e){return Number.isFinite(e)?Math.min(100,Math.max(0,e)):0}_updateProgressValueStyle(){this.visible&&this.style.setProperty(`--l-progress-value`,this._progressValue.toString())}render(){return _`
|
|
24
|
+
<div ${W(this._fakeProgressLineRef)} class="uc-fake-progress"></div>
|
|
25
|
+
<div class="uc-progress"></div>
|
|
26
|
+
`}};w([b({type:Boolean,noAccessor:!0})],Hl.prototype,`hasFileName`,void 0),w([b({type:Number})],Hl.prototype,`value`,void 0),w([b({type:Boolean,reflect:!0})],Hl.prototype,`visible`,void 0),y(),S(),H(),T();var Ul=class extends V{constructor(){super(),this._visible=!1,this._value=0,this.init$={...this.init$,"*commonProgress":0}}initCallback(){super.initCallback(),this._unobserveCollectionCb=this.uploadCollection.observeProperties(()=>{this._visible=this.uploadCollection.items().some(e=>this.uploadCollection.read(e)?.getValue(`isUploading`)??!1)}),this.sub(`*commonProgress`,e=>{this._value=e})}updated(e){super.updated(e),e.has(`visible`)&&(this._visible?this.setAttribute(`active`,``):this.removeAttribute(`active`))}disconnectedCallback(){super.disconnectedCallback(),this._unobserveCollectionCb?.(),this._unobserveCollectionCb=void 0}render(){return _` <uc-progress-bar .value=${this._value} .visible=${this._visible}></uc-progress-bar> `}};w([x()],Ul.prototype,`_visible`,void 0),w([x()],Ul.prototype,`_value`,void 0);var Wl=n((()=>{})),Gl,Kl=n((()=>{y(),S(),I(),Wl(),T(),Gl=class extends F{constructor(...e){super(...e),this.value=``,this.disabled=!1,this.options=[],this._handleChange=e=>{if(this.disabled){e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation();let t=e.currentTarget;t&&(this.value=t.value,this.dispatchEvent(new Event(`change`)))}}render(){return _`
|
|
27
|
+
<select @change=${this._handleChange} .value=${this.value} ?disabled=${this.disabled}>
|
|
28
|
+
${this.options.map(e=>_`<option value=${e.value}>${e.text}</option>`)}
|
|
29
|
+
</select>
|
|
30
|
+
`}},w([b({type:String,attribute:!1})],Gl.prototype,`value`,void 0),w([b({type:Boolean,reflect:!0})],Gl.prototype,`disabled`,void 0),w([b({type:Array,attribute:!1})],Gl.prototype,`options`,void 0)}));y(),S(),H(),T();var ql=class extends V{constructor(...e){super(...e),this.couldBeCtxOwner=!0,this._iconName=`default`,this._srcTypeKey=``}willUpdate(e){super.willUpdate(e),e.has(`source`)&&this._applySource(this.source)}_applySource(e){if(!e){this._srcTypeKey=``,this._iconName=`default`;return}let{label:t,icon:n,id:r}=e;this._srcTypeKey=t,this._iconName=n??r??`default`}activate(){this.source&&this.source.onClick()}render(){return _`
|
|
31
|
+
<button type="button" @click=${this.activate}>
|
|
32
|
+
<uc-icon name=${this._iconName}></uc-icon>
|
|
33
|
+
<div class="uc-txt">${this.l10n(this._srcTypeKey)}</div>
|
|
34
|
+
</button>
|
|
35
|
+
`}};w([b({attribute:!1})],ql.prototype,`source`,void 0),w([x()],ql.prototype,`_iconName`,void 0),w([x()],ql.prototype,`_srcTypeKey`,void 0),y(),S(),Vn(),oc(),H(),T();var Jl=class extends V{constructor(...e){super(...e),this._rawSourceList=[],this._sources=[],this.wrap=!1}initCallback(){super.initCallback(),this.subConfigValue(`sourceList`,e=>{this._rawSourceList=Bn(e),this._updateSources()});let e=this._sharedInstancesBag.pluginManager;e?.onPluginsChange&&(this._unsubscribePlugins=e.onPluginsChange(()=>this._updateSources()))}updated(e){super.updated(e),this.cfg.sourceListWrap?this.style.removeProperty(`display`):this.style.display=`contents`}_updateSources(){let e=this._sharedInstancesBag.pluginManager?.snapshot().sources??[],t=new Map(e.map(e=>[e.id,e])),n=[];this._rawSourceList.forEach(e=>{let r=this._expandSource(e,t);if(r.length!==1||r[0]!==e){for(let e of r){let r=this._makeBuiltInSourceConfig(e);if(r){n.push(r);continue}let i=t.get(e);i&&n.push(this._makePluginSourceConfig(i))}return}let i=this._makeBuiltInSourceConfig(e);if(i){n.push(i);return}let a=t.get(e);a&&n.push(this._makePluginSourceConfig(a))}),this._sources=n}_expandSource(e,t){let n=t.get(e);return n?.expand?n.expand():[e]}_makeBuiltInSourceConfig(e){switch(e){case R.LOCAL:return{id:e,label:`src-type-${e}`,icon:e,onClick:()=>this.api.openSystemDialog()};default:break}return null}_makePluginSourceConfig(e){return{id:e.id,label:e.label,icon:e.icon,onClick:()=>e.onSelect()}}render(){return _`${this._sources.map(e=>_`<uc-source-btn role="listitem" .source=${e} data-source-id=${e.id}></uc-source-btn>`)}`}disconnectedCallback(){this._unsubscribePlugins?.(),this._unsubscribePlugins=void 0,super.disconnectedCallback()}};w([x()],Jl.prototype,`_sources`,void 0),w([b({type:Boolean,attribute:`wrap`,noAccessor:!0})],Jl.prototype,`wrap`,void 0);var Yl=n((()=>{})),Xl,Zl=n((()=>{y(),I(),Yl(),Xl=class extends F{render(){return _` <div class="uc-spinner"></div> `}}})),Ql,$l=n((()=>{Ql=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=`}));function eu(e){let t=new Image;return{promise:new Promise((n,r)=>{t.src=e,t.onload=()=>n(),t.onerror=e=>r(e)}),image:t,cancel:()=>{t.naturalWidth===0&&(t.src=Ql)}}}function tu(e){let t=[];for(let n of e){let e=eu(n);t.push(e)}let n=t.map(e=>e.image);return{promise:Promise.allSettled(t.map(e=>e.promise)),images:n,cancel:()=>{t.forEach(e=>{e.cancel()})}}}var nu=n((()=>{$l()}));nu();function ru(e,t=40){if(e.type===`image/svg+xml`)return URL.createObjectURL(e);let n=document.createElement(`canvas`),r=n.getContext(`2d`);if(!r)return Promise.reject(Error(`Canvas context not supported`));let i=new Image,a=new Promise((e,a)=>{i.onload=()=>{let o=i.height/i.width;o>1?(n.width=t,n.height=t*o):(n.height=t,n.width=t/o),r.fillStyle=`rgb(240, 240, 240)`,r.fillRect(0,0,n.width,n.height),r.drawImage(i,0,0,n.width,n.height),n.toBlob(t=>{if(!t){a();return}e(URL.createObjectURL(t))})},i.onerror=e=>{a(e)}});return i.src=URL.createObjectURL(e),a}H();var iu=class extends V{constructor(...e){super(...e),this._entrySubs=new Set,this.entry=null}withEntry(e){return(...t)=>{let n=this.entry;if(!n){console.warn(`No entry found`);return}return e(n,...t)}}subEntry(e,t){this.withEntry((e,t,n)=>{let r=e.subscribe(t,e=>{this.isConnected&&n(e)});this._entrySubs.add(r)})(e,t)}reset(){for(let e of this._entrySubs)e();this._entrySubs=new Set,this.entry=null}disconnectedCallback(){super.disconnectedCallback(),this._entrySubs=new Set}};function au(e){let t=new Blob([e],{type:`image/svg+xml`});return URL.createObjectURL(t)}function ou(e=`hsl(209, 21%, 65%)`,t=32,n=32){return au(`
|
|
36
|
+
<svg width="${t}" height="${n}" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
37
|
+
<path fill-rule="evenodd" fill="${e}" 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"/>
|
|
38
|
+
</svg>
|
|
39
|
+
`)}y(),S(),zn(),nn(),$l(),T();var su=3e3,cu=class extends iu{constructor(...e){super(...e),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(e,t=!1)=>{let n=e.getValue(`fileInfo`),r=e.getValue(`isImage`),i=e.getValue(`uuid`),a=e.getValue(`thumbUrl`),o=this._calculateThumbSize(t);if(n&&r&&i){let t=await this.proxyUrl(Ln(Rn(this.cfg.cdnCname,i),In(e.getValue(`cdnUrlModifiers`),`stretch/off`,`scale_crop/${o}x${o}/center`)));if(a===t)return;let{promise:n}=eu(t);n.then(()=>{e.setValue(`thumbUrl`,t),a?.startsWith(`blob:`)&&URL.revokeObjectURL(a)}).catch(async()=>{if(!a?.startsWith(`blob:`))try{let t=e.getValue(`file`);if(!t)return;let n=await ru(t,o);e.setValue(`thumbUrl`,n)}catch(t){this.telemetryManager.sendEventError(t,`thumbnail generation. Failed to generate thumb from file`);let n=window.getComputedStyle(this).getPropertyValue(`--uc-muted-foreground`);e.setValue(`thumbUrl`,ou(n))}});return}if(e.getValue(`thumbUrl`))return;let s=e.getValue(`file`);if(s?.type.includes(`image`))try{let t=await ru(s,o);e.setValue(`thumbUrl`,t)}catch(t){this.telemetryManager.sendEventError(t,`thumbnail generation. Failed to generate thumb from file`);let n=window.getComputedStyle(this).getPropertyValue(`--uc-muted-foreground`);e.setValue(`thumbUrl`,ou(n))}else{let t=window.getComputedStyle(this).getPropertyValue(`--uc-muted-foreground`);e.setValue(`thumbUrl`,ou(t))}}),this._debouncedGenerateThumb=C(this._generateThumbnail.bind(this),100)}_calculateThumbSize(e=!1){e&&(this._thumbRect=this.getBoundingClientRect());let t=Math.max(parseInt(String(this?._thumbRect?.height||0),10),parseInt(String(this?._thumbRect?.width||0),10),this.cfg.thumbSize);return window.devicePixelRatio>1&&(t*=window.devicePixelRatio),Math.min(t,su)}_decodeImage(e,t){return new Promise((n,r)=>{let i=new Image;i.decoding=`async`;let a=()=>{i&&=(i.onload=null,i.onerror=null,i.src=Ql,t?.removeEventListener(`abort`,o),null)},o=()=>{a(),r(new DOMException(`Aborted`,`AbortError`))};if(t){if(t.aborted){o();return}t.addEventListener(`abort`,o,{once:!0})}let s=()=>{a(),n()},c=e=>{a(),r(e)};if(typeof i.decode==`function`){i.src=e,i.decode().then(s).catch(c);return}i.onload=s,i.onerror=c,i.src=e})}_cancelPendingThumbUpdate(){this._pendingThumbUpdate?.cancel(),this._pendingThumbUpdate=void 0}_scheduleThumbUpdate(e){if(this._cancelPendingThumbUpdate(),!e){this._thumbUrl&&=``;return}if(e===this._thumbUrl)return;let t=new AbortController,n={controller:t,cancel:()=>{t.abort(),n.rafId!==void 0&&window.cancelAnimationFrame(n.rafId)}};this._pendingThumbUpdate=n,this._decodeImage(e,t.signal).then(()=>{t.signal.aborted||(n.rafId=window.requestAnimationFrame(()=>{t.signal.aborted||(this._thumbUrl=e)}))}).catch(e=>{t.signal.aborted||e instanceof DOMException&&e.name===`AbortError`||console.warn(`[Thumb] Failed to decode thumbnail image`,e)})}_requestThumbGeneration(e=!1){if(this.entry){if(e){this._generateThumbnail(!0);return}this._isIntersecting&&this._debouncedGenerateThumb()}}firstUpdated(e){super.firstUpdated(e),this._bindToEntry()}updated(e){super.updated(e),e.has(`uid`)&&this._bindToEntry()}_observerCallback(e){let[t]=e;t&&(this._isIntersecting=t.isIntersecting,t.isIntersecting&&(this._thumbRect=t.boundingClientRect,this._requestThumbGeneration(),this._observer?.disconnect()),t.intersectionRatio===0&&this._debouncedGenerateThumb.cancel())}reset(){super.reset(),this._debouncedGenerateThumb.cancel(),this._cancelPendingThumbUpdate(),this._thumbUrl&&=``}_bindToEntry(){let e=this.uid?.trim();if(!e){this.entry&&this.reset();return}let t=this.uploadCollection?.read(e);if(!t||t===this.entry)return;this.reset(),this.entry=t;let n=()=>{this._requestThumbGeneration()};this.subEntry(`fileInfo`,e=>{e?.isImage&&n()}),this.subEntry(`thumbUrl`,e=>{this._scheduleThumbUpdate(e??void 0)}),this.subEntry(`cdnUrlModifiers`,n),this._requestThumbGeneration(!0)}initCallback(){super.initCallback(),this.subConfigValue(`filesViewMode`,e=>{e===`grid`&&!this._renderedGridOnce&&(this._firstViewMode===`list`&&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 _`
|
|
40
|
+
<div class="uc-thumb">
|
|
41
|
+
<img
|
|
42
|
+
class="uc-thumb__img"
|
|
43
|
+
src=${this._thumbUrl||`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=`}
|
|
44
|
+
role="img"
|
|
45
|
+
alt="Preview of uploaded image"
|
|
46
|
+
?hidden=${!this._thumbUrl}
|
|
47
|
+
draggable="false"
|
|
48
|
+
/>
|
|
49
|
+
<div class="uc-badge">
|
|
50
|
+
<uc-icon name=${this.badgeIcon}></uc-icon>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
`}};w([b({type:String})],cu.prototype,`badgeIcon`,void 0),w([b({attribute:!1})],cu.prototype,`uid`,void 0),w([x()],cu.prototype,`_thumbUrl`,void 0);var lu=n((()=>{})),uu,du=n((()=>{B(),lu(),uu=class extends z{}}));y(),B();var fu=class extends z{constructor(...e){super(...e),this.historyTracked=!0,this.activityType=z.activities.START_FROM}initCallback(){super.initCallback(),this.registerActivity(this.activityType??``)}render(){return _` <div class="uc-content">${this.yield(``)}</div> `}};H(),P();var pu=class extends V{constructor(...e){super(...e),this._unbindEventEmitter=null}static{this.styleAttrs=[`uc-wgt-common`]}static{this.EventType=N}initCallback(){super.initCallback(),this._unbindEventEmitter=this.eventEmitter.bindTarget(this)}disconnectedCallback(){super.disconnectedCallback(),this._unbindEventEmitter?.()}},mu,hu=n((()=>{mu=(e,t)=>{let n=!1,r,i=0,a=((...a)=>{n?(r&&clearTimeout(r),r=setTimeout(()=>{Date.now()-i>=t&&(e(...a),i=Date.now())},Math.max(t-(Date.now()-i),0))):(e(...a),i=Date.now(),n=!0)});return Object.defineProperty(a,`cancel`,{configurable:!1,writable:!1,enumerable:!1,value:()=>{r&&clearTimeout(r)}}),a}}));hu(),pt(),Bo(),El();var gu=(e,t,n)=>{let r=new Map;for(let i=t;i<=n;i++)r.set(e[i],i);return r},_u=Ro(class extends zo{constructor(e){if(super(e),e.type!==Lo.CHILD)throw Error(`repeat() can only be used in text expressions`)}dt(e,t,n){let r;n===void 0?n=t:t!==void 0&&(r=t);let i=[],a=[],o=0;for(let t of e)i[o]=r?r(t,o):o,a[o]=n(t,o),o++;return{values:a,keys:i}}render(e,t,n){return this.dt(e,t,n).values}update(e,[t,n,r]){let i=wl(e),{values:a,keys:o}=this.dt(t,n,r);if(!Array.isArray(i))return this.ut=o,a;let s=this.ut??=[],c=[],l,u,d=0,f=i.length-1,p=0,m=a.length-1;for(;d<=f&&p<=m;)if(i[d]===null)d++;else if(i[f]===null)f--;else if(s[d]===o[p])c[p]=xl(i[d],a[p]),d++,p++;else if(s[f]===o[m])c[m]=xl(i[f],a[m]),f--,m--;else if(s[d]===o[m])c[m]=xl(i[d],a[m]),bl(e,c[m+1],i[d]),d++,m--;else if(s[f]===o[p])c[p]=xl(i[f],a[p]),bl(e,i[d],i[f]),f--,p++;else if(l===void 0&&(l=gu(o,p,m),u=gu(s,d,f)),l.has(s[d]))if(l.has(s[f])){let t=u.get(o[p]),n=t===void 0?null:i[t];if(n===null){let t=bl(e,i[d]);xl(t,a[p]),c[p]=t}else c[p]=xl(n,a[p]),bl(e,i[d],n),i[t]=null;p++}else Tl(i[f]),f--;else Tl(i[d]),d++;for(;p<=m;){let t=bl(e,c[m+1]);xl(t,a[p]),c[p++]=t}for(;d<=f;){let e=i[d++];e!==null&&Tl(e)}return this.ut=o,Cl(e,c),Qe}});ua(),y(),S(),nn(),oc(),T();var K=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`)}),q=class e extends iu{constructor(...e){super(...e),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=C(()=>this._calculateState(),100),this._updateHintAndProgress=this.withEntry(mu((e,t)=>{let n=e.getValue(`errors`)?.[0]?.message??``,r=e.getValue(`source`),i=e.getValue(`externalUrl`),a=t===K.FINISHED,o=t===K.UPLOADING,s=t===K.QUEUED_UPLOADING,c=t===K.QUEUED_VALIDATION,l=t===K.VALIDATION,u=e.getValue(`fileName`),d=``;n?d=``:!a&&i&&r&&Object.values(ic).includes(r)&&(d=this.l10n(`waiting-for`,{source:this.l10n(`src-type-${r}`)})),this._hint=d,this._errorText=n,this._progressVisible=o||s||c||l,this._progressValue=c||l?0:e.getValue(`uploadProgress`),this._ariaLabelStatusFile=u?this.l10n(`a11y-file-item-status`,{fileName:u,status:this.l10n(t?.description?.toLocaleLowerCase()??``).toLocaleLowerCase()}):``},100)),this._upload=this.withEntry(async e=>{if(!this.uploadCollection.read(e.uid)||e.getValue(`fileInfo`)||e.getValue(`isUploading`)||e.getValue(`errors`).length>0||e.getValue(`isValidationPending`))return;let t=this.cfg.multiple?this.cfg.multipleMax:1;if(!(t&&this.uploadCollection.size>t)){e.setMultipleValues({isUploading:!0,errors:[],isQueuedForUploading:!0}),this._debouncedCalculateState();try{let t=new AbortController;e.setValue(`abortController`,t);let n=await this.$[`*uploadQueue`].add(async()=>{e.setValue(`isQueuedForUploading`,!1);let n=e.getValue(`file`);if(n instanceof File||n instanceof Blob){let t=(this._sharedInstancesBag.pluginManager?.snapshot().fileHooks??[]).filter(e=>e.type===`beforeUpload`);for(let r of t)try{let{file:t,mimeType:i}=await r.handler({file:n,mimeType:e.getValue(`mimeType`)});n=t,i!==e.getValue(`mimeType`)&&e.setValue(`mimeType`,i)}catch(e){this.debugPrint(`File hook "beforeUpload" from plugin "${r.pluginId}" failed`,e)}}let r=n||e.getValue(`externalUrl`)||e.getValue(`uuid`);if(!r)throw Error(`No file input`);let i={...await this.getUploadClientOptions(),fileName:e.getValue(`fileName`)??void 0,source:e.getValue(`source`)??void 0,onProgress:t=>{if(t.isComputable){let n=t.value*100;e.setValue(`uploadProgress`,n)}},signal:t.signal,metadata:await this.getMetadataFor(e.uid)};return this.debugPrint(`upload options`,r,i),Xr(r,i)});e.setMultipleValues({fileInfo:n,isQueuedForUploading:!1,isUploading:!1,fileName:n.originalFilename,fileSize:n.size,isImage:n.isImage??!1,mimeType:n.contentInfo?.mime?.mime??n.mimeType,uuid:n.uuid,cdnUrl:e.getValue(`cdnUrl`)??n.cdnUrl,cdnUrlModifiers:e.getValue(`cdnUrlModifiers`)??``,uploadProgress:100,source:e.getValue(`source`)??null}),e===this.entry&&this._debouncedCalculateState()}catch(t){this.telemetryManager.sendEventError(t,`file upload. Failed to upload file`),t instanceof ii&&t.isCancel?e.setMultipleValues({isUploading:!1,uploadProgress:0}):t instanceof ti?e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:t}):(console.error(`Unknown upload error`,t),e.setMultipleValues({isUploading:!1,uploadProgress:0,uploadError:Error(`Something went wrong`,{cause:t})})),e===this.entry&&this._debouncedCalculateState()}}})}_calculateState(){let e=this.entry;if(!e)return;let t=K.IDLE;e.getValue(`errors`).length>0?t=K.FAILED:e.getValue(`isQueuedForUploading`)?t=K.QUEUED_UPLOADING:e.getValue(`isQueuedForValidation`)?t=K.QUEUED_VALIDATION:e.getValue(`isValidationPending`)?t=K.VALIDATION:e.getValue(`isUploading`)?t=K.UPLOADING:e.getValue(`fileInfo`)&&(t=K.FINISHED),this._handleState(e,t)}_handleState(e,t){t===K.FAILED?this._badgeIcon=`badge-error`:t===K.FINISHED&&(this._badgeIcon=`badge-success`),t===K.UPLOADING&&(this._isFocused=!1,this.removeAttribute(`focused`)),this._isFailed=t===K.FAILED,this._isUploading=t===K.UPLOADING,this._isFinished=t===K.FINISHED,this._updateHintAndProgress(t)}reset(){super.reset(),this._debouncedCalculateState.cancel()}_observerCallback(e){let[t]=e;t&&t.isIntersecting&&!this._renderedOnce&&(this._pauseRender=!1,this._renderedOnce=!0)}_handleEntryId(e){this.reset();let t=this.uploadCollection?.read(e);if(this.entry=t,!t){this._updatePluginFileActions();return}this.subEntry(`isQueuedForValidation`,()=>{this._debouncedCalculateState()}),this.subEntry(`isValidationPending`,()=>{this._debouncedCalculateState()}),this.subEntry(`uploadProgress`,()=>{this._debouncedCalculateState()}),this.subEntry(`isQueuedForUploading`,()=>{this._debouncedCalculateState()}),this.subEntry(`fileName`,e=>{this._itemName=e||t.getValue(`externalUrl`)||this.l10n(`file-no-name`),this._debouncedCalculateState()}),this.subEntry(`externalUrl`,e=>{this._itemName=t.getValue(`fileName`)||e||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(t)}async _applyOnAddHooks(e){let t=e.getValue(`file`);if(!t)return;let n=(this._sharedInstancesBag.pluginManager?.snapshot().fileHooks??[]).filter(e=>e.type===`onAdd`),r=t,i=e.getValue(`mimeType`);for(let e of n)try{({file:r,mimeType:i}=await e.handler({file:r,mimeType:i}))}catch(t){this.debugPrint(`File hook "onAdd" from plugin "${e.pluginId}" failed`,t)}r!==t&&(e.setValue(`file`,r),e.setValue(`fileSize`,r.size)),i!==e.getValue(`mimeType`)&&e.setValue(`mimeType`,i)}_updateShowFileNames(e){if(this.cfg.filesViewMode===`list`){this._showFileNames=!0;return}this._showFileNames=e}willUpdate(e){super.willUpdate(e),e.has(`uid`)&&this._handleEntryId(this.uid)}_updatePluginFileActions(){let e=this._sharedInstancesBag.pluginManager;if(!e||!this.uid){this._pluginFileActions=[];return}let t=e.snapshot().fileActions,n=this.api.getOutputItem(this.uid);if(!n){this._pluginFileActions=[];return}this._pluginFileActions=t.filter(e=>{try{return e.shouldRender(n)}catch(t){return console.error(`Error in plugin file action shouldRender (${e.id}):`,t),!1}})}_handlePluginFileAction(e){if(!this.uid)return;let t=this.api.getOutputItem(this.uid);if(t)try{e.onClick(t)}catch(t){console.error(`Error in plugin file action onClick (${e.id}):`,t)}}initCallback(){super.initCallback(),this._handleEntryId(this.uid),this.subConfigValue(`filesViewMode`,e=>{this._updateShowFileNames(this.cfg.gridShowFileNames),this.setAttribute(`mode`,e)}),this.subConfigValue(`gridShowFileNames`,e=>{this._updateShowFileNames(e)}),this.onclick=()=>{e.activeInstances.forEach(e=>{e===this?e.setAttribute(`focused`,``):e.removeAttribute(`focused`)})},this.sub(`*uploadTrigger`,e=>{this.entry&&!e.has(this.entry.uid)||setTimeout(()=>this.isConnected&&this._upload())});let t=this._sharedInstancesBag.pluginManager;t?.onPluginsChange&&(this._unsubscribePlugins=t.onPluginsChange(()=>this._updatePluginFileActions())),this._updatePluginFileActions(),e.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(),e.activeInstances.delete(this),this.reset()}static{this.activeInstances=new Set}shouldUpdate(e){return this._pauseRender?!1:super.shouldUpdate(e)}render(){return _`
|
|
54
|
+
<div
|
|
55
|
+
class="uc-inner"
|
|
56
|
+
?data-finished=${this._isFinished}
|
|
57
|
+
?data-uploading=${this._isUploading}
|
|
58
|
+
?data-failed=${this._isFailed}
|
|
59
|
+
?data-focused=${this._isFocused}
|
|
60
|
+
>
|
|
61
|
+
<uc-thumb .uid=${this.uid} .badgeIcon=${this._badgeIcon}></uc-thumb>
|
|
62
|
+
|
|
63
|
+
<div aria-atomic="true" aria-live="polite" class="uc-file-name-wrapper" aria-label=${this._ariaLabelStatusFile}>
|
|
64
|
+
<span class="uc-file-name" ?hidden=${!this._showFileNames}>${this._itemName}</span>
|
|
65
|
+
<span class="uc-file-error" ?hidden=${!this._errorText}>${this._errorText}</span>
|
|
66
|
+
<span class="uc-file-hint" ?hidden=${!this._hint}>${this._hint}</span>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="uc-file-actions">
|
|
69
|
+
${this._pluginFileActions.map(e=>_`
|
|
70
|
+
<button
|
|
71
|
+
type="button"
|
|
72
|
+
@click=${()=>this._handlePluginFileAction(e)}
|
|
73
|
+
title=${e.id}
|
|
74
|
+
aria-label=${e.id}
|
|
75
|
+
class="uc-plugin-action-btn uc-mini-btn"
|
|
76
|
+
data-plugin-action-id=${e.id}
|
|
77
|
+
>
|
|
78
|
+
<uc-icon name=${e.icon}></uc-icon>
|
|
79
|
+
</button>
|
|
80
|
+
`)}
|
|
81
|
+
<button
|
|
82
|
+
type="button"
|
|
83
|
+
@click=${this._handleRemove}
|
|
84
|
+
title=${this.l10n(`file-item-remove-button`)}
|
|
85
|
+
aria-label=${this.l10n(`file-item-remove-button`)}
|
|
86
|
+
class="uc-remove-btn uc-mini-btn"
|
|
87
|
+
>
|
|
88
|
+
<uc-icon name="remove-file"></uc-icon>
|
|
89
|
+
</button>
|
|
90
|
+
<button type="button" class="uc-upload-btn uc-mini-btn" @click=${this._handleUploadClick}>
|
|
91
|
+
<uc-icon name="upload"></uc-icon>
|
|
92
|
+
</button>
|
|
93
|
+
</div>
|
|
94
|
+
<uc-progress-bar class="uc-progress-bar" .value=${this._progressValue} .visible=${this._progressVisible} ?hasFileName=${this._showFileNames}>
|
|
95
|
+
</uc-progress-bar>
|
|
96
|
+
</div>
|
|
97
|
+
`}};w([x()],q.prototype,`_pauseRender`,void 0),w([b({attribute:!1})],q.prototype,`uid`,void 0),w([x()],q.prototype,`_itemName`,void 0),w([x()],q.prototype,`_errorText`,void 0),w([x()],q.prototype,`_hint`,void 0),w([x()],q.prototype,`_progressValue`,void 0),w([x()],q.prototype,`_progressVisible`,void 0),w([x()],q.prototype,`_badgeIcon`,void 0),w([x()],q.prototype,`_isFinished`,void 0),w([x()],q.prototype,`_isFailed`,void 0),w([x()],q.prototype,`_isUploading`,void 0),w([x()],q.prototype,`_isFocused`,void 0),w([x()],q.prototype,`_showFileNames`,void 0),w([x()],q.prototype,`_ariaLabelStatusFile`,void 0),w([x()],q.prototype,`_pluginFileActions`,void 0);function vu(e){return new Promise(t=>{typeof window.FileReader!=`function`&&t(!1);try{let n=new FileReader;n.onerror=()=>{t(!0)};let r=e=>{e.type!==`loadend`&&n.abort(),t(!1)};n.onloadend=r,n.onprogress=r,n.readAsDataURL(e)}catch{t(!1)}})}function yu(e,t){return new Promise(n=>{let r=0,i=[],a=e=>{if(!e){console.warn(`Unexpectedly received empty content entry`,{scope:`drag-and-drop`}),n(null);return}e.isFile?(r++,e.file(a=>{r--;let o=new File([a],a.name,{type:a.type||t});i.push({type:`file`,file:o,fullPath:e.fullPath}),r===0&&n(i)})):e.isDirectory&&o(e.createReader())},o=e=>{r++,e.readEntries(e=>{r--;for(let t of e)a(t);r===0&&n(i)})};a(e)})}function bu(e){let t=[],n=[];for(let r=0;r<e.items.length;r++){let i=e.items[r];if(i)if(i.kind===`file`){let e=i.type,r=i;if(typeof r.webkitGetAsEntry==`function`||typeof r.getAsEntry==`function`){let i=typeof r.webkitGetAsEntry==`function`?r.webkitGetAsEntry():r.getAsEntry?.();i&&n.push(yu(i,e).then(e=>{e&&t.push(...e)}));continue}let a=i.getAsFile();a&&n.push(vu(a).then(e=>{e||t.push({type:`file`,file:a})}))}else i.kind===`string`&&/^text\/uri-list/.test(i.type)&&n.push(new Promise(e=>{i.getAsString(n=>{t.push({type:`url`,url:n}),e()})}))}return Promise.all(n).then(()=>t)}let J=Object.freeze({ACTIVE:0,INACTIVE:1,NEAR:2,OVER:3});var xu=[`focus`],Su=100,Cu=new Map;function wu(e,t){let n=Math.max(Math.min(e[0],t.x+t.width),t.x),r=Math.max(Math.min(e[1],t.y+t.height),t.y);return Math.sqrt((e[0]-n)*(e[0]-n)+(e[1]-r)*(e[1]-r))}function Tu(e){let t=0,n=document.body,r=new Set,i=e=>{r.add(e)},a=J.INACTIVE,o=t=>{e.shouldIgnore()&&t!==J.INACTIVE||(a!==t&&r.forEach(e=>{e(t)}),a=t)},s=()=>t>0;i(t=>e.onChange(t));let c=()=>{t=0,o(J.INACTIVE)},l=()=>{t+=1,a===J.INACTIVE&&o(J.ACTIVE)},u=()=>{--t,s()||o(J.INACTIVE)},d=e=>{e.preventDefault(),t=0,o(J.INACTIVE)},f=n=>{if(e.shouldIgnore())return;s()||(t+=1);let r=[n.x,n.y],i=e.element.getBoundingClientRect(),a=Math.floor(wu(r,i)),c=a<Su,l=n.composedPath().includes(e.element);Cu.set(e.element,a);let u=Math.min(...Cu.values())===a;l&&u?(n.preventDefault(),o(J.OVER)):o(c&&u?J.NEAR:J.ACTIVE)},p=async t=>{if(e.shouldIgnore())return;t.preventDefault();let{dataTransfer:n}=t;if(!n)return;let r=await bu(n);e.onItems(r),o(J.INACTIVE)};return n.addEventListener(`drop`,d),n.addEventListener(`dragleave`,u),n.addEventListener(`dragenter`,l),n.addEventListener(`dragover`,f),e.element.addEventListener(`drop`,p),xu.forEach(e=>{window.addEventListener(e,c)}),()=>{Cu.delete(e.element),n.removeEventListener(`drop`,d),n.removeEventListener(`dragleave`,u),n.removeEventListener(`dragenter`,l),n.removeEventListener(`dragover`,f),e.element.removeEventListener(`drop`,p),xu.forEach(e=>{window.removeEventListener(e,c)})}}y(),S(),G(),B(),H(),Vn(),oc(),T();var Eu=new Set,Du=class extends V{constructor(...e){super(...e),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=U(),this._handleAreaInteraction=e=>{if(e instanceof KeyboardEvent){if(e.code!==`Space`&&e.code!==`Enter`)return}else if(!(e instanceof MouseEvent))return;if(this.initflow){this.api.initFlow();return}this.api.openSystemDialog()},this._sourceListAllowsLocal=!0,this._clickableListenersAttached=!1}static{this.styleAttrs=[...super.styleAttrs,`uc-drop-area`]}get _localizedText(){let e=this.text;return typeof e==`string`&&e.length>0?this.l10n(e)||e:this.l10n(`drop-files-here`)}isActive(){if(!this._isEnabled)return!1;let e=this.getBoundingClientRect(),t=e.width>0&&e.height>0,n=e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth),r=window.getComputedStyle(this),i=r.visibility!==`hidden`&&r.display!==`none`;return t&&i&&n}initCallback(){super.initCallback(),Eu.add(this),this._updateIsEnabled(),this._updateVisibility(),this._updateClickableListeners(),this._updateDragStateAttribute(J.INACTIVE),this._destroyDropzone=Tu({element:this,shouldIgnore:()=>this._shouldIgnore(),onChange:e=>{this._updateDragStateAttribute(e)},onItems:e=>{e.length&&(e.forEach(e=>{e.type===`url`?this.api.addFileFromUrl(e.url,{source:R.DROP_AREA}):e.type===`file`&&this.api.addFileFromObject(e.file,{source:R.DROP_AREA,fullPath:e.fullPath})}),this.uploadCollection.size&&(this.set$({"*currentActivity":z.activities.UPLOAD_LIST}),this.modalManager?.open(z.activities.UPLOAD_LIST)))}}),this.updateComplete.then(()=>this._setupContentWrapperDropzone()),this.subConfigValue(`sourceList`,e=>{this._sourceListAllowsLocal=Bn(e).includes(R.LOCAL),this._updateIsEnabled(),this._updateVisibility()})}willUpdate(e){super.willUpdate(e),e.has(`disabled`)&&(this._updateIsEnabled(),this._updateVisibility())}updated(e){super.updated(e),e.has(`clickable`)&&this._updateClickableListeners()}_shouldIgnore(){if(!this._isEnabled||!this._couldHandleFiles())return!0;if(!this.fullscreen)return!1;let e=Eu;return e.size===0?!1:[...e].filter(e=>e!==this).filter(e=>e.isActive()).length>0}_couldHandleFiles(){let e=this.cfg.multiple,t=this.cfg.multipleMax,n=this.uploadCollection.size;return!(e&&t&&n>=t||!e&&n>0)}_updateIsEnabled(){this._isEnabled=this._sourceListAllowsLocal&&!this.disabled}_updateVisibility(){let e=this._isEnabled||!this.querySelector(`[data-default-slot]`);this._isVisible=e,this.hidden=!e}_updateDragStateAttribute(e){let t=Object.entries(J).find(([,t])=>t===e)?.[0].toLowerCase();t&&this.setAttribute(`drag-state`,t)}_setupContentWrapperDropzone(){if(this._destroyContentWrapperDropzone)return;let e=this._contentWrapperRef.value;e&&(this._destroyContentWrapperDropzone=Tu({element:e,onChange:t=>{let n=Object.entries(J).find(([,e])=>e===t)?.[0].toLowerCase();n&&e.setAttribute(`drag-state`,n)},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(),Eu.delete(this),this._destroyDropzone?.(),this._destroyContentWrapperDropzone?.(),this._clickableListenersAttached&&=(this.removeEventListener(`keydown`,this._handleAreaInteraction),this.removeEventListener(`click`,this._handleAreaInteraction),!1)}render(){return _`
|
|
98
|
+
${this.yield(``,_`<div data-default-slot hidden></div>
|
|
99
|
+
<div ${W(this._contentWrapperRef)} class="uc-content-wrapper" ?hidden=${!this._isVisible}>
|
|
100
|
+
<div class="uc-icon-container" ?hidden=${!this.withIcon}>
|
|
101
|
+
<uc-icon name="default"></uc-icon>
|
|
102
|
+
<uc-icon name="arrow-down"></uc-icon>
|
|
103
|
+
</div>
|
|
104
|
+
<span class="uc-text">${this._localizedText}</span>
|
|
105
|
+
</div>`)}
|
|
106
|
+
`}};w([b({type:Boolean,noAccessor:!0})],Du.prototype,`single`,void 0),w([b({type:Boolean,noAccessor:!0})],Du.prototype,`ghost`,void 0),w([b({type:Boolean,reflect:!0})],Du.prototype,`disabled`,void 0),w([b({type:Boolean,reflect:!0})],Du.prototype,`clickable`,void 0),w([b({type:Boolean,attribute:`with-icon`,reflect:!0})],Du.prototype,`withIcon`,void 0),w([b({type:Boolean,reflect:!0})],Du.prototype,`fullscreen`,void 0),w([b({type:Boolean,reflect:!0})],Du.prototype,`initflow`,void 0),w([b({type:String})],Du.prototype,`text`,void 0),w([x()],Du.prototype,`_isEnabled`,void 0),w([x()],Du.prototype,`_isVisible`,void 0),y(),S(),B(),H(),hu(),P(),T();var Ou=class extends V{constructor(...e){super(...e),this.couldBeCtxOwner=!0,this.historyTracked=!0,this.activityType=z.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:M.ACTION_EVENT,payload:{metadata:{event:`add-more`,node:this.tagName}}}),this.api.initFlow(!0)},this._handleUpload=()=>{this.emit(N.UPLOAD_CLICK),this.api.uploadAll(),this._throttledHandleCollectionUpdate()},this._handleDone=()=>{this.emit(N.DONE_CLICK,this.api.getOutputCollectionState()),this.api.doneFlow()},this._handleCancel=()=>{this.telemetryManager.sendEvent({eventType:M.ACTION_EVENT,payload:{metadata:{event:`clear-all`,node:this.tagName}}}),this.uploadCollection.clearAll()},this._throttledHandleCollectionUpdate=mu(()=>{this.isConnected&&(this._updateUploadsState(),!this.couldOpenActivity&&this.$[`*currentActivity`]===this.activityType&&this.historyBack(),this.cfg.confirmUpload||this.api.uploadAll())},300)}get _headerText(){return this._latestSummary?this._getHeaderText(this._latestSummary):``}_updateUploadsState(){let e=this.api.getOutputCollectionState(),t={total:e.totalCount,succeed:e.successCount,uploading:e.uploadingCount,failed:e.failedCount,validatingBeforeUploading:e.idleEntries.filter(e=>e.isValidationPending).length},n=!e.errors.some(e=>e.type===`TOO_MANY_FILES`||e.type===`TOO_FEW_FILES`),r=e.errors.some(e=>e.type===`TOO_MANY_FILES`),i=e.totalCount===(this.cfg.multiple?this.cfg.multipleMax:1),a=e.allEntries.some(e=>e.isValidationPending),o=t.failed===0&&e.errors.length===0&&!a,s=!1,c=!1,l=!1;if(t.total-t.succeed-t.uploading-t.failed>0&&n&&o&&this.cfg.confirmUpload)s=!0;else{c=!0;let r=this.cfg.groupOutput?!!e.group:!0;l=t.total===t.succeed&&n&&o&&r}this._doneBtnVisible=c,this._doneBtnEnabled=l,this._uploadBtnVisible=s,this._addMoreBtnEnabled=t.total===0||!r&&!i,this._addMoreBtnVisible=!i||this.cfg.multiple,this._hasFiles=t.total>0,this._latestSummary=t}_getHeaderText(e){let t=t=>{let n=e[t];return t===`uploading`&&(n+=e.validatingBeforeUploading),this.l10n(`header-${t}`,{count:n})};return e.uploading>0||e.validatingBeforeUploading>0?t(`uploading`):e.failed>0?t(`failed`):e.succeed>0?t(`succeed`):t(`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`,e=>{e&&this._throttledHandleCollectionUpdate()}),this.subConfigValue(`filesViewMode`,e=>{this.setAttribute(`mode`,e)}),this.sub(`*currentActivity`,e=>{!this.couldOpenActivity&&e===this.activityType&&(this.$[`*currentActivity`]=this.initActivity)}),this.uploadCollection.observeProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.observeCollection(this._throttledHandleCollectionUpdate),this.sub(`*collectionErrors`,e=>{let t=e.filter(e=>e.type!==`SOME_FILES_HAS_ERRORS`)[0];if(!t){this._commonErrorMessage=null;return}this._commonErrorMessage=t.message})}disconnectedCallback(){super.disconnectedCallback(),this.has(`*uploadCollection`)&&(this.uploadCollection.unobserveProperties(this._throttledHandleCollectionUpdate),this.uploadCollection.unobserveCollection(this._throttledHandleCollectionUpdate))}render(){return _`
|
|
107
|
+
<uc-activity-header>
|
|
108
|
+
<span aria-live="polite" class="uc-header-text">${this._headerText}</span>
|
|
109
|
+
<button
|
|
110
|
+
type="button"
|
|
111
|
+
class="uc-mini-btn uc-close-btn"
|
|
112
|
+
@click=${this.$[`*closeModal`]}
|
|
113
|
+
title=${this.l10n(`a11y-activity-header-button-close`)}
|
|
114
|
+
aria-label=${this.l10n(`a11y-activity-header-button-close`)}
|
|
115
|
+
>
|
|
116
|
+
<uc-icon name="close"></uc-icon>
|
|
117
|
+
</button>
|
|
118
|
+
</uc-activity-header>
|
|
119
|
+
|
|
120
|
+
<div class="uc-no-files" ?hidden=${this._hasFiles}>
|
|
121
|
+
${this.yield(`empty`,_`<span>${this.l10n(`no-files`)}</span>`)}
|
|
122
|
+
</div>
|
|
123
|
+
|
|
124
|
+
<div class="uc-files">
|
|
125
|
+
<div class="uc-files-wrapper">
|
|
126
|
+
${_u(this.$[`*uploadList`]??[],({uid:e})=>e,({uid:e})=>_`<uc-file-item .uid=${e}></uc-file-item>`)}
|
|
127
|
+
</div>
|
|
128
|
+
<button
|
|
129
|
+
type="button"
|
|
130
|
+
class="uc-add-more-btn uc-secondary-btn"
|
|
131
|
+
@click=${this._handleAdd}
|
|
132
|
+
?disabled=${!this._addMoreBtnEnabled}
|
|
133
|
+
?hidden=${!this._addMoreBtnVisible}
|
|
134
|
+
>
|
|
135
|
+
<uc-icon name="add"></uc-icon><span>${this.l10n(`add-more`)}</span>
|
|
136
|
+
</button>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<div class="uc-common-error"
|
|
140
|
+
?hidden=${!this._commonErrorMessage}
|
|
141
|
+
>
|
|
142
|
+
${this._commonErrorMessage??``}
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<div class="uc-toolbar">
|
|
146
|
+
<button type="button" class="uc-cancel-btn uc-secondary-btn" @click=${this._handleCancel}>${this.l10n(`clear`)}</button>
|
|
147
|
+
<div class="uc-toolbar-spacer"></div>
|
|
148
|
+
<button
|
|
149
|
+
type="button"
|
|
150
|
+
class="uc-add-more-btn uc-secondary-btn"
|
|
151
|
+
?hidden=${!this._addMoreBtnVisible}
|
|
152
|
+
?disabled=${!this._addMoreBtnEnabled}
|
|
153
|
+
@click=${this._handleAdd}
|
|
154
|
+
>
|
|
155
|
+
<uc-icon name="add"></uc-icon><span>${this.l10n(`add-more`)}</span>
|
|
156
|
+
</button>
|
|
157
|
+
<button
|
|
158
|
+
type="button"
|
|
159
|
+
class="uc-upload-btn uc-primary-btn"
|
|
160
|
+
?hidden=${!this._uploadBtnVisible}
|
|
161
|
+
@click=${this._handleUpload}
|
|
162
|
+
>${this.l10n(`upload`)}</button>
|
|
163
|
+
<button
|
|
164
|
+
type="button"
|
|
165
|
+
class="uc-done-btn uc-primary-btn"
|
|
166
|
+
?hidden=${!this._doneBtnVisible}
|
|
167
|
+
?disabled=${!this._doneBtnEnabled}
|
|
168
|
+
@click=${this._handleDone}
|
|
169
|
+
>
|
|
170
|
+
${this.l10n(`done`)}
|
|
171
|
+
</button>
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<uc-drop-area ghost></uc-drop-area>
|
|
175
|
+
`}};w([x()],Ou.prototype,`_doneBtnVisible`,void 0),w([x()],Ou.prototype,`_doneBtnEnabled`,void 0),w([x()],Ou.prototype,`_uploadBtnVisible`,void 0),w([x()],Ou.prototype,`_addMoreBtnVisible`,void 0),w([x()],Ou.prototype,`_addMoreBtnEnabled`,void 0),w([x()],Ou.prototype,`_commonErrorMessage`,void 0),w([x()],Ou.prototype,`_hasFiles`,void 0),w([x()],Ou.prototype,`_latestSummary`,void 0);var ku=n((()=>{})),Au=r({UrlSource:()=>ju},1),ju,Mu=n((()=>{y(),S(),G(),B(),H(),oc(),P(),ku(),T(),ju=class extends V{constructor(...e){super(...e),this._formState={importDisabled:!0},this._inputRef=U(),this._handleInput=e=>{this._formState={importDisabled:!(e.target?.value??``)}},this._handleUpload=e=>{e.preventDefault(),this.telemetryManager.sendEvent({eventType:M.ACTION_EVENT,payload:{metadata:{event:`upload-from-url`,node:this.tagName}}});let t=this._inputRef.value?.value?.trim();t&&(this.api.addFileFromUrl(t,{source:R.URL}),this.$[`*currentActivity`]=z.activities.UPLOAD_LIST,this.modalManager?.open(z.activities.UPLOAD_LIST))}}firstUpdated(){let e=this._inputRef.value;e&&(e.value=``,e.focus())}render(){return _`
|
|
176
|
+
<uc-activity-header>
|
|
177
|
+
<button type="button" class="uc-mini-btn" @click=${this.historyBack} title=${this.l10n(`back`)} aria-label=${this.l10n(`back`)}>
|
|
178
|
+
<uc-icon name="back"></uc-icon>
|
|
179
|
+
</button>
|
|
180
|
+
<div>
|
|
181
|
+
<uc-icon name="url"></uc-icon>
|
|
182
|
+
<span>${this.l10n(`caption-from-url`)}</span>
|
|
183
|
+
</div>
|
|
184
|
+
<button
|
|
185
|
+
type="button"
|
|
186
|
+
class="uc-mini-btn uc-close-btn"
|
|
187
|
+
@click=${this.$[`*closeModal`]}
|
|
188
|
+
title=${this.l10n(`a11y-activity-header-button-close`)}
|
|
189
|
+
aria-label=${this.l10n(`a11y-activity-header-button-close`)}
|
|
190
|
+
>
|
|
191
|
+
<uc-icon name="close"></uc-icon>
|
|
192
|
+
</button>
|
|
193
|
+
</uc-activity-header>
|
|
194
|
+
<form class="uc-content" @submit=${this._handleUpload}>
|
|
195
|
+
<label>
|
|
196
|
+
<input
|
|
197
|
+
${W(this._inputRef)}
|
|
198
|
+
placeholder="https://"
|
|
199
|
+
class="uc-url-input"
|
|
200
|
+
type="text"
|
|
201
|
+
@input=${this._handleInput}
|
|
202
|
+
/>
|
|
203
|
+
</label>
|
|
204
|
+
<button
|
|
205
|
+
type="submit"
|
|
206
|
+
class="uc-url-upload-btn uc-primary-btn"
|
|
207
|
+
?disabled=${this._formState.importDisabled}
|
|
208
|
+
>${this.l10n(`upload-url`)}</button>
|
|
209
|
+
</form>
|
|
210
|
+
`}},w([x()],ju.prototype,`_formState`,void 0)})),Nu,Pu=n((()=>{Nu=()=>navigator.permissions!==void 0})),Fu=n((()=>{})),Iu,Lu,Ru,zu=n((()=>{pt(),Bo(),Iu=`important`,Lu=` !`+Iu,Ru=Ro(class extends zo{constructor(e){if(super(e),e.type!==Lo.ATTRIBUTE||e.name!==`style`||e.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(e){return Object.keys(e).reduce((t,n)=>{let r=e[n];return r==null?t:t+`${n=n.includes(`-`)?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,`-$&`).toLowerCase()}:${r};`},``)}update(e,[t]){let{style:n}=e.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(t)),this.render(t);for(let e of this.ft)t[e]??(this.ft.delete(e),e.includes(`-`)?n.removeProperty(e):n[e]=null);for(let e in t){let r=t[e];if(r!=null){this.ft.add(e);let t=typeof r==`string`&&r.endsWith(Lu);e.includes(`-`)||t?n.setProperty(e,t?r.slice(0,-11):r,t?Iu:``):n[e]=r}}return Qe}})})),Bu=n((()=>{zu()})),Vu=r({CameraSource:()=>Y},1);function Hu(e){return`${Math.floor(e/60).toString().padStart(2,`0`)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}var Uu,Wu,Gu,Ku,Y,qu=n((()=>{y(),S(),B(),H(),Pu(),En(),nn(),Vn(),oc(),P(),Fu(),G(),Bu(),Ks(),T(),Uu={width:{ideal:1920},height:{ideal:1080},frameRate:{ideal:30}},Wu=[`camera`,`microphone`],Gu=`image/jpeg`,Ku=`video/webm`,Y=class extends V{constructor(...e){super(...e),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=U(),this._lineRef=U(),this._videoRef=U(),this._switcherRef=U(),this._startTime=0,this._elapsedTime=0,this._videoTransformCss=null,this._videoHidden=!0,this._messageHidden=!0,this._requestBtnHidden=Nu(),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:M.ACTION_EVENT,payload:{metadata:{event:`start-camera`,node:this.tagName,tabId:this._activeTab}}}),this._activeTab===L.PHOTO&&this._shot(),this._activeTab===L.VIDEO){if(this._mediaRecorder?.state===`recording`){this._stopRecording();return}this._startRecording()}},this._handleCameraSelectChange=e=>{let t=e.target;t&&(this._selectedCameraId=t.value,this._capture())},this._handleAudioSelectChange=e=>{let t=e.target;t&&(this._selectedAudioId=t.value,this._capture())},this._handleRequestPermissions=()=>{this._capture()},this._handleStartCamera=()=>{this.telemetryManager.sendEvent({eventType:M.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:M.ACTION_EVENT,payload:{metadata:{event:`retake-camera`,node:this.tagName,tabId:this._activeTab}}}),this._retake()},this._handleAccept=()=>{this.telemetryManager.sendEvent({eventType:M.ACTION_EVENT,payload:{metadata:{event:`accept-camera`,node:this.tagName,tabId:this._activeTab}}}),this._accept()},this._handleClickTab=e=>{let t=e.currentTarget?.getAttribute(`data-id`);t&&this._handleActiveTab(t)},this._updateTimer=()=>{let e=Math.floor((performance.now()-this._startTime+this._elapsedTime)/1e3);if(typeof this.cfg.maxVideoRecordingDuration==`number`&&this.cfg.maxVideoRecordingDuration>0){let t=this.cfg.maxVideoRecordingDuration-e;if(t<=0){let e=this._timerRef.value;e&&(e.textContent=Hu(t)),this._stopRecording();return}let n=this._timerRef.value;n&&(n.textContent=Hu(t))}else{let t=this._timerRef.value;t&&(t.textContent=Hu(e))}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 e=this._videoRef.value;if(!e)return;let t=e.currentTime,n=e.duration||1,r=this._lineRef.value;r&&(r.style.transform=`scaleX(${t/n})`);let i=this._timerRef.value;i&&(i.textContent=Hu(t)),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:e}=this.cfg.mediaRecorderOptions||{};e&&MediaRecorder.isTypeSupported(e)?this._options.mimeType=e:MediaRecorder.isTypeSupported(Ku)?this._options.mimeType=Ku:this._options.mimeType=`video/mp4`,this._stream&&(this._mediaRecorder=new MediaRecorder(this._stream,this._options),this._mediaRecorder.start(),this._mediaRecorder.addEventListener(`dataavailable`,e=>{this._chunks.push(e.data)}),this._startTimer(),this.classList.add(`uc-recording`),this._setCameraState(Gs.PLAY))}catch(e){console.error(`Failed to start recording`,e),this.telemetryManager.sendEventError(e,`camera recording. Failed to start recording`)}},this._stopRecording=()=>{this._mediaRecorder?.addEventListener(`stop`,()=>{this._previewVideo(),this._stopTimer(),this._setCameraState(Gs.STOP)}),this._mediaRecorder?.stop(),this.classList.remove(`uc-recording`),this.telemetryManager.sendEvent({eventType:M.ACTION_EVENT,payload:{metadata:{event:`stop-camera`,node:this.tagName,tabId:this._activeTab}}})},this._toggleRecording=()=>{if(this._mediaRecorder?.state===`recording`)return;let e=this._videoRef.value;e&&(!e.paused&&!e.ended&&e.readyState>2?e.pause():e.paused&&e.play())},this._toggleEnableAudio=()=>{this._stream?.getAudioTracks().forEach(e=>{e.enabled=!e.enabled,this._toggleMicrophoneIcon=e.enabled?`microphone`:`microphone-mute`,this._audioSelectDisabled=!e.enabled})},this._previewVideo=()=>{try{let e=new Blob(this._chunks,{type:this._mediaRecorder?.mimeType}),t=URL.createObjectURL(e),n=this._videoRef.value;if(!n)return;n.muted=!1,n.volume=1,this._setVideoSource(null),n.src=t,this._attachPreviewListeners(n)}catch(e){console.error(`Failed to preview video`,e),this.telemetryManager.sendEventError(e,`camera previewing. Failed to preview video`)}},this._retake=()=>{if(this._setCameraState(Gs.RETAKE),this._activeTab===L.VIDEO){this._setVideoSource(this._stream);let e=this._videoRef.value;e&&(e.muted=!0)}this._videoRef.value?.play?.()},this._accept=()=>{if(this._setCameraState(Gs.ACCEPT),this._activeTab===L.PHOTO){this._canvas?.toBlob(e=>{if(!e)return;let t=this._createFile(`camera`,`jpeg`,Gu,e);this._toSend(t)},Gu);return}let e=new Blob(this._chunks,{type:this._mediaRecorder?.mimeType}),t=this._guessExtensionByMime(this._mediaRecorder?.mimeType),n=this._createFile(`video`,t,`video/${t}`,e);this._toSend(n),this._chunks=[]},this._handlePhoto=e=>{e===Gs.SHOT&&(this._tabVideoHidden=!0,this._cameraHidden=!0,this._tabCameraHidden=!0,this._cameraActionsHidden=!1,this._cameraSelectHidden=!0),(e===Gs.RETAKE||e===Gs.ACCEPT)&&(this._tabVideoHidden=!this._cameraModes.includes(L.VIDEO),this._tabCameraHidden=!this._cameraModes.includes(L.PHOTO),this._cameraHidden=!1,this._cameraActionsHidden=!0,this._cameraSelectHidden=this._cameraDevices.length<=1)},this._handleVideo=e=>{e===Gs.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`),e===Gs.STOP&&(this._timerHidden=!1,this._cameraHidden=!0,this._audioToggleMicrophoneHidden=!0,this._cameraActionsHidden=!1),(e===Gs.RETAKE||e===Gs.ACCEPT)&&(this._timerHidden=!0,this._tabVideoHidden=!this._cameraModes.includes(L.VIDEO),this._tabCameraHidden=!this._cameraModes.includes(L.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=e=>{this._activeTab===L.PHOTO&&(e===`shot`||e===`retake`||e===`accept`)&&this._handlePhoto(e),this._activeTab===L.VIDEO&&(e===`play`||e===`stop`||e===`retake`||e===`accept`||e===`pause`||e===`resume`)&&this._handleVideo(e)},this._handleActiveTab=e=>{this._switcherRef.value?.querySelectorAll(`button`).forEach(t=>{t.classList.toggle(`uc-active`,t.getAttribute(`data-id`)===e)}),e===L.PHOTO&&(this._currentIcon=`camera-full`,this._audioSelectHidden=!0,this._audioToggleMicrophoneHidden=!0),e===L.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:M.ACTION_EVENT,payload:{metadata:{event:`camera-tab-switch`,node:this.tagName,tabId:e}}}),this._activeTab=e},this._createFile=(e,t,n,r)=>{let i=Date.now(),a=`${e}-${i}.${t}`;return new File([r],a,{lastModified:i,type:n})},this._toSend=e=>{this.api.addFileFromObject(e,{source:R.CAMERA}),this.set$({"*currentActivity":z.activities.UPLOAD_LIST}),this.modalManager?.open(z.activities.UPLOAD_LIST)},this._setPermissionsState=C(e=>{this.classList.toggle(`uc-initialized`,e===`granted`);let t=this._activeTab===L.VIDEO&&this.cfg.enableAudioRecording,n=this._activeTab===L.PHOTO?`camera-full`:`video-camera-full`;e===`granted`?(this._videoHidden=!1,this._cameraHidden=!1,this._tabCameraHidden=!this._cameraModes.includes(L.PHOTO),this._tabVideoHidden=!this._cameraModes.includes(L.VIDEO),this._messageHidden=!0,this._timerHidden=!0,this._currentIcon=n,this._audioToggleMicrophoneHidden=!t,this._audioSelectHidden=!t):e===`prompt`?(this._l10nMessage=`camera-permissions-prompt`,this._videoHidden=!0,this._cameraHidden=!0,this._tabCameraHidden=!0,this._messageHidden=!1,this._stopCapture()):(this._l10nMessage=`camera-permissions-denied`,this._videoHidden=!0,this._messageHidden=!1,this._tabCameraHidden=!this._cameraModes.includes(L.PHOTO),this._tabVideoHidden=!this._cameraModes.includes(L.VIDEO),this._cameraActionsHidden=!0,this._mutableClassButton=`uc-shot-btn uc-camera-action`,this._stopCapture())},300),this._makeStreamInactive=()=>{if(!this._stream)return!1;let e=this._stream?.getAudioTracks(),t=this._stream?.getVideoTracks();return e.forEach(e=>{e.stop()}),t.forEach(e=>{e.stop()}),!0},this._stopCapture=()=>{this._capturing&&=(this._videoRef.value&&(this._videoRef.value.volume=0),(this._currentVideoSource?.getTracks?.())?.[0]?.stop(),this._detachPreviewListeners(this._videoRef.value),this._setVideoSource(null),this._makeStreamInactive(),this._stopTimer(),!1)},this._capture=async()=>{let e={video:{...Uu},audio:this.cfg.enableAudioRecording?{}:!1};this._selectedCameraId&&(e.video={deviceId:{exact:this._selectedCameraId}}),this._selectedAudioId&&this.cfg.enableAudioRecording&&(e.audio={deviceId:{exact:this._selectedAudioId}}),this._videoRef.value&&(this._videoRef.value.volume=0);try{this._setPermissionsState(`prompt`),this._stream=await navigator.mediaDevices.getUserMedia(e),this._stream.addEventListener(`inactive`,()=>{this._setPermissionsState(`denied`)}),this._setVideoSource(this._stream),this._capturing=!0,this._setPermissionsState(`granted`)}catch(e){this._setPermissionsState(`denied`),console.log(`Failed to capture camera`,e),this.telemetryManager.sendEventError(e,`camera capturing. Failed to capture camera`)}},this._handlePermissionsChange=()=>{this._capture()},this._permissionAccess=async()=>{try{this._teardownPermissionListeners();for(let e of Wu){let t=await navigator.permissions.query({name:e});this._permissionResponses[e]=t,t.addEventListener(`change`,this._handlePermissionsChange),this._permissionCleanupFns.push(()=>{t.removeEventListener(`change`,this._handlePermissionsChange)})}this._unsubPermissions=()=>{this._teardownPermissionListeners()}}catch(e){this._teardownPermissionListeners(),console.log(`Failed to use permissions API. Fallback to manual request mode.`,e),this.telemetryManager.sendEventError(e,`camera permissions. Failed to use permissions API`),this._capture()}},this._requestDeviceAccess=async()=>{try{await navigator.mediaDevices.getUserMedia({video:!0,audio:this.cfg.enableAudioRecording}),await this._getDevices(),navigator.mediaDevices.addEventListener(`devicechange`,this._getDevices)}catch(e){this.telemetryManager.sendEventError(e,`camera devices. Failed to get user media`),console.log(`Failed to get user media`,e)}},this._getDevices=async()=>{try{let e=await navigator.mediaDevices.enumerateDevices();this._cameraDevices=e.filter(e=>e.kind===`videoinput`).map((e,t)=>({text:e.label.trim()||`${this.l10n(`caption-camera`)} ${t+1}`,value:e.deviceId})),this._audioDevices=this.cfg.enableAudioRecording?e.filter(e=>e.kind===`audioinput`).map(e=>({text:e.label.trim(),value:e.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(e){this.telemetryManager.sendEventError(e,`camera devices. Failed to get devices`),console.log(`Failed to get devices`,e)}},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=e=>{this._tabVideoHidden=!e.includes(L.VIDEO),this._tabCameraHidden=!e.includes(L.PHOTO);let t=e[0];t&&(!this._activeTab||!e.includes(this._activeTab))&&this._handleActiveTab(t)}}_attachPreviewListeners(e){this._detachPreviewListeners(e),e.addEventListener(`play`,this._handlePreviewPlay),e.addEventListener(`pause`,this._handlePreviewPause)}_detachPreviewListeners(e){e?.removeEventListener(`play`,this._handlePreviewPlay),e?.removeEventListener(`pause`,this._handlePreviewPause)}_setVideoSource(e){this._currentVideoSource!==e&&(this._currentVideoSource=e,this._applyVideoSource())}_applyVideoSource(){let e=this._videoRef.value;if(!e)return;let t=this._currentVideoSource??null;e.srcObject!==t&&(e.srcObject=t)}_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 e=this._videoRef.value;if(!e)throw Error(`Video element not found`);this._canvas.height=e.videoHeight,this._canvas.width=e.videoWidth,this.cfg.cameraMirror&&(this._ctx.translate(this._canvas.width,0),this._ctx.scale(-1,1)),this._ctx.drawImage(e,0,0),e.pause()}_guessExtensionByMime(e){let t={mp4:`mp4`,ogg:`ogg`,webm:`webm`,quicktime:`mov`,"x-matroska":`mkv`};if(e===``)return`webm`;if(e){let n=e.split(`/`);if(n?.[0]===`video`){let e=n.slice(1).join(`/`)?.split(`;`)[0];if(e&&t[e])return t[e]}}return`avi`}get _cameraModes(){return Bn(this.cfg.cameraModes).filter(e=>e===L.PHOTO||e===L.VIDEO)}_teardownPermissionListeners(){if(this._permissionCleanupFns.length!==0){for(let e of this._permissionCleanupFns)e();this._permissionCleanupFns=[],this._unsubPermissions=null}}initCallback(){super.initCallback(),this.subConfigValue(`cameraMirror`,e=>{this._videoTransformCss=e?`scaleX(-1)`:null}),this.subConfigValue(`enableAudioRecording`,e=>{this._audioToggleMicrophoneHidden=!e,this._audioSelectDisabled=!e}),this.subConfigValue(`cameraModes`,e=>{if(!this.isConnected)return;let t=wn(e);this._handleCameraModes(t.filter(e=>e===L.PHOTO||e===L.VIDEO))}),this._onActivate()}firstUpdated(e){super.firstUpdated(e),this._applyVideoSource()}updated(e){super.updated(e),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 _`
|
|
211
|
+
<uc-activity-header>
|
|
212
|
+
<button
|
|
213
|
+
type="button"
|
|
214
|
+
class="uc-mini-btn"
|
|
215
|
+
@click=${this.$[`*historyBack`]}
|
|
216
|
+
title=${this.l10n(`back`)}
|
|
217
|
+
>
|
|
218
|
+
<uc-icon name="back"></uc-icon>
|
|
219
|
+
</button>
|
|
220
|
+
<div ?hidden=${!this._cameraSelectHidden}>
|
|
221
|
+
<uc-icon name="camera"></uc-icon>
|
|
222
|
+
<span>${this.l10n(`caption-camera`)}</span>
|
|
223
|
+
</div>
|
|
224
|
+
<uc-select
|
|
225
|
+
class="uc-camera-select"
|
|
226
|
+
.options=${this._cameraSelectOptions}
|
|
227
|
+
?hidden=${this._cameraSelectHidden}
|
|
228
|
+
@change=${this._handleCameraSelectChange}
|
|
229
|
+
>
|
|
230
|
+
</uc-select>
|
|
231
|
+
<button
|
|
232
|
+
type="button"
|
|
233
|
+
class="uc-mini-btn uc-close-btn"
|
|
234
|
+
@click=${this.$[`*closeModal`]}
|
|
235
|
+
title=${this.l10n(`a11y-activity-header-button-close`)}
|
|
236
|
+
aria-label=${this.l10n(`a11y-activity-header-button-close`)}
|
|
237
|
+
>
|
|
238
|
+
<uc-icon name="close"></uc-icon>
|
|
239
|
+
</button>
|
|
240
|
+
</uc-activity-header>
|
|
241
|
+
<div class="uc-content">
|
|
242
|
+
<video
|
|
243
|
+
muted
|
|
244
|
+
autoplay
|
|
245
|
+
playsinline
|
|
246
|
+
style=${Ru({transform:this._videoTransformCss})}
|
|
247
|
+
?hidden=${this._videoHidden}
|
|
248
|
+
${W(this._videoRef)}
|
|
249
|
+
></video>
|
|
250
|
+
<div class="uc-message-box" ?hidden=${this._messageHidden}>
|
|
251
|
+
<span>${this.l10n(this._l10nMessage)}</span>
|
|
252
|
+
<button
|
|
253
|
+
type="button"
|
|
254
|
+
@click=${this._handleRequestPermissions}
|
|
255
|
+
?hidden=${this._requestBtnHidden}
|
|
256
|
+
>${this.l10n(`camera-permissions-request`)}</button>
|
|
257
|
+
</div>
|
|
258
|
+
</div>
|
|
259
|
+
|
|
260
|
+
<div class="uc-controls">
|
|
261
|
+
<div ${W(this._switcherRef)} class="uc-switcher" ?hidden=${!this._timerHidden}>
|
|
262
|
+
<button
|
|
263
|
+
data-id="photo"
|
|
264
|
+
type="button"
|
|
265
|
+
class="uc-switch uc-mini-btn"
|
|
266
|
+
@click=${this._handleClickTab}
|
|
267
|
+
?hidden=${this._tabCameraHidden}
|
|
268
|
+
data-testid="tab-photo"
|
|
269
|
+
>
|
|
270
|
+
<uc-icon name="camera"></uc-icon>
|
|
271
|
+
</button>
|
|
272
|
+
<button
|
|
273
|
+
data-id="video"
|
|
274
|
+
type="button"
|
|
275
|
+
class="uc-switch uc-mini-btn"
|
|
276
|
+
@click=${this._handleClickTab}
|
|
277
|
+
?hidden=${this._tabVideoHidden}
|
|
278
|
+
data-testid="tab-video"
|
|
279
|
+
>
|
|
280
|
+
<uc-icon name="video-camera"></uc-icon>
|
|
281
|
+
</button>
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<button
|
|
285
|
+
class="uc-secondary-btn uc-recording-timer"
|
|
286
|
+
@click=${this._handleToggleRecording}
|
|
287
|
+
?hidden=${this._timerHidden}
|
|
288
|
+
data-testid="recording-timer"
|
|
289
|
+
>
|
|
290
|
+
<uc-icon name=${this._currentTimelineIcon}></uc-icon>
|
|
291
|
+
<span ${W(this._timerRef)}> 00:00 </span>
|
|
292
|
+
<span ${W(this._lineRef)} class="uc-line"></span>
|
|
293
|
+
</button>
|
|
294
|
+
|
|
295
|
+
<div
|
|
296
|
+
class="uc-camera-actions uc-camera-action"
|
|
297
|
+
?hidden=${this._cameraActionsHidden}
|
|
298
|
+
>
|
|
299
|
+
<button type="button" class="uc-secondary-btn" @click=${this._handleRetake}>
|
|
300
|
+
Retake
|
|
301
|
+
</button>
|
|
302
|
+
<button
|
|
303
|
+
type="button"
|
|
304
|
+
class="uc-primary-btn"
|
|
305
|
+
@click=${this._handleAccept}
|
|
306
|
+
data-testid="accept"
|
|
307
|
+
>
|
|
308
|
+
Accept
|
|
309
|
+
</button>
|
|
310
|
+
</div>
|
|
311
|
+
|
|
312
|
+
<button
|
|
313
|
+
type="button"
|
|
314
|
+
data-testid="shot"
|
|
315
|
+
@click=${this._handleStartCamera}
|
|
316
|
+
class=${this._mutableClassButton}
|
|
317
|
+
?hidden=${this._cameraHidden}
|
|
318
|
+
>
|
|
319
|
+
<uc-icon name=${this._currentIcon}></uc-icon>
|
|
320
|
+
</button>
|
|
321
|
+
|
|
322
|
+
<div class="uc-select">
|
|
323
|
+
<button
|
|
324
|
+
type="button"
|
|
325
|
+
class="uc-mini-btn uc-btn-microphone"
|
|
326
|
+
@click=${this._handleToggleAudio}
|
|
327
|
+
?hidden=${this._audioToggleMicrophoneHidden}
|
|
328
|
+
data-testid="toggle-microphone"
|
|
329
|
+
>
|
|
330
|
+
<uc-icon name=${this._toggleMicrophoneIcon}></uc-icon>
|
|
331
|
+
</button>
|
|
332
|
+
|
|
333
|
+
<uc-select
|
|
334
|
+
class="uc-audio-select"
|
|
335
|
+
.options=${this._audioSelectOptions}
|
|
336
|
+
?hidden=${this._audioSelectHidden}
|
|
337
|
+
?disabled=${this._audioSelectDisabled}
|
|
338
|
+
@change=${this._handleAudioSelectChange}
|
|
339
|
+
data-testid="audio-select"
|
|
340
|
+
>
|
|
341
|
+
</uc-select>
|
|
342
|
+
</div>
|
|
343
|
+
</div>
|
|
344
|
+
`}},w([x()],Y.prototype,`_videoTransformCss`,void 0),w([x()],Y.prototype,`_videoHidden`,void 0),w([x()],Y.prototype,`_messageHidden`,void 0),w([x()],Y.prototype,`_requestBtnHidden`,void 0),w([x()],Y.prototype,`_cameraSelectOptions`,void 0),w([x()],Y.prototype,`_cameraSelectHidden`,void 0),w([x()],Y.prototype,`_l10nMessage`,void 0),w([x()],Y.prototype,`_timerHidden`,void 0),w([x()],Y.prototype,`_cameraHidden`,void 0),w([x()],Y.prototype,`_cameraActionsHidden`,void 0),w([x()],Y.prototype,`_audioSelectOptions`,void 0),w([x()],Y.prototype,`_audioSelectHidden`,void 0),w([x()],Y.prototype,`_audioSelectDisabled`,void 0),w([x()],Y.prototype,`_audioToggleMicrophoneHidden`,void 0),w([x()],Y.prototype,`_tabCameraHidden`,void 0),w([x()],Y.prototype,`_tabVideoHidden`,void 0),w([x()],Y.prototype,`_currentIcon`,void 0),w([x()],Y.prototype,`_currentTimelineIcon`,void 0),w([x()],Y.prototype,`_toggleMicrophoneIcon`,void 0),w([x()],Y.prototype,`_mutableClassButton`,void 0)})),Ju,Yu,Xu=n((()=>{nn(),pc(),Ju=[{test:e=>!!e.accept&&!!e.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:e=>e.enableVideoRecording!==null,message:"The `enableVideoRecording` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."},{test:e=>e.defaultCameraMode!==null,message:"The `defaultCameraMode` parameter is deprecated and will be removed in the next major release.\nPlease use the `cameraModes` parameter instead."}],Yu=C(e=>{for(let{test:t,message:n}of Ju)t(e)&&dc(n)},0)})),Zu=n((()=>{})),Qu,$u,ed,td,nd=n((()=>{Qu=(e,t)=>{let n=new URL(t);return n.hostname=`${e}.${n.hostname}`,n.toString().replace(/\/$/,``)},$u=`0123456789abcdefghijklmnopqrstuvwxyz`,ed=e=>{if(e<=0n)return`0`;let t=``;for(;e>0n;){let n=e%36n;t=$u[Number(n)]+t,e/=36n}return t},td=(e,t)=>{try{let n=new URL(e),r=new URL(t);return n.hostname.endsWith(r.hostname)}catch{return!1}}})),rd,id,ad,od,sd=n((()=>{nd(),rd=async e=>{let t=new TextEncoder().encode(e),n=await window.crypto.subtle.digest(`SHA-256`,t),r=Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``);return BigInt(`0x${r}`)},id=10,ad=async e=>ed(await rd(e)).slice(0,id),od=async(e,t)=>Qu(await ad(e),t)})),cd,ld=n((()=>{cd=e=>e instanceof Promise||!!(e&&typeof e==`object`&&`then`in e&&typeof e.then==`function`)})),ud=n((()=>{})),dd=n((()=>{}));function fd(e,t,n){return e?t(e):n?.(e)}var pd=n((()=>{})),md=n((()=>{pd()}));function hd(...e){return e.reduce((e,t)=>{if(typeof t==`string`)return e[t]=!0,e;for(let n of Object.keys(t))e[n]=t[n];return e},{})}function gd(...e){let t=hd(...e);return Object.keys(t).reduce((e,n)=>(t[n]&&e.push(n),e),[]).join(` `)}function _d(e,...t){let n=hd(...t);for(let t of Object.keys(n))e.classList.toggle(t,!!n[t])}var vd=n((()=>{})),yd,bd,xd=n((()=>{En(),or(),yd=e=>er.includes(e),bd=e=>{if(!e)return er;let t=wn(e).filter(yd);return t.length===0?er:t}}));function Sd(e){return{"*originalUrl":null,"*loadingOperations":new Map,"*faderEl":null,"*cropperEl":null,"*imgEl":null,"*imgContainerEl":null,"*networkProblems":!1,"*imageSize":null,"*editorTransformations":{},"*cropPresetList":[],"*currentAspectRatio":null,"*tabList":er,"*tabId":D.CROP,"*on.retryNetwork":()=>{let t=e.querySelectorAll(`img`);for(let e of t){let t=e.src;e.src=Ql,e.src=t}e.$[`*networkProblems`]=!1},"*on.apply":t=>{if(!t)return;let n=e.$[`*originalUrl`];if(!n){console.warn(`Original URL is null, cannot apply transformations`);return}let r=In(Un(t),`preview`),i={originalUrl:n,cdnUrlModifiers:r,cdnUrl:Ln(n,r),transformations:t};e.dispatchEvent(new CustomEvent(`apply`,{detail:i,bubbles:!0,composed:!0})),e.remove()},"*on.cancel":()=>{e.remove(),e.dispatchEvent(new CustomEvent(`cancel`,{bubbles:!0,composed:!0}))}}}var Cd=n((()=>{zn(),$l(),$n(),or()})),wd,Td=n((()=>{wd=`<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>`})),Ed,Dd,Od=n((()=>{S(),I(),vd(),T(),Ed={transition:`uc-transition`,visible:`uc-visible`,hidden:`uc-hidden`},Dd=class extends F{constructor(...e){super(...e),this._visible=!1,this._styles=Ed,this._visibleStyle=Ed.visible,this._hiddenStyle=Ed.hidden,this._externalTransitions=!1,this._initialRenderComplete=!1}set visible(e){this._visible=e,this._handleVisible()}get visible(){return this._visible}set styles(e){this._styles=e,this._externalTransitions=!0,this._visibleStyle=e.visible??Ed.visible,this._hiddenStyle=e.hidden??Ed.hidden}get styles(){return this._styles}_handleVisible(){this.style.visibility=this._visible?`inherit`:`hidden`,_d(this,{[Ed.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(Ed.transition),this._handleVisible(),setTimeout(()=>{this.classList.toggle(`uc-initial`,!1),this._dispatchInitialRenderEvent()},0)}},w([b({type:Boolean})],Dd.prototype,`visible`,null),w([b({attribute:!1})],Dd.prototype,`styles`,null)})),kd,Ad=n((()=>{y(),S(),G(),I(),T(),kd=class extends F{constructor(...e){super(...e),this.active=!1,this._lineRef=U(),this._isAnimating=!1,this._handleTransitionEndRight=()=>{let e=this._lineRef.value;e&&(this._resetLine(e),this._isAnimating&&this.active&&this._start())}}firstUpdated(e){super.firstUpdated(e),this.active&&this._start()}updated(e){super.updated(e),e.has(`active`)&&(this.active?this._start():this._stop())}_start(){let e=this._lineRef.value;if(!e)return;this._isAnimating=!0;let{width:t}=this.getBoundingClientRect();e.removeEventListener(`transitionend`,this._handleTransitionEndRight),e.style.transition=`transform 1s`,e.style.opacity=`1`,e.style.transform=`translateX(${t}px)`,e.addEventListener(`transitionend`,this._handleTransitionEndRight,{once:!0})}_stop(){let e=this._lineRef.value;e&&(this._isAnimating=!1,e.removeEventListener(`transitionend`,this._handleTransitionEndRight),this._resetLine(e))}_resetLine(e){e.style.transition=`initial`,e.style.opacity=`0`,e.style.transform=`translateX(-101%)`}render(){return _`
|
|
345
|
+
<div class="uc-inner">
|
|
346
|
+
<div class="uc-line" ${W(this._lineRef)}></div>
|
|
347
|
+
</div>
|
|
348
|
+
`}},w([b({type:Boolean,reflect:!0})],kd.prototype,`active`,void 0)})),jd,Md=n((()=>{pt(),Bo(),jd=Ro(class extends zo{constructor(e){if(super(e),e.type!==Lo.ATTRIBUTE||e.name!==`class`||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return` `+Object.keys(e).filter(t=>e[t]).join(` `)+` `}update(e,[t]){if(this.st===void 0){for(let n in this.st=new Set,e.strings!==void 0&&(this.nt=new Set(e.strings.join(` `).split(/\s/).filter(e=>e!==``))),t)t[n]&&!this.nt?.has(n)&&this.st.add(n);return this.render(t)}let n=e.element.classList;for(let e of this.st)e in t||(n.remove(e),this.st.delete(e));for(let e in t){let r=!!t[e];r===this.st.has(e)||this.nt?.has(e)||(r?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return Qe}})})),Nd=n((()=>{Md()})),X,Pd=n((()=>{pt(),X=e=>e??v})),Fd=n((()=>{Pd()})),Id,Ld=n((()=>{y(),S(),Nd(),Fd(),I(),T(),Id=class extends F{constructor(...e){super(...e),this.text=``,this.icon=``,this.reverse=!1,this.theme=`default`,this.ariaRole=void 0,this.ariaControls=``,this.titleProp=``,this.active=!1}firstUpdated(e){super.firstUpdated(e),this._applyReverse(),this._applyThemeClass()}updated(e){super.updated(e),e.has(`reverse`)&&this._applyReverse(),e.has(`theme`)&&this._applyThemeClass()}_applyReverse(){this.style.flexDirection=this.reverse?`row-reverse`:``}_applyThemeClass(){this.theme&&this.theme!==`custom`&&(this.className=`uc-${this.theme}`)}get _iconClassMap(){let e=this._computedIconHidden;return{"uc-icon":!0,"uc-icon_left":!this.reverse,"uc-icon_right":this.reverse,"uc-icon_hidden":e,"uc-icon_single":this._computedIconSingle}}get _computedIconHidden(){return!this.icon}get _computedIconSingle(){return!this.text&&!this._computedIconHidden}render(){return _`
|
|
349
|
+
<button
|
|
350
|
+
type="button"
|
|
351
|
+
role=${X(this.ariaRole||void 0)}
|
|
352
|
+
aria-controls=${X(this.ariaControls||void 0)}
|
|
353
|
+
aria-label=${X(this.l10n(this.titleProp))}
|
|
354
|
+
title=${X(this.l10n(this.titleProp))}
|
|
355
|
+
>
|
|
356
|
+
<uc-icon
|
|
357
|
+
class=${jd(this._iconClassMap)}
|
|
358
|
+
name=${X(this.icon||void 0)}
|
|
359
|
+
?hidden=${this._computedIconHidden}
|
|
360
|
+
></uc-icon>
|
|
361
|
+
<div class="uc-text">${this.text}</div>
|
|
362
|
+
</button>
|
|
363
|
+
`}},w([b({type:String})],Id.prototype,`text`,void 0),w([b({type:String})],Id.prototype,`icon`,void 0),w([b({type:Boolean,reflect:!0})],Id.prototype,`reverse`,void 0),w([b({type:String,reflect:!0})],Id.prototype,`theme`,void 0),w([b({attribute:`aria-role`})],Id.prototype,`ariaRole`,void 0),w([b({attribute:`aria-controls`})],Id.prototype,`ariaControls`,void 0),w([b({attribute:`title-prop`})],Id.prototype,`titleProp`,void 0),w([b({type:Boolean,noAccessor:!0})],Id.prototype,`active`,void 0)}));function Rd(e,t){let n={};for(let r of t){let t=e[r];(Object.hasOwn(e,r)||t!==void 0)&&(n[r]=t)}return n}var zd=n((()=>{}));function Bd(e,t,n){let r=window.devicePixelRatio,i=Math.min(Math.ceil(t*r),3e3),a=r>=2?`lightest`:`normal`;return Ln(e,In(qn,Un(n),`quality/${a}`,`stretch/off/-/resize/${i}x`,`@clib/${uo}/${fo}/uc-cloud-image-editor/`))}var Vd=n((()=>{po(),zn(),$n()})),Hd,Ud=n((()=>{y(),S(),G(),I(),ln(),qc(),Cc(),vd(),T(),Hd=class extends F{constructor(...e){super(...e),this._backdropMaskId=`uc-backdrop-mask-${cn.generateFastUid()}`,this._guidesHidden=!1,this._draggingValue=!1,this._svgRef=U(),this._svgReady=!1,this._pendingMaskHref=null,this._handlePointerUp=e=>{this._updateCursor(),this._dragging&&=(e.stopPropagation(),e.preventDefault(),!1)},this._handlePointerMove=e=>{if(!this._dragging||!this._dragStartPoint||!this._draggingThumb)return;e.stopPropagation(),e.preventDefault();let t=this._svgElement;if(!t)return;let{x:n,y:r}=t.getBoundingClientRect(),i=e.x-n,a=e.y-r,o=i-this._dragStartPoint[0],s=a-this._dragStartPoint[1],{direction:c}=this._draggingThumb,l=this._calcCropBox(c,[o,s]);l&&(this.$[`*cropBox`]=l)},this._handleSvgPointerMove=e=>{this._frameThumbs&&(this._hoverThumb=Object.values(this._frameThumbs).find(t=>{if(!t||this._shouldThumbBeDisabled(t.direction))return!1;let n=t.interactionNode.getBoundingClientRect();return Bc({x:n.x,y:n.y,width:n.width,height:n.height},[e.x,e.y])}),this._updateCursor())}}get _svgElement(){return this._svgRef.value??null}get _dragging(){return this._draggingValue}set _dragging(e){this._draggingValue!==e&&(this._draggingValue=e,this._applyGuidesDragState())}_applyGuidesDragState(){this._frameGuides&&this._frameGuides.setAttribute(`class`,gd({"uc-guides--hidden":this._guidesHidden,"uc-guides--visible":!this._guidesHidden&&this._draggingValue,"uc-guides--semi-hidden":!this._guidesHidden&&!this._draggingValue}))}_shouldThumbBeDisabled(e){let t=this.$[`*imageBox`];if(!t)return!1;if(e===``&&t.height<=1&&t.width<=1)return!0;let n=t.height<=1&&(e.includes(`n`)||e.includes(`s`)),r=t.width<=1&&(e.includes(`e`)||e.includes(`w`));return n||r}_createBackdrop(){let e=this.$[`*cropBox`];if(!e)return;let{x:t,y:n,width:r,height:i}=e,a=this._svgElement;if(!a)return;let o=Tc(`mask`,{id:this._backdropMaskId}),s=Tc(`rect`,{x:0,y:0,width:`100%`,height:`100%`,fill:`white`}),c=Tc(`rect`,{x:t,y:n,width:r,height:i,fill:`black`});o.appendChild(s),o.appendChild(c);let l=Tc(`rect`,{x:0,y:0,width:`100%`,height:`100%`,fill:`var(--color-image-background)`,"fill-opacity":.85,mask:`url(#${this._backdropMaskId})`});a.appendChild(l),a.appendChild(o),this._backdropMask=o,this._backdropMaskInner=c}_resizeBackdrop(){this._backdropMask&&(this._backdropMask.style.display=`none`,window.requestAnimationFrame(()=>{this._backdropMask&&(this._backdropMask.style.display=`block`)}))}_updateBackdrop(){let e=this.$[`*cropBox`];if(!e)return;let{x:t,y:n,width:r,height:i}=e;this._backdropMaskInner&&wc(this._backdropMaskInner,{x:t,y:n,width:r,height:i})}_updateFrame(){let e=this.$[`*cropBox`];if(!(!e||!this._frameGuides||!this._frameThumbs)){for(let t of Object.values(this._frameThumbs)){if(!t)continue;let{direction:n,pathNode:r,interactionNode:i,groupNode:a}=t,o=n===``,s=n.length===2,{x:c,y:l,width:u,height:d}=e;if(o)wc(i,{x:c,y:l,width:u,height:d});else{let t=Kc(Math.min(u,d)/82/2,0,1),a=s?Ec(e,n,t):Dc(e,n,t),o=a.center;if(!o)continue;let c=Math.max(24*Kc(Math.min(u,d)/24/3,0,1),6);wc(i,{x:o[0]-c,y:o[1]-c,width:c*2,height:c*2}),wc(r,{d:a.d})}let f=this._shouldThumbBeDisabled(n);a.setAttribute(`class`,gd(`uc-thumb`,{"uc-thumb--hidden":f,"uc-thumb--visible":!f}))}wc(this._frameGuides,{x:e.x-1*.5,y:e.y-1*.5,width:e.width+1,height:e.height+1})}}_createThumb(e,t){let n=Tc(`g`);n.classList.add(`uc-thumb`),n.setAttribute(`with-effects`,``);let r=Tc(`rect`,{fill:`transparent`}),i=Tc(`path`,{stroke:`currentColor`,fill:`none`,"stroke-width":3});n.appendChild(i),n.appendChild(r),e[t]={direction:t,pathNode:i,interactionNode:r,groupNode:n},t===``&&(n.style.cursor=`move`),r.addEventListener(`pointerdown`,this._handlePointerDown.bind(this,t))}_createThumbs(){let e={};for(let t=0;t<3;t++)for(let n=0;n<3;n++){let r=`${[`n`,``,`s`][t]}${[`w`,``,`e`][n]}`;r!==``&&this._createThumb(e,r)}return this._createThumb(e,``),e}_createGuides(){let e=Tc(`svg`),t=Tc(`rect`,{x:0,y:0,width:`100%`,height:`100%`,fill:`none`,stroke:`currentColor`,"stroke-width":1,"stroke-opacity":.5});e.appendChild(t);for(let t=1;t<=2;t++){let n=Tc(`line`,{x1:`${Sc*t}%`,y1:`0%`,x2:`${Sc*t}%`,y2:`100%`,stroke:`currentColor`,"stroke-width":1,"stroke-opacity":.3});e.appendChild(n)}for(let t=1;t<=2;t++){let n=Tc(`line`,{x1:`0%`,y1:`${Sc*t}%`,x2:`100%`,y2:`${Sc*t}%`,stroke:`currentColor`,"stroke-width":1,"stroke-opacity":.3});e.appendChild(n)}return e.classList.add(`uc-guides`,`uc-guides--semi-hidden`),e}_createFrame(){let e=this._svgElement;if(!e)return;let t=document.createDocumentFragment(),n=this._createGuides();t.appendChild(n);let r=this._createThumbs();for(let{groupNode:e}of Object.values(r))t.appendChild(e);e.appendChild(t),this._frameThumbs=r,this._frameGuides=n,this._applyGuidesDragState()}_handlePointerDown(e,t){if(!this._frameThumbs)return;let n=this._frameThumbs[e];if(!n||this._shouldThumbBeDisabled(e))return;let r=this.$[`*cropBox`],i=this._svgElement;if(!i)return;let{x:a,y:o}=i.getBoundingClientRect(),s=t.x-a,c=t.y-o;this._dragging=!0,this._draggingThumb=n,this._dragStartPoint=[s,c],this._dragStartCrop={...r}}_calcCropBox(e,t){let[n,r]=t,i=this.$[`*imageBox`],a=this._dragStartCrop??this.$[`*cropBox`],o=this.$[`*currentAspectRatio`],s=o?o.width/o.height:void 0;if(a=e===``?kc({rect:a,delta:[n,r],imageBox:i}):zc({rect:a,delta:[n,r],direction:e,aspectRatio:s,imageBox:i}),!Object.values(a).every(e=>Number.isFinite(e)&&e>=0)){console.error(`CropFrame is trying to create invalid rectangle`,{payload:a});return}return Ac(Gc(a),i)}_updateCursor(){let e=this._hoverThumb,t=this._svgElement;t&&(t.style.cursor=e?Oc(e.direction):`initial`)}_createMask(e){if(this._frameImage){this._frameImage.setAttribute(`href`,e);return}let t=this._svgElement;if(!t){this._pendingMaskHref=e;return}this._pendingMaskHref=null;let n=document.createDocumentFragment(),r=Tc(`image`,{href:e});r.setAttribute(`class`,`uc-cloud-mask`),n.appendChild(r),t.appendChild(n),this._frameImage=r}_updateMask(){let e=this.$[`*cropBox`];if(!e||!this._frameImage)return;let{x:t,y:n,width:r,height:i}=e;wc(this._frameImage,{x:t,y:n,height:i,width:r})}_render(){this._svgReady&&(this._updateBackdrop(),this._updateFrame(),this._updateMask())}toggleThumbs(e){if(this._frameThumbs)for(let t of Object.values(this._frameThumbs)){if(!t)continue;let{groupNode:n}=t;n.setAttribute(`class`,gd(`uc-thumb`,{"uc-thumb--hidden":!e,"uc-thumb--visible":e}))}}initCallback(){super.initCallback(),this.sub(`*imageBox`,()=>{this._resizeBackdrop(),this._svgReady&&window.requestAnimationFrame(()=>{this._render()})}),this.sub(`*cropBox`,e=>{e&&(this._guidesHidden=e.height<=1||e.width<=1,this._applyGuidesDragState(),this._svgReady&&window.requestAnimationFrame(()=>{this._render()}))}),this.subConfigValue(`cloudImageEditorMaskHref`,e=>{e&&this._createMask(e)}),document.addEventListener(`pointermove`,this._handlePointerMove,!0),document.addEventListener(`pointerup`,this._handlePointerUp,!0)}firstUpdated(e){super.firstUpdated(e),this._initializeSvg()}_initializeSvg(){let e=this._svgElement;if(!(!e||this._svgReady)){if(this._createBackdrop(),this._createFrame(),this._svgReady=!0,e.addEventListener(`pointermove`,this._handleSvgPointerMove,!0),this._pendingMaskHref){let e=this._pendingMaskHref;this._pendingMaskHref=null,this._createMask(e)}this._render()}}disconnectedCallback(){super.disconnectedCallback(),this._svgElement?.removeEventListener(`pointermove`,this._handleSvgPointerMove,!0),document.removeEventListener(`pointermove`,this._handlePointerMove,!0),document.removeEventListener(`pointerup`,this._handlePointerUp,!0)}render(){return _`<svg class="uc-svg" xmlns="http://www.w3.org/2000/svg" ${W(this._svgRef)}></svg>`}},w([x()],Hd.prototype,`_draggingValue`,void 0)}));function Wd(e){return e?[({dimensions:e,coords:t})=>[...e,...t].every(e=>Number.isInteger(e)&&Number.isFinite(e)),({dimensions:e,coords:t})=>e.every(e=>e>0)&&t.every(e=>e>=0)].every(t=>t(e)):!0}var Gd,Kd=n((()=>{y(),S(),G(),I(),nn(),nu(),hu(),qc(),Cc(),vd(),zd(),Vd(),T(),Gd=class extends F{constructor(){super(),this.ctxOwner=!0,this._imageSize={width:0,height:0},this._ctx=null,this._isActive=!1,this._image=null,this._canvasRef=U(),this._frameRef=U(),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=C(this._commit.bind(this),300),this._handleResizeThrottled=mu(()=>{!this.isConnected||!this._isActive||(this._initCanvas(),this._syncTransformations(),this._alignImage(),this._alignCrop(),this._draw())},100)}firstUpdated(e){super.firstUpdated(e),this._initCanvas()}_syncTransformations(){let e=this.$[`*editorTransformations`],t=Rd(e,Object.keys(this.$[`*operations`])),n={...this.$[`*operations`],...t};this.$[`*operations`]=n}_initCanvas(){let e=this._canvasRef.value;if(!e)return;let t=e.getContext(`2d`),n=this.offsetWidth,r=this.offsetHeight,i=window.devicePixelRatio;e.style.width=`${n}px`,e.style.height=`${r}px`,e.width=n*i,e.height=r*i,t?.scale(i,i),this._canvas=e,this._ctx=t}_alignImage(){if(!this._isActive||!this._image)return;let e=this._image,t=this.$[`*padding`],{rotate:n}=this.$[`*operations`],r={width:this.offsetWidth,height:this.offsetHeight},i=Uc({width:e.naturalWidth,height:e.naturalHeight},n),a;if(i.width>r.width-t*2||i.height>r.height-t*2){let e=i.width/i.height;if(e>r.width/r.height){let n=r.width-t*2,i=n/e;a={x:0+t,y:t+(r.height-t*2)/2-i/2,width:n,height:i}}else{let n=r.height-t*2,i=n*e;a={x:t+(r.width-t*2)/2-i/2,y:0+t,width:i,height:n}}}else{let{width:e,height:n}=i;a={x:t+(r.width-t*2)/2-e/2,y:t+(r.height-t*2)/2-n/2,width:e,height:n}}this.$[`*imageBox`]=Gc(a)}_alignCrop(){let e=this.$[`*cropBox`],t=this.$[`*imageBox`],{rotate:n}=this.$[`*operations`],r=this.$[`*editorTransformations`].crop,{width:i,x:a,y:o}=t;if(r){let{dimensions:[s,c],coords:[l,u]}=r,{width:d}=Uc(this._imageSize,n),f=i/d;e=Ac(Gc({x:a+l*f,y:o+u*f,width:s*f,height:c*f}),t)}let s=this.$[`*currentAspectRatio`],c=s?s.width/s.height:void 0;if(!Vc(e,t)||c&&!Hc(e,c)){let n=t.width/t.height,r=t.width,i=t.height;c&&(n>c?r=Math.min(t.height*c,t.width):i=Math.min(t.width/c,t.height)),e={x:t.x+t.width/2-r/2,y:t.y+t.height/2-i/2,width:r,height:i}}this.$[`*cropBox`]=Ac(Gc(e),t)}_drawImage(){let e=this._ctx;if(!e)return;let t=this._image;if(!t)return;let n=this.$[`*imageBox`],{mirror:r,flip:i,rotate:a}=this.$[`*operations`],o=Uc({width:n.width,height:n.height},a);e.save(),e.translate(n.x+n.width/2,n.y+n.height/2),e.rotate(a*Math.PI*-1/180),e.scale(r?-1:1,i?-1:1),e.drawImage(t,-o.width/2,-o.height/2,o.width,o.height),e.restore()}_draw(){if(!this._isActive||!this._image||!this._canvas||!this._ctx)return;let e=this._canvas;this._ctx.clearRect(0,0,e.width,e.height),this._drawImage()}_animateIn({fromViewer:e}){this._image&&(this._frameRef.value?.toggleThumbs(!0),this._transitionToImage(),setTimeout(()=>{this.className=gd({"uc-active_from_viewer":e,"uc-active_from_editor":!e,"uc-inactive_to_editor":!1})}))}_getCropDimensions(){let e=this.$[`*cropBox`],t=this.$[`*imageBox`],{rotate:n}=this.$[`*operations`],{width:r,height:i}=t,{width:a,height:o}=Uc(this._imageSize,n),{width:s,height:c}=e,l=r/a,u=i/o;return[Kc(Math.round(s/l),1,a),Kc(Math.round(c/u),1,o)]}_getCropTransformation(){let e=this.$[`*cropBox`],t=this.$[`*imageBox`],{rotate:n}=this.$[`*operations`],{width:r,height:i,x:a,y:o}=t,{width:s,height:c}=Uc(this._imageSize,n),{x:l,y:u}=e,d=r/s,f=i/c,p=this._getCropDimensions(),m={dimensions:p,coords:[Kc(Math.round((l-a)/d),0,s-p[0]),Kc(Math.round((u-o)/f),0,c-p[1])]};if(!Wd(m)){console.error(`Cropper is trying to create invalid crop object`,{payload:m});return}if(!(p[0]===s&&p[1]===c))return m}_commit(){if(!this.isConnected||!this._imageSize)return;let{rotate:e,mirror:t,flip:n}=this.$[`*operations`],r=this._getCropTransformation(),i={...this.$[`*editorTransformations`],crop:r,rotate:e,mirror:t,flip:n};this.$[`*editorTransformations`]=i}setValue(e,t){this.$[`*operations`]={...this.$[`*operations`],[e]:t},this._isActive&&(this._alignImage(),this._alignCrop(),this._draw())}getValue(e){return this.$[`*operations`][e]}async activate(e,{fromViewer:t}={}){if(!this._isActive){this._isActive=!0,await this.updateComplete,this._initCanvas(),this._imageSize=e,this.removeEventListener(`transitionend`,this._reset);try{let e=this.$[`*originalUrl`],n=this.$[`*editorTransformations`];this._image=await this._waitForImage(e,n),this._syncTransformations(),this._handleResizeThrottled(),this._animateIn({fromViewer:t})}catch(e){console.error(`Failed to activate cropper`,{error:e}),this.telemetryManager.sendEventError(e,`cloud editor image. Failed to activate cropper`)}this._observer=new ResizeObserver(e=>{let[t]=e;t&&t.contentRect.width>0&&t.contentRect.height>0&&this._isActive&&this._image&&this._handleResizeThrottled()}),this._observer.observe(this)}}deactivate({reset:e=!1}={}){this._isActive&&(!e&&this._commit(),this._isActive=!1,this._transitionToCrop(),this.className=gd({"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 e=this._getCropDimensions(),t=this.$[`*cropBox`],n=Math.min(this.offsetWidth,e[0])/t.width,r=Math.min(this.offsetHeight,e[1])/t.height,i=Math.min(n,r),a=t.x+t.width/2,o=t.y+t.height/2;this.style.transform=`scale(${i}) translate(${(this.offsetWidth/2-a)/i}px, ${(this.offsetHeight/2-o)/i}px)`,this.style.transformOrigin=`${a}px ${o}px`}_transitionToImage(){let e=this.$[`*cropBox`],t=e.x+e.width/2,n=e.y+e.height/2;this.style.transform=`scale(1)`,this.style.transformOrigin=`${t}px ${n}px`}_reset(){this._isActive||(this._image=null)}async _waitForImage(e,t){let n=this.offsetWidth;t={...t,crop:void 0,rotate:void 0,flip:void 0,mirror:void 0};let r=await this.proxyUrl(Bd(e,n,t)),{promise:i,cancel:a,image:o}=eu(r),s=this._handleImageLoading(r);return o.addEventListener(`load`,s,{once:!0}),o.addEventListener(`error`,s,{once:!0}),this._cancelPreload?.(),this._cancelPreload=a,i.then(()=>o).catch(e=>(console.error(`Failed to load image`,{error:e}),this.$[`*networkProblems`]=!0,o))}_handleImageLoading(e){let t=`crop`,n=this.$[`*loadingOperations`],r=n.get(t);return r||(r=new Map,n.set(t,r)),r.get(e)||(r.set(e,!0),this.$[`*loadingOperations`]=n),()=>{let r=n.get(t);r?.has(e)&&(r.delete(e),this.$[`*loadingOperations`]=n)}}initCallback(){super.initCallback(),this.sub(`*imageBox`,()=>{this._draw()}),this.sub(`*cropBox`,()=>{this._image&&this._commitDebounced()}),this.sub(`*currentAspectRatio`,()=>{this._alignCrop()}),setTimeout(()=>{this.sub(`*networkProblems`,e=>{e||this._isActive&&this._imageSize&&this.activate(this._imageSize,{fromViewer:!1})})},0)}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect(),this._image&&=null}render(){return _`
|
|
364
|
+
<canvas class="uc-canvas" ${W(this._canvasRef)}></canvas>
|
|
365
|
+
<uc-crop-frame ${W(this._frameRef)}></uc-crop-frame>
|
|
366
|
+
`}},w([x()],Gd.prototype,`_image`,void 0)}));function qd(e,t,n){let r=n,i=n-1,a=Array(r);for(let n=i;n>=0;--n)a[n]=Math.ceil((n*t+(i-n)*e)/i);return a}var Jd=n((()=>{}));function Yd(e){return typeof e==`string`&&e in ar}function Xd(e){let t=[];for(let n=0;n<e.length-1;n+=1){let r=e[n],i=e[n+1];typeof r==`number`&&typeof i==`number`&&t.push([r,i])}return t}function Zd(e,t,n){let r=Xd(e).find(([e,n])=>e<=t&&t<=n);if(!r)return e.map(()=>0);let[i,a]=r;return e.map(e=>{let r=Math.abs(i-a)||1,o=Math.abs(t-i)/r;return i===e?t>n?1:1-o:a===e?t>=n?o:1:0})}function Qd(e,t){return e.map((n,r)=>n<t?e.length-r:r)}function $d(e,t){let n=ar[e].keypointsNumber,{range:r,zero:i}=ar[e];return[...new Set([...qd(r[0],i,n+1),...qd(i,r[1],n+1),i,t])].sort((e,t)=>e-t)}var ef,tf=n((()=>{y(),G(),I(),nn(),nu(),vd(),Jd(),or(),Vd(),ef=class extends F{constructor(){super(),this._isActive=!1,this._hidden=!0,this._operation=`initial`,this._transformations={},this._keypoints=[],this._raf=0,this._previewHostRef=U(),this._layersHostRef=U(),this.classList.add(`uc-inactive_to_cropper`),this._addKeypointDebounced=C(async(e,t,n)=>{let r=()=>!this._isSame(e,t)||this._value!==n||!!this._keypoints.find(e=>e.value===n);if(r())return;let i=await this._constructKeypoint(e,n),a=new Image;a.src=i.src;let o=this._handleImageLoading(i.src);a.addEventListener(`load`,o,{once:!0}),a.addEventListener(`error`,o,{once:!0}),i.image=a,a.classList.add(`uc-fader-image`),a.addEventListener(`load`,()=>{if(r())return;let t=this._keypoints,o=t.findIndex(e=>e.value>n);o===-1&&(o=t.length);let s=t[o]?.image,c=this._layersHostRef.value;!c||s&&!c.contains(s)||(t.splice(o,0,i),s?c.insertBefore(a,s):c.appendChild(a),this._update(e,n))},{once:!0}),a.addEventListener(`error`,()=>{this.$[`*networkProblems`]=!0},{once:!0})},600)}_handleImageLoading(e){let t=this._operation,n=this.$[`*loadingOperations`];n.has(t)||n.set(t,new Map);let r=n.get(t);return r&&!r.get(e)&&(r.set(e,!0),this.$[`*loadingOperations`]=n),()=>{let r=n.get(t);r?.has(e)&&(r.delete(e),this.$[`*loadingOperations`]=n)}}_flush(){window.cancelAnimationFrame(this._raf),this._raf=window.requestAnimationFrame(()=>{for(let e of this._keypoints){let{image:t}=e;t&&(t.style.opacity=e.opacity.toString(),t.style.zIndex=e.zIndex.toString())}})}_imageSrc({url:e=this._url,filter:t=this._filter??void 0,operation:n,value:r}={}){if(!e)throw Error(`URL is not defined`);let i={...this._transformations};n&&(n===`filter`?t&&typeof r==`number`&&(i.filter={name:t,amount:r}):typeof r==`number`&&(i[n]=r));let a=this.offsetWidth;return this.proxyUrl(Bd(e,a,i))}async _constructKeypoint(e,t){return{src:await this._imageSrc({operation:e,value:t}),image:void 0,opacity:0,zIndex:0,value:t}}_isSame(e,t){return this._operation===e&&this._filter===t}set(e){let t=typeof e==`string`?parseInt(e,10):e;!Yd(this._operation)||!Number.isFinite(t)||(this._update(this._operation,t),this._addKeypointDebounced(this._operation,this._filter,t))}_update(e,t){this._operation=e,this._value=t;let{zero:n}=ar[e],r=this._keypoints.map(e=>e.value),i=Zd(r,t,n),a=Qd(r,n);this._keypoints.forEach((e,t)=>{let n=i[t],r=a[t];typeof n==`number`&&(e.opacity=n),typeof r==`number`&&(e.zIndex=r)}),this._flush()}_createPreviewImage(){let e=new Image;return e.classList.add(`uc-fader-image`,`uc-fader-image--preview`),e.style.opacity=`0`,e}async _initNodes(){this._previewImage=this._previewImage||this._createPreviewImage();let e=this._previewImage;e&&this._ensurePreviewAttached(e);let{images:t,promise:n,cancel:r}=tu(this._keypoints.map(e=>e.src));t.forEach(e=>{let t=this._handleImageLoading(e.src);e.addEventListener(`load`,t),e.addEventListener(`error`,t)}),this._cancelLastImages=()=>{r(),this._cancelLastImages=void 0};let i=this._operation,a=this._filter;if(await n,this._isActive&&this._isSame(i,a)){let e=this._layersHostRef.value;if(!e)return;e.replaceChildren(),this._keypoints.forEach((n,r)=>{let i=t[r];i&&(i.classList.add(`uc-fader-image`),n.image=i,e.appendChild(i))}),this._flush()}}async setTransformations(e){if(this._transformations=e,this._previewImage){let e=await this._imageSrc(),t=this._handleImageLoading(e);this._previewImage.src=e,this._previewImage.addEventListener(`load`,t,{once:!0}),this._previewImage.addEventListener(`error`,t,{once:!0}),this._previewImage.style.opacity=`1`,this._previewImage.addEventListener(`error`,()=>{this.$[`*networkProblems`]=!0},{once:!0})}}async preload({url:e,filter:t,operation:n,value:r}){if(!n||typeof r!=`number`)return;this._cancelBatchPreload?.();let i=$d(n,r),{cancel:a}=tu(await Promise.all(i.map(r=>this._imageSrc({url:e,filter:t,operation:n,value:r}))));this._cancelBatchPreload=a}_setOriginalSrc(e){let t=this._previewImage||this._createPreviewImage();if(this._ensurePreviewAttached(t),this._previewImage=t,t.src===e){t.style.opacity=`1`,t.style.transform=`scale(1)`,this.className=gd({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1});return}t.style.opacity=`0`;let n=this._handleImageLoading(e);t.addEventListener(`error`,n,{once:!0}),t.src=e,t.addEventListener(`load`,()=>{n(),t&&(t.style.opacity=`1`,t.style.transform=`scale(1)`,this.className=gd({"uc-active_from_viewer":this._fromViewer,"uc-active_from_cropper":!this._fromViewer,"uc-inactive_to_cropper":!1}))},{once:!0}),t.addEventListener(`error`,()=>{this.$[`*networkProblems`]=!0},{once:!0})}async activate({url:e,operation:t,value:n,filter:r,fromViewer:i}){if(this._isActive=!0,this._hidden=!1,await this.updateComplete,this._url=e,this._operation=t??`initial`,this._value=n,this._filter=r,this._fromViewer=i,typeof n!=`number`&&!r){let e=await this._imageSrc({operation:t,value:n});this._setOriginalSrc(e),this._clearLayersHost();return}!t||typeof n!=`number`||(this._keypoints=await Promise.all($d(t,n).map(e=>this._constructKeypoint(t,e))),this._update(t,n),this._initNodes())}deactivate({hide:e=!0}={}){this._isActive=!1,this._cancelLastImages?.(),this._cancelBatchPreload?.(),e&&!this._hidden?(this._hidden=!0,this._previewImage&&(this._previewImage.style.transform=`scale(1)`),this.className=gd({"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(e){let t=this._previewHostRef.value;t&&(t.contains(e)||t.appendChild(e))}_clearLayersHost(){this._layersHostRef.value?.replaceChildren()}render(){return _`
|
|
367
|
+
<div class="uc-fader-preview-host" ${W(this._previewHostRef)}></div>
|
|
368
|
+
<div class="uc-fader-layers-host" ${W(this._layersHostRef)}></div>
|
|
369
|
+
`}}})),nf,rf=n((()=>{y(),S(),G(),I(),T(),nf=class extends F{constructor(){super(),this._thumbSize=0,this._inputRef=U(),this._thumbRef=U(),this._stepsRef=U(),this.disabled=!1,this.min=0,this.max=100,this.defaultValue=0,this.zero=0,this._currentValue=0,this._handleSliderInput=e=>{e.stopPropagation();let t=this._extractEventValue(e);t!==null&&(this._setCurrentValue(t),this._emitSliderEvent(`slider-input`,t))},this._handleSliderChange=e=>{e.stopPropagation();let t=this._extractEventValue(e);t!==null&&this._setCurrentValue(t)},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(e,t){this.dispatchEvent(new CustomEvent(e,{detail:{value:t},bubbles:!0,composed:!0}))}firstUpdated(e){super.firstUpdated(e),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 t=this._inputRef.value;t?.addEventListener(`focus`,this._handleInputFocus),t?.addEventListener(`blur`,this._handleInputBlur),window.setTimeout(()=>{this._updateValue(this._currentValue)},0)}willUpdate(e){super.willUpdate(e),e.has(`defaultValue`)&&this.defaultValue!==this._currentValue&&this._setCurrentValue(this.defaultValue),(e.has(`min`)||e.has(`max`))&&this.hasUpdated&&(this._updateSteps(),this._updateValue(this._currentValue)),e.has(`zero`)&&this.hasUpdated&&this._updateZeroDot(this._currentValue)}_updateValue(e){this._updateZeroDot(e);let t=this.max-this.min;if(t===0)return;let{width:n}=this.getBoundingClientRect(),r=100/t*(e-this.min)*(n-this._thumbSize)/100;window.requestAnimationFrame(()=>{let e=this._thumbRef.value;e&&(e.style.transform=`translateX(${r}px)`)})}_updateZeroDot(e){if(!this._zeroDotEl)return;let t=this.max-this.min;if(t===0)return;this._zeroDotEl.style.opacity=e===this.zero?`0`:`1`;let{width:n}=this.getBoundingClientRect(),r=100/t*(this.zero-this.min)*(n-this._thumbSize)/100;window.requestAnimationFrame(()=>{this._zeroDotEl&&(this._zeroDotEl.style.transform=`translateX(${r}px)`)})}_updateSteps(){let e=this._stepsRef.value;if(!e)return;let{width:t}=e.getBoundingClientRect(),n=Math.ceil(t/2),r=Math.ceil(n/15)-2;if(this._stepsCount===r)return;let i=document.createDocumentFragment(),a=document.createElement(`div`),o=document.createElement(`div`);a.className=`uc-minor-step`,o.className=`uc-border-step`,i.appendChild(o);for(let e=0;e<r;e+=1)i.appendChild(a.cloneNode());i.appendChild(o.cloneNode());for(let e=0;e<r;e+=1)i.appendChild(a.cloneNode());i.appendChild(o.cloneNode());let s=document.createElement(`div`);s.className=`uc-zero-dot`,i.appendChild(s),this._zeroDotEl=s,e.innerHTML=``,e.appendChild(i),this._stepsCount=r}disconnectedCallback(){super.disconnectedCallback();let e=this._inputRef.value;e?.removeEventListener(`focus`,this._handleInputFocus),e?.removeEventListener(`blur`,this._handleInputBlur),this._observer?.disconnect(),this._observer=void 0}_setCurrentValue(e){Number.isFinite(e)&&(this._currentValue=e,this.hasUpdated&&(this._syncInputValue(e),this._updateValue(e)))}_syncInputValue(e){let t=this._inputRef.value;t&&(t.value=String(e))}_extractEventValue(e){let t=e.currentTarget;if(!t)return null;let n=Number.parseInt(t.value,10);return Number.isFinite(n)?n:null}render(){return _`
|
|
370
|
+
<div class="uc-steps" ${W(this._stepsRef)}></div>
|
|
371
|
+
<div class="uc-thumb" ${W(this._thumbRef)}></div>
|
|
372
|
+
<input
|
|
373
|
+
class="uc-input"
|
|
374
|
+
type="range"
|
|
375
|
+
${W(this._inputRef)}
|
|
376
|
+
.min=${String(this.min)}
|
|
377
|
+
.max=${String(this.max)}
|
|
378
|
+
.value=${String(this._currentValue)}
|
|
379
|
+
?disabled=${this.disabled}
|
|
380
|
+
@input=${this._handleSliderInput}
|
|
381
|
+
@change=${this._handleSliderChange}
|
|
382
|
+
/>
|
|
383
|
+
`}},w([b({type:Boolean,reflect:!0})],nf.prototype,`disabled`,void 0),w([b({type:Number})],nf.prototype,`min`,void 0),w([b({type:Number})],nf.prototype,`max`,void 0),w([b({type:Number,attribute:!1})],nf.prototype,`defaultValue`,void 0),w([b({type:Number})],nf.prototype,`zero`,void 0),w([x()],nf.prototype,`_currentValue`,void 0)})),af,of,sf=n((()=>{y(),S(),I(),or(),T(),af=`original`,of=class extends F{constructor(...e){super(...e),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:t}=e.detail;this.$[`*faderEl`]?.set(t),this.state={...this.state,value:t}}}setOperation(e,t){this.state={...this.state,operation:e,filter:t},this._initializeValues();let n=this.$[`*faderEl`],r=this.state.originalUrl||this.$[`*originalUrl`];n&&r&&n.activate({url:r,operation:this.state.operation,value:this.state.filter===`original`?void 0:this.state.value,filter:this.state.filter===`original`?void 0:this.state.filter,fromViewer:!1})}_initializeValues(){let e=this.state.operation,{range:t,zero:n}=ar[e],[r,i]=t;this.state={...this.state,min:r,max:i,zero:n};let a=this.$[`*editorTransformations`][e];if(e===`filter`){let e=Number(i),t=a;if(t){let{name:n,amount:r}=t;e=n===this.state.filter?r:i}this.state={...this.state,value:e,defaultValue:e};return}let o=a===void 0?n:a;this.state={...this.state,value:o,defaultValue:o}}apply(){let e={...this.$[`*editorTransformations`]};this.state.operation===`filter`?!this.state.filter||this.state.filter===`original`?delete e.filter:e.filter={name:this.state.filter,amount:this.state.value}:e[this.state.operation]=this.state.value,this.$[`*editorTransformations`]=e}cancel(){this.$[`*faderEl`]?.deactivate({hide:!1})}initCallback(){super.initCallback(),this.sub(`*originalUrl`,e=>{e&&(this.state={...this.state,originalUrl:e})})}updated(e){if(super.updated(e),e.has(`state`)){let e=`${this.state.filter??this.state.operation} ${this.state.value}`;this.$[`*operationTooltip`]=e}}render(){return _`
|
|
384
|
+
<uc-slider-ui
|
|
385
|
+
.disabled=${this.state.disabled}
|
|
386
|
+
.min=${this.state.min}
|
|
387
|
+
.max=${this.state.max}
|
|
388
|
+
.defaultValue=${this.state.defaultValue}
|
|
389
|
+
.zero=${this.state.zero}
|
|
390
|
+
@slider-input=${this._handleInput}
|
|
391
|
+
></uc-slider-ui>
|
|
392
|
+
`}},w([x()],of.prototype,`state`,void 0)}));function cf(e){if(!e)return null;let t=e.match(/^([A-Za-z]+)\s+(\d+)$/);if(!t)return null;let[,n,r]=t;return!n||r===void 0?null:{filter:n,value:Number(r)}}var lf=n((()=>{})),uf,df=n((()=>{y(),S(),Fd(),I(),T(),uf=class extends F{constructor(...e){super(...e),this.active=!1,this.title=``,this.icon=``,this.titleProp=``}get buttonClasses(){let e=this.active;return{"uc-active":e,"uc-not_active":!e}}_updateHostStateClasses(){let e=this.buttonClasses;for(let[t,n]of Object.entries(e))this.classList.toggle(t,n)}onClick(e){}connectedCallback(){super.connectedCallback(),this._updateHostStateClasses()}updated(e){super.updated(e),e.has(`active`)&&this._updateHostStateClasses()}render(){let e=this.onClick,t=this.title;return _`
|
|
393
|
+
<button
|
|
394
|
+
role="option"
|
|
395
|
+
type="button"
|
|
396
|
+
aria-label=${X(this.titleProp)}
|
|
397
|
+
title=${X(this.titleProp)}
|
|
398
|
+
@click=${e}
|
|
399
|
+
>
|
|
400
|
+
<uc-icon name=${this.icon}></uc-icon>
|
|
401
|
+
<div class="uc-title" ?hidden=${!t}>${t}</div>
|
|
402
|
+
</button>
|
|
403
|
+
`}},w([x()],uf.prototype,`active`,void 0),w([x()],uf.prototype,`title`,void 0),w([x()],uf.prototype,`icon`,void 0),w([x()],uf.prototype,`titleProp`,void 0)})),ff,pf,mf,hf,gf,_f=n((()=>{y(),S(),Nd(),Fd(),df(),T(),ff=12,pf=16,mf=e=>{let t=12,n=12;return e.width/e.height>=1?(t=ff,n=Math.round(ff*e.height/e.width)):(n=ff,t=Math.round(ff*e.width/e.height)),{width:t,height:n}},hf=class extends uf{initCallback(){super.initCallback(),this.icon=`arrow-dropdown`,this.sub(`*currentAspectRatio`,e=>{let t=this._computeTitle(e);this.title=t,this.titleProp=t})}onClick(){this.$[`*showListAspectRatio`]=!0}_computeTitle(e){return e?e.hasFreeform?this.l10n(`freeform-crop`):this.l10n(`crop-to-shape`,{value:`${e.width}:${e.height}`}):``}render(){let e=this.onClick,t=this.title;return _`
|
|
404
|
+
<button
|
|
405
|
+
role="option"
|
|
406
|
+
type="button"
|
|
407
|
+
class=${jd(this.buttonClasses)}
|
|
408
|
+
aria-label=${X(this.titleProp)}
|
|
409
|
+
title=${X(this.titleProp)}
|
|
410
|
+
@click=${e}
|
|
411
|
+
>
|
|
412
|
+
<div class="uc-title" ?hidden=${!t}>${t}</div>
|
|
413
|
+
<uc-icon name=${this.icon}></uc-icon>
|
|
414
|
+
</button>
|
|
415
|
+
`}},gf=class extends uf{constructor(...e){super(...e),this._aspectRatio=null}get aspectRatio(){return this._aspectRatio}set aspectRatio(e){if(this._aspectRatio===e)return;let t=this._aspectRatio;this._aspectRatio=e,this.requestUpdate(`aspectRatio`,t),e?this._updateAspectRatioPresentation(e):(this.removeAttribute(`uc-aspect-ratio-freeform`),this.title=``,this.titleProp=``)}initCallback(){super.initCallback(),this._aspectRatio&&this._updateAspectRatioPresentation(this._aspectRatio),this.sub(`*currentAspectRatio`,e=>{this.active=e&&e.id===this._aspectRatio?.id||e?.width===this._aspectRatio?.width&&e?.height===this._aspectRatio?.height})}onClick(){this.$[`*currentAspectRatio`]?.id!==this._aspectRatio?.id&&(this.$[`*currentAspectRatio`]=this._aspectRatio)}_updateAspectRatioPresentation(e){if(!this.isConnected)return;let t=!!e.hasFreeform;this.toggleAttribute(`uc-aspect-ratio-freeform`,t),(()=>{let n=t?this.l10n(`custom`):`${e.width}:${e.height}`;return this.title=n,n})(),(()=>{let n=this.l10n(`a11y-cloud-editor-apply-aspect-ratio`,{name:t?this.l10n(`custom`).toLowerCase():this.l10n(`crop-to-shape`,{value:`${e.width}:${e.height}`}).toLowerCase(),value:``});return this.titleProp=n,n})(),t||this.requestUpdate()}_renderIcon(){let e=this._aspectRatio;if(!e||e.hasFreeform)return _`<uc-icon name=${this.icon}></uc-icon>`;let{width:t,height:n}=mf(e);return _`
|
|
416
|
+
<uc-icon>
|
|
417
|
+
<svg
|
|
418
|
+
viewBox="0 0 ${pf} ${pf}"
|
|
419
|
+
aria-hidden="true"
|
|
420
|
+
focusable="false"
|
|
421
|
+
>
|
|
422
|
+
<rect
|
|
423
|
+
x=${(pf-t)/2}
|
|
424
|
+
y=${(pf-n)/2}
|
|
425
|
+
width=${t}
|
|
426
|
+
height=${n}
|
|
427
|
+
rx="2"
|
|
428
|
+
fill="none"
|
|
429
|
+
stroke="currentColor"
|
|
430
|
+
stroke-width="1.2"
|
|
431
|
+
stroke-linejoin="round"
|
|
432
|
+
></rect>
|
|
433
|
+
</svg>
|
|
434
|
+
</uc-icon>
|
|
435
|
+
`}render(){let e=this.onClick,t=this.title;return _`
|
|
436
|
+
<button
|
|
437
|
+
role="option"
|
|
438
|
+
type="button"
|
|
439
|
+
class=${jd(this.buttonClasses)}
|
|
440
|
+
aria-label=${X(this.titleProp)}
|
|
441
|
+
title=${X(this.titleProp)}
|
|
442
|
+
@click=${e}
|
|
443
|
+
>
|
|
444
|
+
${this._renderIcon()}
|
|
445
|
+
<div class="uc-title" ?hidden=${!t}>${t}</div>
|
|
446
|
+
</button>
|
|
447
|
+
`}},w([b({attribute:!1})],gf.prototype,`aspectRatio`,null)}));function vf(e){let t=e+90;return t=t>=360?0:t,t}function yf(e,t){if(e===`rotate`)return vf(typeof t==`number`?t:0);if(e===`mirror`||e===`flip`)return!t;throw Error(`Unsupported operation: ${e}`)}var bf,xf=n((()=>{S(),df(),T(),bf=class extends uf{constructor(...e){super(...e),this.operation=void 0}willUpdate(e){super.willUpdate(e),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 t=this.$[`*cropperEl`],n=t.getValue(this.operation),r=yf(this.operation,n);this.telemetryManager.sendEventCloudImageEditor(e,this.$[`*tabId`],{operation:this.operation,next:r,prev:n}),t.setValue(this.operation,r)}},w([b({type:String})],bf.prototype,`operation`,void 0)})),Sf,Cf=n((()=>{y(),S(),Nd(),Fd(),Bu(),po(),zn(),nu(),df(),sf(),$n(),lf(),T(),Sf=class extends uf{constructor(...e){super(...e),this._operation=``,this._filter=``,this._originalUrl=``,this._lastPreviewRequestId=0,this._previewImage=null,this._previewLoaded=!1,this.isOriginal=!1,this._iconSize=20}get filter(){return this._filter}set filter(e){let t=e??``;if(this._filter===t)return;let n=this._filter;this._filter=t,this._operation=`filter`,this.isOriginal=t===af,this.icon=this.isOriginal?`original`:`slider`,this._iconSize=this.isOriginal?40:20,this.requestUpdate(`filter`,n),this.isConnected&&this._updateFilterLabels(t)}onClick(e){if(this.active)this.isOriginal||(this.$[`*sliderEl`].setOperation(this._operation,this._filter),this.$[`*showSlider`]=!0);else{let e=this.$[`*sliderEl`];e.setOperation(this._operation,this._filter),e.apply()}this.telemetryManager.sendEventCloudImageEditor(e,this.$[`*tabId`],{operation:cf(this.$[`*operationTooltip`])}),this.$[`*currentFilter`]=this._filter}_previewSrc(){let e=parseInt(window.getComputedStyle(this).getPropertyValue(`--l-base-min-width`),10),t=Number.isFinite(e)&&e>0?e:this._iconSize||32,n=window.devicePixelRatio,r=Math.ceil(n*t),i=n>=2?`lightest`:`normal`,a={...this.$[`*editorTransformations`]};return a[this._operation]=this._filter===`original`?void 0:{name:this._filter,amount:100},Ln(this._originalUrl,In(qn,Un(a),`quality/${i}`,`scale_crop/${r}x${r}/center`,`@clib/${uo}/${fo}/uc-cloud-image-editor/`))}async _observerCallback(e,t){e[0]?.isIntersecting?await this._loadPreview(t):this._cancelPreload?.()}initCallback(){super.initCallback(),this._observer=new window.IntersectionObserver(this._observerCallback.bind(this),{threshold:[0,1]}),this._originalUrl=this.$[`*originalUrl`]??``,this.sub(`*originalUrl`,e=>{this._originalUrl=e??``,!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`,e=>{this.active=!!(e&&e===this._filter)}),this.sub(`*networkProblems`,async e=>{e||(this._previewImage?await this._loadPreview():this._schedulePreviewVisibilityCheck())})}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect(),this._cancelPreload?.(),this._clearPreviewVisibilityChecks()}updated(e){super.updated(e),e.has(`isOriginal`)&&(this.isOriginal?this._observer?.unobserve(this):(this._observer?.observe(this),this._schedulePreviewVisibilityCheck()))}_updateFilterLabels(e){if(!e){this.titleProp=``;return}this.titleProp=this.l10n(`a11y-cloud-editor-apply-filter`,{name:e.toLowerCase()})}async _loadPreview(e){if(!this.isConnected){e?.unobserve(this),this._cancelPreload?.(),this._cancelPreload=void 0;return}if(!this._originalUrl){!this._previewVisibilityCheckTimeout&&!this._previewVisibilityCheckRaf&&this._schedulePreviewVisibilityCheck();return}let t=++this._lastPreviewRequestId,n=``;try{n=await this.proxyUrl(this._previewSrc())}catch(e){this.$[`*networkProblems`]=!0,console.error(`Failed to resolve preview URL`,{error:e});return}this._previewLoaded=!1,this._cancelPreload?.();let{promise:r,cancel:i}=eu(n);this._cancelPreload=()=>{i(),this._lastPreviewRequestId===t&&(this._cancelPreload=void 0)};try{if(await r,this._lastPreviewRequestId!==t||!this.isConnected)return;this._previewImage=n,this._previewLoaded=!0,this._clearPreviewVisibilityChecks(),(e??this._observer)?.unobserve(this)}catch(e){this.$[`*networkProblems`]=!0,console.error(`Failed to load image`,{error:e}),this._schedulePreviewVisibilityCheck()}finally{this._lastPreviewRequestId===t&&(this._cancelPreload=void 0)}}_schedulePreviewVisibilityCheck(){if(!this.isConnected||this._previewImage||this._previewLoaded||this.isOriginal||this.$[`*networkProblems`]){this._clearPreviewVisibilityChecks();return}this._previewVisibilityCheckRaf&&cancelAnimationFrame(this._previewVisibilityCheckRaf),this._previewVisibilityCheckRaf=requestAnimationFrame(()=>{if(this._previewVisibilityCheckRaf=void 0,!this.isConnected||this._previewImage||this._previewLoaded||this.isOriginal){this._clearPreviewVisibilityChecks();return}let e=this.getBoundingClientRect(),t=e.width>0&&e.height>0,n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight;if(t&&e.bottom>0&&e.right>0&&e.top<r&&e.left<n){this._loadPreview();return}this._previewVisibilityCheckTimeout=window.setTimeout(()=>{this._previewVisibilityCheckTimeout=void 0,this._schedulePreviewVisibilityCheck()},500)})}_clearPreviewVisibilityChecks(){this._previewVisibilityCheckRaf&&=(cancelAnimationFrame(this._previewVisibilityCheckRaf),void 0),this._previewVisibilityCheckTimeout&&=(window.clearTimeout(this._previewVisibilityCheckTimeout),void 0)}get _shouldShowPreview(){return!!(this._previewLoaded&&!this.active&&!this.isOriginal)}render(){let e=this.onClick,t={opacity:this._shouldShowPreview?`1`:`0`};this._previewImage&&(t.backgroundImage=`url(${this._previewImage})`);let n={opacity:this.active||this.isOriginal?`1`:`0`};return _`
|
|
448
|
+
<button
|
|
449
|
+
role="option"
|
|
450
|
+
type="button"
|
|
451
|
+
class=${jd(this.buttonClasses)}
|
|
452
|
+
aria-label=${X(this.titleProp)}
|
|
453
|
+
title=${X(this.titleProp)}
|
|
454
|
+
@click=${e}
|
|
455
|
+
>
|
|
456
|
+
<div class="uc-preview" ?data-loaded=${this._previewLoaded} style=${Ru(t)}></div>
|
|
457
|
+
<uc-icon
|
|
458
|
+
class=${jd({"uc-original-icon":this.isOriginal})}
|
|
459
|
+
name=${this.icon}
|
|
460
|
+
style=${Ru(n)}
|
|
461
|
+
></uc-icon>
|
|
462
|
+
</button>
|
|
463
|
+
`}},w([x()],Sf.prototype,`_previewImage`,void 0),w([x()],Sf.prototype,`_previewLoaded`,void 0),w([x()],Sf.prototype,`isOriginal`,void 0),w([x()],Sf.prototype,`_iconSize`,void 0),w([b({type:String})],Sf.prototype,`filter`,null)})),wf,Tf=n((()=>{S(),df(),or(),lf(),T(),wf=class extends uf{constructor(...e){super(...e),this._operation=``}get operation(){return this._operation}set operation(e){let t=e??``;if(this._operation===t)return;let n=this._operation;this._operation=t,this.requestUpdate(`operation`,n),this.isConnected&&t&&this._updateOperationMetadata(t)}_updateOperationMetadata(e){this.icon=e,(()=>{let t=this.l10n(`a11y-cloud-editor-apply-tuning`,{name:this.l10n(e).toLowerCase()});return this.titleProp=t,t})(),(()=>{let t=this.l10n(e);return this.title=t,t})()}initCallback(){super.initCallback(),this._operation&&this._updateOperationMetadata(this._operation),this.sub(`*editorTransformations`,e=>{if(!this._operation)return;let{zero:t}=ar[this._operation],n=e[this._operation];this.active=n===void 0?!1:n!==t})}onClick(e){this.$[`*sliderEl`]?.setOperation(this._operation),this.$[`*showSlider`]=!0,this.$[`*currentOperation`]=this._operation,this.telemetryManager.sendEventCloudImageEditor(e,this.$[`*tabId`],{operation:cf(this.$[`*operationTooltip`])})}},w([b({type:String})],wf.prototype,`operation`,null)})),Ef,Df,Of,kf=n((()=>{S(),I(),T(),Ef=1,Df=()=>{},Of=class extends F{constructor(...e){super(...e),this.hiddenScrollbar=!1,this._handleWheel=e=>{e.preventDefault();let{deltaY:t,deltaX:n}=e;if(Math.abs(n)>Ef){this.scrollLeft+=n;return}this.scrollLeft+=t}}connectedCallback(){super.connectedCallback(),this.addEventListener(`wheel`,this._handleWheel,{passive:!1}),this.addEventListener(`scroll`,Df,{passive:!0})}disconnectedCallback(){this.removeEventListener(`wheel`,this._handleWheel),this.removeEventListener(`scroll`,Df),super.disconnectedCallback()}},w([b({type:Boolean,noAccessor:!0,attribute:`hidden-scrollbar`})],Of.prototype,`hiddenScrollbar`,void 0)})),Af,jf=n((()=>{y(),S(),G(),Bu(),md(),I(),nn(),nu(),sf(),or(),Vd(),lf(),T(),Af=class extends F{constructor(...e){super(...e),this._showLoader=!1,this.showMainToolbar=!0,this.showSubToolbar=!1,this._showTabToggles=!0,this.tabList=[...er],this.activeTab=D.CROP,this._useSliderPanel=!0,this._tooltipVisible=!1,this._operationTooltip=null,this._tabIndicatorOffset=0,this._tabIndicatorWidth=0,this._sliderRef=U(),this._tabIndicatorRef=U(),this.tabToggleRefs={[D.CROP]:U(),[D.TUNING]:U(),[D.FILTERS]:U()},this._handleWindowResize=()=>{this._syncTabIndicator()},this._cropPresets=[],this._debouncedShowLoader=C(e=>{this._showLoader=e},500),this._updateInfoTooltip=C(()=>{let e=this.$[`*editorTransformations`],t=this.$[`*currentOperation`],n=``,r=!1;if(this.$[`*tabId`]===D.FILTERS)if(r=!0,this.$[`*currentFilter`]&&e?.filter?.name===this.$[`*currentFilter`]){let t=e?.filter?.amount||100;n=`${this.$[`*currentFilter`]} ${t}`}else n=this.l10n(af);else if(this.showSubToolbar&&this.$[`*tabId`]===D.TUNING&&t){r=!0;let i=e?.[t]||ar[t].zero;n=`${this.l10n(t)} ${i}`}r&&(this.$[`*operationTooltip`]=n),this._tooltipVisible=r},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":af,"*currentOperation":null,"*operationTooltip":null},this._handleCancel=e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$[`*tabId`],{action:`cancel`}),this._cancelPreload?.();let t=this.$[`*on.cancel`];t?.()},this._handleApply=e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$[`*tabId`],{action:`apply`});let t=this.$[`*on.apply`];t?.(this.$[`*editorTransformations`])},this._handleApplySlider=e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$[`*tabId`],{action:`apply-slider`,operation:cf(this.$[`*operationTooltip`])}),this._sliderRef.value?.apply(),this._onSliderClose()},this._handleCancelSlider=e=>{this.telemetryManager.sendEventCloudImageEditor(e,this.$[`*tabId`],{action:`cancel-slider`}),this._sliderRef.value?.cancel(),this._onSliderClose()},this._handleTabClick=e=>{let t=e.currentTarget?.getAttribute(`data-id`);t&&(this.telemetryManager.sendEventCloudImageEditor(e,t),this._activateTab(t,{fromViewer:!1}))}}_onSliderClose(){this.$[`*showSlider`]=!1,this.$[`*tabId`]===D.CROP&&(this.$[`*showListAspectRatio`]=!1),this.$[`*tabId`]===D.TUNING&&(this._tooltipVisible=!1)}_activateTab(e,{fromViewer:t=!1,force:n=!1}={}){this.$[`*tabId`]!==e&&(this.$[`*tabId`]=e),this._applyTabState(e,{fromViewer:t,force:n})}_applyTabState(e,{fromViewer:t,force:n=!1}){if(!n&&this.activeTab===e){this._syncTabIndicator();return}this.activeTab=e;let r=this.$[`*faderEl`],i=this.$[`*cropperEl`];e===D.CROP?(r?.deactivate(),this.$[`*imageSize`]&&i?.activate(this.$[`*imageSize`],{fromViewer:t})):(r?.activate({url:this.$[`*originalUrl`],fromViewer:t}),i?.deactivate());for(let t of er){let n=t===e,r=this.tabToggleRefs[t]?.value;r&&(r.active=n),n&&this._syncTabIndicator()}}_syncTabIndicator(){let e=this.tabToggleRefs[this.activeTab]?.value,t=this._tabIndicatorRef.value;if(!e||!t)return;let n=e.offsetLeft,r=e.offsetWidth||Number(getComputedStyle(e).width.replace(`px`,``));(this._tabIndicatorOffset!==n||this._tabIndicatorWidth!==r)&&(this._tabIndicatorOffset=n,this._tabIndicatorWidth=r,t.style.transform=`translateX(${n}px)`,t.style.width=`${r}px`)}get _hasAspectRatioPicker(){return this._cropPresets.length>=3}_renderControlsByTab(e){switch(e){case D.CROP:return this._renderCropTabControls();case D.FILTERS:return this._renderFilterTabControls();case D.TUNING:return this._renderTuningTabControls();default:return[]}}_renderCropTabControls(){let e=[];if(this._hasAspectRatioPicker)e.push(()=>this._renderFreeformControl());else for(let t of this._cropPresets)e.push(()=>this._renderAspectRatioControl(t));for(let t of rr)e.push(()=>this._renderCropOperationControl(t));return this._renderControlGroup(e)}_renderFilterTabControls(){let e=[af,...nr].map(e=>()=>this._renderFilterControl(e));return this._renderControlGroup(e)}_renderTuningTabControls(){let e=tr.map(e=>()=>this._renderOperationControl(e));return this._renderControlGroup(e)}_renderControlGroup(e){return e.length?e.map(e=>e()):[]}_renderFreeformControl(){return _`<uc-editor-freeform-button-control></uc-editor-freeform-button-control>`}_renderAspectRatioControl(e){return _`<uc-editor-aspect-ratio-button-control .aspectRatio=${e}></uc-editor-aspect-ratio-button-control>`}_renderCropOperationControl(e){return _`<uc-editor-crop-button-control .operation=${e}></uc-editor-crop-button-control>`}_renderFilterControl(e){return _`<uc-editor-filter-control .filter=${e}></uc-editor-filter-control>`}_renderOperationControl(e){return _`<uc-editor-operation-control .operation=${e}></uc-editor-operation-control>`}_renderAspectRatioList(){return this._hasAspectRatioPicker?this._cropPresets.map(e=>this._renderAspectRatioControl(e)):[]}async _preloadEditedImage(){if(this.$[`*imgContainerEl`]&&this.$[`*originalUrl`]){let e=this.$[`*imgContainerEl`].offsetWidth,t=await this.proxyUrl(Bd(this.$[`*originalUrl`],e,this.$[`*editorTransformations`]));this._cancelPreload?.();let{cancel:n}=tu([t]);this._cancelPreload=()=>{n(),this._cancelPreload=void 0}}}initCallback(){super.initCallback(),this._cropPresets=[...this.$[`*cropPresetList`]??[]],this.sub(`*cropPresetList`,e=>{this._cropPresets=[...e??[]]}),this.sub(`*imageSize`,e=>{e&&setTimeout(()=>{this._activateTab(this.$[`*tabId`],{fromViewer:!0})},0)}),this.sub(`*editorTransformations`,e=>{let t=e?.filter?.name;this.$[`*currentFilter`]!==t&&(this.$[`*currentFilter`]=t??``)}),this.sub(`*currentFilter`,()=>{this._updateInfoTooltip()}),this.sub(`*currentOperation`,()=>{this._updateInfoTooltip()}),this.sub(`*tabId`,e=>{this._applyTabState(e,{fromViewer:!1,force:!0}),this._updateInfoTooltip()}),this.sub(`*originalUrl`,()=>{this.$[`*faderEl`]?.deactivate()}),this.sub(`*editorTransformations`,e=>{this._preloadEditedImage(),this.$[`*faderEl`]?.setTransformations(e)}),this.sub(`*loadingOperations`,e=>{let t=!1;for(let[,n]of e.entries()){if(t)break;for(let[,e]of n.entries())if(e){t=!0;break}}this._debouncedShowLoader(t)}),this.sub(`*showSlider`,e=>{e?(this.showSubToolbar=!0,this.showMainToolbar=!1,this._useSliderPanel=!0):this.$[`*showListAspectRatio`]||(this.showSubToolbar=!1,this.showMainToolbar=!0)}),this.sub(`*showListAspectRatio`,e=>{e?(this.showSubToolbar=!0,this.showMainToolbar=!1,this._useSliderPanel=!1):this.$[`*showSlider`]||(this.showSubToolbar=!1,this.showMainToolbar=!0)}),this.sub(`*tabList`,e=>{if(this.tabList=e,this._showTabToggles=e.length>1,!e.includes(this.$[`*tabId`])&&e.length>0){let[t]=e;t&&this._activateTab(t,{fromViewer:!1});return}this._syncTabIndicator()}),this.sub(`*operationTooltip`,e=>{this._operationTooltip=e}),this._updateInfoTooltip()}connectedCallback(){super.connectedCallback(),window.addEventListener(`resize`,this._handleWindowResize)}firstUpdated(e){super.firstUpdated(e),this._assignSharedElements(),this._syncTabIndicator()}updated(e){super.updated(e),(e.has(`activeTab`)||e.has(`tabList`))&&this.updateComplete.then(()=>this._syncTabIndicator()),(e.has(`showSubToolbar`)||e.has(`showMainToolbar`))&&this._assignSharedElements()}disconnectedCallback(){window.removeEventListener(`resize`,this._handleWindowResize),super.disconnectedCallback(),this.$[`*showSlider`]=!1,this.$[`*showListAspectRatio`]=!1}_assignSharedElements(){let e=this._sliderRef.value;e&&(this.$[`*sliderEl`]=e)}_renderTabToggle(e){let t=this.tabList.includes(e),n=this.activeTab===e,r=this.tabList.indexOf(e),i=r>=0?Ru({gridColumn:`${r+1}`}):v;return _`
|
|
464
|
+
<uc-presence-toggle class="uc-tab-toggle" .visible=${t} .styles=${this._tabToggleStyles}>
|
|
465
|
+
<uc-btn-ui
|
|
466
|
+
theme="tab"
|
|
467
|
+
data-id=${e}
|
|
468
|
+
icon=${e}
|
|
469
|
+
role="tab"
|
|
470
|
+
aria-controls=${`tab_${e}`}
|
|
471
|
+
aria-selected=${n?`true`:`false`}
|
|
472
|
+
title-prop=${`a11y-editor-tab-${e}`}
|
|
473
|
+
.active=${n}
|
|
474
|
+
style=${i}
|
|
475
|
+
@click=${this._handleTabClick}
|
|
476
|
+
${W(this.tabToggleRefs[e])}
|
|
477
|
+
></uc-btn-ui>
|
|
478
|
+
</uc-presence-toggle>
|
|
479
|
+
`}_renderTabContent(e){let t=this._renderControlsByTab(e);return _`
|
|
480
|
+
<div
|
|
481
|
+
id=${`tab_${e}`}
|
|
482
|
+
class="uc-tab-content"
|
|
483
|
+
>
|
|
484
|
+
<uc-editor-scroller hidden-scrollbar>
|
|
485
|
+
<div class="uc-controls-list_align">
|
|
486
|
+
<div role="listbox" aria-orientation="horizontal" class="uc-controls-list_inner">
|
|
487
|
+
${t.length?t:v}
|
|
488
|
+
</div>
|
|
489
|
+
</div>
|
|
490
|
+
</uc-editor-scroller>
|
|
491
|
+
</div>
|
|
492
|
+
`}render(){let e=[`uc-info-tooltip`,this._tooltipVisible?`uc-info-tooltip_visible`:`uc-info-tooltip_hidden`].join(` `),t=this._hasAspectRatioPicker;return _`
|
|
493
|
+
<uc-line-loader-ui .active=${this._showLoader}></uc-line-loader-ui>
|
|
494
|
+
<div class="uc-info-tooltip_container">
|
|
495
|
+
<div class="uc-info-tooltip_wrapper">
|
|
496
|
+
<div class=${e}>${this._operationTooltip??``}</div>
|
|
497
|
+
</div>
|
|
498
|
+
</div>
|
|
499
|
+
<div class="uc-toolbar-container">
|
|
500
|
+
<uc-presence-toggle
|
|
501
|
+
role="tablist"
|
|
502
|
+
class="uc-sub-toolbar"
|
|
503
|
+
.visible=${this.showMainToolbar}
|
|
504
|
+
.styles=${this._subTopToolbarStyles}
|
|
505
|
+
>
|
|
506
|
+
<div class="uc-tab-content-row">
|
|
507
|
+
${er.map(e=>fd(this.activeTab===e,()=>this._renderTabContent(e)))}
|
|
508
|
+
</div>
|
|
509
|
+
<div class="uc-controls-row">
|
|
510
|
+
<uc-presence-toggle
|
|
511
|
+
class="uc-tab-toggles"
|
|
512
|
+
.visible=${this._showTabToggles}
|
|
513
|
+
.styles=${this._tabTogglesStyles}
|
|
514
|
+
@initial-render=${()=>this._syncTabIndicator()}
|
|
515
|
+
>
|
|
516
|
+
<div
|
|
517
|
+
class="uc-tab-toggles_indicator"
|
|
518
|
+
${W(this._tabIndicatorRef)}
|
|
519
|
+
></div>
|
|
520
|
+
${er.map(e=>this._renderTabToggle(e))}
|
|
521
|
+
</uc-presence-toggle>
|
|
522
|
+
<uc-btn-ui
|
|
523
|
+
style="order: -1"
|
|
524
|
+
theme="secondary-icon"
|
|
525
|
+
icon="closeMax"
|
|
526
|
+
title-prop="cancel"
|
|
527
|
+
@click=${this._handleCancel}
|
|
528
|
+
></uc-btn-ui>
|
|
529
|
+
<uc-btn-ui theme="primary-icon" icon="done" title-prop="apply" @click=${this._handleApply}></uc-btn-ui>
|
|
530
|
+
</div>
|
|
531
|
+
</uc-presence-toggle>
|
|
532
|
+
<uc-presence-toggle class="uc-sub-toolbar" .visible=${this.showSubToolbar} .styles=${this._subBottomToolbarStyles}>
|
|
533
|
+
<div class="uc-slider" ?hidden=${!this._useSliderPanel}>
|
|
534
|
+
<uc-editor-slider ${W(this._sliderRef)}></uc-editor-slider>
|
|
535
|
+
</div>
|
|
536
|
+
|
|
537
|
+
<div class="uc-list-aspect-ratio-container" ?hidden=${this._useSliderPanel||!t}>
|
|
538
|
+
${t?_`<div class="uc-list-aspect-ratio">${this._renderAspectRatioList()}</div>`:v}
|
|
539
|
+
</div>
|
|
540
|
+
<div class="uc-controls-row">
|
|
541
|
+
<uc-btn-ui theme="secondary" @click=${this._handleCancelSlider} text=${this.l10n(`cancel`)}></uc-btn-ui>
|
|
542
|
+
<uc-btn-ui theme="primary" @click=${this._handleApplySlider} text=${this.l10n(`apply`)}></uc-btn-ui>
|
|
543
|
+
</div>
|
|
544
|
+
</uc-presence-toggle>
|
|
545
|
+
</div>
|
|
546
|
+
`}},w([x()],Af.prototype,`_showLoader`,void 0),w([x()],Af.prototype,`showMainToolbar`,void 0),w([x()],Af.prototype,`showSubToolbar`,void 0),w([x()],Af.prototype,`_showTabToggles`,void 0),w([x()],Af.prototype,`tabList`,void 0),w([x()],Af.prototype,`activeTab`,void 0),w([x()],Af.prototype,`_useSliderPanel`,void 0),w([x()],Af.prototype,`_tooltipVisible`,void 0),w([x()],Af.prototype,`_operationTooltip`,void 0),w([x()],Af.prototype,`_cropPresets`,void 0)})),Mf,Nf,Pf=n((()=>{y(),S(),G(),Ko(),md(),I(),zn(),En(),nn(),$l(),vd(),Zc(),xd(),$n(),Cd(),Td(),or(),T(),Mf=Tn([...er]),Nf=class extends F{constructor(...e){super(...e),this.ctxOwner=!0,this._statusMessage=``,this._imageSrc=Ql,this._fileType=``,this._showLoader=!1,this.uuid=null,this.cdnUrl=null,this.cropPreset=``,this.tabs=Mf,this._hasNetworkProblems=!1,this._isInitialized=!1,this._pendingInitUpdate=null,this._debouncedShowLoader=C(e=>{this._showLoader=e},300),this._imgRef=U(),this._cropperRef=U(),this._faderRef=U(),this._imgContainerRef=U(),this._handleImageLoad=()=>{this._debouncedShowLoader(!1),this._imageSrc!==`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=`&&(this.$[`*networkProblems`]=!1)},this._handleImageError=()=>{this._debouncedShowLoader(!1),this.$[`*networkProblems`]=!0},this._handleRetryNetwork=()=>{let e=this.$[`*on.retryNetwork`];e?.()},this.init$={...this.init$,...Sd(this)}}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 e=this._faderRef.value;e&&(this.$[`*faderEl`]=e);let t=this._cropperRef.value;t&&(this.$[`*cropperEl`]=t);let n=this._imgContainerRef.value;n&&(this.$[`*imgContainerEl`]=n);let r=this._imgRef.value;r&&(this.$[`*imgEl`]=r)}_attachImageListeners(){let e=this._imgRef.value;e&&(e.addEventListener(`load`,this._handleImageLoad),e.addEventListener(`error`,this._handleImageError))}_detachImageListeners(){let e=this._imgRef.value;e&&(e.removeEventListener(`load`,this._handleImageLoad),e.removeEventListener(`error`,this._handleImageError))}get _imageClassName(){let e=this.$[`*tabId`];return gd(`uc-image`,{"uc-image_hidden_to_cropper":e===D.CROP,"uc-image_hidden_effects":e!==D.CROP})}_waitForSize(){return new Promise((e,t)=>{let n=window.setTimeout(()=>{t(Error(`[cloud-image-editor] timeout waiting for non-zero container size`))},3e3),r=new ResizeObserver(t=>{let[i]=t;i&&i.contentRect.width>0&&i.contentRect.height>0&&(window.clearTimeout(n),r.disconnect(),window.setTimeout(()=>e(),0))});r.observe(this)})}firstUpdated(e){super.firstUpdated(e),this._assignSharedElements(),this._attachImageListeners(),this.initEditor();let t=!!(this.uuid||this.cdnUrl),n=e.has(`uuid`)||e.has(`cdnUrl`);t&&!n&&this.updateImage()}disconnectedCallback(){this._detachImageListeners(),super.disconnectedCallback()}render(){let e=this._fileType??``,t=this._statusMessage??``,n=this._imageSrc||`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=`,r=this._showLoader,i=this._hasNetworkProblems;return _`
|
|
547
|
+
${Wo(wd)}
|
|
548
|
+
<div class="uc-wrapper uc-wrapper_desktop">
|
|
549
|
+
<uc-presence-toggle class="uc-network_problems_splash" .visible=${i}>
|
|
550
|
+
<div class="uc-network_problems_content">
|
|
551
|
+
<div class="uc-network_problems_icon">
|
|
552
|
+
<uc-icon name="sad"></uc-icon>
|
|
553
|
+
</div>
|
|
554
|
+
<div class="uc-network_problems_text">Network error</div>
|
|
555
|
+
</div>
|
|
556
|
+
<div class="uc-network_problems_footer">
|
|
557
|
+
<uc-btn-ui theme="primary" text="Retry" @click=${this._handleRetryNetwork}></uc-btn-ui>
|
|
558
|
+
</div>
|
|
559
|
+
</uc-presence-toggle>
|
|
560
|
+
<div class="uc-viewport">
|
|
561
|
+
<div class="uc-file_type_outer">
|
|
562
|
+
<div class="uc-file_type">${e}</div>
|
|
563
|
+
</div>
|
|
564
|
+
<div class="uc-image_container" ${W(this._imgContainerRef)}>
|
|
565
|
+
<img src=${n} class=${this._imageClassName} ${W(this._imgRef)} />
|
|
566
|
+
${fd(this._isInitialized,()=>_`<uc-editor-image-cropper ${W(this._cropperRef)}></uc-editor-image-cropper>`)}
|
|
567
|
+
<uc-editor-image-fader ${W(this._faderRef)}></uc-editor-image-fader>
|
|
568
|
+
</div>
|
|
569
|
+
<div class="uc-info_pan">${t}</div>
|
|
570
|
+
</div>
|
|
571
|
+
<div class="uc-toolbar">
|
|
572
|
+
<uc-line-loader-ui .active=${r}></uc-line-loader-ui>
|
|
573
|
+
<div class="uc-toolbar_content uc-toolbar_content__editor">
|
|
574
|
+
${fd(this._isInitialized,()=>_`<uc-editor-toolbar></uc-editor-toolbar>`)}
|
|
575
|
+
</div>
|
|
576
|
+
</div>
|
|
577
|
+
</div>
|
|
578
|
+
`}updated(e){super.updated(e),e.has(`uuid`)&&this.uuid&&this.updateImage(),e.has(`cdnUrl`)&&this.cdnUrl&&this.updateImage(),e.has(`tabs`)&&this._syncTabListFromProp(),(e.has(`cropPreset`)||e.has(`cdnUrl`))&&this._syncCropPresetState()}_syncTabListFromProp(){let e=this.tabs||Mf;this.$[`*tabList`]=bd(e)}_syncCropPresetState(){let e=Yc(this.cropPreset??``),t=null;if(this.cdnUrl){let n=Wn(An(this.cdnUrl));if(Array.isArray(n?.crop?.dimensions)){let[r,i]=n.crop.dimensions;t=Xc(r,i,e,.1)}}this.$[`*cropPresetList`]=e,this.$[`*currentAspectRatio`]=t??e?.[0]??null}async updateImage(){if(this.isConnected){if(await this._waitForSize(),this.cdnUrl){let e=this.cdnUrl,t=Rn(e,On(e));if(t===this.$[`*originalUrl`])return;this.$[`*originalUrl`]=t;let n=Wn(An(e));this.$[`*editorTransformations`]=n}else if(this.uuid){let e=Rn(this.cfg.cdnCname,this.uuid);if(e===this.$[`*originalUrl`])return;this.$[`*originalUrl`]=e,Object.keys(this.$[`*editorTransformations`]).length>0&&(this.$[`*editorTransformations`]={})}else throw Error(`No UUID nor CDN URL provided`);this.$[`*tabId`]===D.CROP?this.$[`*cropperEl`]?.deactivate({reset:!0}):this.$[`*faderEl`]?.deactivate();try{let e=this.$[`*originalUrl`],t=await this.proxyUrl(Ln(e,In(`json`))),{width:n,height:r}=await fetch(t).then(e=>e.json());this.$[`*imageSize`]={width:n,height:r},this.$[`*tabId`]===D.CROP?this.$[`*cropperEl`]?.activate(this.$[`*imageSize`]):this.$[`*faderEl`]?.activate({url:e})}catch(e){e&&(this.telemetryManager.sendEventError(e,`cloud editor image. Failed to load image info`),console.error(`Failed to load image info`,e))}this._scheduleInitialization()}}async initEditor(){try{await this._waitForSize()}catch(e){this.isConnected&&console.error(e.message);return}this.classList.add(`uc-editor_ON`),this.sub(`*networkProblems`,e=>{this._hasNetworkProblems=!!e}),this.sub(`*editorTransformations`,e=>{if(Object.keys(e).length===0)return;let t=this.$[`*originalUrl`],n=In(Un(e),`preview`),r={originalUrl:t,cdnUrlModifiers:n,cdnUrl:Ln(t,n),transformations:e};this.dispatchEvent(new CustomEvent(`change`,{detail:r,bubbles:!0,composed:!0}))},!1)}},w([x()],Nf.prototype,`_statusMessage`,void 0),w([x()],Nf.prototype,`_imageSrc`,void 0),w([x()],Nf.prototype,`_fileType`,void 0),w([x()],Nf.prototype,`_showLoader`,void 0),w([b({type:String,reflect:!0})],Nf.prototype,`uuid`,void 0),w([b({type:String,attribute:`cdn-url`,reflect:!0})],Nf.prototype,`cdnUrl`,void 0),w([b({type:String,attribute:`crop-preset`,reflect:!0})],Nf.prototype,`cropPreset`,void 0),w([b({type:String,reflect:!0})],Nf.prototype,`tabs`,void 0),w([x()],Nf.prototype,`_hasNetworkProblems`,void 0),w([x()],Nf.prototype,`_isInitialized`,void 0)})),Ff=n((()=>{Pf(),Ud(),_f(),xf(),Cf(),Kd(),tf(),Tf(),kf(),sf(),jf(),Ld(),Ad(),Od(),rf()})),If=n((()=>{dd(),Ff()})),Lf,Rf=n((()=>{Pf(),P(),Lf=class extends Nf{static{this.styleAttrs=[...super.styleAttrs,`uc-wgt-common`]}constructor(){super(),this.init$={...this.init$,"*solution":this.tagName}}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:M.INIT_SOLUTION}),this.a11y?.registerBlock(this)}}})),zf=r({BtnUi:()=>Id,CloudImageEditor:()=>Lf,CloudImageEditorBlock:()=>Nf,Config:()=>Qm,CropFrame:()=>Hd,EditorAspectRatioButtonControl:()=>gf,EditorCropButtonControl:()=>bf,EditorFilterControl:()=>Sf,EditorFreeformButtonControl:()=>hf,EditorImageCropper:()=>Gd,EditorImageFader:()=>ef,EditorOperationControl:()=>wf,EditorScroller:()=>Of,EditorSlider:()=>of,EditorToolbar:()=>Af,Icon:()=>rl,LineLoaderUi:()=>kd,PresenceToggle:()=>Dd,SliderUi:()=>nf,defineComponents:()=>un},1),Bf=n((()=>{ud(),If(),Rf(),fn(),$m(),il()})),Vf=n((()=>{})),Hf=r({CloudImageEditorActivity:()=>Uf},1),Uf,Wf=n((()=>{y(),S(),Fd(),B(),H(),Vf(),T(),Uf=class extends V{constructor(...e){super(...e),this._editorConfig=null}get activityParams(){let e=super.activityParams;if(`internalId`in e)return e;throw Error(`Cloud Image Editor activity params not found`)}initCallback(){super.initCallback(),this.subConfigValue(`cropPreset`,e=>{this._editorConfig&&this._editorConfig.cropPreset!==e&&(this._editorConfig={...this._editorConfig,cropPreset:e})}),this.subConfigValue(`cloudImageEditorTabs`,e=>{this._editorConfig&&this._editorConfig.tabs!==e&&(this._editorConfig={...this._editorConfig,tabs:e})}),this._mountEditor()}disconnectedCallback(){super.disconnectedCallback(),this._unmountEditor()}_handleApply(e){if(!this._entry)return;this.debugPrint(`editor event "apply"`,e.detail);let t=e.detail;this._entry.setMultipleValues({cdnUrl:t.cdnUrl,cdnUrlModifiers:t.cdnUrlModifiers}),this.modalManager?.close(z.activities.CLOUD_IMG_EDIT),this.historyBack()}_handleCancel(e){let t=e instanceof CustomEvent?e.detail:void 0;this.debugPrint(`editor event "cancel"`,t),this.modalManager?.close(z.activities.CLOUD_IMG_EDIT),this.historyBack()}handleChange(e){this.debugPrint(`editor event "change"`,e.detail)}_mountEditor(){let{internalId:e}=this.activityParams,t=this.uploadCollection.read(e);if(!t)throw Error(`Entry with internalId "${e}" not found`);this._entry=t;let n=this._entry.getValue(`cdnUrl`);if(!n)throw Error(`Entry with internalId "${e}" hasn't uploaded yet`);this._editorConfig=this._createEditorConfig(n)}_unmountEditor(){this._entry=void 0,this._editorConfig=null}render(){if(!this._editorConfig)return v;let{cdnUrl:e,cropPreset:t,tabs:n}=this._editorConfig;return _`
|
|
579
|
+
<uc-cloud-image-editor
|
|
580
|
+
cdn-url=${e}
|
|
581
|
+
crop-preset=${X(t)}
|
|
582
|
+
tabs=${X(n)}
|
|
583
|
+
@apply=${this._handleApply}
|
|
584
|
+
@cancel=${this._handleCancel}
|
|
585
|
+
@change=${this.handleChange}
|
|
586
|
+
></uc-cloud-image-editor>
|
|
587
|
+
`}_createEditorConfig(e){return{cdnUrl:e,cropPreset:this.cfg.cropPreset,tabs:this.cfg.cloudImageEditorTabs}}},w([x()],Uf.prototype,`_editorConfig`,void 0)})),Gf=r({cloudImageEditorPlugin:()=>Xf},1),Kf,qf,Jf,Yf,Xf,Zf=n((()=>{fn(),ga(),Kf=`cloud-image-editor`,qf=`<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>`,Jf={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`}},Yf=async()=>{let[e,t]=await Promise.all([Promise.resolve().then(()=>(Bf(),zf)),Promise.resolve().then(()=>(Wf(),Hf))]);un({...e,...t})},Xf={id:Kf,setup:async({pluginApi:e,uploaderApi:t})=>{await Yf(),e.registry.registerIcon({name:`edit-file`,svg:qf}),e.registry.registerI18n(Jf),e.registry.registerFileAction({id:`edit-file`,icon:`edit-file`,shouldRender:e=>!!(e.isSuccess&&e.isImage&&e.cdnUrl),onClick:e=>{t.setCurrentActivity?.(j.CLOUD_IMG_EDIT,{internalId:e.internalId}),t.setModalState?.(!0)}}),e.registry.registerActivity({id:j.CLOUD_IMG_EDIT,render:e=>{let t=document.createElement(`uc-cloud-image-editor-activity`);return e.append(t),()=>{e.replaceChildren()}}})}}}));function Qf(e){return(...t)=>new Promise(n=>{setTimeout(()=>{n(e(...t))},0)})}var $f,ep,tp,np,rp,ip,ap,op,sp,cp,lp,up,dp,fp,pp,mp,hp,gp,_p,vp,yp,bp,xp,Sp,Cp,wp,Tp,Ep,Dp,Op,kp,Ap,jp,Mp,Np,Pp,Fp,Ip,Lp,Rp=n((()=>{$f=()=>{let e=[];return{stack:e,promiseReadJpegChunks:t=>new Promise((n,r)=>{let i=2,a=(e,t)=>{let n=new FileReader;n.addEventListener(`load`,()=>{t(new DataView(n.result))}),n.addEventListener(`error`,e=>{r(`Reader error: ${e}`)}),n.readAsArrayBuffer(e)},o=()=>a(t.slice(i,i+128),e=>{let t,n,r;for(t=n=0,r=e.byteLength;r>=0?n<r:n>r;t=r>=0?++n:--n)if(e.getUint8(t)===255){i+=t;break}s()}),s=()=>{let s=i;return a(t.slice(i,i+=4),c=>{if(c.byteLength!==4||c.getUint8(0)!==255){r(`Corrupted`);return}let l=c.getUint8(1);if(l===218){n(!0);return}let u=c.getUint16(2)-2;return a(t.slice(i,i+=u),t=>{if(t.byteLength!==u){r(`Corrupted`);return}e.push({startPos:s,length:u,marker:l,view:t}),o()})})};FileReader&&DataView||r(`Not Support`),a(t.slice(0,2),e=>{e.getUint16(0)!==65496&&r(`Not jpeg`),o()})})}},ep=async e=>{let t=[],{promiseReadJpegChunks:n,stack:r}=$f();return await n(e),r.forEach(({marker:e,view:n})=>{e===226&&n.getUint32(0)===1229144927&&n.getUint32(4)===1347571526&&n.getUint32(8)===1229735168&&t.push(n)}),t},tp=async(e,t,n)=>{{let r=[],i=[],{promiseReadJpegChunks:a,stack:o}=$f();await a(e),o.forEach(e=>{if(e.marker===t)return r.push(e.startPos),i.push(e.length)});let s=[e.slice(0,2)];for(let e of n){let n=new DataView(new ArrayBuffer(4));n.setUint16(0,65280+t),n.setUint16(2,e.byteLength+2),s.push(n.buffer),s.push(e)}let c=2;for(let t=0;t<r.length;t++)r[t]>c&&s.push(e.slice(c,r[t])),c=r[t]+i[t]+4;return s.push(e.slice(c,e.size)),new Blob(s,{type:e.type})}},np=226,rp=(e,t)=>tp(e,np,t.map(e=>e.buffer)),ip=async e=>{try{return await rp(e,[])}catch(e){throw Error(`Failed to strip ICC profile: ${e}`)}},ap=(e,t,n)=>new Promise((r,i)=>{e.toBlob(e=>{if(!e){i(`Failed to convert canvas to blob`);return}r(e)},t,n),e.width=e.height=1}),op=()=>{let e=document.createElement(`canvas`);return{canvas:e,ctx:e.getContext(`2d`)}},sp=e=>{let{ctx:t,canvas:n}=op();n.width=n.height=50,t.drawImage(e,0,0,50,50);let r=t.getImageData(0,0,50,50).data;n.width=n.height=1;for(let e=3;e<r.length;e+=4)if(r[e]<254)return!0;return!1},cp=async e=>{let t=null,{promiseReadJpegChunks:n,stack:r}=$f();return await n(e),r.forEach(({marker:e,view:n})=>{if(!t&&e===225&&n.byteLength>=14&&n.getUint32(0)===1165519206&&n.getUint16(4)===0){t=n;return}}),t},lp=`data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4QA6RXhpZgAATU0AKgAAAAgAAwESAAMAAAABAAYAAAEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wAALCAABAAIBASIA/8QAJgABAAAAAAAAAAAAAAAAAAAAAxABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQAAPwBH/9k=`,up=void 0,dp=()=>new Promise(e=>{if(up!==void 0)e(up);else{let t=new Image;t.addEventListener(`load`,()=>{up=t.naturalWidth<t.naturalHeight,t.src=`//:0`,e(up)}),t.src=lp}}),fp=(e,t)=>{let n,r,i,a;if(!e||e.byteLength<14||e.getUint32(0)!==1165519206||e.getUint16(4)!==0)return;if(e.getUint16(6)===18761)r=!0;else if(e.getUint16(6)===19789)r=!1;else return;if(e.getUint16(8,r)!==42)return;i=8+e.getUint32(10,r);let o=e.getUint16(i-2,r);for(n=0,a=o;a>=0?n<a:n>a;a>=0?++n:--n){if(e.byteLength<i+10)return;e.getUint16(i,r)===274&&t(i+8,r),i+=12}},pp=(e,t)=>{fp(e,(n,r)=>e.setUint16(n,t,r))},mp=async(e,t,n)=>(n&&pp(t,1),tp(e,225,[t.buffer])),hp=(e,t)=>new Promise((n,r)=>{t&&(e.src=t),e.complete?n(e):(e.addEventListener(`load`,()=>{n(e)}),e.addEventListener(`error`,()=>{r(Error(`Failed to load image. Probably not an image.`))}))}),gp=e=>hp(new Image,e),_p=[1,3],vp=[192,193,194,195,197,198,199,201,202,203,205,206,207],yp={squareSide:[Math.floor(Math.sqrt(5*1e3*1e3)),4096,8192,11180,10836,11402,14188,16384],dimension:[4096,8192,16384,32767,65535]},bp=async e=>{let t=!1,{promiseReadJpegChunks:n,stack:r}=$f();return await n(e).then(()=>(r.forEach(({marker:e,view:n})=>{if(!t&&vp.indexOf(e)>=0){let e=n.getUint8(5);_p.indexOf(e)<0&&(t=!0)}}),t)).catch(()=>t)},xp=(e,t)=>{let n={};return(...r)=>{let i=t(r,n);return i in n?n[i]:n[i]=e(...r)}},Sp=(e,t)=>{let[n]=e,r=Object.keys(t).map(e=>parseInt(e,10)).sort((e,t)=>e-t);for(let e=0;e<r.length;e++){let i=r[e],a=!!t[i];if(i>n&&a||i<n&&!a)return i}return n},Cp={R:55,G:110,B:165,A:255},wp=`rgba(${Cp.R}, ${Cp.G}, ${Cp.B}, ${Cp.A/255})`,Tp=(e,t)=>{try{let n=[e-1,t-1,1,1],{canvas:r,ctx:i}=op();r.width=1,r.height=1;let{canvas:a,ctx:o}=op();a.width=e,a.height=t,o&&(o.fillStyle=wp,o.fillRect(...n),i.drawImage(a,e-1,t-1,1,1,0,0,1,1));let s=i&&i.getImageData(0,0,1,1).data,c=!1;return s&&(c=s[0]===Cp.R&&s[1]===Cp.G&&s[2]===Cp.B&&s[3]===Cp.A),a.width=a.height=1,c}catch{return console.error(`Failed to test for max canvas size of ${e}x${t}.`),!1}},Ep=Qf(xp(Tp,Sp)),Dp=Qf(xp(Tp,Sp)),Op=async(e,t)=>{let n=yp.squareSide.find(n=>n*n>=e*t),r=yp.dimension.find(n=>n>=e&&n>=t);if(!n||!r)throw Error(`Not supported`);let[i,a]=await Promise.all([Ep(n,n),Dp(r,1)]);if(i&&a)return!0;throw Error(`Not supported`)},kp=async(e,t,n)=>{try{let{ctx:r,canvas:i}=op();return i.width=t,i.height=n,r.imageSmoothingQuality=`high`,r.drawImage(e,0,0,t,n),e instanceof HTMLImageElement&&(e.src=`//:0`),e instanceof HTMLCanvasElement&&(e.width=e.height=1),i}catch(e){throw Error(`Canvas resize error`,{cause:e})}},Ap=({img:e,targetW:t,targetH:n})=>kp(e,t,n),jp=function({sourceW:e,targetW:t,targetH:n,step:r}){let i=[],a=t,o=n;do i.push([a,o]),a=Math.round(a/r),o=Math.round(o/r);while(a<e*r);return i.reverse()},Mp=({img:e,sourceW:t,targetW:n,targetH:r,step:i})=>{let a=jp({sourceW:t,targetW:n,targetH:r,step:i});return a.reduce((e,[t,n],r)=>e.then(e=>Op(t,n).then(()=>kp(e,t,n)).catch(()=>{if(r===a.length-1)throw Error(`Not supported`);return e})),Promise.resolve(e))},Np=()=>/iPad|iPhone|iPod/.test(navigator.platform)?!0:navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),Pp=navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform),Fp=.71,Ip=(e,t)=>{if(e.width*Fp*e.height*Fp<t.size)throw Error(`Not required`);let n=e.width,r=n/e.height,i=Math.floor(Math.sqrt(t.size*r)),a=Math.floor(t.size/Math.sqrt(t.size*r));return Op(i,a).then(()=>{let{ctx:t}=op();return`imageSmoothingQuality`in t&&!Np()&&!Pp?Ap({img:e,targetW:i,targetH:a}):Mp({img:e,sourceW:n,targetW:i,targetH:a,step:Fp})}).catch(()=>Promise.reject(`Not supported`))},Lp=async(e,t)=>{try{if(await bp(e))throw Error(`Should skipped`);let n=await Promise.allSettled([cp(e),dp(),ep(e)]),r=!n.some(e=>e.status===`rejected`),[i,a,o]=n,s=await ip(e).catch(()=>e),c=await gp(URL.createObjectURL(s));URL.revokeObjectURL(c.src);let l=await Ip(c,t),u=`image/jpeg`,d=t?.quality||.8;!r&&sp(l)&&(u=`image/png`,d=void 0);let f=await ap(l,u,d);if(r&&i.status===`fulfilled`&&i.value){let e=i.value,t=a.status===`fulfilled`?a.value:!1;f=await mp(f,e,t)}return r&&o.status===`fulfilled`&&o.value.length>0&&(f=await rp(f,o.value)),f}catch(e){let t;throw e instanceof Error&&(t=e.message),typeof e==`string`&&(t=e),Error(`Failed to shrink image. ${t?`Message: "${t}".`:``}`,{cause:e})}}})),zp,Bp,Vp,Hp=n((()=>{zp=16384,Bp=/^([0-9]+)x([0-9]+)(?:\s+(\d{1,2}|100)%)?$/i,Vp=e=>{if(typeof e!=`string`)return!1;let t=Bp.exec(e.toLocaleLowerCase())??[];if(t.length===0)return!1;let n=Number(t[1])*Number(t[2]),r=zp*zp;return n>r?(console.warn(`Shrinked size can not be larger than ${Math.floor(r/1e3/1e3)}MP. You have set ${t[1]}x${t[2]} (${Math.ceil(n/1e3/100)/10}MP).`),!1):{quality:t[3]?Number(t[3])/100:void 0,size:n}}})),Up=r({imageShrinkPlugin:()=>Wp},1),Wp,Gp=n((()=>{Rp(),Hp(),Wp={id:`image-shrink`,setup({pluginApi:e}){e.registry.registerFileHook({type:`beforeUpload`,handler:async({file:t,mimeType:n})=>{let r=e.config.get(`imageShrink`);if(!r)return{file:t,mimeType:n};let i=Vp(r);if(!i)return console.warn(`[ImageShrinkPlugin] Image shrink settings are invalid, skipping shrinking`),{file:t,mimeType:n};try{let e=await Lp(t,i);return{file:e,mimeType:e.type||n}}catch{return{file:t,mimeType:n}}}})}}})),Kp=r({cameraPlugin:()=>Jp},1),qp,Jp,Yp=n((()=>{fn(),ga(),ds(),En(),qp=async()=>{let{CameraSource:e}=await Promise.resolve().then(()=>(qu(),Vu));un({CameraSource:e})},Jp={id:`camera`,setup:async({pluginApi:e,uploaderApi:t})=>{await qp(),e.registry.registerSource({id:`camera`,label:`src-type-camera`,icon:`camera`,expand:()=>{if(!us.htmlMediaCapture)return[`camera`];let t=wn(e.config.get(`cameraModes`));return t.length?t.map(e=>`mobile-${e}-camera`):[`mobile-photo-camera`]},onSelect:()=>{t.setCurrentActivity(j.CAMERA),t.setModalState(!0)}}),e.registry.registerSource({id:`mobile-photo-camera`,label:`src-type-camera`,icon:`camera`,onSelect:()=>{t.openSystemDialog({captureCamera:!0,modeCamera:`photo`})}}),e.registry.registerSource({id:`mobile-video-camera`,label:`src-type-camera`,icon:`camera`,onSelect:()=>{t.openSystemDialog({captureCamera:!0,modeCamera:`video`})}}),e.registry.registerActivity({id:j.CAMERA,render:e=>{let t=document.createElement(`uc-camera-source`);return e.append(t),()=>{e.replaceChildren()}}})}}})),Xp=r({instagramPlugin:()=>Zp},1),Zp,Qp=n((()=>{Zp={id:`instagram`,setup({pluginApi:e}){e.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:()=>{}})}}})),$p,em=n((()=>{$p=()=>{let e=globalThis.top??globalThis.parent??globalThis.self;try{return e.location.origin}catch(e){return console.warn(`Unable to access top-level window location:`,e),globalThis.location.origin}}})),tm,nm,rm=n((()=>{tm=e=>e.replace(/[\\-\\[]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),nm=(e,t=`i`)=>{let n=e.split(`*`).map(tm);return RegExp(`^${n.join(`.+`)}$`,t)}})),im,am,om,sm=n((()=>{im=[`--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`],am=(e,t)=>window.getComputedStyle(e).getPropertyValue(t).trim(),om=e=>{let t={};for(let n of im){let r=am(e,n);r&&(t[n]=r)}return t}})),cm=n((()=>{})),lm,um,dm,fm=n((()=>{lm=[`selected-files-change`,`toolbar-state-change`],um=e=>{if(!e||typeof e!=`object`||!(`type`in e))return!1;let t=e.type;return!(typeof t!=`string`||!lm.includes(t))},dm=class{constructor(e,t){this._handlerMap=new Map,this._handleMessage=e=>{if(e.source!==this._context)return;let t=e.data;if(!um(t))return;let n=this._handlerMap.get(t.type);if(n)for(let e of n)e(t)},this._context=e,this._getTargetOrigin=t,window.addEventListener(`message`,this._handleMessage)}on(e,t){let n=this._handlerMap.get(e)??new Set;this._handlerMap.has(e)||this._handlerMap.set(e,n),n.add(t)}send(e){let t=this._getTargetOrigin();this._context.postMessage(e,t)}destroy(){window.removeEventListener(`message`,this._handleMessage)}}}));function pm(e){let t=[];for(let[n,r]of Object.entries(e))r==null||typeof r==`string`&&r.length===0||t.push(`${n}=${encodeURIComponent(r)}`);return t.join(`&`)}var mm=n((()=>{})),hm=r({ExternalSource:()=>_m},1),gm,_m,vm=n((()=>{B(),em(),Vn(),oc(),rm(),sm(),cm(),y(),S(),G(),H(),fm(),mm(),T(),gm={[ic.GDRIVE]:`ngdrive`},_m=class extends V{constructor(...e){super(...e),this.couldBeCtxOwner=!0,this._iframeRef=U(),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 e of this._selectedList){let t=this._extractUrlFromSelectedFile(e),{filename:n}=e,{externalSourceType:r}=this.activityParams;this.api.addFileFromUrl(t,{fileName:n,source:r})}this.$[`*currentActivity`]=z.activities.UPLOAD_LIST,this.modalManager?.open(z.activities.UPLOAD_LIST)},this._handleCancel=()=>{this.historyBack()},this._handleSelectAll=()=>{this._messageBridge?.send({type:`select-all`})},this._handleDeselectAll=()=>{this._messageBridge?.send({type:`deselect-all`})}}get _counterText(){if(!this._latestSelectionSummary)return``;let{selectedCount:e,total:t}=this._latestSelectionSummary;return this.l10n(`selected-count`,{count:e,total:t})}get activityParams(){let e=super.activityParams;if(`externalSourceType`in e)return e;throw Error(`External Source activity params not found`)}initCallback(){super.initCallback();let{externalSourceType:e}=this.activityParams;e?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`,e=>{this._showSelectionStatus=e}),this.subConfigValue(`localeName`,()=>{this._setupL10n()}),this.subConfigValue(`externalSourcesEmbedCss`,e=>{this._applyEmbedCss(e)})}_extractUrlFromSelectedFile(e){if(e.alternatives){let t=Bn(this.cfg.externalSourcesPreferredTypes);for(let n of t){let t=nm(n);for(let[n,r]of Object.entries(e.alternatives))if(t.test(n))return r}}return e.url}_handleToolbarStateChange(e){this._toolbarVisible=e.isVisible}async _handleSelectedFilesChange(e){if(this.cfg.multiple!==e.isMultipleMode){console.error(`Multiple mode mismatch`);return}this._setSelectionSummary(e.selectedCount,e.total),this._doneBtnTextClass=e.isReady?``:`uc-hidden`,this._isSelectionReady=e.isReady,this._isDoneBtnEnabled=e.isReady&&e.selectedFiles.length>0,this._showSelectionStatus=e.isMultipleMode&&e.total>0,this._couldSelectAll=e.selectedCount<e.total,this._couldDeselectAll=e.selectedCount===e.total,this._selectedList=e.selectedFiles??[],this._showDoneBtn=e.total>0}_handleIframeLoad(){this._applyEmbedCss(this.cfg.externalSourcesEmbedCss),this._applyTheme(),this._setupL10n()}_applyTheme(){this._messageBridge?.send({type:`set-theme-definition`,theme:om(this)})}_applyEmbedCss(e){this._messageBridge?.send({type:`set-embed-css`,css:e})}_setupL10n(){this._messageBridge?.send({type:`set-locale-definition`,localeDefinition:this.cfg.localeName})}_remoteUrl(){let{pubkey:e,remoteTabSessionKey:t,socialBaseUrl:n,multiple:r}=this.cfg,{externalSourceType:i}=this.activityParams,a=gm[i]??i,o={lang:this.l10n(`social-source-lang`)?.split(`-`)?.[0]||`en`,public_key:e,images_only:`false`,session_key:t,wait_for_theme:!0,multiple:r.toString(),origin:this.cfg.topLevelOrigin||$p(),debug:this.cfg.debug},s=new URL(`/window4/${a}`,n);return s.search=pm(o),s.toString()}_setSelectionSummary(e,t){this._latestSelectionSummary={selectedCount:e,total:t}}_mountIframe(){let e=document.createElement(`iframe`);e.src=this._remoteUrl(),e.marginHeight=0,e.marginWidth=0,e.frameBorder=`0`,e.allowTransparency=!0,e.addEventListener(`load`,this._handleIframeLoad.bind(this)),e.addEventListener(`load`,this._handleIframeLoad.bind(this)),this._iframeRef.value&&(this._iframeRef.value.innerHTML=``,this._iframeRef.value.appendChild(e)),e.contentWindow&&(this._messageBridge?.destroy(),this._messageBridge=new dm(e.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 _`
|
|
588
|
+
<uc-activity-header>
|
|
589
|
+
<button
|
|
590
|
+
type="button"
|
|
591
|
+
class="uc-mini-btn uc-close-btn"
|
|
592
|
+
@click=${this.$[`*historyBack`]}
|
|
593
|
+
title=${this.l10n(`a11y-activity-header-button-close`)}
|
|
594
|
+
aria-label=${this.l10n(`a11y-activity-header-button-close`)}
|
|
595
|
+
>
|
|
596
|
+
<uc-icon name="close"></uc-icon>
|
|
597
|
+
</button>
|
|
598
|
+
</uc-activity-header>
|
|
599
|
+
<div class="uc-content">
|
|
600
|
+
<div ${W(this._iframeRef)} class="uc-iframe-wrapper"></div>
|
|
601
|
+
<div class="uc-toolbar" ?hidden=${!this._toolbarVisible}>
|
|
602
|
+
<button type="button" class="uc-cancel-btn uc-secondary-btn" @click=${this._handleCancel}>${this.l10n(`cancel`)}</button>
|
|
603
|
+
<div class="uc-selection-status-box" ?hidden=${!this._showSelectionStatus}>
|
|
604
|
+
<span>${this._counterText}</span>
|
|
605
|
+
<button type="button" @click=${this._handleSelectAll} ?hidden=${!this._couldSelectAll}>${this.l10n(`select-all`)}</button>
|
|
606
|
+
<button type="button" @click=${this._handleDeselectAll} ?hidden=${!this._couldDeselectAll}>${this.l10n(`deselect-all`)}</button>
|
|
607
|
+
</div>
|
|
608
|
+
<button
|
|
609
|
+
type="button"
|
|
610
|
+
class="uc-done-btn uc-primary-btn"
|
|
611
|
+
@click=${this._handleDone}
|
|
612
|
+
?disabled=${!this._isDoneBtnEnabled}
|
|
613
|
+
?hidden=${!this._showDoneBtn}
|
|
614
|
+
>
|
|
615
|
+
<uc-spinner ?hidden=${this._isSelectionReady}></uc-spinner>
|
|
616
|
+
<span class=${this._doneBtnTextClass}>${this.l10n(`done`)}</span>
|
|
617
|
+
</button>
|
|
618
|
+
</div>
|
|
619
|
+
</div>
|
|
620
|
+
`}},w([x()],_m.prototype,`_selectedList`,void 0),w([x()],_m.prototype,`_isSelectionReady`,void 0),w([x()],_m.prototype,`_isDoneBtnEnabled`,void 0),w([x()],_m.prototype,`_couldSelectAll`,void 0),w([x()],_m.prototype,`_couldDeselectAll`,void 0),w([x()],_m.prototype,`_showSelectionStatus`,void 0),w([x()],_m.prototype,`_showDoneBtn`,void 0),w([x()],_m.prototype,`_doneBtnTextClass`,void 0),w([x()],_m.prototype,`_toolbarVisible`,void 0)})),ym=r({externalSourcesPlugin:()=>xm},1),bm,xm,Sm=n((()=>{fn(),ga(),oc(),bm=async()=>{let{ExternalSource:e}=await Promise.resolve().then(()=>(vm(),hm));un({ExternalSource:e})},xm={id:`external-sources`,setup:async({pluginApi:e,uploaderApi:t})=>{await bm(),e.registry.registerActivity({id:j.EXTERNAL,render:e=>{let t=document.createElement(`uc-external-source`);return e.append(t),()=>{e.replaceChildren()}}});for(let n of Object.values(ic))e.registry.registerSource({id:n,label:`src-type-${n}`,icon:n,onSelect:()=>{t.setCurrentActivity(j.EXTERNAL,{externalSourceType:n}),t.setModalState(!0)}})}}})),Cm=r({urlSourcePlugin:()=>Tm},1),wm,Tm,Em=n((()=>{fn(),ga(),wm=async()=>{let{UrlSource:e}=await Promise.resolve().then(()=>(Mu(),Au));un({UrlSource:e})},Tm={id:`url-source`,setup:async({pluginApi:e,uploaderApi:t})=>{await wm(),e.registry.registerActivity({id:j.URL,render:e=>{let t=document.createElement(`uc-url-source`);return e.append(t),()=>{e.replaceChildren()}}}),e.registry.registerSource({id:`url`,label:`src-type-from-url`,icon:`url`,onSelect:()=>{t.setCurrentActivity(j.URL),t.setModalState(!0)}})}}})),Dm,Om,km,Am,jm=n((()=>{sd(),En(),ld(),oc(),pr(),Dm=e=>e,Om=async({plugins:e,entries:t,signal:n})=>{let r=e(),i=new Set(t.map(e=>e.pluginId)),a=r.filter(e=>!i.has(e?.id)),o=await Promise.all(t.map(async e=>{if(!e.isEnabled())return null;let t=r.find(t=>t?.id===e.pluginId);if(t)return t;try{let t=await e.load();return n.aborted||!e.isEnabled()?null:t??null}catch(t){return n.aborted||console.warn(`[${e.pluginId}] Failed to load plugin`,t),null}}));if(n.aborted)return r;let s=o.filter(e=>e!==null),c=[...a,...s];return c.length===r.length&&c.every((e,t)=>e===r[t])?r:c},km=[Dm({key:`cameraModes`,deps:[`enableVideoRecording`],fn:({cameraModes:e,enableVideoRecording:t})=>{let n=t();if(n===null)return e();let r=wn(e());return n&&!r.includes(`video`)?r=r.concat(`video`):n||(r=r.filter(e=>e!==`video`)),Tn(r)}}),Dm({key:`cameraModes`,deps:[`defaultCameraMode`],fn:({cameraModes:e,defaultCameraMode:t})=>{let n=t();if(n===null)return e();let r=wn(e());return r=r.sort((e,t)=>e===n?-1:t===n?1:0),Tn(r)}}),Dm({key:`cdnCname`,deps:[`pubkey`,`cdnCnamePrefixed`],fn:({pubkey:e,cdnCname:t,cdnCnamePrefixed:n})=>{let r=e(),i=t(),a=n();return r&&(i===`https://ucarecdn.com`||td(i,a))?od(r,a):i}}),Dm({key:`plugins`,deps:[`useCloudImageEditor`,`imageShrink`,`sourceList`],fn:({plugins:e,useCloudImageEditor:t,imageShrink:n,sourceList:r},{signal:i})=>Om({plugins:e,entries:[{pluginId:`cloud-image-editor`,isEnabled:()=>!!t(),load:async()=>{let{cloudImageEditorPlugin:e}=await Promise.resolve().then(()=>(Zf(),Gf));return e}},{pluginId:`image-shrink`,isEnabled:()=>!!n(),load:async()=>{let{imageShrinkPlugin:e}=await Promise.resolve().then(()=>(Gp(),Up));return e}},{pluginId:`camera`,isEnabled:()=>wn(r()).includes(`camera`),load:async()=>{let{cameraPlugin:e}=await Promise.resolve().then(()=>(Yp(),Kp));return e}},{pluginId:`instagram`,isEnabled:()=>wn(r()).includes(`instagram`),load:async()=>{let{instagramPlugin:e}=await Promise.resolve().then(()=>(Qp(),Xp));return e}},{pluginId:`external-sources`,isEnabled:()=>Object.values(ic).some(e=>wn(r()).includes(e)),load:async()=>{let{externalSourcesPlugin:e}=await Promise.resolve().then(()=>(Sm(),ym));return e}},{pluginId:`url-source`,isEnabled:()=>wn(r()).includes(`url`),load:async()=>{let{urlSourcePlugin:e}=await Promise.resolve().then(()=>(Em(),Cm));return e}}],signal:i})})],Am=({key:e,setValue:t,getValue:n,computationControllers:r})=>{for(let i of km)if(i.deps.includes(e)){let e={[i.key]:()=>n(i.key)};for(let t of i.deps)e[t]=()=>n(t);let a=new AbortController;r.get(i.fn)?.abort(),r.set(i.fn,a);let o;try{o=i.fn(e,{signal:a.signal})}catch(e){r.get(i.fn)===a&&r.delete(i.fn),console.error(`Failed to compute value for "${i.key}"`,e);return}cd(o)?o.then(e=>{a.signal.aborted||t(i.key,e)}).catch(e=>{a.signal.aborted||console.error(`Failed to compute value for "${i.key}"`,e)}).finally(()=>{r.get(i.fn)===a&&r.delete(i.fn)}):t(i.key,o)}}})),Z,Q,$,Mm,Nm,Pm,Fm,Im,Lm,Rm,zm,Bm,Vm,Hm=n((()=>{En(),Ks(),Z=e=>String(e),Q=e=>{let t=Number(e);if(Number.isNaN(t))throw Error(`Invalid number: "${e}"`);return t},$=e=>{if(e==null)return!1;if(typeof e==`boolean`)return e;if(e===`true`||e===``)return!0;if(e===`false`)return!1;throw Error(`Invalid boolean: "${e}"`)},Mm=e=>e===`auto`?e:$(e),Nm=e=>{let t=Z(e);if(t!==`user`&&t!==`environment`&&t!==``)throw Error(`Invalid value: "${t}"`);return t},Pm=e=>{let t=Z(e);if(!Object.values(L).includes(t))throw Error(`Invalid value: "${t}"`);return t},Fm=e=>{let t=Z(e),n=wn(t);if(n.some(e=>!Object.values(L).includes(e)))throw Error(`Invalid value: "${JSON.stringify(n)}"`);return t},Im=e=>{let t=Z(e);if(t===`local`||t===`global`)return t;if($(e)===!1)return!1;throw Error(`Invalid value: "${t}"`)},Lm=e=>{if(typeof e==`object`&&!Array.isArray(e)||typeof e==`function`)return e;throw Error(`Invalid metadata value. Must be an object or function.`)},Rm=e=>{if(typeof e==`object`)return e;throw Error(`Invalid value. Must be an object.`)},zm=e=>{if(typeof e==`function`)return e;throw Error(`Invalid value. Must be a function.`)},Bm=e=>{if(Array.isArray(e))return e;throw Error(`Must be an array.`)},Vm=e=>{let t=Z(e);if([`grid`,`list`].includes(t))return t;throw Error(`Invalid value: "${t}"`)}})),Um,Wm,Gm=n((()=>{pr(),Hm(),Um={pubkey:Z,multiple:$,multipleMin:Q,multipleMax:Q,confirmUpload:$,imgOnly:$,accept:Z,externalSourcesPreferredTypes:Z,externalSourcesEmbedCss:Z,store:Mm,cameraMirror:$,cameraCapture:Nm,sourceList:Z,topLevelOrigin:Z,maxLocalFileSizeBytes:Q,thumbSize:Q,showEmptyList:$,useLocalImageEditor:$,useCloudImageEditor:$,cloudImageEditorTabs:Z,removeCopyright:$,cropPreset:Z,imageShrink:Z,modalScrollLock:$,modalBackdropStrokes:$,sourceListWrap:$,remoteTabSessionKey:Z,cdnCname:Z,cdnCnamePrefixed:Z,baseUrl:Z,socialBaseUrl:Z,secureSignature:Z,secureExpire:Z,secureDeliveryProxy:Z,retryThrottledRequestMaxTimes:Q,retryNetworkErrorMaxTimes:Q,multipartMinFileSize:Q,multipartChunkSize:Q,maxConcurrentRequests:Q,multipartMaxConcurrentRequests:Q,multipartMaxAttempts:Q,checkForUrlDuplicates:$,saveUrlForRecurrentUploads:$,groupOutput:$,userAgentIntegration:Z,debug:$,localeName:Z,metadata:Lm,secureUploadsExpireThreshold:Q,localeDefinitionOverride:e=>Rm(e),secureUploadsSignatureResolver:e=>zm(e),secureDeliveryProxyUrlResolver:e=>zm(e),iconHrefResolver:e=>zm(e),plugins:e=>Bm(e),fileValidators:Bm,collectionValidators:Bm,validationTimeout:Q,validationConcurrency:Q,cameraModes:Fm,defaultCameraMode:Pm,enableAudioRecording:$,enableVideoRecording:$,mediaRecorderOptions:Rm,maxVideoRecordingDuration:Q,filesViewMode:Vm,gridShowFileNames:$,cloudImageEditorAutoOpen:$,cloudImageEditorMaskHref:Z,testMode:$,qualityInsights:$,pasteScope:Im},Wm=(e,t)=>{if(t!=null)try{return Um[e](t)}catch(t){return console.error(`Invalid value for config key "${e}".`,t),fr[e]}}})),Km,qm,Jm,Ym,Xm,Zm,Qm,$m=n((()=>{Cn(),Xu(),Zu(),I(),jm(),pr(),Gm(),Km=[...new Set([`debug`,...Object.keys(fr)])],qm=[`metadata`,`plugins`,`localeDefinitionOverride`,`secureUploadsSignatureResolver`,`secureDeliveryProxyUrlResolver`,`iconHrefResolver`,`fileValidators`,`collectionValidators`,`mediaRecorderOptions`],Jm=e=>qm.includes(e),Ym=Km.filter(e=>!Jm(e)),Xm={...Object.fromEntries(Ym.map(e=>[Cr(e),e])),...Object.fromEntries(Ym.map(e=>[e.toLowerCase(),e]))},Zm=e=>`__${e}`,Qm=class extends F{constructor(...e){super(...e),this.init$={...this.init$,...Object.fromEntries(Object.entries(fr).map(([e,t])=>[E(e),t]))},this._computationControllers=new Map,this._customAttrKeyMapping={},this._customConfigKeys=new Set,this._customConfigSubscriptions=new Map}_isCustomConfig(e){return this._customConfigKeys.has(e)}_getCustomConfigDefinition(e){let t=this._sharedInstancesBag.pluginManager;if(t)return t.configRegistry.get(e)}_getAttributeNames(e){return[...new Set([Cr(e),e.toLowerCase()])]}_flushValueToAttribute(e,t){if(Jm(e)||this._isCustomConfig(e)&&this._getCustomConfigDefinition(e)?.attribute===!1)return;let n=this._getAttributeNames(e);for(let e of n)t==null?this.removeAttribute(e):this.getAttribute(e)!==t.toString()&&this.setAttribute(e,t.toString())}_flushValueToState(e,t){let n=E(e);if(this.$[n]!==t)if(t==null){let r=fr[e];this.$[n]=r===void 0?t:r}else this.$[n]=t}_setValue(e,t){let n;n=this._isCustomConfig(e)?this._getCustomConfigDefinition(e)?.normalize?.(t)??t:Wm(e,t);let r=this,i=Zm(e);r[i]!==n&&(this._assertSameValueDifferentReference(e,r[i],n),r[i]=n,this._flushValueToAttribute(e,n),this._flushValueToState(e,n),this.debugPrint(`"${e}"`,n),this._isCustomConfig(e)||Yu(this.cfg))}_getValue(e){return this[Zm(e)]??this.$[E(e)]}_assertSameValueDifferentReference(e,t,n){this.cfg.debug&&n!==t&&typeof n==`object`&&typeof t==`object`&&JSON.stringify(n)===JSON.stringify(t)&&(console.warn(`[uc-config] Option "${e}" 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] "${e}" previous value:`,t),console.warn(`[uc-config] "${e}" new value:`,n))}_processCustomConfigs(e){let t=e.configRegistry.getAll();this._customAttrKeyMapping={},this._customConfigKeys=new Set(t.keys());for(let[e,n]of this._customConfigSubscriptions)t.has(e)||(n(),this._customConfigSubscriptions.delete(e));for(let[e,n]of t){let t=E(e);if(n.attribute){let t=this._getAttributeNames(e);for(let n of t)this._customAttrKeyMapping[n]=e}this.sharedCtx.has(t)||this.sharedCtx.add(t,n.defaultValue);let r=Object.getOwnPropertyDescriptor(this,e);if((!r||!r.set||!r.get)&&Object.defineProperty(this,e,{set:t=>{this._setValue(e,t)},get:()=>this._getValue(e),enumerable:!0,configurable:!0}),!this._customConfigSubscriptions.has(e)){let n=this.sub(t,t=>{this._setValue(e,t)},!1);this._customConfigSubscriptions.set(e,n)}}}_setupCustomConfigs(){this._sharedInstancesBag.when(`pluginManager`,e=>{this._processCustomConfigs(e),this._pluginChangeUnsubscribe=e.onPluginsChange(()=>{this._processCustomConfigs(e)})})}_setupMutationObserver(){this._mutationObserver=new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`&&t.attributeName){let e=t.attributeName,n=t.oldValue,r=this.getAttribute(e);if(n===r||e in Xm)continue;e in this._customAttrKeyMapping&&this.attributeChangedCallback(e,n??``,r??``)}}),this._mutationObserver.observe(this,{attributes:!0,attributeOldValue:!0})}initCallback(){super.initCallback();let e=this;this._setupCustomConfigs(),this._setupMutationObserver();for(let e of Ym)this.sub(E(e),t=>{this._setValue(e,t)},!1);for(let t of Km){let n=e[t]??this.$[E(t)];n!==fr[t]&&this._setValue(t,n);let r=Object.getOwnPropertyDescriptor(this,t);(!r||!r.set||!r.get)&&Object.defineProperty(this,t,{set:e=>{this._setValue(t,e)},get:()=>this._getValue(t)})}for(let e of Km)this.sub(E(e),()=>{Am({key:e,setValue:this._setValue.bind(this),getValue:this._getValue.bind(this),computationControllers:this._computationControllers})})}attributeChangedCallback(e,t,n){if(super.attributeChangedCallback(e,t,n),t===n)return;let r=this,i=Xm[e];i?r[i]=n:this._sharedInstancesBag.when(`pluginManager`,t=>{if(this.getAttribute(e)!==n)return;let r=this._customAttrKeyMapping[e],i=r?t.configRegistry.get(r):void 0;if(r&&i){let e=i.fromAttribute?i.fromAttribute(n):n;if(this._getValue(r)===e)return;this._setValue(r,e)}})}disconnectedCallback(){super.disconnectedCallback(),this._pluginChangeUnsubscribe&&=(this._pluginChangeUnsubscribe(),void 0),this._mutationObserver&&=(this._mutationObserver.disconnect(),void 0);for(let e of this._customConfigSubscriptions.values())e();this._customConfigSubscriptions.clear()}static get observedAttributes(){let e=super.observedAttributes,t=Object.keys(Xm);return[...e,...t]}};for(let e of Km)Qm.prototype[e]=void 0}));vm(),qu(),Mu(),y(),S(),H(),T();var eh=class extends V{constructor(...e){super(...e),this.couldBeCtxOwner=!0,this.dropzone=!0,this._buttonTextKey=`upload-file`,this._handleClick=()=>{this.api.initFlow()}}static{this.styleAttrs=[...super.styleAttrs,`uc-simple-btn`]}initCallback(){super.initCallback(),this.subConfigValue(`multiple`,e=>{this._buttonTextKey=e?`upload-files`:`upload-file`})}render(){return _`
|
|
621
|
+
<uc-drop-area .disabled=${!this.dropzone}>
|
|
622
|
+
<button type="button" @click=${this._handleClick}>
|
|
623
|
+
<uc-icon name="upload"></uc-icon>
|
|
624
|
+
<span>${this.l10n(this._buttonTextKey)}</span>
|
|
625
|
+
${this.yield(``)}
|
|
626
|
+
<div class="uc-visual-drop-area">${this.l10n(`drop-files-here`)}</div>
|
|
627
|
+
</button>
|
|
628
|
+
</uc-drop-area>
|
|
629
|
+
`}};w([b({attribute:`dropzone`,type:Boolean})],eh.prototype,`dropzone`,void 0),w([x()],eh.prototype,`_buttonTextKey`,void 0),y(),S(),G(),B(),I(),T();var th=class extends z{constructor(...e){super(...e),this.activityType=null,this._containerRef=U()}initCallback(){this.activityType=this.registration?.id??null,super.initCallback(),this._ensureRegistered()}willUpdate(e){super.willUpdate(e),e.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 e=this._containerRef.value;if(!e||!this.registration)return;this._disposeActivity();let t=this.$[`*currentActivityParams`];this._dispose=this.registration.render(e,t)??void 0}_disposeActivity(){this._dispose?.(),this._dispose=void 0;let e=this._containerRef.value;e&&e.replaceChildren()}disconnectedCallback(){this._disposeActivity(),super.disconnectedCallback()}render(){return _`<div
|
|
630
|
+
style="display: flex; flex-direction: column; width: 100%; min-height: 0;"
|
|
631
|
+
${W(this._containerRef)}
|
|
632
|
+
></div>`}};w([b({attribute:!1})],th.prototype,`registration`,void 0);var nh=class extends F{constructor(...e){super(...e),this.mode=`modal`,this._activities=[]}initCallback(){super.initCallback();let e=this._sharedInstancesBag.pluginManager;e?.onPluginsChange&&(this._unsubscribePlugins=e.onPluginsChange(()=>this._syncActivities())),this._syncActivities()}_syncActivities(){let e=this._sharedInstancesBag.pluginManager;if(!e){this._activities=[];return}this._activities=e.snapshot().activities}disconnectedCallback(){this._unsubscribePlugins?.(),this._unsubscribePlugins=void 0,super.disconnectedCallback()}render(){return this.mode===`inline`?_`${_u(this._activities,e=>e.id,e=>_`<uc-plugin-activity-host .registration=${e}></uc-plugin-activity-host>`)}`:_`${_u(this._activities,e=>e.id,e=>_`
|
|
633
|
+
<uc-modal id=${e.id} strokes block-body-scrolling>
|
|
634
|
+
<uc-plugin-activity-host .registration=${e}></uc-plugin-activity-host>
|
|
635
|
+
</uc-modal>
|
|
636
|
+
`)}`}};w([b({type:String})],nh.prototype,`mode`,void 0),w([x()],nh.prototype,`_activities`,void 0),y(),S(),P(),T();var rh=class extends Jo{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:M.INIT_SOLUTION})}render(){return _`
|
|
637
|
+
${super.render()}
|
|
638
|
+
<uc-simple-btn ?hidden=${this.headless}></uc-simple-btn>
|
|
639
|
+
|
|
640
|
+
<uc-modal id="start-from" strokes block-body-scrolling>
|
|
641
|
+
<uc-start-from>
|
|
642
|
+
<uc-drop-area with-icon clickable></uc-drop-area>
|
|
643
|
+
<uc-source-list role="list" wrap></uc-source-list>
|
|
644
|
+
<button type="button" class="uc-secondary-btn" @click=${this.$[`*historyBack`]}>${this.l10n(`start-from-cancel`)}</button>
|
|
645
|
+
<uc-copyright></uc-copyright>
|
|
646
|
+
</uc-start-from>
|
|
647
|
+
</uc-modal>
|
|
648
|
+
|
|
649
|
+
<uc-modal id="upload-list" strokes block-body-scrolling>
|
|
650
|
+
<uc-upload-list></uc-upload-list>
|
|
651
|
+
</uc-modal>
|
|
652
|
+
|
|
653
|
+
<uc-plugin-activity-renderer mode="modal"></uc-plugin-activity-renderer>
|
|
654
|
+
`}};w([b({type:Boolean})],rh.prototype,`headless`,void 0),y(),S(),P(),B(),T();var ih=class extends Jo{static{this.styleAttrs=[...super.styleAttrs,`uc-file-uploader-inline`]}constructor(){super(),this._couldCancel=!1,this._handleCancel=()=>{if(this._couldHistoryBack){let e=this.$[`*historyBack`];e?.();return}this._couldShowList&&(this.$[`*currentActivity`]=z.activities.UPLOAD_LIST)},this.init$={...this.init$}}get _couldHistoryBack(){let e=this.$[`*history`];return!e||e.length<=1?!1:e[e.length-1]!==z.activities.START_FROM}get _couldShowList(){let e=this.$[`*uploadList`];return this.cfg.showEmptyList||Array.isArray(e)&&e.length>0}_getInitActivity(){return this.getCssData(`--cfg-init-activity`)||z.activities.START_FROM}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:M.INIT_SOLUTION});let e=this._getInitActivity();this.sub(`*currentActivity`,t=>{t||(this.$[`*currentActivity`]=e)}),this.sub(`*uploadList`,t=>{Array.isArray(t)&&t.length>0&&this.$[`*currentActivity`]===e&&(this.$[`*currentActivity`]=z.activities.UPLOAD_LIST)}),this.sub(`*history`,()=>{this._couldCancel=this._couldHistoryBack||this._couldShowList})}render(){return _`
|
|
655
|
+
${super.render()}
|
|
656
|
+
<uc-start-from>
|
|
657
|
+
<uc-drop-area with-icon clickable></uc-drop-area>
|
|
658
|
+
<uc-source-list role="list" wrap></uc-source-list>
|
|
659
|
+
<button
|
|
660
|
+
type="button"
|
|
661
|
+
class="uc-cancel-btn uc-secondary-btn"
|
|
662
|
+
@click=${this._handleCancel}
|
|
663
|
+
?hidden=${!this._couldCancel}
|
|
664
|
+
>
|
|
665
|
+
${this.l10n(`start-from-cancel`)}
|
|
666
|
+
</button>
|
|
667
|
+
<uc-copyright></uc-copyright>
|
|
668
|
+
</uc-start-from>
|
|
669
|
+
<uc-upload-list></uc-upload-list>
|
|
670
|
+
<uc-plugin-activity-renderer mode="inline"></uc-plugin-activity-renderer>
|
|
671
|
+
`}};w([x()],ih.prototype,`_couldCancel`,void 0),y(),S(),Sr(),P(),B(),T();var ah=`active`,oh=``,sh=class extends Jo{static{this.styleAttrs=[...super.styleAttrs,`uc-file-uploader-minimal`]}_getInitActivity(){return this.getCssData(`--cfg-init-activity`)||z.activities.START_FROM}constructor(){super(),this._singleUpload=!1,this._isHiddenStartFrom=!1,this._classUploadList=oh,this._classStartFrom=oh,this._handleModalOpen=e=>{e.id===z.activities.CLOUD_IMG_EDIT&&(this._classUploadList=ah),this.$[`*currentActivity`]===z.activities.UPLOAD_LIST&&(this._classUploadList=ah,this._isHiddenStartFrom=!0);let t=this.$[`*uploadList`];(!t||t.length<=0)&&(this._classStartFrom=ah)},this._handleModalClose=e=>{e.id===this.$[`*currentActivity`]&&(this.$[`*currentActivity`]=z.activities.UPLOAD_LIST,this._isHiddenStartFrom=!1),e.id===z.activities.CLOUD_IMG_EDIT&&(this.$[`*currentActivity`]=z.activities.UPLOAD_LIST)},this.init$={...this.init$}}initCallback(){super.initCallback(),this.telemetryManager.sendEvent({eventType:M.INIT_SOLUTION});let e=this._getInitActivity();this.sub(`*currentActivity`,t=>{t===z.activities.UPLOAD_LIST&&this.modalManager?.closeAll(),t||(this.$[`*currentActivity`]=e)}),this.sub(`*uploadList`,t=>{Array.isArray(t)&&t.length>0?(this.$[`*currentActivity`]=z.activities.UPLOAD_LIST,this._classStartFrom=oh):(this._classUploadList=oh,this._isHiddenStartFrom=!1,this.$[`*currentActivity`]=e)}),this.subConfigValue(`confirmUpload`,e=>{e!==!1&&(this.cfg.confirmUpload=!1)}),this.subConfigValue(`filesViewMode`,e=>{this.setAttribute(`mode`,e),this.subConfigValue(`multiple`,t=>{e===`grid`?(t?this.style.removeProperty(`--uc-grid-col`):this.style.setProperty(`--uc-grid-col`,`1`),this._singleUpload=!t):(this.style.removeProperty(`--uc-grid-col`),this._singleUpload=!1)})}),this.modalManager?.subscribe(O.OPEN,this._handleModalOpen),this.modalManager?.subscribe(O.CLOSE,this._handleModalClose)}disconnectedCallback(){super.disconnectedCallback(),this.modalManager?.unsubscribe(O.OPEN,this._handleModalOpen),this.modalManager?.unsubscribe(O.CLOSE,this._handleModalClose)}render(){return _`
|
|
672
|
+
${super.render()}
|
|
673
|
+
<uc-start-from ?hidden=${this._isHiddenStartFrom} class=${this._classStartFrom}>
|
|
674
|
+
<uc-drop-area
|
|
675
|
+
?single=${this._singleUpload}
|
|
676
|
+
initflow
|
|
677
|
+
clickable
|
|
678
|
+
tabindex="0"
|
|
679
|
+
><span>${this.l10n(`choose-file`)}</span></uc-drop-area>
|
|
680
|
+
<uc-copyright></uc-copyright>
|
|
681
|
+
</uc-start-from>
|
|
682
|
+
<uc-upload-list class=${this._classUploadList}></uc-upload-list>
|
|
683
|
+
|
|
684
|
+
<uc-modal id="start-from" strokes block-body-scrolling>
|
|
685
|
+
<uc-start-from>
|
|
686
|
+
<uc-drop-area with-icon clickable></uc-drop-area>
|
|
687
|
+
<uc-source-list role="list" wrap></uc-source-list>
|
|
688
|
+
<button
|
|
689
|
+
type="button"
|
|
690
|
+
class="uc-secondary-btn"
|
|
691
|
+
@click=${this.$[`*historyBack`]}
|
|
692
|
+
>${this.l10n(`start-from-cancel`)}</button>
|
|
693
|
+
</uc-start-from>
|
|
694
|
+
</uc-modal>
|
|
695
|
+
|
|
696
|
+
<uc-plugin-activity-renderer mode="modal"></uc-plugin-activity-renderer>
|
|
697
|
+
`}};return w([x()],sh.prototype,`_singleUpload`,void 0),w([x()],sh.prototype,`_isHiddenStartFrom`,void 0),w([x()],sh.prototype,`_classUploadList`,void 0),w([x()],sh.prototype,`_classStartFrom`,void 0),ne(),ln(),fn(),Sn(),Sr(),wr(),I(),H(),B(),il(),Kl(),Zl(),du(),$m(),oc(),po(),e.ActivityBlock=z,e.ActivityHeader=uu,e.BaseComponent=sn,e.Block=F,e.CameraSource=Y,e.Config=Qm,e.Copyright=Vl,e.Data=g,e.DropArea=Du,e.ExternalSource=_m,e.ExternalUploadSource=ic,e.FileItem=q,e.FileUploaderInline=ih,e.FileUploaderMinimal=sh,e.FileUploaderRegular=rh,e.FormInput=Bl,e.Icon=rl,e.Img=hl,e.Modal=zl,e.ModalEvents=O,e.PACKAGE_NAME=uo,e.PACKAGE_VERSION=fo,e.PluginActivityHost=th,e.PluginActivityRenderer=nh,e.ProgressBar=Hl,e.ProgressBarCommon=Ul,e.Select=Gl,e.SimpleBtn=eh,e.SolutionBlock=Jo,e.SourceBtn=ql,e.SourceList=Jl,e.Spinner=Xl,e.StartFrom=fu,e.Thumb=cu,e.UID=cn,e.UploadCtxProvider=pu,e.UploadList=Ou,e.UploadSource=R,e.UploaderBlock=V,e.UrlSource=ju,e.defineComponents=un,e.defineLocale=bn,e.loadFileUploaderFrom=pn,e.toKebabCase=Cr,e})({});
|