@ckeditor/ckeditor5-ckbox 40.0.0 → 40.2.0
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE.md +6 -2
- package/build/ckbox.js +2 -2
- package/build/translations/ar.js +1 -1
- package/build/translations/az.js +1 -1
- package/build/translations/bg.js +1 -1
- package/build/translations/bn.js +1 -1
- package/build/translations/ca.js +1 -1
- package/build/translations/cs.js +1 -1
- package/build/translations/da.js +1 -1
- package/build/translations/de.js +1 -1
- package/build/translations/el.js +1 -1
- package/build/translations/en-au.js +1 -1
- package/build/translations/es-co.js +1 -1
- package/build/translations/es.js +1 -1
- package/build/translations/et.js +1 -1
- package/build/translations/fa.js +1 -1
- package/build/translations/fi.js +1 -1
- package/build/translations/fr.js +1 -1
- package/build/translations/gl.js +1 -1
- package/build/translations/he.js +1 -1
- package/build/translations/hi.js +1 -1
- package/build/translations/hr.js +1 -1
- package/build/translations/hu.js +1 -1
- package/build/translations/id.js +1 -1
- package/build/translations/it.js +1 -1
- package/build/translations/ja.js +1 -1
- package/build/translations/ko.js +1 -1
- package/build/translations/lt.js +1 -1
- package/build/translations/lv.js +1 -1
- package/build/translations/ms.js +1 -1
- package/build/translations/nl.js +1 -1
- package/build/translations/no.js +1 -1
- package/build/translations/pl.js +1 -1
- package/build/translations/pt-br.js +1 -1
- package/build/translations/pt.js +1 -1
- package/build/translations/ro.js +1 -1
- package/build/translations/ru.js +1 -1
- package/build/translations/sk.js +1 -1
- package/build/translations/sq.js +1 -1
- package/build/translations/sr-latn.js +1 -1
- package/build/translations/sr.js +1 -1
- package/build/translations/sv.js +1 -1
- package/build/translations/th.js +1 -1
- package/build/translations/tr.js +1 -1
- package/build/translations/ug.js +1 -1
- package/build/translations/uk.js +1 -1
- package/build/translations/ur.js +1 -1
- package/build/translations/uz.js +1 -1
- package/build/translations/vi.js +1 -1
- package/build/translations/zh-cn.js +1 -1
- package/build/translations/zh.js +1 -1
- package/ckeditor5-metadata.json +17 -0
- package/lang/contexts.json +6 -2
- package/lang/translations/ar.po +18 -2
- package/lang/translations/az.po +18 -2
- package/lang/translations/bg.po +18 -2
- package/lang/translations/bn.po +18 -2
- package/lang/translations/ca.po +18 -2
- package/lang/translations/cs.po +18 -2
- package/lang/translations/da.po +18 -2
- package/lang/translations/de.po +18 -2
- package/lang/translations/el.po +18 -2
- package/lang/translations/en-au.po +18 -2
- package/lang/translations/en.po +18 -2
- package/lang/translations/es-co.po +18 -2
- package/lang/translations/es.po +18 -2
- package/lang/translations/et.po +18 -2
- package/lang/translations/fa.po +18 -2
- package/lang/translations/fi.po +18 -2
- package/lang/translations/fr.po +18 -2
- package/lang/translations/gl.po +18 -2
- package/lang/translations/he.po +18 -2
- package/lang/translations/hi.po +18 -2
- package/lang/translations/hr.po +18 -2
- package/lang/translations/hu.po +18 -2
- package/lang/translations/id.po +18 -2
- package/lang/translations/it.po +18 -2
- package/lang/translations/ja.po +18 -2
- package/lang/translations/ko.po +18 -2
- package/lang/translations/lt.po +18 -2
- package/lang/translations/lv.po +18 -2
- package/lang/translations/ms.po +18 -2
- package/lang/translations/nl.po +18 -2
- package/lang/translations/no.po +18 -2
- package/lang/translations/pl.po +18 -2
- package/lang/translations/pt-br.po +18 -2
- package/lang/translations/pt.po +18 -2
- package/lang/translations/ro.po +18 -2
- package/lang/translations/ru.po +18 -2
- package/lang/translations/sk.po +18 -2
- package/lang/translations/sq.po +18 -2
- package/lang/translations/sr-latn.po +18 -2
- package/lang/translations/sr.po +18 -2
- package/lang/translations/sv.po +18 -2
- package/lang/translations/th.po +18 -2
- package/lang/translations/tr.po +18 -2
- package/lang/translations/ug.po +18 -2
- package/lang/translations/uk.po +18 -2
- package/lang/translations/ur.po +18 -2
- package/lang/translations/uz.po +18 -2
- package/lang/translations/vi.po +18 -2
- package/lang/translations/zh-cn.po +18 -2
- package/lang/translations/zh.po +18 -2
- package/package.json +4 -2
- package/src/augmentation.d.ts +32 -22
- package/src/augmentation.js +5 -5
- package/src/ckbox.d.ts +33 -33
- package/src/ckbox.js +37 -37
- package/src/ckboxcommand.d.ts +114 -110
- package/src/ckboxcommand.js +332 -302
- package/src/ckboxconfig.d.ts +325 -283
- package/src/ckboxconfig.js +5 -5
- package/src/ckboxediting.d.ts +45 -52
- package/src/ckboxediting.js +321 -362
- package/src/ckboximageedit/ckboximageeditcommand.d.ts +97 -0
- package/src/ckboximageedit/ckboximageeditcommand.js +298 -0
- package/src/ckboximageedit/ckboximageeditediting.d.ts +28 -0
- package/src/ckboximageedit/ckboximageeditediting.js +36 -0
- package/src/ckboximageedit/ckboximageeditui.d.ts +24 -0
- package/src/ckboximageedit/ckboximageeditui.js +48 -0
- package/src/ckboximageedit/utils.d.ts +10 -0
- package/src/ckboximageedit/utils.js +48 -0
- package/src/ckboximageedit.d.ts +24 -0
- package/src/ckboximageedit.js +28 -0
- package/src/ckboxui.d.ts +21 -21
- package/src/ckboxui.js +74 -47
- package/src/ckboxuploadadapter.d.ts +33 -38
- package/src/ckboxuploadadapter.js +130 -275
- package/src/ckboxutils.d.ts +50 -0
- package/src/ckboxutils.js +183 -0
- package/src/index.d.ts +17 -13
- package/src/index.js +14 -11
- package/src/utils.d.ts +63 -28
- package/src/utils.js +175 -49
- package/theme/ckboximageedit.css +53 -0
- package/theme/icons/ckbox-image-edit.svg +1 -0
- package/build/ckbox.js.map +0 -1
package/LICENSE.md
CHANGED
@@ -2,7 +2,7 @@ Software License Agreement
|
|
2
2
|
==========================
|
3
3
|
|
4
4
|
**CKEditor 5 CKBox feature** – https://github.com/ckeditor/ckeditor5-ckbox <br>
|
5
|
-
Copyright (c) 2003
|
5
|
+
Copyright (c) 2003–2023, [CKSource Holding sp. z o.o.](http://cksource.com) All rights reserved.
|
6
6
|
|
7
7
|
Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).
|
8
8
|
|
@@ -11,7 +11,11 @@ Sources of Intellectual Property Included in CKEditor
|
|
11
11
|
|
12
12
|
Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission.
|
13
13
|
|
14
|
+
The following libraries are included in CKEditor under the [MIT license](https://opensource.org/licenses/MIT):
|
15
|
+
|
16
|
+
* blurhash - Copyright (c) 2018 Wolt Enterprises (MIT license).
|
17
|
+
|
14
18
|
Trademarks
|
15
19
|
----------
|
16
20
|
|
17
|
-
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](http://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
|
21
|
+
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](http://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
|
package/build/ckbox.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Cannot access default workspace.":"Cannot access default workspace.","Cannot determine a category for the uploaded file.":"Cannot determine a category for the uploaded file.","Open file manager":"Open file manager"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
|
1
|
+
!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Cannot access default workspace.":"Cannot access default workspace.","Cannot determine a category for the uploaded file.":"Cannot determine a category for the uploaded file.","Edit image":"Edit image","Failed to determine category of edited image.":"Failed to determine category of edited image.","Open file manager":"Open file manager","Processing the edited image.":"Processing the edited image.","Server failed to process the image.":"Server failed to process the image."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
|
2
2
|
/*!
|
3
3
|
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
4
4
|
* For licensing, see LICENSE.md.
|
5
|
-
*/(()=>{var e={704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},492:(e,t,i)=>{e.exports=i(79)("./src/engine.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},448:(e,t,i)=>{e.exports=i(79)("./src/upload.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(o){var n=t[o];if(void 0!==n)return n.exports;var r=t[o]={exports:{}};return e[o](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{"use strict";i.r(o),i.d(o,{CKBox:()=>x,CKBoxEditing:()=>b,CKBoxUI:()=>n});var e=i(704),t=i(273);class n extends e.Plugin{static get pluginName(){return"CKBoxUI"}afterInit(){const e=this.editor,i=e.commands.get("ckbox");if(!i)return;const o=e.t;e.ui.componentFactory.add("ckbox",(n=>{const r=new t.ButtonView(n);return r.set({label:o("Open file manager"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.627 16.5zm5.873-.196zm0-7.001V8h-13v8.5h4.341c.191.54.457 1.044.785 1.5H2a1.5 1.5 0 0 1-1.5-1.5v-13A1.5 1.5 0 0 1 2 2h4.5a1.5 1.5 0 0 1 1.06.44L9.122 4H16a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 19 8v2.531a6.027 6.027 0 0 0-1.5-1.228zM16 6.5v-1H8.5l-2-2H2v13h1V8a1.5 1.5 0 0 1 1.5-1.5H16z"/><path d="M14.5 19.5a5 5 0 1 1 0-10 5 5 0 0 1 0 10zM15 14v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z"/></svg>',tooltip:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),r.on("execute",(()=>{e.execute("ckbox")})),r}))}}var r=i(492),s=i(209);function a(e){const t=[];let i=0;for(const o in e){const n=parseInt(o,10);isNaN(n)||(n>i&&(i=n),t.push(`${e[o]} ${o}w`))}const o=[{srcset:t.join(","),sizes:`(max-width: ${i}px) 100vw, ${i}px`,type:"image/webp"}];return{imageFallbackUrl:e.default,imageSources:o}}class c extends e.Command{constructor(e){super(e),this._chosenAssets=new Set,this._wrapper=null,this._initListeners()}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(){this.fire("ckbox:open")}_getValue(){return null!==this._wrapper}_checkEnabled(){const e=this.editor.commands.get("insertImage"),t=this.editor.commands.get("link");return!(!e.isEnabled&&!t.isEnabled)}_prepareOptions(){const e=this.editor.config.get("ckbox");return{theme:e.theme,language:e.language,tokenUrl:e.tokenUrl,serviceOrigin:e.serviceOrigin,dialog:{onClose:()=>this.fire("ckbox:close")},assets:{onChoose:e=>this.fire("ckbox:choose",e)}}}_initListeners(){const e=this.editor,t=e.model,i=!e.config.get("ckbox.ignoreDataId");this.on("ckbox",(()=>{this.refresh()}),{priority:"low"}),this.on("ckbox:open",(()=>{this.isEnabled&&!this.value&&(this._wrapper=(0,s.createElement)(document,"div",{class:"ck ckbox-wrapper"}),document.body.appendChild(this._wrapper),window.CKBox.mount(this._wrapper,this._prepareOptions()))})),this.on("ckbox:close",(()=>{this.value&&(this._wrapper.remove(),this._wrapper=null)})),this.on("ckbox:choose",((o,n)=>{if(!this.isEnabled)return;const r=e.commands.get("insertImage"),s=e.commands.get("link"),a=function({assets:e,isImageAllowed:t,isLinkAllowed:i}){return e.map((e=>function(e){const t=e.data.metadata;if(!t)return!1;return t.width&&t.height}(e)?{id:e.data.id,type:"image",attributes:l(e)}:{id:e.data.id,type:"link",attributes:d(e)})).filter((e=>"image"===e.type?t:i))}({assets:n,isImageAllowed:r.isEnabled,isLinkAllowed:s.isEnabled});0!==a.length&&t.change((e=>{for(const t of a){const o=t===a[a.length-1];this._insertAsset(t,o,e),i&&(setTimeout((()=>this._chosenAssets.delete(t)),1e3),this._chosenAssets.add(t))}}))})),this.listenTo(e,"destroy",(()=>{this.fire("ckbox:close"),this._chosenAssets.clear()}))}_insertAsset(e,t,i){const o=this.editor.model.document.selection;i.removeSelectionAttribute("linkHref"),"image"===e.type?this._insertImage(e):this._insertLink(e,i),t||i.setSelection(o.getLastPosition())}_insertImage(e){const t=this.editor,{imageFallbackUrl:i,imageSources:o,imageTextAlternative:n}=e.attributes;t.execute("insertImage",{source:{src:i,sources:o,alt:n}})}_insertLink(e,t){const i=this.editor,o=i.model,n=o.document.selection,{linkName:r,linkHref:a}=e.attributes;if(n.isCollapsed){const e=(0,s.toMap)(n.getAttributes()),i=t.createText(r,e),a=o.insertContent(i);t.setSelection(a)}i.execute("link",a)}}function l(e){const{imageFallbackUrl:t,imageSources:i}=a(e.data.imageUrls);return{imageFallbackUrl:t,imageSources:i,imageTextAlternative:e.data.metadata.description||""}}function d(e){return{linkName:e.data.name,linkHref:u(e)}}function u(e){const t=new URL(e.data.url);return t.searchParams.set("download","true"),t.toString()}var g=i(448);class m extends e.Plugin{static get requires(){return["ImageUploadEditing","ImageUploadProgress",g.FileRepository,b]}static get pluginName(){return"CKBoxUploadAdapter"}async afterInit(){const e=this.editor,t=!!e.config.get("ckbox"),i=!!window.CKBox;if(!t&&!i)return;const o=e.plugins.get(g.FileRepository),n=e.plugins.get(b);o.createUploadAdapter=t=>new h(t,n.getToken(),e);const r=!e.config.get("ckbox.ignoreDataId"),s=e.plugins.get("ImageUploadEditing");r&&s.on("uploadComplete",((t,{imageElement:i,data:o})=>{e.model.change((e=>{e.setAttribute("ckboxImageId",o.ckboxImageId,i)}))}))}}class h{constructor(e,t,i){this.loader=e,this.token=t,this.editor=i,this.controller=new AbortController,this.serviceOrigin=i.config.get("ckbox.serviceOrigin")}getWorkspaceId(){const e=(0,this.editor.t)("Cannot access default workspace."),t=this.editor.config.get("ckbox.defaultUploadWorkspaceId"),i=function(e,t){const[,i]=e.value.split("."),o=JSON.parse(atob(i)),n=o.auth&&o.auth.ckbox&&o.auth.ckbox.workspaces||[o.aud];return t?"superadmin"==(o.auth&&o.auth.ckbox&&o.auth.ckbox.role)||n.includes(t)?t:null:n[0]}(this.token,t);if(null==i)throw(0,s.logError)("ckbox-access-default-workspace-error"),e;return i}async getAvailableCategories(e=0){const t=new URL("categories",this.serviceOrigin);return t.searchParams.set("limit",50..toString()),t.searchParams.set("offset",e.toString()),t.searchParams.set("workspaceId",this.getWorkspaceId()),this._sendHttpRequest({url:t}).then((async t=>{if(t.totalCount-(e+50)>0){const i=await this.getAvailableCategories(e+50);return[...t.items,...i]}return t.items})).catch((()=>{this.controller.signal.throwIfAborted(),(0,s.logError)("ckbox-fetch-category-http-error")}))}async getCategoryIdForFile(e){const t=function(e){const t=/\.(?<ext>[^.]+)$/;return e.match(t).groups.ext.toLowerCase()}(e.name),i=await this.getAvailableCategories();if(!i)return null;const o=this.editor.config.get("ckbox.defaultUploadCategories");if(o){const e=Object.keys(o).find((e=>o[e].find((e=>e.toLowerCase()==t))));if(e){const t=i.find((t=>t.id===e||t.name===e));return t?t.id:null}}const n=i.find((e=>e.extensions.find((e=>e.toLowerCase()==t))));return n?n.id:null}async upload(){const e=this.editor.t,t=e("Cannot determine a category for the uploaded file."),i=await this.loader.file,o=await this.getCategoryIdForFile(i);if(!o)return Promise.reject(t);const n=new URL("assets",this.serviceOrigin),r=new FormData;n.searchParams.set("workspaceId",this.getWorkspaceId()),r.append("categoryId",o),r.append("file",i);const s={method:"POST",url:n,data:r,onUploadProgress:e=>{e.lengthComputable&&(this.loader.uploadTotal=e.total,this.loader.uploaded=e.loaded)}};return this._sendHttpRequest(s).then((async e=>{const t=a(e.imageUrls);return{ckboxImageId:e.id,default:t.imageFallbackUrl,sources:t.imageSources}})).catch((()=>{const t=e("Cannot upload file:")+` ${i.name}.`;return Promise.reject(t)}))}abort(){this.controller.abort()}_sendHttpRequest({url:e,method:t="GET",data:i,onUploadProgress:o}){const n=this.controller.signal,r=new XMLHttpRequest;r.open(t,e.toString(),!0),r.setRequestHeader("Authorization",this.token.value),r.setRequestHeader("CKBox-Version","CKEditor 5"),r.responseType="json";const s=()=>{r.abort()};return new Promise(((e,t)=>{n.addEventListener("abort",s),r.addEventListener("loadstart",(()=>{n.addEventListener("abort",s)})),r.addEventListener("loadend",(()=>{n.removeEventListener("abort",s)})),r.addEventListener("error",(()=>{t()})),r.addEventListener("abort",(()=>{t()})),r.addEventListener("load",(async()=>{const i=r.response;return!i||i.statusCode>=400?t(i&&i.message):e(i)})),o&&r.upload.addEventListener("progress",(e=>{o(e)})),r.send(i)}))}}class b extends e.Plugin{static get pluginName(){return"CKBoxEditing"}static get requires(){return["CloudServices","LinkEditing","PictureEditing",m]}async init(){const e=this.editor,t=!!e.config.get("ckbox"),i=!!window.CKBox;if(!t&&!i)return;this._initConfig();const o=e.plugins.get("CloudServicesCore"),n=e.config.get("ckbox.tokenUrl");if(n===e.config.get("cloudServices.tokenUrl")){const t=e.plugins.get("CloudServices");this._token=t.token}else this._token=await o.createToken(n).init();e.config.get("ckbox.ignoreDataId")||(this._initSchema(),this._initConversion(),this._initFixers()),i&&e.commands.add("ckbox",new c(e))}getToken(){return this._token}_initConfig(){const e=this.editor;e.config.define("ckbox",{serviceOrigin:"https://api.ckbox.io",defaultUploadCategories:null,ignoreDataId:!1,language:e.locale.uiLanguage,theme:"default",tokenUrl:e.config.get("cloudServices.tokenUrl")});if(!e.config.get("ckbox.tokenUrl"))throw new s.CKEditorError("ckbox-plugin-missing-token-url",this);e.plugins.has("ImageBlockEditing")||e.plugins.has("ImageInlineEditing")||(0,s.logError)("ckbox-plugin-image-feature-missing",e)}_initSchema(){const e=this.editor.model.schema;e.extend("$text",{allowAttributes:"ckboxLinkId"}),e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),e.addAttributeCheck(((e,t)=>{if(!!!e.last.getAttribute("linkHref")&&"ckboxLinkId"===t)return!1}))}_initConversion(){const e=this.editor;e.conversion.for("downcast").add((e=>{e.on("attribute:ckboxLinkId:imageBlock",((e,t,i)=>{const{writer:o,mapper:n,consumable:r}=i;if(!r.consume(t.item,e.name))return;const s=[...n.toViewElement(t.item).getChildren()].find((e=>"a"===e.name));s&&(t.item.hasAttribute("ckboxLinkId")?o.setAttribute("data-ckbox-resource-id",t.item.getAttribute("ckboxLinkId"),s):o.removeAttribute("data-ckbox-resource-id",s))}),{priority:"low"}),e.on("attribute:ckboxLinkId",((e,t,i)=>{const{writer:o,mapper:n,consumable:r}=i;if(r.consume(t.item,e.name)){if(t.attributeOldValue){const e=k(o,t.attributeOldValue);o.unwrap(n.toViewRange(t.range),e)}if(t.attributeNewValue){const e=k(o,t.attributeNewValue);if(t.item.is("selection")){const t=o.document.selection;o.wrap(t.getFirstRange(),e)}else o.wrap(n.toViewRange(t.range),e)}}}),{priority:"low"})})),e.conversion.for("upcast").add((e=>{e.on("element:a",((e,t,i)=>{const{writer:o,consumable:n}=i;if(!t.viewItem.getAttribute("href"))return;if(!n.consume(t.viewItem,{attributes:["data-ckbox-resource-id"]}))return;const r=t.viewItem.getAttribute("data-ckbox-resource-id");if(r)if(t.modelRange)for(let e of t.modelRange.getItems())e.is("$textProxy")&&(e=e.textNode),f(e)&&o.setAttribute("ckboxLinkId",r,e);else{const e=t.modelCursor.nodeBefore||t.modelCursor.parent;o.setAttribute("ckboxLinkId",r,e)}}),{priority:"low"})})),e.conversion.for("downcast").attributeToAttribute({model:"ckboxImageId",view:"data-ckbox-resource-id"}),e.conversion.for("upcast").elementToAttribute({model:{key:"ckboxImageId",value:e=>e.getAttribute("data-ckbox-resource-id")},view:{attributes:{"data-ckbox-resource-id":/[\s\S]+/}}})}_initFixers(){const e=this.editor,t=e.model,i=t.document.selection;t.document.registerPostFixer(function(e){return t=>{let i=!1;const o=e.model,n=e.commands.get("ckbox");if(!n)return i;for(const e of o.document.differ.getChanges()){if("insert"!==e.type&&"attribute"!==e.type)continue;const o="insert"===e.type?new r.Range(e.position,e.position.getShiftedBy(e.length)):e.range,s="attribute"===e.type&&"linkHref"===e.attributeKey&&null===e.attributeNewValue;for(const e of o.getItems()){if(s&&e.hasAttribute("ckboxLinkId")){t.removeAttribute("ckboxLinkId",e),i=!0;continue}const o=p(e,n._chosenAssets);for(const n of o){const o="image"===n.type?"ckboxImageId":"ckboxLinkId";n.id!==e.getAttribute(o)&&(t.setAttribute(o,n.id,e),i=!0)}}}return i}}(e)),t.document.registerPostFixer(function(e){return t=>!(e.hasAttribute("linkHref")||!e.hasAttribute("ckboxLinkId"))&&(t.removeSelectionAttribute("ckboxLinkId"),!0)}(i))}}function p(e,t){const i=e.is("element","imageInline")||e.is("element","imageBlock"),o=e.hasAttribute("linkHref");return[...t].filter((t=>"image"===t.type&&i?t.attributes.imageFallbackUrl===e.getAttribute("src"):"link"===t.type&&o?t.attributes.linkHref===e.getAttribute("linkHref"):void 0))}function k(e,t){const i=e.createAttributeElement("a",{"data-ckbox-resource-id":t},{priority:5});return e.setCustomProperty("link",!0,i),i}function f(e){return!!e.is("$text")||!(!e.is("element","imageInline")&&!e.is("element","imageBlock"))}class x extends e.Plugin{static get pluginName(){return"CKBox"}static get requires(){return[b,n]}}})(),(window.CKEditor5=window.CKEditor5||{}).ckbox=o})();
|
5
|
+
*/(()=>{var e={70:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(609),o=r.n(n)()((function(e){return e[1]}));o.push([e.id,':root{--ck-image-processing-highlight-color:#f9fafa;--ck-image-processing-background-color:#e3e5e8}.ck.ck-editor__editable .image.image-processing{position:relative}.ck.ck-editor__editable .image.image-processing:before{animation:ck-image-processing-animation 2s linear infinite;background:linear-gradient(90deg,var(--ck-image-processing-background-color),var(--ck-image-processing-highlight-color),var(--ck-image-processing-background-color));background-size:200% 100%;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ck.ck-editor__editable .image.image-processing img{height:100%}@keyframes ck-image-processing-animation{0%{background-position:200% 0}to{background-position:-200% 0}}',""]);const i=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r})).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i<this.length;i++){var s=this[i][0];null!=s&&(o[s]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);n&&o[c[0]]||(r&&(c[2]?c[2]="".concat(r," and ").concat(c[2]):c[2]=r),t.push(c))}},t}},62:(e,t,r)=>{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),s=[];function a(e){for(var t=-1,r=0;r<s.length;r++)if(s[r].identifier===e){t=r;break}return t}function c(e,t){for(var r={},n=[],o=0;o<e.length;o++){var i=e[o],c=t.base?i[0]+t.base:i[0],l=r[c]||0,u="".concat(c," ").concat(l);r[c]=l+1;var d=a(u),g={css:i[1],media:i[2],sourceMap:i[3]};-1!==d?(s[d].references++,s[d].updater(g)):s.push({identifier:u,updater:m(g,t),references:1}),n.push(u)}return n}function l(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=r.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var s=i(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function g(e,t,r,n){var o=r?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=d(t,o);else{var i=document.createTextNode(o),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(i,s[t]):e.appendChild(i)}}function h(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var p=null,f=0;function m(e,t){var r,n,o;if(t.singleton){var i=f++;r=p||(p=l(t)),n=g.bind(null,r,i,!1),o=g.bind(null,r,i,!0)}else r=l(t),n=h.bind(null,r,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(r)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var r=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<r.length;n++){var o=a(r[n]);s[o].references--}for(var i=c(e,t),l=0;l<r.length;l++){var u=a(r[l]);0===s[u].references&&(s[u].updater(),s.splice(u,1))}r=i}}}},704:(e,t,r)=>{e.exports=r(79)("./src/core.js")},492:(e,t,r)=>{e.exports=r(79)("./src/engine.js")},273:(e,t,r)=>{e.exports=r(79)("./src/ui.js")},448:(e,t,r)=>{e.exports=r(79)("./src/upload.js")},209:(e,t,r)=>{e.exports=r(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nc=void 0;var n={};(()=>{"use strict";r.r(n),r.d(n,{CKBox:()=>U,CKBoxEditing:()=>S,CKBoxImageEdit:()=>jr,CKBoxImageEditEditing:()=>_r,CKBoxImageEditUI:()=>kr,CKBoxUI:()=>o});var e=r(704),t=r(273);class o extends e.Plugin{static get pluginName(){return"CKBoxUI"}afterInit(){const r=this.editor,n=r.commands.get("ckbox");if(!n)return;const o=r.t;if(r.ui.componentFactory.add("ckbox",(e=>{const i=new t.ButtonView(e);return i.set({label:o("Open file manager"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.627 16.5zm5.873-.196zm0-7.001V8h-13v8.5h4.341c.191.54.457 1.044.785 1.5H2a1.5 1.5 0 0 1-1.5-1.5v-13A1.5 1.5 0 0 1 2 2h4.5a1.5 1.5 0 0 1 1.06.44L9.122 4H16a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 19 8v2.531a6.027 6.027 0 0 0-1.5-1.228zM16 6.5v-1H8.5l-2-2H2v13h1V8a1.5 1.5 0 0 1 1.5-1.5H16z"/><path d="M14.5 19.5a5 5 0 1 1 0-10 5 5 0 0 1 0 10zM15 14v-2h-1v2h-2v1h2v2h1v-2h2v-1h-2z"/></svg>',tooltip:!0}),i.bind("isOn","isEnabled").to(n,"value","isEnabled"),i.on("execute",(()=>{r.execute("ckbox")})),i})),r.plugins.has("ImageInsertUI")){const t=r.plugins.get("ImageInsertUI");t.registerIntegration({name:"assetManager",observable:n,buttonViewCreator:()=>{const r=this.editor.ui.componentFactory.create("ckbox");return r.icon=e.icons.imageAssetManager,r.bind("label").to(t,"isImageSelected",(e=>o(e?"Replace image with file manager":"Insert image with file manager"))),r},formViewCreator:()=>{const r=this.editor.ui.componentFactory.create("ckbox");return r.icon=e.icons.imageAssetManager,r.withText=!0,r.bind("label").to(t,"isImageSelected",(e=>o(e?"Replace with file manager":"Insert with file manager"))),r.on("execute",(()=>{t.dropdownView.isOpen=!1})),r}})}}}var i=r(492),s=r(209),a=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","#","$","%","*","+",",","-",".",":",";","=","?","@","[","]","^","_","{","|","}","~"],c=e=>{let t=0;for(let r=0;r<e.length;r++){let n=e[r];t=83*t+a.indexOf(n)}return t},l=e=>{let t=e/255;return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},u=e=>{let t=Math.max(0,Math.min(1,e));return t<=.0031308?Math.trunc(12.92*t*255+.5):Math.trunc(255*(1.055*Math.pow(t,.4166666666666667)-.055)+.5)},d=(e,t)=>(e=>e<0?-1:1)(e)*Math.pow(Math.abs(e),t),g=class extends Error{constructor(e){super(e),this.name="ValidationError",this.message=e}},h=e=>{if(!e||e.length<6)throw new g("The blurhash string must be at least 6 characters");let t=c(e[0]),r=Math.floor(t/9)+1,n=t%9+1;if(e.length!==4+2*n*r)throw new g(`blurhash length mismatch: length is ${e.length} but it should be ${4+2*n*r}`)},p=e=>{let t=e>>8&255,r=255&e;return[l(e>>16),l(t),l(r)]},f=(e,t)=>{let r=Math.floor(e/361),n=Math.floor(e/19)%19,o=e%19;return[d((r-9)/9,2)*t,d((n-9)/9,2)*t,d((o-9)/9,2)*t]},m=(e,t,r,n)=>{h(e),n|=1;let o=c(e[0]),i=Math.floor(o/9)+1,s=o%9+1,a=(c(e[1])+1)/166,l=new Array(s*i);for(let t=0;t<l.length;t++)if(0===t){let r=c(e.substring(2,6));l[t]=p(r)}else{let r=c(e.substring(4+2*t,6+2*t));l[t]=f(r,a*n)}let d=4*t,g=new Uint8ClampedArray(d*r);for(let e=0;e<r;e++)for(let n=0;n<t;n++){let o=0,a=0,c=0;for(let u=0;u<i;u++)for(let i=0;i<s;i++){let d=Math.cos(Math.PI*n*i/t)*Math.cos(Math.PI*e*u/r),g=l[i+u*s];o+=g[0]*d,a+=g[1]*d,c+=g[2]*d}let h=u(o),p=u(a),f=u(c);g[4*n+0+e*d]=h,g[4*n+1+e*d]=p,g[4*n+2+e*d]=f,g[4*n+3+e*d]=255}return g};function b(e){const t=[];let r=0;for(const n in e){const o=parseInt(n,10);isNaN(o)||(o>r&&(r=o),t.push(`${e[n]} ${n}w`))}const n=[{srcset:t.join(","),sizes:`(max-width: ${r}px) 100vw, ${r}px`,type:"image/webp"}];return{imageFallbackUrl:e.default,imageSources:n}}const v=32;function w({url:e,method:t="GET",data:r,onUploadProgress:n,signal:o,authorization:i}){const s=new XMLHttpRequest;s.open(t,e.toString()),s.setRequestHeader("Authorization",i),s.setRequestHeader("CKBox-Version","CKEditor 5"),s.responseType="json";const a=()=>{s.abort()};return new Promise(((e,t)=>{o.throwIfAborted(),o.addEventListener("abort",a),s.addEventListener("loadstart",(()=>{o.addEventListener("abort",a)})),s.addEventListener("loadend",(()=>{o.removeEventListener("abort",a)})),s.addEventListener("error",(()=>{t()})),s.addEventListener("abort",(()=>{t()})),s.addEventListener("load",(()=>{const r=s.response;if(!r||r.statusCode>=400)return t(r&&r.message);e(r)})),n&&s.upload.addEventListener("progress",(e=>{n(e)})),s.send(r)}))}const y={"image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/webp":"webp","image/bmp":"bmp","image/tiff":"tiff"};class _ extends e.Command{constructor(e){super(e),this._chosenAssets=new Set,this._wrapper=null,this._initListeners()}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(){this.fire("ckbox:open")}_getValue(){return null!==this._wrapper}_checkEnabled(){const e=this.editor.commands.get("insertImage"),t=this.editor.commands.get("link");return!(!e.isEnabled&&!t.isEnabled)}_prepareOptions(){const e=this.editor.config.get("ckbox");return{theme:e.theme,language:e.language,tokenUrl:e.tokenUrl,serviceOrigin:e.serviceOrigin,forceDemoLabel:e.forceDemoLabel,dialog:{onClose:()=>this.fire("ckbox:close")},assets:{onChoose:e=>this.fire("ckbox:choose",e)}}}_initListeners(){const e=this.editor,t=e.model,r=!e.config.get("ckbox.ignoreDataId");this.on("ckbox",(()=>{this.refresh()}),{priority:"low"}),this.on("ckbox:open",(()=>{this.isEnabled&&!this.value&&(this._wrapper=(0,s.createElement)(document,"div",{class:"ck ckbox-wrapper"}),document.body.appendChild(this._wrapper),window.CKBox.mount(this._wrapper,this._prepareOptions()))})),this.on("ckbox:close",(()=>{this.value&&(this._wrapper.remove(),this._wrapper=null,e.editing.view.focus())})),this.on("ckbox:choose",((n,o)=>{if(!this.isEnabled)return;const i=e.commands.get("insertImage"),s=e.commands.get("link"),a=function({assets:e,isImageAllowed:t,isLinkAllowed:r}){return e.map((e=>function(e){const t=e.data.metadata;if(!t)return!1;return t.width&&t.height}(e)?{id:e.data.id,type:"image",attributes:k(e)}:{id:e.data.id,type:"link",attributes:x(e)})).filter((e=>"image"===e.type?t:r))}({assets:o,isImageAllowed:i.isEnabled,isLinkAllowed:s.isEnabled}),c=a.length;0!==c&&(t.change((e=>{for(const t of a){const n=t===a[c-1],o=1===c;this._insertAsset(t,n,e,o),r&&(setTimeout((()=>this._chosenAssets.delete(t)),1e3),this._chosenAssets.add(t))}})),e.editing.view.focus())})),this.listenTo(e,"destroy",(()=>{this.fire("ckbox:close"),this._chosenAssets.clear()}))}_insertAsset(e,t,r,n){const o=this.editor.model.document.selection;r.removeSelectionAttribute("linkHref"),"image"===e.type?this._insertImage(e):this._insertLink(e,r,n),t||r.setSelection(o.getLastPosition())}_insertImage(e){const t=this.editor,{imageFallbackUrl:r,imageSources:n,imageTextAlternative:o,imageWidth:i,imageHeight:s,imagePlaceholder:a}=e.attributes;t.execute("insertImage",{source:{src:r,sources:n,alt:o,width:i,height:s,...a?{placeholder:a}:null}})}_insertLink(e,t,r){const n=this.editor,o=n.model,i=o.document.selection,{linkName:a,linkHref:c}=e.attributes;if(i.isCollapsed){const e=(0,s.toMap)(i.getAttributes()),l=t.createText(a,e);if(!r){const e=i.getLastPosition(),r=e.parent;"paragraph"===r.name&&r.isEmpty||n.execute("insertParagraph",{position:e});const s=o.insertContent(l);return t.setSelection(s),void n.execute("link",c)}const u=o.insertContent(l);t.setSelection(u)}n.execute("link",c)}}function k(e){const{imageFallbackUrl:t,imageSources:r}=b(e.data.imageUrls),{description:n,width:o,height:i,blurHash:s}=e.data.metadata,a=function(e){if(e)try{const t=`${v}px`,r=document.createElement("canvas");r.setAttribute("width",t),r.setAttribute("height",t);const n=r.getContext("2d");if(!n)return;const o=n.createImageData(v,v),i=m(e,v,v);return o.data.set(i),n.putImageData(o,0,0),r.toDataURL()}catch(e){return}}(s);return{imageFallbackUrl:t,imageSources:r,imageTextAlternative:n||"",imageWidth:o,imageHeight:i,...a?{imagePlaceholder:a}:null}}function x(e){return{linkName:e.data.name,linkHref:I(e)}}function I(e){const t=new URL(e.data.url);return t.searchParams.set("download","true"),t.toString()}var A=r(448);class E extends e.Plugin{static get pluginName(){return"CKBoxUtils"}static get requires(){return["CloudServices"]}async init(){const e=this.editor,t=!!e.config.get("ckbox"),r=!!window.CKBox;if(!t&&!r)return;e.config.define("ckbox",{serviceOrigin:"https://api.ckbox.io",defaultUploadCategories:null,ignoreDataId:!1,language:e.locale.uiLanguage,theme:"lark",tokenUrl:e.config.get("cloudServices.tokenUrl")});const n=e.plugins.get("CloudServices"),o=e.config.get("cloudServices.tokenUrl"),i=e.config.get("ckbox.tokenUrl");if(!i)throw new s.CKEditorError("ckbox-plugin-missing-token-url",this);this._token=i==o?n.token:await n.registerTokenUrl(i)}getToken(){return this._token}getWorkspaceId(){const e=(0,this.editor.t)("Cannot access default workspace."),t=this.editor.config.get("ckbox.defaultUploadWorkspaceId"),r=function(e,t){const[,r]=e.value.split("."),n=JSON.parse(atob(r)),o=n.auth&&n.auth.ckbox&&n.auth.ckbox.workspaces||[n.aud];return t?"superadmin"==(n.auth&&n.auth.ckbox&&n.auth.ckbox.role)||o.includes(t)?t:null:o[0]}(this._token,t);if(null==r)throw(0,s.logError)("ckbox-access-default-workspace-error"),e;return r}async getCategoryIdForFile(e,t){const r=(0,this.editor.t)("Cannot determine a category for the uploaded file."),n=this.editor.config.get("ckbox.defaultUploadCategories"),o=this._getAvailableCategories(t),i="string"==typeof e?(s=await async function(e,t){try{const r=await fetch(e,{method:"HEAD",cache:"force-cache",...t});return r.ok&&r.headers.get("content-type")||""}catch{return""}}(e,t),y[s]):e.name.match(/\.(?<ext>[^.]+)$/).groups.ext.toLowerCase();var s;const a=await o;if(!a)throw r;if(n){const e=Object.keys(n).find((e=>n[e].find((e=>e.toLowerCase()==i))));if(e){const t=a.find((t=>t.id===e||t.name===e));if(!t)throw r;return t.id}}const c=a.find((e=>e.extensions.find((e=>e.toLowerCase()==i))));if(!c)throw r;return c.id}async _getAvailableCategories(e){const t=this.editor,r=this._token,{signal:n}=e,o=t.config.get("ckbox.serviceOrigin"),i=this.getWorkspaceId();try{const e=[];let t,r=0;do{const n=await a(r);e.push(...n.items),t=n.totalCount-(r+50),r+=50}while(t>0);return e}catch{return n.throwIfAborted(),void(0,s.logError)("ckbox-fetch-category-http-error")}function a(e){const t=new URL("categories",o);return t.searchParams.set("limit",50..toString()),t.searchParams.set("offset",e.toString()),t.searchParams.set("workspaceId",i),w({url:t,signal:n,authorization:r.value})}}}class j extends e.Plugin{static get requires(){return["ImageUploadEditing","ImageUploadProgress",A.FileRepository,S]}static get pluginName(){return"CKBoxUploadAdapter"}async afterInit(){const e=this.editor,t=!!e.config.get("ckbox"),r=!!window.CKBox;if(!t&&!r)return;const n=e.plugins.get(A.FileRepository),o=e.plugins.get(E);n.createUploadAdapter=t=>new C(t,e,o);const i=!e.config.get("ckbox.ignoreDataId"),s=e.plugins.get("ImageUploadEditing");i&&s.on("uploadComplete",((t,{imageElement:r,data:n})=>{e.model.change((e=>{e.setAttribute("ckboxImageId",n.ckboxImageId,r)}))}))}}class C{constructor(e,t,r){this.loader=e,this.token=r.getToken(),this.ckboxUtils=r,this.editor=t,this.controller=new AbortController,this.serviceOrigin=t.config.get("ckbox.serviceOrigin")}async upload(){const e=this.ckboxUtils,t=this.editor.t,r=await this.loader.file,n=await e.getCategoryIdForFile(r,{signal:this.controller.signal}),o=new URL("assets",this.serviceOrigin),i=new FormData;o.searchParams.set("workspaceId",e.getWorkspaceId()),i.append("categoryId",n),i.append("file",r);return w({method:"POST",url:o,data:i,onUploadProgress:e=>{e.lengthComputable&&(this.loader.uploadTotal=e.total,this.loader.uploaded=e.loaded)},signal:this.controller.signal,authorization:this.token.value}).then((async e=>{const t=b(e.imageUrls);return{ckboxImageId:e.id,default:t.imageFallbackUrl,sources:t.imageSources}})).catch((()=>{const e=t("Cannot upload file:")+` ${r.name}.`;return Promise.reject(e)}))}abort(){this.controller.abort()}}class S extends e.Plugin{static get pluginName(){return"CKBoxEditing"}static get requires(){return["LinkEditing","PictureEditing",j,E]}init(){const e=this.editor,t=!!e.config.get("ckbox"),r=!!window.CKBox;(t||r)&&(this._checkImagePlugins(),e.config.get("ckbox.ignoreDataId")||(this._initSchema(),this._initConversion(),this._initFixers()),r&&e.commands.add("ckbox",new _(e)))}_checkImagePlugins(){const e=this.editor;e.plugins.has("ImageBlockEditing")||e.plugins.has("ImageInlineEditing")||(0,s.logError)("ckbox-plugin-image-feature-missing",e)}_initSchema(){const e=this.editor.model.schema;e.extend("$text",{allowAttributes:"ckboxLinkId"}),e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["ckboxImageId","ckboxLinkId"]}),e.addAttributeCheck(((e,t)=>{if(!!!e.last.getAttribute("linkHref")&&"ckboxLinkId"===t)return!1}))}_initConversion(){const e=this.editor;e.conversion.for("downcast").add((e=>{e.on("attribute:ckboxLinkId:imageBlock",((e,t,r)=>{const{writer:n,mapper:o,consumable:i}=r;if(!i.consume(t.item,e.name))return;const s=[...o.toViewElement(t.item).getChildren()].find((e=>"a"===e.name));s&&(t.item.hasAttribute("ckboxLinkId")?n.setAttribute("data-ckbox-resource-id",t.item.getAttribute("ckboxLinkId"),s):n.removeAttribute("data-ckbox-resource-id",s))}),{priority:"low"}),e.on("attribute:ckboxLinkId",((e,t,r)=>{const{writer:n,mapper:o,consumable:i}=r;if(i.consume(t.item,e.name)){if(t.attributeOldValue){const e=P(n,t.attributeOldValue);n.unwrap(o.toViewRange(t.range),e)}if(t.attributeNewValue){const e=P(n,t.attributeNewValue);if(t.item.is("selection")){const t=n.document.selection;n.wrap(t.getFirstRange(),e)}else n.wrap(o.toViewRange(t.range),e)}}}),{priority:"low"})})),e.conversion.for("upcast").add((e=>{e.on("element:a",((e,t,r)=>{const{writer:n,consumable:o}=r;if(!t.viewItem.getAttribute("href"))return;if(!o.consume(t.viewItem,{attributes:["data-ckbox-resource-id"]}))return;const i=t.viewItem.getAttribute("data-ckbox-resource-id");if(i)if(t.modelRange)for(let e of t.modelRange.getItems())e.is("$textProxy")&&(e=e.textNode),L(e)&&n.setAttribute("ckboxLinkId",i,e);else{const e=t.modelCursor.nodeBefore||t.modelCursor.parent;n.setAttribute("ckboxLinkId",i,e)}}),{priority:"low"})})),e.conversion.for("downcast").attributeToAttribute({model:"ckboxImageId",view:"data-ckbox-resource-id"}),e.conversion.for("upcast").elementToAttribute({model:{key:"ckboxImageId",value:e=>e.getAttribute("data-ckbox-resource-id")},view:{attributes:{"data-ckbox-resource-id":/[\s\S]+/}}});const t=e.commands.get("replaceImageSource");t&&this.listenTo(t,"cleanupImage",((e,[t,r])=>{t.removeAttribute("ckboxImageId",r)}))}_initFixers(){const e=this.editor,t=e.model,r=t.document.selection;t.document.registerPostFixer(function(e){return t=>{let r=!1;const n=e.model,o=e.commands.get("ckbox");if(!o)return r;for(const e of n.document.differ.getChanges()){if("insert"!==e.type&&"attribute"!==e.type)continue;const n="insert"===e.type?new i.Range(e.position,e.position.getShiftedBy(e.length)):e.range,s="attribute"===e.type&&"linkHref"===e.attributeKey&&null===e.attributeNewValue;for(const e of n.getItems()){if(s&&e.hasAttribute("ckboxLinkId")){t.removeAttribute("ckboxLinkId",e),r=!0;continue}const n=O(e,o._chosenAssets);for(const o of n){const n="image"===o.type?"ckboxImageId":"ckboxLinkId";o.id!==e.getAttribute(n)&&(t.setAttribute(n,o.id,e),r=!0)}}}return r}}(e)),t.document.registerPostFixer(function(e){return t=>!(e.hasAttribute("linkHref")||!e.hasAttribute("ckboxLinkId"))&&(t.removeSelectionAttribute("ckboxLinkId"),!0)}(r))}}function O(e,t){const r=e.is("element","imageInline")||e.is("element","imageBlock"),n=e.hasAttribute("linkHref");return[...t].filter((t=>"image"===t.type&&r?t.attributes.imageFallbackUrl===e.getAttribute("src"):"link"===t.type&&n?t.attributes.linkHref===e.getAttribute("linkHref"):void 0))}function P(e,t){const r=e.createAttributeElement("a",{"data-ckbox-resource-id":t},{priority:5});return e.setCustomProperty("link",!0,r),r}function L(e){return!!e.is("$text")||!(!e.is("element","imageInline")&&!e.is("element","imageBlock"))}class U extends e.Plugin{static get pluginName(){return"CKBox"}static get requires(){return[S,o]}}const B=function(){this.__data__=[],this.size=0};const T=function(e,t){return e===t||e!=e&&t!=t};const M=function(e,t){for(var r=e.length;r--;)if(T(e[r][0],t))return r;return-1};var F=Array.prototype.splice;const z=function(e){var t=this.__data__,r=M(t,e);return!(r<0)&&(r==t.length-1?t.pop():F.call(t,r,1),--this.size,!0)};const N=function(e){var t=this.__data__,r=M(t,e);return r<0?void 0:t[r][1]};const R=function(e){return M(this.__data__,e)>-1};const K=function(e,t){var r=this.__data__,n=M(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function V(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}V.prototype.clear=B,V.prototype.delete=z,V.prototype.get=N,V.prototype.has=R,V.prototype.set=K;const H=V;const D=function(){this.__data__=new H,this.size=0};const $=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};const q=function(e){return this.__data__.get(e)};const W=function(e){return this.__data__.has(e)};const Z="object"==typeof global&&global&&global.Object===Object&&global;var G="object"==typeof self&&self&&self.Object===Object&&self;const J=Z||G||Function("return this")();const X=J.Symbol;var Q=Object.prototype,Y=Q.hasOwnProperty,ee=Q.toString,te=X?X.toStringTag:void 0;const re=function(e){var t=Y.call(e,te),r=e[te];try{e[te]=void 0;var n=!0}catch(e){}var o=ee.call(e);return n&&(t?e[te]=r:delete e[te]),o};var ne=Object.prototype.toString;const oe=function(e){return ne.call(e)};var ie=X?X.toStringTag:void 0;const se=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ie&&ie in Object(e)?re(e):oe(e)};const ae=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const ce=function(e){if(!ae(e))return!1;var t=se(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const le=J["__core-js_shared__"];var ue,de=(ue=/[^.]+$/.exec(le&&le.keys&&le.keys.IE_PROTO||""))?"Symbol(src)_1."+ue:"";const ge=function(e){return!!de&&de in e};var he=Function.prototype.toString;const pe=function(e){if(null!=e){try{return he.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var fe=/^\[object .+?Constructor\]$/,me=Function.prototype,be=Object.prototype,ve=me.toString,we=be.hasOwnProperty,ye=RegExp("^"+ve.call(we).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const _e=function(e){return!(!ae(e)||ge(e))&&(ce(e)?ye:fe).test(pe(e))};const ke=function(e,t){return null==e?void 0:e[t]};const xe=function(e,t){var r=ke(e,t);return _e(r)?r:void 0};const Ie=xe(J,"Map");const Ae=xe(Object,"create");const Ee=function(){this.__data__=Ae?Ae(null):{},this.size=0};const je=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var Ce=Object.prototype.hasOwnProperty;const Se=function(e){var t=this.__data__;if(Ae){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Ce.call(t,e)?t[e]:void 0};var Oe=Object.prototype.hasOwnProperty;const Pe=function(e){var t=this.__data__;return Ae?void 0!==t[e]:Oe.call(t,e)};const Le=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ae&&void 0===t?"__lodash_hash_undefined__":t,this};function Ue(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Ue.prototype.clear=Ee,Ue.prototype.delete=je,Ue.prototype.get=Se,Ue.prototype.has=Pe,Ue.prototype.set=Le;const Be=Ue;const Te=function(){this.size=0,this.__data__={hash:new Be,map:new(Ie||H),string:new Be}};const Me=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Fe=function(e,t){var r=e.__data__;return Me(t)?r["string"==typeof t?"string":"hash"]:r.map};const ze=function(e){var t=Fe(this,e).delete(e);return this.size-=t?1:0,t};const Ne=function(e){return Fe(this,e).get(e)};const Re=function(e){return Fe(this,e).has(e)};const Ke=function(e,t){var r=Fe(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function Ve(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}Ve.prototype.clear=Te,Ve.prototype.delete=ze,Ve.prototype.get=Ne,Ve.prototype.has=Re,Ve.prototype.set=Ke;const He=Ve;const De=function(e,t){var r=this.__data__;if(r instanceof H){var n=r.__data__;if(!Ie||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new He(n)}return r.set(e,t),this.size=r.size,this};function $e(e){var t=this.__data__=new H(e);this.size=t.size}$e.prototype.clear=D,$e.prototype.delete=$,$e.prototype.get=q,$e.prototype.has=W,$e.prototype.set=De;const qe=$e;const We=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const Ze=function(e){return this.__data__.has(e)};function Ge(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new He;++t<r;)this.add(e[t])}Ge.prototype.add=Ge.prototype.push=We,Ge.prototype.has=Ze;const Je=Ge;const Xe=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1};const Qe=function(e,t){return e.has(t)};const Ye=function(e,t,r,n,o,i){var s=1&r,a=e.length,c=t.length;if(a!=c&&!(s&&c>a))return!1;var l=i.get(e),u=i.get(t);if(l&&u)return l==t&&u==e;var d=-1,g=!0,h=2&r?new Je:void 0;for(i.set(e,t),i.set(t,e);++d<a;){var p=e[d],f=t[d];if(n)var m=s?n(f,p,d,t,e,i):n(p,f,d,e,t,i);if(void 0!==m){if(m)continue;g=!1;break}if(h){if(!Xe(t,(function(e,t){if(!Qe(h,t)&&(p===e||o(p,e,r,n,i)))return h.push(t)}))){g=!1;break}}else if(p!==f&&!o(p,f,r,n,i)){g=!1;break}}return i.delete(e),i.delete(t),g};const et=J.Uint8Array;const tt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r};const rt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r};var nt=X?X.prototype:void 0,ot=nt?nt.valueOf:void 0;const it=function(e,t,r,n,o,i,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!i(new et(e),new et(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return T(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=tt;case"[object Set]":var c=1&n;if(a||(a=rt),e.size!=t.size&&!c)return!1;var l=s.get(e);if(l)return l==t;n|=2,s.set(e,t);var u=Ye(a(e),a(t),n,o,i,s);return s.delete(e),u;case"[object Symbol]":if(ot)return ot.call(e)==ot.call(t)}return!1};const st=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e};const at=Array.isArray;const ct=function(e,t,r){var n=t(e);return at(e)?n:st(n,r(e))};const lt=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,i=[];++r<n;){var s=e[r];t(s,r,e)&&(i[o++]=s)}return i};const ut=function(){return[]};var dt=Object.prototype.propertyIsEnumerable,gt=Object.getOwnPropertySymbols;const ht=gt?function(e){return null==e?[]:(e=Object(e),lt(gt(e),(function(t){return dt.call(e,t)})))}:ut;const pt=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};const ft=function(e){return null!=e&&"object"==typeof e};const mt=function(e){return ft(e)&&"[object Arguments]"==se(e)};var bt=Object.prototype,vt=bt.hasOwnProperty,wt=bt.propertyIsEnumerable;const yt=mt(function(){return arguments}())?mt:function(e){return ft(e)&&vt.call(e,"callee")&&!wt.call(e,"callee")};const _t=function(){return!1};var kt="object"==typeof exports&&exports&&!exports.nodeType&&exports,xt=kt&&"object"==typeof module&&module&&!module.nodeType&&module,It=xt&&xt.exports===kt?J.Buffer:void 0;const At=(It?It.isBuffer:void 0)||_t;var Et=/^(?:0|[1-9]\d*)$/;const jt=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&Et.test(e))&&e>-1&&e%1==0&&e<t};const Ct=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var St={};St["[object Float32Array]"]=St["[object Float64Array]"]=St["[object Int8Array]"]=St["[object Int16Array]"]=St["[object Int32Array]"]=St["[object Uint8Array]"]=St["[object Uint8ClampedArray]"]=St["[object Uint16Array]"]=St["[object Uint32Array]"]=!0,St["[object Arguments]"]=St["[object Array]"]=St["[object ArrayBuffer]"]=St["[object Boolean]"]=St["[object DataView]"]=St["[object Date]"]=St["[object Error]"]=St["[object Function]"]=St["[object Map]"]=St["[object Number]"]=St["[object Object]"]=St["[object RegExp]"]=St["[object Set]"]=St["[object String]"]=St["[object WeakMap]"]=!1;const Ot=function(e){return ft(e)&&Ct(e.length)&&!!St[se(e)]};const Pt=function(e){return function(t){return e(t)}};var Lt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ut=Lt&&"object"==typeof module&&module&&!module.nodeType&&module,Bt=Ut&&Ut.exports===Lt&&Z.process,Tt=function(){try{var e=Ut&&Ut.require&&Ut.require("util").types;return e||Bt&&Bt.binding&&Bt.binding("util")}catch(e){}}();var Mt=Tt&&Tt.isTypedArray;const Ft=Mt?Pt(Mt):Ot;var zt=Object.prototype.hasOwnProperty;const Nt=function(e,t){var r=at(e),n=!r&&yt(e),o=!r&&!n&&At(e),i=!r&&!n&&!o&&Ft(e),s=r||n||o||i,a=s?pt(e.length,String):[],c=a.length;for(var l in e)!t&&!zt.call(e,l)||s&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||jt(l,c))||a.push(l);return a};var Rt=Object.prototype;const Kt=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Rt)};const Vt=function(e,t){return function(r){return e(t(r))}}(Object.keys,Object);var Ht=Object.prototype.hasOwnProperty;const Dt=function(e){if(!Kt(e))return Vt(e);var t=[];for(var r in Object(e))Ht.call(e,r)&&"constructor"!=r&&t.push(r);return t};const $t=function(e){return null!=e&&Ct(e.length)&&!ce(e)};const qt=function(e){return $t(e)?Nt(e):Dt(e)};const Wt=function(e){return ct(e,qt,ht)};var Zt=Object.prototype.hasOwnProperty;const Gt=function(e,t,r,n,o,i){var s=1&r,a=Wt(e),c=a.length;if(c!=Wt(t).length&&!s)return!1;for(var l=c;l--;){var u=a[l];if(!(s?u in t:Zt.call(t,u)))return!1}var d=i.get(e),g=i.get(t);if(d&&g)return d==t&&g==e;var h=!0;i.set(e,t),i.set(t,e);for(var p=s;++l<c;){var f=e[u=a[l]],m=t[u];if(n)var b=s?n(m,f,u,t,e,i):n(f,m,u,e,t,i);if(!(void 0===b?f===m||o(f,m,r,n,i):b)){h=!1;break}p||(p="constructor"==u)}if(h&&!p){var v=e.constructor,w=t.constructor;v==w||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof w&&w instanceof w||(h=!1)}return i.delete(e),i.delete(t),h};const Jt=xe(J,"DataView");const Xt=xe(J,"Promise");const Qt=xe(J,"Set");const Yt=xe(J,"WeakMap");var er="[object Map]",tr="[object Promise]",rr="[object Set]",nr="[object WeakMap]",or="[object DataView]",ir=pe(Jt),sr=pe(Ie),ar=pe(Xt),cr=pe(Qt),lr=pe(Yt),ur=se;(Jt&&ur(new Jt(new ArrayBuffer(1)))!=or||Ie&&ur(new Ie)!=er||Xt&&ur(Xt.resolve())!=tr||Qt&&ur(new Qt)!=rr||Yt&&ur(new Yt)!=nr)&&(ur=function(e){var t=se(e),r="[object Object]"==t?e.constructor:void 0,n=r?pe(r):"";if(n)switch(n){case ir:return or;case sr:return er;case ar:return tr;case cr:return rr;case lr:return nr}return t});const dr=ur;var gr="[object Arguments]",hr="[object Array]",pr="[object Object]",fr=Object.prototype.hasOwnProperty;const mr=function(e,t,r,n,o,i){var s=at(e),a=at(t),c=s?hr:dr(e),l=a?hr:dr(t),u=(c=c==gr?pr:c)==pr,d=(l=l==gr?pr:l)==pr,g=c==l;if(g&&At(e)){if(!At(t))return!1;s=!0,u=!1}if(g&&!u)return i||(i=new qe),s||Ft(e)?Ye(e,t,r,n,o,i):it(e,t,c,r,n,o,i);if(!(1&r)){var h=u&&fr.call(e,"__wrapped__"),p=d&&fr.call(t,"__wrapped__");if(h||p){var f=h?e.value():e,m=p?t.value():t;return i||(i=new qe),o(f,m,r,n,i)}}return!!g&&(i||(i=new qe),Gt(e,t,r,n,o,i))};const br=function e(t,r,n,o,i){return t===r||(null==t||null==r||!ft(t)&&!ft(r)?t!=t&&r!=r:mr(t,r,n,o,e,i))};const vr=function(e,t){return br(e,t)};function wr(e){if(Array.isArray(e)){const t=e.map(wr);return e=>t.some((t=>t(e)))}if("origin"==e){const e=s.global.window.location.origin;return t=>new URL(t,s.global.document.baseURI).origin==e}if("function"==typeof e)return e;if(e instanceof RegExp)return t=>!(!t.match(e)&&!t.replace(/^https?:\/\//,"").match(e));return()=>!1}class yr extends e.Command{constructor(e){super(e),this._wrapper=null,this._processInProgress=new Set,this.value=!1,this._canEdit=function(e){const t=wr(e);return e=>!(!e.is("element","imageInline")&&!e.is("element","imageBlock"))&&(!!e.hasAttribute("ckboxImageId")||!!e.hasAttribute("src")&&t(e.getAttribute("src")))}(e.config.get("ckbox.allowExternalImagesEditing")),this._prepareOptions=(0,s.abortableDebounce)(((e,t)=>this._prepareOptionsAbortable(e,t))),this._prepareListeners()}refresh(){const e=this.editor;this.value=this._getValue();const t=e.model.document.selection.getSelectedElement();this.isEnabled=!!t&&this._canEdit(t)&&!this._checkIfElementIsBeingProcessed(t)}execute(){if(this._getValue())return;const e=(0,s.createElement)(document,"div",{class:"ck ckbox-wrapper"});this._wrapper=e,this.value=!0,document.body.appendChild(this._wrapper);const r={element:this.editor.model.document.selection.getSelectedElement(),controller:new AbortController};this._prepareOptions(r).then((t=>window.CKBox.mountImageEditor(e,t)),(e=>{const r=this.editor,n=r.t;r.plugins.get(t.Notification).showWarning(n("Failed to determine category of edited image."),{namespace:"ckbox"}),console.error(e),this._handleImageEditorClose()}))}destroy(){this._handleImageEditorClose(),this._prepareOptions.abort();for(const e of this._processInProgress.values())e.controller.abort();super.destroy()}_getValue(){return null!==this._wrapper}async _prepareOptionsAbortable(e,t){const r=this.editor,n=r.config.get("ckbox"),o=r.plugins.get(E),{element:i}=t;let s;const a=i.getAttribute("ckboxImageId");if(a)s={assetId:a};else{const t=i.getAttribute("src");s={imageUrl:t,uploadCategoryId:await o.getCategoryIdForFile(t,{signal:e})}}return{...s,imageEditing:{allowOverwrite:!1},tokenUrl:n.tokenUrl,onClose:()=>this._handleImageEditorClose(),onSave:e=>this._handleImageEditorSave(t,e)}}_prepareListeners(){this.listenTo(this.editor.model.document,"change:data",(()=>{this._getProcessingStatesOfDeletedImages().forEach((e=>{e.controller.abort()}))}))}_getProcessingStatesOfDeletedImages(){const e=[];for(const t of this._processInProgress.values())"$graveyard"==t.element.root.rootName&&e.push(t);return e}_checkIfElementIsBeingProcessed(e){for(const{element:t}of this._processInProgress)if(vr(t,e))return!0;return!1}_handleImageEditorClose(){this._wrapper&&(this._wrapper.remove(),this._wrapper=null,this.editor.editing.view.focus(),this.refresh())}_handleImageEditorSave(r,n){const o=this.editor.locale.t,i=this.editor.plugins.get(t.Notification),a=this.editor.plugins.get(e.PendingActions),c=a.add(o("Processing the edited image."));this._processInProgress.add(r),this._showImageProcessingIndicator(r.element,n),this.refresh(),this._waitForAssetProcessed(n.data.id,r.controller.signal).then((e=>{this._replaceImage(r.element,e)}),(e=>{this.editor.editing.reconvertItem(r.element),r.controller.signal.aborted||(!e||e instanceof s.CKEditorError?i.showWarning(o("Server failed to process the image."),{namespace:"ckbox"}):console.error(e))})).finally((()=>{this._processInProgress.delete(r),a.remove(c),this.refresh()}))}async _getAssetStatusFromServer(e,t){const r=this.editor.plugins.get(E),n=new URL("assets/"+e,this.editor.config.get("ckbox.serviceOrigin")),o=await w({url:n,signal:t,authorization:r.getToken().value}),i=o.metadata.metadataProcessingStatus;if(!i||"queued"==i)throw new s.CKEditorError("ckbox-image-not-processed");return{data:{...o}}}async _waitForAssetProcessed(e,t){const r=await(0,s.retry)((()=>this._getAssetStatusFromServer(e,t)),{signal:t,maxAttempts:5});if("success"!=r.data.metadata.metadataProcessingStatus)throw new s.CKEditorError("ckbox-image-processing-failed");return r}_showImageProcessingIndicator(e,t){const r=this.editor;r.editing.view.change((n=>{const o=r.editing.mapper.toViewElement(e),i=this.editor.plugins.get("ImageUtils").findViewImgElement(o);n.removeStyle("aspect-ratio",i),n.setAttribute("width",t.data.metadata.width,i),n.setAttribute("height",t.data.metadata.height,i),n.setStyle("width",`${t.data.metadata.width}px`,i),n.setStyle("height",`${t.data.metadata.height}px`,i),n.addClass("image-processing",o)}))}_replaceImage(e,t){const r=this.editor,{imageFallbackUrl:n,imageSources:o,imageWidth:i,imageHeight:s,imagePlaceholder:a}=k(t),c=Array.from(r.model.document.selection.getRanges());r.model.change((l=>{l.setSelection(e,"on"),r.execute("insertImage",{source:{src:n,sources:o,width:i,height:s,...a?{placeholder:a}:null,...e.hasAttribute("alt")?{alt:e.getAttribute("alt")}:null}});const u=e.getChildren();e=r.model.document.selection.getSelectedElement();for(const t of u)l.append(l.cloneElement(t),e);l.setAttribute("ckboxImageId",t.data.id,e),l.setSelection(c)}))}}class _r extends e.Plugin{static get pluginName(){return"CKBoxImageEditEditing"}static get requires(){return[S,E,e.PendingActions,t.Notification,"ImageUtils","ImageEditing"]}init(){const{editor:e}=this;e.commands.add("ckboxImageEdit",new yr(e))}}class kr extends e.Plugin{static get pluginName(){return"CKBoxImageEditUI"}init(){const e=this.editor;e.ui.componentFactory.add("ckboxImageEdit",(r=>{const n=e.commands.get("ckboxImageEdit"),o=new t.ButtonView(r),i=r.t;return o.set({label:i("Edit image"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M1.201 1C.538 1 0 1.47 0 2.1v12.86C0 15.603.534 16 1.186 16H6.45l3.647-3.596-3.48-3.254a.694.694 0 0 0-.958-.033L1.5 13.6V2.5h15v4.59a3.477 3.477 0 0 1 1.5.15V2.1c0-.63-.547-1.1-1.2-1.1H1.202Zm11.723 2.805a2.137 2.137 0 0 0-2.045 2.406 2.13 2.13 0 0 0 4.172.277 2.134 2.134 0 0 0-.76-2.244 2.13 2.13 0 0 0-1.367-.44Z"/><path d="M8.1 17.612V20h2.39l7.046-7.046-2.39-2.39L8.1 17.612Zm11.283-6.506a.638.638 0 0 0 .139-.692.603.603 0 0 0-.139-.206L17.892 8.72a.63.63 0 0 0-.898 0l-1.167 1.163 2.391 2.39 1.165-1.167Z"/></svg>',tooltip:!0}),o.bind("isOn").to(n,"value",n,"isEnabled",((e,t)=>e&&t)),o.bind("isEnabled").to(n),this.listenTo(o,"execute",(()=>{e.execute("ckboxImageEdit"),e.editing.view.focus()})),o}))}}var xr=r(62),Ir=r.n(xr),Ar=r(70),Er={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ir()(Ar.Z,Er);Ar.Z.locals;class jr extends e.Plugin{static get pluginName(){return"CKBoxImageEdit"}static get requires(){return[_r,kr]}}})(),(window.CKEditor5=window.CKEditor5||{}).ckbox=n})();
|
package/build/translations/ar.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e.ar=e.ar||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"لا يمكن الوصول إلى مساحة العمل الافتراضية.","Cannot determine a category for the uploaded file.":"تعذر تحديد فئة الملف الذي تم رفعه","Edit image":"تحرير الصورة","Failed to determine category of edited image.":"فشلت عملية تحديد فئة الصورة التي تم تحريرها.","Open file manager":"فتح مدير الملفات","Processing the edited image.":"معالجة الصورة المعدلة.","Server failed to process the image.":"فشل الخادم في معالجة الصورة."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/az.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e.az=e.az||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Yüklənmiş fayl üçün kateqoriya müəyyən olunmadı.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"Fayl menecerini aç","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/bg.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.bg=e.bg||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Нямате достъп до работното пространство по подразбиране.","Cannot determine a category for the uploaded file.":"Не може да бъде определена категория за качения файл.","Edit image":"Редактиране на изображението","Failed to determine category of edited image.":"Неуспешно определяне на категорията на редактираното изображение.","Open file manager":"Отвори управление на файлове","Processing the edited image.":"Обработка на редактираното изображение.","Server failed to process the image.":"Сървърът не успя да обработи изображението."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/bn.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.bn=e.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"ডিফল্ট ওয়ার্কস্পেস অ্যাক্সেস করতে পারবেন না।","Cannot determine a category for the uploaded file.":"আপলোড করা ফাইলের জন্য একটি বিভাগ নির্ধারণ করা যাচ্ছে না।","Edit image":"ছবি এডিট করুন","Failed to determine category of edited image.":"এডিট করা ছবির ক্যাটাগরি নির্ধারণ করতে ব্যর্থ হয়েছে।","Open file manager":"ফাইল ম্যানেজার খুলুন","Processing the edited image.":"এডিট করা ছবি প্রক্রিয়া করা হচ্ছে।","Server failed to process the image.":"সার্ভার ছবিটি প্রক্রিয়া করতে ব্যর্থ হয়েছে।"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/ca.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const a=e.ca=e.ca||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"No es pot accedir a l'espai de treball predeterminat.","Cannot determine a category for the uploaded file.":"No es pot determinar una categoria per al fitxer penjat.","Open file manager":"Obrir el gestor de fitxers"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const a=e.ca=e.ca||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"No es pot accedir a l'espai de treball predeterminat.","Cannot determine a category for the uploaded file.":"No es pot determinar una categoria per al fitxer penjat.","Edit image":"Edita la imatge","Failed to determine category of edited image.":"No s'ha pogut determinar la categoria de la imatge editada.","Open file manager":"Obrir el gestor de fitxers","Processing the edited image.":"Tractant la imatge editada.","Server failed to process the image.":"El servidor no ha pogut processar la imatge."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/cs.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const o=e.cs=e.cs||{};o.dictionary=Object.assign(o.dictionary||{},{"Cannot access default workspace.":"Nelze získat přístup k výchozímu pracovišti.","Cannot determine a category for the uploaded file.":"Nelze určit kategorii pro nahraný soubor.","Open file manager":"Otevřít správce souborů"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const o=e.cs=e.cs||{};o.dictionary=Object.assign(o.dictionary||{},{"Cannot access default workspace.":"Nelze získat přístup k výchozímu pracovišti.","Cannot determine a category for the uploaded file.":"Nelze určit kategorii pro nahraný soubor.","Edit image":"Upravit obrázek","Failed to determine category of edited image.":"Nepodařilo se určit kategorii upraveného obrázku.","Open file manager":"Otevřít správce souborů","Processing the edited image.":"Zpracování upraveného obrázku.","Server failed to process the image.":"Serveru se nepodařilo zpracovat obrázek."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/da.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const
|
1
|
+
!function(e){const d=e.da=e.da||{};d.dictionary=Object.assign(d.dictionary||{},{"Cannot access default workspace.":"Kan ikke opnå adgang til standard arbejdsområde.","Cannot determine a category for the uploaded file.":"Kan ikke bestemme en kategori for den uploadede fil.","Edit image":"Rediger billede","Failed to determine category of edited image.":"Det lykkedes ikke at bestemme kategorien for det redigerede billede.","Open file manager":"Open filhåndtering","Processing the edited image.":"Behandler det redigerede billede.","Server failed to process the image.":"Det lykkedes ikke for serveren at behandle billedet."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/de.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const
|
1
|
+
!function(e){const i=e.de=e.de||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Zugriff auf Standardarbeitsbereich nicht möglich.","Cannot determine a category for the uploaded file.":"Die Kategorie für die hochgeladene Datei konnte nicht bestimmt werden.","Edit image":"Bild bearbeiten","Failed to determine category of edited image.":"Es konnte für das bearbeitete Bild keine Kategorie ermittelt werden.","Open file manager":"Dateimanager öffnen","Processing the edited image.":"Das bearbeitete Bild wird verarbeitet.","Server failed to process the image.":"Der Server konnte das Bild nicht verarbeiten."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/el.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const
|
1
|
+
!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Δεν είναι δυνατή η πρόσβαση στον προεπιλεγμένο χώρο εργασίας","Cannot determine a category for the uploaded file.":"Δεν μπορεί να οριστεί κατηγορία για το αρχείο που μεταφορτώθηκε.","Edit image":"Επεξεργασία εικόνας","Failed to determine category of edited image.":"Απέτυχε ο προσδιορισμός της κατηγορίας της επεξεργασμένης εικόνας.","Open file manager":"Άνοιγμα διαχειριστή αρχείων","Processing the edited image.":"Επεξεργασία της επεξεργασμένης εικόνας","Server failed to process the image.":"Ο διακομιστής απέτυχε να επεξεργαστεί την εικόνα."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
@@ -1 +1 @@
|
|
1
|
-
!function(e){const
|
1
|
+
!function(e){const a=e["en-au"]=e["en-au"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Cannot determine a category for the uploaded file.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"Open file manager","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e["es-co"]=e["es-co"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"No se pudo determinar una categoría para el archivo cargado.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"Abrir administrador de archivos","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/es.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const a=e.es=e.es||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"No se puede acceder al espacio de trabajo predeterminado.","Cannot determine a category for the uploaded file.":"No se puede determinar una categoría para el archivo subido.","Open file manager":"Abrir gestor de archivos"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const a=e.es=e.es||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"No se puede acceder al espacio de trabajo predeterminado.","Cannot determine a category for the uploaded file.":"No se puede determinar una categoría para el archivo subido.","Edit image":"Editar imagen","Failed to determine category of edited image.":"No se pudo determinar la categoría de la imagen editada.","Open file manager":"Abrir gestor de archivos","Processing the edited image.":"Procesando la imagen editada.","Server failed to process the image.":"El servidor no pudo procesar la imagen."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/et.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.et=e.et||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Puudub juurdepääs vaiketööruumile.","Cannot determine a category for the uploaded file.":"Ei suuda üles laaditud faili kategooriat tuvastada.","Edit image":"Redigeeri pilti","Failed to determine category of edited image.":"Redigeeritud pildi kategooria määramine nurjus.","Open file manager":"Ava failihaldur","Processing the edited image.":"Redigeeritud pildi töötlemine.","Server failed to process the image.":"Serveril ei õnnestunud pilti töödelda."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/fa.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e.fa=e.fa||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"فضای کاری پیش فرض قابل دسترس نیست.","Cannot determine a category for the uploaded file.":"نمی توان یک دسته برای فایل آپلود شده تعیین کرد","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"مدیریت فایل را باز کنید","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/fi.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const t=e.fi=e.fi||{};t.dictionary=Object.assign(t.dictionary||{},{"Cannot access default workspace.":"Oletustyötilan käyttöoikeudet puuttuvat.","Cannot determine a category for the uploaded file.":"Emme voi määrittää ladatun tiedoston kategoriaa.","Edit image":"Muokkaa kuvaa","Failed to determine category of edited image.":"Muokatun kuvan katergorian määrittäminen epäonnistui.","Open file manager":"Avaa tiedostonhallinnointityökalu","Processing the edited image.":"Käsitellään muokattua kuvaa.","Server failed to process the image.":"Palvelin ei kyennyt käsittelemään kuvaa."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/fr.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const i=e.fr=e.fr||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Impossible d'accéder à l'espace de travail par défaut.","Cannot determine a category for the uploaded file.":"Impossible de déterminer une catégorie pour le fichier téléchargé.","Open file manager":"Ouvrir le gestionnaire de fichiers"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const i=e.fr=e.fr||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Impossible d'accéder à l'espace de travail par défaut.","Cannot determine a category for the uploaded file.":"Impossible de déterminer une catégorie pour le fichier téléchargé.","Edit image":"Modifier l'image","Failed to determine category of edited image.":"Échec de la détermination de la catégorie de l'image modifiée.","Open file manager":"Ouvrir le gestionnaire de fichiers","Processing the edited image.":"Traitement de l'image modifiée.","Server failed to process the image.":"Le serveur n'a pas réussi à traiter l'image."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/gl.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const
|
1
|
+
!function(e){const a=e.gl=e.gl||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"Non é posíbel acceder ao espazo de traballo predeterminado.","Cannot determine a category for the uploaded file.":"Non é posíbel determinar unha categoría para o ficheiro enviado.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"Abrir o xestor de ficheiros","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/he.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const
|
1
|
+
!function(e){const i=e.he=e.he||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"אין גישה למרחב העבודה של ברירת המחדל.","Cannot determine a category for the uploaded file.":"לא ניתן לקבוע קטגוריה עבור הקובץ שהועלה.","Edit image":"עריכת תמונה","Failed to determine category of edited image.":"קביעת הקטגוריה של התמונה הערוכה נכשלה.","Open file manager":"פתח את מנהל הקבצים","Processing the edited image.":"מעבד את התמונה הערוכה.","Server failed to process the image.":"השרת לא הצליח לעבד את התמונה."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/hi.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.hi=e.hi||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"डिफ़ॉल्ट वर्कस्पेस को ऐक्सेस नहीं किया जा सकता.","Cannot determine a category for the uploaded file.":"अपलोड की गई फ़ाइल के लिए एक केटेगरी डिटर्माइन नहीं कर पा रहें.","Edit image":"इमेज एडिट करें","Failed to determine category of edited image.":"एडिट किए गए इमेज की श्रेणी निर्धारित करने में विफल.","Open file manager":"फाइल मैनेजर खोलें","Processing the edited image.":"एडिट किए गए इमेज को प्रोसेस किया जा रहा है","Server failed to process the image.":"सर्वर इमेज प्रोसेस करने में विफल रहा."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/hr.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const t=e.hr=e.hr||{};t.dictionary=Object.assign(t.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Nije moguće utvrditi kategoriju prenesene datoteke.","Open file manager":"Otvori upravitelj datoteka"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const t=e.hr=e.hr||{};t.dictionary=Object.assign(t.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Nije moguće utvrditi kategoriju prenesene datoteke.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"Otvori upravitelj datoteka","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/hu.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"Cannot access default workspace.":"Nem lehetséges hozzáférni az alapértelmezett munkaterülethez.","Cannot determine a category for the uploaded file.":"Nem sikerült meghatározni a feltöltött fájl kategóriáját.","Open file manager":"Fájlkezelő megnyitása"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"Cannot access default workspace.":"Nem lehetséges hozzáférni az alapértelmezett munkaterülethez.","Cannot determine a category for the uploaded file.":"Nem sikerült meghatározni a feltöltött fájl kategóriáját.","Edit image":"Kép szerkesztése","Failed to determine category of edited image.":"Nem sikerült meghatározni a szerkesztett kép kategóriáját.","Open file manager":"Fájlkezelő megnyitása","Processing the edited image.":"A szerkesztett kép feldolgozása.","Server failed to process the image.":"A szerver nem tudta feldolgozni a képet."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/id.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"Tidak dapat mengakses ruang kerja baku.","Cannot determine a category for the uploaded file.":"Tak dapat menentukan kategori untuk berkas yang terunggah.","Open file manager":"Buka manajer berkas"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"Tidak dapat mengakses ruang kerja baku.","Cannot determine a category for the uploaded file.":"Tak dapat menentukan kategori untuk berkas yang terunggah.","Edit image":"Edit gambar","Failed to determine category of edited image.":"Gagar menentukan kategori gambar yang diedit","Open file manager":"Buka manajer berkas","Processing the edited image.":"Memroses gambar yang diedit","Server failed to process the image.":"Server gagal memroses gambar"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/it.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const i=e.it=e.it||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Impossibile accedere all'area di lavoro predefinita.","Cannot determine a category for the uploaded file.":"Impossibile determinare la categoria del file caricato.","Open file manager":"Apri il gestore dei file"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const i=e.it=e.it||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Impossibile accedere all'area di lavoro predefinita.","Cannot determine a category for the uploaded file.":"Impossibile determinare la categoria del file caricato.","Edit image":"Modifica immagine","Failed to determine category of edited image.":"Impossibile determinare la categoria dell'immagine modificata.","Open file manager":"Apri il gestore dei file","Processing the edited image.":"Elaborazione dell'immagine modificata.","Server failed to process the image.":"Il server non è riuscito a elaborare l'immagine."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/ja.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e.ja=e.ja||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"デフォルトワークスペースにアクセスできません。","Cannot determine a category for the uploaded file.":"アップロードされたファイルのカテゴリを特定することができません。","Edit image":"画像を編集","Failed to determine category of edited image.":"編集した画像のカテゴリーを決定できませんでした。","Open file manager":"ファイルマネージャーを開く","Processing the edited image.":"編集した画像を処理しています。","Server failed to process the image.":"サーバが画像の処理に失敗しました。"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/ko.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.ko=e.ko||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"기본 작업 공간에 액세스할 수 없습니다.","Cannot determine a category for the uploaded file.":"업로드된 파일의 카테고리를 확인할 수 없습니다.","Edit image":"이미지 편집","Failed to determine category of edited image.":"편집한 이미지의 카테고리를 결정하지 못했습니다.","Open file manager":"파일 관리자 열기","Processing the edited image.":"편집한 이미지를 처리 중입니다.","Server failed to process the image.":"서버가 이미지를 처리하지 못했습니다."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/lt.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e.lt=e.lt||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"Negalima pasiekti numatytosios darbo erdvės.","Cannot determine a category for the uploaded file.":"Negalima apibrėžti įkelto failo kategorijos.","Edit image":"Redaguoti paveikslėlį","Failed to determine category of edited image.":"Nepavyko nustatyti redaguojamo paveikslėlio kategorijos.","Open file manager":"Atidaryti failų tvarkyklę","Processing the edited image.":"Redaguojamo paveikslėlio apdorojimas.","Server failed to process the image.":"Serveriui nepavyko apdoroti paveikslėlio."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/lv.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const t=e.lv=e.lv||{};t.dictionary=Object.assign(t.dictionary||{},{"Cannot access default workspace.":"Nevar piekļūt noklusējuma darbvietai.","Cannot determine a category for the uploaded file.":"Nav iespējams noteikt augšupielādētā faila kategoriju","Edit image":"Rediģēt attēlu","Failed to determine category of edited image.":"Neizdevās noteikt rediģētā attēla kategoriju.","Open file manager":"Atvērt failu pārvaldnieku","Processing the edited image.":"Rediģētā attēla apstrāde.","Server failed to process the image.":"Serverim neizdevās apstrādāt attēlu."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/ms.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e.ms=e.ms||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"Tidak dapat mengakses ruang kerja lalai.","Cannot determine a category for the uploaded file.":"Gagal menentukan kategori bagi fail yang dimuat naik.","Edit image":"Sunting imej","Failed to determine category of edited image.":"Gagal menentukan kategori imej yang disunting.","Open file manager":"Buka pengurus fail","Processing the edited image.":"Memproses imej yang telah disunting.","Server failed to process the image.":"Pelayan gagal memproses imej."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/nl.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const n=e.nl=e.nl||{};n.dictionary=Object.assign(n.dictionary||{},{"Cannot access default workspace.":"Geen toegang mogelijk tot standaard werkplek.","Cannot determine a category for the uploaded file.":"Kan geen categorie bepalen voor het geüploade bestand.","Open file manager":"Open bestandsmanager"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const n=e.nl=e.nl||{};n.dictionary=Object.assign(n.dictionary||{},{"Cannot access default workspace.":"Geen toegang mogelijk tot standaard werkplek.","Cannot determine a category for the uploaded file.":"Kan geen categorie bepalen voor het geüploade bestand.","Edit image":"Afbeelding bewerken","Failed to determine category of edited image.":"Het is niet gelukt om de categorie van de bewerkte afbeelding te bepalen.","Open file manager":"Open bestandsmanager","Processing the edited image.":"De bewerkte afbeelding verwerken.","Server failed to process the image.":"De server heeft de afbeelding niet verwerkt."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/no.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const
|
1
|
+
!function(e){const i=e.no=e.no||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Får ikke tilgang til standard arbeidsflate.","Cannot determine a category for the uploaded file.":"Kunne ikke avgjøre kategori for den opplastede filen.","Edit image":"Redigere bilde","Failed to determine category of edited image.":"Kunne ikke bestemme kategori for det redigerte bildet.","Open file manager":"Åpne filutforsker","Processing the edited image.":"Behandler det redigerte bildet.","Server failed to process the image.":"Serveren klarte ikke å behandle bildet."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/pl.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const o=e.pl=e.pl||{};o.dictionary=Object.assign(o.dictionary||{},{"Cannot access default workspace.":"Nie można uzyskać dostępu do domyślnego obszaru roboczego.","Cannot determine a category for the uploaded file.":"Nie można ustalić kategorii przesłanego pliku.","Open file manager":"Otwórz menedżer plików"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const o=e.pl=e.pl||{};o.dictionary=Object.assign(o.dictionary||{},{"Cannot access default workspace.":"Nie można uzyskać dostępu do domyślnego obszaru roboczego.","Cannot determine a category for the uploaded file.":"Nie można ustalić kategorii przesłanego pliku.","Edit image":"Edytuj obraz","Failed to determine category of edited image.":"Nie udało się określić kategorii edytowanego obrazu.","Open file manager":"Otwórz menedżer plików","Processing the edited image.":"Trwa przetwarzanie edytowanego obrazu.","Server failed to process the image.":"Serwer nie mógł przetworzyć obrazu."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
@@ -1 +1 @@
|
|
1
|
-
!function(a){const
|
1
|
+
!function(a){const e=a["pt-br"]=a["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"Não é possível acessar o espaço de trabalho padrão.","Cannot determine a category for the uploaded file.":"Não foi possível determinar a categoria para o arquivo enviado.","Edit image":"Editar imagem","Failed to determine category of edited image.":"Falha ao determinar a categoria da imagem editada.","Open file manager":"Abrir gerenciador de arquivos","Processing the edited image.":"Processando a imagem editada.","Server failed to process the image.":"Falha do servidor ao processar a imagem."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/pt.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const
|
1
|
+
!function(e){const a=e.pt=e.pt||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"Não é possível aceder ao espaço de trabalho padrão.","Cannot determine a category for the uploaded file.":"Não é possível determinar a categoria do ficheiro carregado.","Edit image":"Editar imagem","Failed to determine category of edited image.":"Não foi possível determinar a categoria da imagem editada.","Open file manager":"Abrir gestor de ficheiros","Processing the edited image.":"A processar a imagem editada.","Server failed to process the image.":"O servidor não conseguiu processar a imagem."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/ro.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.ro=e.ro||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Nu poți accesa spațiul de lucru implicit.","Cannot determine a category for the uploaded file.":"Categoria fișierului încărcat nu poate fi stabilită.","Edit image":"Editare imagine","Failed to determine category of edited image.":"Nu s-a putut determina categoria imaginii editate.","Open file manager":"Deschidere manager fișiere","Processing the edited image.":"Se procesează imaginea editată.","Server failed to process the image.":"Serverul nu a putut procesa imaginea."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/ru.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.ru=e.ru||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Не удается получить доступ к рабочему пространству по умолчанию.","Cannot determine a category for the uploaded file.":"Не удаётся определить категорию для загруженного файла.","Edit image":"Редактировать изображение","Failed to determine category of edited image.":"Не удалось определить категорию отредактированного изображения.","Open file manager":"Открыть менеджер файлов","Processing the edited image.":"Обработка отредактированного изображения.","Server failed to process the image.":"Серверу не удалось обработать изображение."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/sk.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e.sk=e.sk||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"Nie je možné získať prístup k predvolenému pracovnému priestoru.","Cannot determine a category for the uploaded file.":"Neznáma kategória pre nahratý súbor.","Edit image":"Upraviť obrázok","Failed to determine category of edited image.":"Nepodarilo sa určiť kategóriu upraveného obrázka.","Open file manager":"Otvoriť manažér súborov","Processing the edited image.":"Spracovanie upraveného obrázka.","Server failed to process the image.":"Serveru sa nepodarilo spracovať obrázok."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/sq.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(e){const a=e.sq=e.sq||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Nuk mund të përcaktohet kategori për skedarin e ngarkuar.","Open file manager":"Hap menaxhuesin e skedarëve"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
1
|
+
!function(e){const a=e.sq=e.sq||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Nuk mund të përcaktohet kategori për skedarin e ngarkuar.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"Hap menaxhuesin e skedarëve","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e["sr-latn"]=e["sr-latn"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"Nije moguće pristupiti podrazumevanom radnom prostoru.","Cannot determine a category for the uploaded file.":"Nije moguće odrediti kategoriju za otpremljenu datoteku.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"Otvori upravljač datotekama","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/sr.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.sr=e.sr||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Nije moguće pristupiti podrazumevanom radnom prostoru.","Cannot determine a category for the uploaded file.":"Није могуће одредити категорију за отпремлјену датотеку.","Edit image":"Uredi sliku","Failed to determine category of edited image.":"Određivanje kategorije uređene slike nije uspelo.","Open file manager":"Oтвори управљач датотекама.","Processing the edited image.":"Obrađivanje uređene slike.","Server failed to process the image.":"Server nije uspeo da obradi sliku."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/sv.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const a=e.sv=e.sv||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"Kan inte komma åt standardarbetsytan.","Cannot determine a category for the uploaded file.":"Kan inte avgöra kategorin på den uppladdade filen.","Edit image":"Redigera bild","Failed to determine category of edited image.":"Kunde inte fastställa den redigerade bildens kategori.","Open file manager":"Öppna filhanterare","Processing the edited image.":"Bearbetar den redigerade bilden.","Server failed to process the image.":"Servern kunde inte bearbeta bilden."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/th.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.th=e.th||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"ไม่สามารถเข้าถึงพื้นที่ทำงานเริ่มต้น","Cannot determine a category for the uploaded file.":"ไม่สามารถกำหนดหมวดหมู่สำหรับไฟล์ที่อัปโหลด","Edit image":"แก้ไขภาพ","Failed to determine category of edited image.":"ระบุหมวดหมู่ของภาพที่แก้ไขไม่สำเร็จ","Open file manager":"เปิดเครื่องมือจัดการไฟล์","Processing the edited image.":"กำลังประมวลผลภาพที่แก้ไข","Server failed to process the image.":"เซิร์ฟเวอร์ประมวลผลภาพไม่สำเร็จ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/tr.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.tr=e.tr||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Varsayılan çalışma alanına erişilemiyor.","Cannot determine a category for the uploaded file.":"Yüklenen dosya için bir kategori belirlenemiyor.","Edit image":"Görüntüyü düzenle","Failed to determine category of edited image.":"Düzenlenen görselin kategorisinin belirlenmesi başarısız oldu.","Open file manager":"Dosya yöneticisini aç","Processing the edited image.":"Düzenlenen görüntü işleniyor.","Server failed to process the image.":"Sunucu görüntüyü işlemede başarısız oldu."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/ug.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.ug=e.ug||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"كۆڭۈلدىكى خىزمەت بوشلۇقىنى زىيارەت قىلالمايدۇ","Cannot determine a category for the uploaded file.":"يۈكلەيدىغان ھۆججەتنىڭ تۈرىنى جەزملىيەلمىدى.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"ھۆججەت باشقۇرغۇچنى ئاچ","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/uk.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.uk=e.uk||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"Немає доступу до робочого простору за замовчуванням.","Cannot determine a category for the uploaded file.":"Не вдається визначити категорію для завантаженого файлу.","Edit image":"Редагувати зображення","Failed to determine category of edited image.":"Не вдалося визначити категорію відредагованого зображення.","Open file manager":"Відкрити менеджер файлів","Processing the edited image.":"Обробка відредагованого зображення.","Server failed to process the image.":"Серверу не вдалося обробити зображення."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/ur.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.ur=e.ur||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"اپلوڈ کی گئی فائل کا ذمرے کا تعین نہیں ہو سکا","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"فائل مینیجر کھولیں","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/uz.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.uz=e.uz||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Yuklangan fayl uchun toifani aniqlab bo‘lmadi.","Edit image":"","Failed to determine category of edited image.":"","Open file manager":"Fayl menejerini ochish","Processing the edited image.":"","Server failed to process the image.":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/vi.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(n){const
|
1
|
+
!function(n){const h=n.vi=n.vi||{};h.dictionary=Object.assign(h.dictionary||{},{"Cannot access default workspace.":"Không thể truy cập vào không gian làm việc mặc định.","Cannot determine a category for the uploaded file.":"Không thể xác định danh mục cho tệp được tải lên.","Edit image":"Chỉnh sửa hình ảnh","Failed to determine category of edited image.":"Không thể xác định danh mục hình ảnh đã chỉnh sửa.","Open file manager":"Mở trình quản lý tệp","Processing the edited image.":"Xử lý hình ảnh đã chỉnh sửa.","Server failed to process the image.":"Máy chủ không thể xử lý hình ảnh."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e["zh-cn"]=e["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"无法访问默认工作区","Cannot determine a category for the uploaded file.":"无法确定上传文件的类别。","Edit image":"编辑图片","Failed to determine category of edited image.":"未能确定已编辑图片的类别。","Open file manager":"打开文件管理器","Processing the edited image.":"正在处理已编辑的图片。","Server failed to process the image.":"服务器未能处理图片。"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/build/translations/zh.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(
|
1
|
+
!function(e){const i=e.zh=e.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Cannot access default workspace.":"無法存取預設工作區。","Cannot determine a category for the uploaded file.":"無法確定上傳檔案的分類。","Edit image":"編輯圖片","Failed to determine category of edited image.":"無法判斷已編輯圖片的類別。","Open file manager":"開啟檔案管理程式","Processing the edited image.":"正在處理已編輯的圖片。","Server failed to process the image.":"伺服器無法處理該圖片。"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
|
package/ckeditor5-metadata.json
CHANGED
@@ -33,6 +33,23 @@
|
|
33
33
|
"_comment": "If `config.ckbox.ignoreDataId` is set to false (off), the asset ID as the `data-ckbox-resource-id` attribute is added on the inserted elements (by default)."
|
34
34
|
}
|
35
35
|
]
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"name": "CKBox Image Edit",
|
39
|
+
"className": "CKBoxImageEdit",
|
40
|
+
"description": "Allows editing images.",
|
41
|
+
"docs": "features/file-management/ckbox.html",
|
42
|
+
"path": "src/ckboximageedit.js",
|
43
|
+
"requires": [
|
44
|
+
"CKBox"
|
45
|
+
],
|
46
|
+
"uiComponents": [
|
47
|
+
{
|
48
|
+
"name": "ckboxImageEdit",
|
49
|
+
"type": "Button",
|
50
|
+
"iconPath": "theme/icons/ckbox-image-edit.svg"
|
51
|
+
}
|
52
|
+
]
|
36
53
|
}
|
37
54
|
]
|
38
55
|
}
|
package/lang/contexts.json
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
{
|
2
|
-
"Open file manager": "
|
2
|
+
"Open file manager": "A toolbar button tooltip for opening the file browser that allows inserting an image or a file to the editor.",
|
3
3
|
"Cannot determine a category for the uploaded file.": "A message is displayed when CKEditor 5 cannot associate an image with any of the categories defined in CKBox while uploading an asset.",
|
4
|
-
"Cannot access default workspace.": "A message is displayed when the user is not authorised to access CKBox workspace configured as default one."
|
4
|
+
"Cannot access default workspace.": "A message is displayed when the user is not authorised to access the CKBox workspace configured as default one.",
|
5
|
+
"Edit image": "Image toolbar button tooltip for opening a dialog to manipulate the image.",
|
6
|
+
"Processing the edited image.": "A message stating that image editing is in progress.",
|
7
|
+
"Server failed to process the image.": "A message is displayed when the server fails to process an image or doesn't respond.",
|
8
|
+
"Failed to determine category of edited image.": "A message is displayed when category of the image user wants to edit can't be determined."
|
5
9
|
}
|