@ckeditor/ckeditor5-ckbox 40.1.0 → 41.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. package/LICENSE.md +1 -1
  2. package/build/ckbox.js +3 -3
  3. package/build/translations/ar.js +1 -1
  4. package/build/translations/az.js +1 -1
  5. package/build/translations/bg.js +1 -1
  6. package/build/translations/bn.js +1 -1
  7. package/build/translations/ca.js +1 -1
  8. package/build/translations/cs.js +1 -1
  9. package/build/translations/da.js +1 -1
  10. package/build/translations/de.js +1 -1
  11. package/build/translations/el.js +1 -1
  12. package/build/translations/en-au.js +1 -1
  13. package/build/translations/es-co.js +1 -1
  14. package/build/translations/es.js +1 -1
  15. package/build/translations/et.js +1 -1
  16. package/build/translations/fa.js +1 -1
  17. package/build/translations/fi.js +1 -1
  18. package/build/translations/fr.js +1 -1
  19. package/build/translations/gl.js +1 -1
  20. package/build/translations/he.js +1 -1
  21. package/build/translations/hi.js +1 -1
  22. package/build/translations/hr.js +1 -1
  23. package/build/translations/hu.js +1 -1
  24. package/build/translations/id.js +1 -1
  25. package/build/translations/it.js +1 -1
  26. package/build/translations/ja.js +1 -1
  27. package/build/translations/ko.js +1 -1
  28. package/build/translations/lt.js +1 -1
  29. package/build/translations/lv.js +1 -1
  30. package/build/translations/ms.js +1 -1
  31. package/build/translations/nl.js +1 -1
  32. package/build/translations/no.js +1 -1
  33. package/build/translations/pl.js +1 -1
  34. package/build/translations/pt-br.js +1 -1
  35. package/build/translations/pt.js +1 -1
  36. package/build/translations/ro.js +1 -1
  37. package/build/translations/ru.js +1 -1
  38. package/build/translations/sk.js +1 -1
  39. package/build/translations/sq.js +1 -1
  40. package/build/translations/sr-latn.js +1 -1
  41. package/build/translations/sr.js +1 -1
  42. package/build/translations/sv.js +1 -1
  43. package/build/translations/th.js +1 -1
  44. package/build/translations/tr.js +1 -1
  45. package/build/translations/ug.js +1 -1
  46. package/build/translations/uk.js +1 -1
  47. package/build/translations/ur.js +1 -1
  48. package/build/translations/uz.js +1 -1
  49. package/build/translations/vi.js +1 -1
  50. package/build/translations/zh-cn.js +1 -1
  51. package/build/translations/zh.js +1 -1
  52. package/ckeditor5-metadata.json +18 -1
  53. package/lang/contexts.json +6 -2
  54. package/lang/translations/ar.po +19 -3
  55. package/lang/translations/az.po +19 -3
  56. package/lang/translations/bg.po +19 -3
  57. package/lang/translations/bn.po +19 -3
  58. package/lang/translations/ca.po +19 -3
  59. package/lang/translations/cs.po +19 -3
  60. package/lang/translations/da.po +19 -3
  61. package/lang/translations/de.po +19 -3
  62. package/lang/translations/el.po +19 -3
  63. package/lang/translations/en-au.po +19 -3
  64. package/lang/translations/en.po +19 -3
  65. package/lang/translations/es-co.po +19 -3
  66. package/lang/translations/es.po +19 -3
  67. package/lang/translations/et.po +19 -3
  68. package/lang/translations/fa.po +19 -3
  69. package/lang/translations/fi.po +19 -3
  70. package/lang/translations/fr.po +19 -3
  71. package/lang/translations/gl.po +19 -3
  72. package/lang/translations/he.po +19 -3
  73. package/lang/translations/hi.po +19 -3
  74. package/lang/translations/hr.po +19 -3
  75. package/lang/translations/hu.po +19 -3
  76. package/lang/translations/id.po +19 -3
  77. package/lang/translations/it.po +19 -3
  78. package/lang/translations/ja.po +19 -3
  79. package/lang/translations/ko.po +19 -3
  80. package/lang/translations/lt.po +19 -3
  81. package/lang/translations/lv.po +19 -3
  82. package/lang/translations/ms.po +19 -3
  83. package/lang/translations/nl.po +19 -3
  84. package/lang/translations/no.po +19 -3
  85. package/lang/translations/pl.po +19 -3
  86. package/lang/translations/pt-br.po +19 -3
  87. package/lang/translations/pt.po +19 -3
  88. package/lang/translations/ro.po +19 -3
  89. package/lang/translations/ru.po +19 -3
  90. package/lang/translations/sk.po +19 -3
  91. package/lang/translations/sq.po +19 -3
  92. package/lang/translations/sr-latn.po +19 -3
  93. package/lang/translations/sr.po +19 -3
  94. package/lang/translations/sv.po +19 -3
  95. package/lang/translations/th.po +19 -3
  96. package/lang/translations/tr.po +19 -3
  97. package/lang/translations/ug.po +19 -3
  98. package/lang/translations/uk.po +19 -3
  99. package/lang/translations/ur.po +19 -3
  100. package/lang/translations/uz.po +19 -3
  101. package/lang/translations/vi.po +19 -3
  102. package/lang/translations/zh-cn.po +19 -3
  103. package/lang/translations/zh.po +19 -3
  104. package/package.json +5 -3
  105. package/src/augmentation.d.ts +12 -2
  106. package/src/augmentation.js +1 -1
  107. package/src/ckbox.d.ts +4 -4
  108. package/src/ckbox.js +4 -4
  109. package/src/ckboxcommand.d.ts +10 -8
  110. package/src/ckboxcommand.js +9 -5
  111. package/src/ckboxconfig.d.ts +27 -1
  112. package/src/ckboxconfig.js +1 -1
  113. package/src/ckboxediting.d.ts +8 -15
  114. package/src/ckboxediting.js +12 -60
  115. package/src/ckboximageedit/ckboximageeditcommand.d.ts +97 -0
  116. package/src/ckboximageedit/ckboximageeditcommand.js +299 -0
  117. package/src/ckboximageedit/ckboximageeditediting.d.ts +28 -0
  118. package/src/ckboximageedit/ckboximageeditediting.js +36 -0
  119. package/src/ckboximageedit/ckboximageeditui.d.ts +24 -0
  120. package/src/ckboximageedit/ckboximageeditui.js +48 -0
  121. package/src/ckboximageedit/utils.d.ts +10 -0
  122. package/src/ckboximageedit/utils.js +48 -0
  123. package/src/ckboximageedit.d.ts +24 -0
  124. package/src/ckboximageedit.js +28 -0
  125. package/src/ckboxui.d.ts +2 -2
  126. package/src/ckboxui.js +31 -5
  127. package/src/ckboxuploadadapter.d.ts +4 -9
  128. package/src/ckboxuploadadapter.js +19 -164
  129. package/src/ckboxutils.d.ts +50 -0
  130. package/src/ckboxutils.js +183 -0
  131. package/src/index.d.ts +11 -7
  132. package/src/index.js +8 -5
  133. package/src/utils.d.ts +33 -2
  134. package/src/utils.js +94 -1
  135. package/theme/ckboximageedit.css +53 -0
  136. package/theme/icons/ckbox-image-edit.svg +1 -0
  137. package/theme/icons/browse-files.svg +0 -1
package/LICENSE.md CHANGED
@@ -2,7 +2,7 @@ Software License Agreement
2
2
  ==========================
3
3
 
4
4
  **CKEditor&nbsp;5 CKBox feature** – https://github.com/ckeditor/ckeditor5-ckbox <br>
5
- Copyright (c) 2003–2023, [CKSource Holding sp. z o.o.](http://cksource.com) All rights reserved.
5
+ Copyright (c) 2003–2024, [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
 
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
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * @license Copyright (c) 2003-2024, 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 r=t[o];if(void 0!==r)return r.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,i),n.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:()=>P,CKBoxEditing:()=>E,CKBoxUI:()=>r});var e=i(704),t=i(273);class r 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",(r=>{const n=new t.ButtonView(r);return n.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}),n.bind("isOn","isEnabled").to(i,"value","isEnabled"),n.on("execute",(()=>{e.execute("ckbox")})),n}))}}var n=i(492),s=i(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 i=0;i<e.length;i++){let o=e[i];t=83*t+a.indexOf(o)}return t},l=e=>{let t=e/255;return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},d=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)},u=(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]),i=Math.floor(t/9)+1,o=t%9+1;if(e.length!==4+2*o*i)throw new g(`blurhash length mismatch: length is ${e.length} but it should be ${4+2*o*i}`)},m=e=>{let t=e>>8&255,i=255&e;return[l(e>>16),l(t),l(i)]},b=(e,t)=>{let i=Math.floor(e/361),o=Math.floor(e/19)%19,r=e%19;return[u((i-9)/9,2)*t,u((o-9)/9,2)*t,u((r-9)/9,2)*t]},p=(e,t,i,o)=>{h(e),o|=1;let r=c(e[0]),n=Math.floor(r/9)+1,s=r%9+1,a=(c(e[1])+1)/166,l=new Array(s*n);for(let t=0;t<l.length;t++)if(0===t){let i=c(e.substring(2,6));l[t]=m(i)}else{let i=c(e.substring(4+2*t,6+2*t));l[t]=b(i,a*o)}let u=4*t,g=new Uint8ClampedArray(u*i);for(let e=0;e<i;e++)for(let o=0;o<t;o++){let r=0,a=0,c=0;for(let d=0;d<n;d++)for(let n=0;n<s;n++){let u=Math.cos(Math.PI*o*n/t)*Math.cos(Math.PI*e*d/i),g=l[n+d*s];r+=g[0]*u,a+=g[1]*u,c+=g[2]*u}let h=d(r),m=d(a),b=d(c);g[4*o+0+e*u]=h,g[4*o+1+e*u]=m,g[4*o+2+e*u]=b,g[4*o+3+e*u]=255}return g};function f(e){const t=[];let i=0;for(const o in e){const r=parseInt(o,10);isNaN(r)||(r>i&&(i=r),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}}const k=32;class x 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,e.editing.view.focus())})),this.on("ckbox:choose",((o,r)=>{if(!this.isEnabled)return;const n=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:w(e)}:{id:e.data.id,type:"link",attributes:v(e)})).filter((e=>"image"===e.type?t:i))}({assets:r,isImageAllowed:n.isEnabled,isLinkAllowed:s.isEnabled}),c=a.length;0!==c&&(t.change((e=>{for(const t of a){const o=t===a[c-1],r=1===c;this._insertAsset(t,o,e,r),i&&(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,i,o){const r=this.editor.model.document.selection;i.removeSelectionAttribute("linkHref"),"image"===e.type?this._insertImage(e):this._insertLink(e,i,o),t||i.setSelection(r.getLastPosition())}_insertImage(e){const t=this.editor,{imageFallbackUrl:i,imageSources:o,imageTextAlternative:r,imageWidth:n,imageHeight:s,imagePlaceholder:a}=e.attributes;t.execute("insertImage",{source:{src:i,sources:o,alt:r,width:n,height:s,...a?{placeholder:a}:null}})}_insertLink(e,t,i){const o=this.editor,r=o.model,n=r.document.selection,{linkName:a,linkHref:c}=e.attributes;if(n.isCollapsed){const e=(0,s.toMap)(n.getAttributes()),l=t.createText(a,e);if(!i){const e=n.getLastPosition(),i=e.parent;"paragraph"===i.name&&i.isEmpty||o.execute("insertParagraph",{position:e});const s=r.insertContent(l);return t.setSelection(s),void o.execute("link",c)}const d=r.insertContent(l);t.setSelection(d)}o.execute("link",c)}}function w(e){const{imageFallbackUrl:t,imageSources:i}=f(e.data.imageUrls),{description:o,width:r,height:n,blurHash:s}=e.data.metadata,a=function(e){if(e)try{const t=`${k}px`,i=document.createElement("canvas");i.setAttribute("width",t),i.setAttribute("height",t);const o=i.getContext("2d");if(!o)return;const r=o.createImageData(k,k),n=p(e,k,k);return r.data.set(n),o.putImageData(r,0,0),i.toDataURL()}catch(e){return}}(s);return{imageFallbackUrl:t,imageSources:i,imageTextAlternative:o||"",imageWidth:r,imageHeight:n,...a?{imagePlaceholder:a}:null}}function v(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 C=i(448);class A extends e.Plugin{static get requires(){return["ImageUploadEditing","ImageUploadProgress",C.FileRepository,E]}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(C.FileRepository),r=e.plugins.get(E);o.createUploadAdapter=t=>new y(t,r.getToken(),e);const n=!e.config.get("ckbox.ignoreDataId"),s=e.plugins.get("ImageUploadEditing");n&&s.on("uploadComplete",((t,{imageElement:i,data:o})=>{e.model.change((e=>{e.setAttribute("ckboxImageId",o.ckboxImageId,i)}))}))}}class y{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)),r=o.auth&&o.auth.ckbox&&o.auth.ckbox.workspaces||[o.aud];return t?"superadmin"==(o.auth&&o.auth.ckbox&&o.auth.ckbox.role)||r.includes(t)?t:null:r[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 r=i.find((e=>e.extensions.find((e=>e.toLowerCase()==t))));return r?r.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 r=new URL("assets",this.serviceOrigin),n=new FormData;r.searchParams.set("workspaceId",this.getWorkspaceId()),n.append("categoryId",o),n.append("file",i);const s={method:"POST",url:r,data:n,onUploadProgress:e=>{e.lengthComputable&&(this.loader.uploadTotal=e.total,this.loader.uploaded=e.loaded)}};return this._sendHttpRequest(s).then((async e=>{const t=f(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 r=this.controller.signal,n=new XMLHttpRequest;n.open(t,e.toString(),!0),n.setRequestHeader("Authorization",this.token.value),n.setRequestHeader("CKBox-Version","CKEditor 5"),n.responseType="json";const s=()=>{n.abort()};return new Promise(((e,t)=>{r.addEventListener("abort",s),n.addEventListener("loadstart",(()=>{r.addEventListener("abort",s)})),n.addEventListener("loadend",(()=>{r.removeEventListener("abort",s)})),n.addEventListener("error",(()=>{t()})),n.addEventListener("abort",(()=>{t()})),n.addEventListener("load",(async()=>{const i=n.response;return!i||i.statusCode>=400?t(i&&i.message):e(i)})),o&&n.upload.addEventListener("progress",(e=>{o(e)})),n.send(i)}))}}class E extends e.Plugin{static get pluginName(){return"CKBoxEditing"}static get requires(){return["CloudServices","LinkEditing","PictureEditing",A]}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"),r=e.config.get("ckbox.tokenUrl");if(r===e.config.get("cloudServices.tokenUrl")){const t=e.plugins.get("CloudServices");this._token=t.token}else this._token=await o.createToken(r).init();e.config.get("ckbox.ignoreDataId")||(this._initSchema(),this._initConversion(),this._initFixers()),i&&e.commands.add("ckbox",new x(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:"lark",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:r,consumable:n}=i;if(!n.consume(t.item,e.name))return;const s=[...r.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:r,consumable:n}=i;if(n.consume(t.item,e.name)){if(t.attributeOldValue){const e=_(o,t.attributeOldValue);o.unwrap(r.toViewRange(t.range),e)}if(t.attributeNewValue){const e=_(o,t.attributeNewValue);if(t.item.is("selection")){const t=o.document.selection;o.wrap(t.getFirstRange(),e)}else o.wrap(r.toViewRange(t.range),e)}}}),{priority:"low"})})),e.conversion.for("upcast").add((e=>{e.on("element:a",((e,t,i)=>{const{writer:o,consumable:r}=i;if(!t.viewItem.getAttribute("href"))return;if(!r.consume(t.viewItem,{attributes:["data-ckbox-resource-id"]}))return;const n=t.viewItem.getAttribute("data-ckbox-resource-id");if(n)if(t.modelRange)for(let e of t.modelRange.getItems())e.is("$textProxy")&&(e=e.textNode),S(e)&&o.setAttribute("ckboxLinkId",n,e);else{const e=t.modelCursor.nodeBefore||t.modelCursor.parent;o.setAttribute("ckboxLinkId",n,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,i])=>{t.removeAttribute("ckboxImageId",i)}))}_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,r=e.commands.get("ckbox");if(!r)return i;for(const e of o.document.differ.getChanges()){if("insert"!==e.type&&"attribute"!==e.type)continue;const o="insert"===e.type?new n.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=L(e,r._chosenAssets);for(const r of o){const o="image"===r.type?"ckboxImageId":"ckboxLinkId";r.id!==e.getAttribute(o)&&(t.setAttribute(o,r.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 L(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 _(e,t){const i=e.createAttributeElement("a",{"data-ckbox-resource-id":t},{priority:5});return e.setCustomProperty("link",!0,i),i}function S(e){return!!e.is("$text")||!(!e.is("element","imageInline")&&!e.is("element","imageBlock"))}class P extends e.Plugin{static get pluginName(){return"CKBox"}static get requires(){return[E,r]}}})(),(window.CKEditor5=window.CKEditor5||{}).ckbox=o})();
5
+ */(()=>{var e={339:(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 f=null,p=0;function m(e,t){var r,n,o;if(t.singleton){var i=p++;r=f||(f=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:()=>O,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",(i=>{const s=new t.ButtonView(i);return s.set({label:o("Open file manager"),icon:e.icons.browseFiles,tooltip:!0}),s.bind("isOn","isEnabled").to(n,"value","isEnabled"),s.on("execute",(()=>{r.execute("ckbox")})),s})),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}`)},f=e=>{let t=e>>8&255,r=255&e;return[l(e>>16),l(t),l(r)]},p=(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]=f(r)}else{let r=c(e.substring(4+2*t,6+2*t));l[t]=p(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),f=u(a),p=u(c);g[4*n+0+e*d]=h,g[4*n+1+e*d]=f,g[4*n+2+e*d]=p,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,O]}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 O 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=S(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 S(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[O,o]}}const T=function(){this.__data__=[],this.size=0};const B=function(e,t){return e===t||e!=e&&t!=t};const F=function(e,t){for(var r=e.length;r--;)if(B(e[r][0],t))return r;return-1};var M=Array.prototype.splice;const R=function(e){var t=this.__data__,r=F(t,e);return!(r<0)&&(r==t.length-1?t.pop():M.call(t,r,1),--this.size,!0)};const N=function(e){var t=this.__data__,r=F(t,e);return r<0?void 0:t[r][1]};const z=function(e){return F(this.__data__,e)>-1};const K=function(e,t){var r=this.__data__,n=F(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=T,V.prototype.delete=R,V.prototype.get=N,V.prototype.has=z,V.prototype.set=K;const D=V;const $=function(){this.__data__=new D,this.size=0};const H=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 fe=function(e){if(null!=e){try{return he.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var pe=/^\[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:pe).test(fe(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 Oe=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 Se=Object.prototype.hasOwnProperty;const Pe=function(e){var t=this.__data__;return Ae?void 0!==t[e]:Se.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=Oe,Ue.prototype.has=Pe,Ue.prototype.set=Le;const Te=Ue;const Be=function(){this.size=0,this.__data__={hash:new Te,map:new(Ie||D),string:new Te}};const Fe=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Me=function(e,t){var r=e.__data__;return Fe(t)?r["string"==typeof t?"string":"hash"]:r.map};const Re=function(e){var t=Me(this,e).delete(e);return this.size-=t?1:0,t};const Ne=function(e){return Me(this,e).get(e)};const ze=function(e){return Me(this,e).has(e)};const Ke=function(e,t){var r=Me(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=Be,Ve.prototype.delete=Re,Ve.prototype.get=Ne,Ve.prototype.has=ze,Ve.prototype.set=Ke;const De=Ve;const $e=function(e,t){var r=this.__data__;if(r instanceof D){var n=r.__data__;if(!Ie||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new De(n)}return r.set(e,t),this.size=r.size,this};function He(e){var t=this.__data__=new D(e);this.size=t.size}He.prototype.clear=$,He.prototype.delete=H,He.prototype.get=q,He.prototype.has=W,He.prototype.set=$e;const qe=He;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 De;++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 f=e[d],p=t[d];if(n)var m=s?n(p,f,d,t,e,i):n(f,p,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)&&(f===e||o(f,e,r,n,i)))return h.push(t)}))){g=!1;break}}else if(f!==p&&!o(f,p,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 B(+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 ft=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};const pt=function(e){return null!=e&&"object"==typeof e};const mt=function(e){return pt(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 pt(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 Ot={};Ot["[object Float32Array]"]=Ot["[object Float64Array]"]=Ot["[object Int8Array]"]=Ot["[object Int16Array]"]=Ot["[object Int32Array]"]=Ot["[object Uint8Array]"]=Ot["[object Uint8ClampedArray]"]=Ot["[object Uint16Array]"]=Ot["[object Uint32Array]"]=!0,Ot["[object Arguments]"]=Ot["[object Array]"]=Ot["[object ArrayBuffer]"]=Ot["[object Boolean]"]=Ot["[object DataView]"]=Ot["[object Date]"]=Ot["[object Error]"]=Ot["[object Function]"]=Ot["[object Map]"]=Ot["[object Number]"]=Ot["[object Object]"]=Ot["[object RegExp]"]=Ot["[object Set]"]=Ot["[object String]"]=Ot["[object WeakMap]"]=!1;const St=function(e){return pt(e)&&Ct(e.length)&&!!Ot[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,Tt=Ut&&Ut.exports===Lt&&Z.process,Bt=function(){try{var e=Ut&&Ut.require&&Ut.require("util").types;return e||Tt&&Tt.binding&&Tt.binding("util")}catch(e){}}();var Ft=Bt&&Bt.isTypedArray;const Mt=Ft?Pt(Ft):St;var Rt=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&&Mt(e),s=r||n||o||i,a=s?ft(e.length,String):[],c=a.length;for(var l in e)!t&&!Rt.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 zt=Object.prototype;const Kt=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||zt)};const Vt=function(e,t){return function(r){return e(t(r))}}(Object.keys,Object);var Dt=Object.prototype.hasOwnProperty;const $t=function(e){if(!Kt(e))return Vt(e);var t=[];for(var r in Object(e))Dt.call(e,r)&&"constructor"!=r&&t.push(r);return t};const Ht=function(e){return null!=e&&Ct(e.length)&&!ce(e)};const qt=function(e){return Ht(e)?Nt(e):$t(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 f=s;++l<c;){var p=e[u=a[l]],m=t[u];if(n)var b=s?n(m,p,u,t,e,i):n(p,m,u,e,t,i);if(!(void 0===b?p===m||o(p,m,r,n,i):b)){h=!1;break}f||(f="constructor"==u)}if(h&&!f){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=fe(Jt),sr=fe(Ie),ar=fe(Xt),cr=fe(Qt),lr=fe(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?fe(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]",fr="[object Object]",pr=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?fr:c)==fr,d=(l=l==gr?fr:l)==fr,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||Mt(e)?Ye(e,t,r,n,o,i):it(e,t,c,r,n,o,i);if(!(1&r)){var h=u&&pr.call(e,"__wrapped__"),f=d&&pr.call(t,"__wrapped__");if(h||f){var p=h?e.value():e,m=f?t.value():t;return i||(i=new qe),o(p,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||!pt(t)&&!pt(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=new URL(i.getAttribute("src"),document.baseURI).href;s={imageUrl:t,uploadCategoryId:await o.getCategoryIdForFile(t,{signal:e})}}return{...s,imageEditing:{allowOverwrite:!1},tokenUrl:n.tokenUrl,...n.serviceOrigin&&{serviceOrigin:n.serviceOrigin},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[O,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.1v14.363c0 .64.534 1.037 1.186 1.037H5.06l5.058-5.078L6.617 9.15a.696.696 0 0 0-.957-.033L1.5 13.6V2.5h15v4.354a3.478 3.478 0 0 1 1.5.049V2.1c0-.63-.547-1.1-1.2-1.1H1.202Zm11.713 2.803a2.147 2.147 0 0 0-2.049 1.992 2.14 2.14 0 0 0 1.28 2.096 2.13 2.13 0 0 0 2.642-3.11 2.129 2.129 0 0 0-1.873-.978ZM8.089 17.635v2.388h2.389l7.046-7.046-2.39-2.39-7.045 7.048Zm11.282-6.507a.637.637 0 0 0 .139-.692.603.603 0 0 0-.139-.205l-1.49-1.488a.63.63 0 0 0-.899 0l-1.166 1.163 2.39 2.39 1.165-1.168Z"/></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(339),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})();
@@ -1 +1 @@
1
- !function(a){const n=a.ar=a.ar||{};n.dictionary=Object.assign(n.dictionary||{},{"Cannot access default workspace.":"لا يمكن الوصول إلى مساحة العمل الافتراضية.","Cannot determine a category for the uploaded file.":"تعذر تحديد فئة الملف الذي تم رفعه","Open file manager":"فتح مدير الملفات"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(a){const n=a.az=a.az||{};n.dictionary=Object.assign(n.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Yüklənmiş fayl üçün kateqoriya müəyyən olunmadı.","Open file manager":"Fayl menecerini aç"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.bg=n.bg||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"Нямате достъп до работното пространство по подразбиране.","Cannot determine a category for the uploaded file.":"Не може да бъде определена категория за качения файл.","Open file manager":"Отвори управление на файлове"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.bn=n.bn||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"ডিফল্ট ওয়ার্কস্পেস অ্যাক্সেস করতে পারবেন না।","Cannot determine a category for the uploaded file.":"আপলোড করা ফাইলের জন্য একটি বিভাগ নির্ধারণ করা যাচ্ছে না।","Open file manager":"ফাইল ম্যানেজার খুলুন"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -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={}));
@@ -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={}));
@@ -1 +1 @@
1
- !function(e){const n=e.da=e.da||{};n.dictionary=Object.assign(n.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.","Open file manager":"Open filhåndtering"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(e){const n=e.de=e.de||{};n.dictionary=Object.assign(n.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.","Open file manager":"Dateimanager öffnen"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(e){const n=e.el=e.el||{};n.dictionary=Object.assign(n.dictionary||{},{"Cannot access default workspace.":"Δεν είναι δυνατή η πρόσβαση στον προεπιλεγμένο χώρο εργασίας","Cannot determine a category for the uploaded file.":"Δεν μπορεί να οριστεί κατηγορία για το αρχείο που μεταφορτώθηκε.","Open file manager":"Άνοιγμα διαχειριστή αρχείων"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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 n=e["en-au"]=e["en-au"]||{};n.dictionary=Object.assign(n.dictionary||{},{"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 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(a){const e=a["es-co"]=a["es-co"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"No se pudo determinar una categoría para el archivo cargado.","Open file manager":"Abrir administrador de archivos"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -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={}));
@@ -1 +1 @@
1
- !function(a){const e=a.et=a.et||{};e.dictionary=Object.assign(e.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.","Open file manager":"Ava failihaldur"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(a){const n=a.fa=a.fa||{};n.dictionary=Object.assign(n.dictionary||{},{"Cannot access default workspace.":"فضای کاری پیش فرض قابل دسترس نیست.","Cannot determine a category for the uploaded file.":"نمی توان یک دسته برای فایل آپلود شده تعیین کرد","Open file manager":"مدیریت فایل را باز کنید"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(t){const a=t.fi=t.fi||{};a.dictionary=Object.assign(a.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.","Open file manager":"Avaa tiedostonhallinnointityökalu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -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={}));
@@ -1 +1 @@
1
- !function(e){const o=e.gl=e.gl||{};o.dictionary=Object.assign(o.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.","Open file manager":"Abrir o xestor de ficheiros"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(e){const n=e.he=e.he||{};n.dictionary=Object.assign(n.dictionary||{},{"Cannot access default workspace.":"אין גישה למרחב העבודה של ברירת המחדל.","Cannot determine a category for the uploaded file.":"לא ניתן לקבוע קטגוריה עבור הקובץ שהועלה.","Open file manager":"פתח את מנהל הקבצים"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.hi=n.hi||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"डिफ़ॉल्ट वर्कस्पेस को ऐक्सेस नहीं किया जा सकता.","Cannot determine a category for the uploaded file.":"अपलोड की गई फ़ाइल के लिए एक केटेगरी डिटर्माइन नहीं कर पा रहें.","Open file manager":"फाइल मैनेजर खोलें"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -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={}));
@@ -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={}));
@@ -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={}));
@@ -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={}));
@@ -1 +1 @@
1
- !function(a){const n=a.ja=a.ja||{};n.dictionary=Object.assign(n.dictionary||{},{"Cannot access default workspace.":"デフォルトワークスペースにアクセスできません。","Cannot determine a category for the uploaded file.":"アップロードされたファイルのカテゴリを特定することができません。","Open file manager":"ファイルマネージャーを開く"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.ko=n.ko||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"기본 작업 공간에 액세스할 수 없습니다.","Cannot determine a category for the uploaded file.":"업로드된 파일의 카테고리를 확인할 수 없습니다.","Open file manager":"파일 관리자 열기"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(a){const i=a.lt=a.lt||{};i.dictionary=Object.assign(i.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.","Open file manager":"Atidaryti failų tvarkyklę"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(a){const e=a.lv=a.lv||{};e.dictionary=Object.assign(e.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","Open file manager":"Atvērt failu pārvaldnieku"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(a){const n=a.ms=a.ms||{};n.dictionary=Object.assign(n.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.","Open file manager":"Buka pengurus fail"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -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={}));
@@ -1 +1 @@
1
- !function(e){const n=e.no=e.no||{};n.dictionary=Object.assign(n.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.","Open file manager":"Åpne filutforsker"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -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 o=a["pt-br"]=a["pt-br"]||{};o.dictionary=Object.assign(o.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.","Open file manager":"Abrir gerenciador de arquivos"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(e){const o=e.pt=e.pt||{};o.dictionary=Object.assign(o.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.","Open file manager":"Abrir gestor de ficheiros"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(i){const e=i.ro=i.ro||{};e.dictionary=Object.assign(e.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ă.","Open file manager":"Deschidere manager fișiere"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.ru=n.ru||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"Не удается получить доступ к рабочему пространству по умолчанию.","Cannot determine a category for the uploaded file.":"Не удаётся определить категорию для загруженного файла.","Open file manager":"Открыть менеджер файлов"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(a){const e=a.sk=a.sk||{};e.dictionary=Object.assign(e.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.","Open file manager":"Otvoriť manažér súborov"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -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(a){const e=a["sr-latn"]=a["sr-latn"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Nije moguće odrediti kategoriju za otpremljenu datoteku.","Open file manager":"Otvori upravljač datotekama"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(o){const e=o.sr=o.sr||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"Nije moguće pristupiti podrazumevanom radnom prostoru.","Cannot determine a category for the uploaded file.":"Није могуће одредити категорију за отпремлјену датотеку.","Open file manager":"Oтвори управљач датотекама."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(a){const n=a.sv=a.sv||{};n.dictionary=Object.assign(n.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.","Open file manager":"Öppna filhanterare"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.th=n.th||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"ไม่สามารถเข้าถึงพื้นที่ทำงานเริ่มต้น","Cannot determine a category for the uploaded file.":"ไม่สามารถกำหนดหมวดหมู่สำหรับไฟล์ที่อัปโหลด","Open file manager":"เปิดเครื่องมือจัดการไฟล์"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(a){const i=a.tr=a.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.","Open file manager":"Dosya yöneticisini aç"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.ug=n.ug||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"كۆڭۈلدىكى خىزمەت بوشلۇقىنى زىيارەت قىلالمايدۇ","Cannot determine a category for the uploaded file.":"يۈكلەيدىغان ھۆججەتنىڭ تۈرىنى جەزملىيەلمىدى.","Open file manager":"ھۆججەت باشقۇرغۇچنى ئاچ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.uk=n.uk||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"Немає доступу до робочого простору за замовчуванням.","Cannot determine a category for the uploaded file.":"Не вдається визначити категорію для завантаженого файлу.","Open file manager":"Відкрити менеджер файлів"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.ur=n.ur||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"اپلوڈ کی گئی فائل کا ذمرے کا تعین نہیں ہو سکا","Open file manager":"فائل مینیجر کھولیں"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const a=n.uz=n.uz||{};a.dictionary=Object.assign(a.dictionary||{},{"Cannot access default workspace.":"","Cannot determine a category for the uploaded file.":"Yuklangan fayl uchun toifani aniqlab bo‘lmadi.","Open file manager":"Fayl menejerini ochish"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const t=n.vi=n.vi||{};t.dictionary=Object.assign(t.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.","Open file manager":"Mở trình quản lý tệp"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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(n){const e=n["zh-cn"]=n["zh-cn"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"无法访问默认工作区","Cannot determine a category for the uploaded file.":"无法确定上传文件的类别。","Open file manager":"打开文件管理器"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -1 +1 @@
1
- !function(n){const e=n.zh=n.zh||{};e.dictionary=Object.assign(e.dictionary||{},{"Cannot access default workspace.":"無法存取預設工作區。","Cannot determine a category for the uploaded file.":"無法確定上傳檔案的分類。","Open file manager":"開啟檔案管理程式"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
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={}));
@@ -17,7 +17,7 @@
17
17
  {
18
18
  "name": "ckbox",
19
19
  "type": "Button",
20
- "iconPath": "theme/icons/browse-files.svg"
20
+ "iconPath": "@ckeditor/ckeditor5-core/theme/icons/browse-files.svg"
21
21
  }
22
22
  ],
23
23
  "htmlOutput": [
@@ -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
  }
@@ -1,5 +1,9 @@
1
1
  {
2
- "Open file manager": "Toolbar button tooltip for opening a file browser that allows inserting an image or a file to the editor.",
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
  }