@ckeditor/ckeditor5-ckbox 41.3.0-alpha.4 → 41.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/ckbox.js +1 -1
- package/package.json +2 -3
- package/src/ckboxui.d.ts +4 -0
- package/src/ckboxui.js +24 -13
- package/dist/content-index.css +0 -4
- package/dist/editor-index.css +0 -31
- package/dist/index.css +0 -55
- package/dist/index.css.map +0 -1
- package/dist/translations/ar.d.ts +0 -8
- package/dist/translations/ar.js +0 -5
- package/dist/translations/az.d.ts +0 -8
- package/dist/translations/az.js +0 -5
- package/dist/translations/bg.d.ts +0 -8
- package/dist/translations/bg.js +0 -5
- package/dist/translations/bn.d.ts +0 -8
- package/dist/translations/bn.js +0 -5
- package/dist/translations/ca.d.ts +0 -8
- package/dist/translations/ca.js +0 -5
- package/dist/translations/cs.d.ts +0 -8
- package/dist/translations/cs.js +0 -5
- package/dist/translations/da.d.ts +0 -8
- package/dist/translations/da.js +0 -5
- package/dist/translations/de.d.ts +0 -8
- package/dist/translations/de.js +0 -5
- package/dist/translations/el.d.ts +0 -8
- package/dist/translations/el.js +0 -5
- package/dist/translations/en-au.d.ts +0 -8
- package/dist/translations/en-au.js +0 -5
- package/dist/translations/en.d.ts +0 -8
- package/dist/translations/en.js +0 -5
- package/dist/translations/es-co.d.ts +0 -8
- package/dist/translations/es-co.js +0 -5
- package/dist/translations/es.d.ts +0 -8
- package/dist/translations/es.js +0 -5
- package/dist/translations/et.d.ts +0 -8
- package/dist/translations/et.js +0 -5
- package/dist/translations/fa.d.ts +0 -8
- package/dist/translations/fa.js +0 -5
- package/dist/translations/fi.d.ts +0 -8
- package/dist/translations/fi.js +0 -5
- package/dist/translations/fr.d.ts +0 -8
- package/dist/translations/fr.js +0 -5
- package/dist/translations/gl.d.ts +0 -8
- package/dist/translations/gl.js +0 -5
- package/dist/translations/he.d.ts +0 -8
- package/dist/translations/he.js +0 -5
- package/dist/translations/hi.d.ts +0 -8
- package/dist/translations/hi.js +0 -5
- package/dist/translations/hr.d.ts +0 -8
- package/dist/translations/hr.js +0 -5
- package/dist/translations/hu.d.ts +0 -8
- package/dist/translations/hu.js +0 -5
- package/dist/translations/id.d.ts +0 -8
- package/dist/translations/id.js +0 -5
- package/dist/translations/it.d.ts +0 -8
- package/dist/translations/it.js +0 -5
- package/dist/translations/ja.d.ts +0 -8
- package/dist/translations/ja.js +0 -5
- package/dist/translations/ko.d.ts +0 -8
- package/dist/translations/ko.js +0 -5
- package/dist/translations/lt.d.ts +0 -8
- package/dist/translations/lt.js +0 -5
- package/dist/translations/lv.d.ts +0 -8
- package/dist/translations/lv.js +0 -5
- package/dist/translations/ms.d.ts +0 -8
- package/dist/translations/ms.js +0 -5
- package/dist/translations/nl.d.ts +0 -8
- package/dist/translations/nl.js +0 -5
- package/dist/translations/no.d.ts +0 -8
- package/dist/translations/no.js +0 -5
- package/dist/translations/pl.d.ts +0 -8
- package/dist/translations/pl.js +0 -5
- package/dist/translations/pt-br.d.ts +0 -8
- package/dist/translations/pt-br.js +0 -5
- package/dist/translations/pt.d.ts +0 -8
- package/dist/translations/pt.js +0 -5
- package/dist/translations/ro.d.ts +0 -8
- package/dist/translations/ro.js +0 -5
- package/dist/translations/ru.d.ts +0 -8
- package/dist/translations/ru.js +0 -5
- package/dist/translations/sk.d.ts +0 -8
- package/dist/translations/sk.js +0 -5
- package/dist/translations/sq.d.ts +0 -8
- package/dist/translations/sq.js +0 -5
- package/dist/translations/sr-latn.d.ts +0 -8
- package/dist/translations/sr-latn.js +0 -5
- package/dist/translations/sr.d.ts +0 -8
- package/dist/translations/sr.js +0 -5
- package/dist/translations/sv.d.ts +0 -8
- package/dist/translations/sv.js +0 -5
- package/dist/translations/th.d.ts +0 -8
- package/dist/translations/th.js +0 -5
- package/dist/translations/tr.d.ts +0 -8
- package/dist/translations/tr.js +0 -5
- package/dist/translations/ug.d.ts +0 -8
- package/dist/translations/ug.js +0 -5
- package/dist/translations/uk.d.ts +0 -8
- package/dist/translations/uk.js +0 -5
- package/dist/translations/ur.d.ts +0 -8
- package/dist/translations/ur.js +0 -5
- package/dist/translations/uz.d.ts +0 -8
- package/dist/translations/uz.js +0 -5
- package/dist/translations/vi.d.ts +0 -8
- package/dist/translations/vi.js +0 -5
- package/dist/translations/zh-cn.d.ts +0 -8
- package/dist/translations/zh-cn.js +0 -5
- package/dist/translations/zh.d.ts +0 -8
- package/dist/translations/zh.js +0 -5
- package/dist/types/augmentation.d.ts +0 -36
- package/dist/types/ckbox.d.ts +0 -37
- package/dist/types/ckboxcommand.d.ts +0 -118
- package/dist/types/ckboxconfig.d.ts +0 -329
- package/dist/types/ckboxediting.d.ts +0 -58
- package/dist/types/ckboximageedit/ckboximageeditcommand.d.ts +0 -101
- package/dist/types/ckboximageedit/ckboximageeditediting.d.ts +0 -32
- package/dist/types/ckboximageedit/ckboximageeditui.d.ts +0 -28
- package/dist/types/ckboximageedit/utils.d.ts +0 -14
- package/dist/types/ckboximageedit.d.ts +0 -28
- package/dist/types/ckboxui.d.ts +0 -25
- package/dist/types/ckboxuploadadapter.d.ts +0 -37
- package/dist/types/ckboxutils.d.ts +0 -54
- package/dist/types/index.d.ts +0 -21
- package/dist/types/utils.d.ts +0 -67
package/build/ckbox.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
/*!
|
|
3
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={957:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(935),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},935: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}},591:(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}}}},782:(e,t,r)=>{e.exports=r(237)("./src/core.js")},783:(e,t,r)=>{e.exports=r(237)("./src/engine.js")},311:(e,t,r)=>{e.exports=r(237)("./src/ui.js")},260:(e,t,r)=>{e.exports=r(237)("./src/upload.js")},584:(e,t,r)=>{e.exports=r(237)("./src/utils.js")},237: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:()=>B,CKBoxEditing:()=>O,CKBoxImageEdit:()=>Cr,CKBoxImageEditEditing:()=>kr,CKBoxImageEditUI:()=>xr,CKBoxUI:()=>o});var e=r(782),t=r(311);class o extends e.Plugin{static get pluginName(){return"CKBoxUI"}afterInit(){const r=this.editor;if(!r.commands.get("ckbox"))return;const n=r.t;if(r.ui.componentFactory.add("ckbox",(o=>{const i=r.commands.get("ckbox"),s=new t.ButtonView(o);return s.set({label:n("Open file manager"),icon:e.icons.browseFiles,tooltip:!0}),s.bind("isOn","isEnabled").to(i,"value","isEnabled"),s.on("execute",(()=>{r.execute("ckbox")})),s})),r.plugins.has("ImageInsertUI")){const t=r.plugins.get("ImageInsertUI");t.registerIntegration({name:"assetManager",observable:()=>r.commands.get("ckbox"),buttonViewCreator:()=>{const r=this.editor.ui.componentFactory.create("ckbox");return r.icon=e.icons.imageAssetManager,r.bind("label").to(t,"isImageSelected",(e=>n(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=>n(e?"Replace with file manager":"Insert with file manager"))),r.on("execute",(()=>{t.dropdownView.isOpen=!1})),r}})}}}var i=r(783),s=r(584),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 _({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 w={"image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/webp":"webp","image/bmp":"bmp","image/tiff":"tiff"};class y 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(260);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),w[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),_({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 _({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;this._shouldBeInitialised()&&(this._checkImagePlugins(),U()&&e.commands.add("ckbox",new y(e)))}afterInit(){const e=this.editor;this._shouldBeInitialised()&&(e.config.get("ckbox.ignoreDataId")||(this._initSchema(),this._initConversion(),this._initFixers()))}_shouldBeInitialised(){return!!this.editor.config.get("ckbox")||U()}_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"))}function U(){return!!window.CKBox}class B extends e.Plugin{static get pluginName(){return"CKBox"}static get requires(){return[O,o]}}const T=function(){this.__data__=[],this.size=0};const F=function(e,t){return e===t||e!=e&&t!=t};const M=function(e,t){for(var r=e.length;r--;)if(F(e[r][0],t))return r;return-1};var R=Array.prototype.splice;const N=function(e){var t=this.__data__,r=M(t,e);return!(r<0)&&(r==t.length-1?t.pop():R.call(t,r,1),--this.size,!0)};const z=function(e){var t=this.__data__,r=M(t,e);return r<0?void 0:t[r][1]};const K=function(e){return M(this.__data__,e)>-1};const V=function(e,t){var r=this.__data__,n=M(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function D(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])}}D.prototype.clear=T,D.prototype.delete=N,D.prototype.get=z,D.prototype.has=K,D.prototype.set=V;const $=D;const H=function(){this.__data__=new $,this.size=0};const q=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};const W=function(e){return this.__data__.get(e)};const Z=function(e){return this.__data__.has(e)};const G="object"==typeof global&&global&&global.Object===Object&&global;var J="object"==typeof self&&self&&self.Object===Object&&self;const X=G||J||Function("return this")();const Q=X.Symbol;var Y=Object.prototype,ee=Y.hasOwnProperty,te=Y.toString,re=Q?Q.toStringTag:void 0;const ne=function(e){var t=ee.call(e,re),r=e[re];try{e[re]=void 0;var n=!0}catch(e){}var o=te.call(e);return n&&(t?e[re]=r:delete e[re]),o};var oe=Object.prototype.toString;const ie=function(e){return oe.call(e)};var se=Q?Q.toStringTag:void 0;const ae=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":se&&se in Object(e)?ne(e):ie(e)};const ce=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const le=function(e){if(!ce(e))return!1;var t=ae(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const ue=X["__core-js_shared__"];var de,ge=(de=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||""))?"Symbol(src)_1."+de:"";const he=function(e){return!!ge&&ge in e};var fe=Function.prototype.toString;const pe=function(e){if(null!=e){try{return fe.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var me=/^\[object .+?Constructor\]$/,be=Function.prototype,ve=Object.prototype,_e=be.toString,we=ve.hasOwnProperty,ye=RegExp("^"+_e.call(we).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const ke=function(e){return!(!ce(e)||he(e))&&(le(e)?ye:me).test(pe(e))};const xe=function(e,t){return null==e?void 0:e[t]};const Ie=function(e,t){var r=xe(e,t);return ke(r)?r:void 0};const Ae=Ie(X,"Map");const Ee=Ie(Object,"create");const je=function(){this.__data__=Ee?Ee(null):{},this.size=0};const Ce=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var Oe=Object.prototype.hasOwnProperty;const Se=function(e){var t=this.__data__;if(Ee){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Oe.call(t,e)?t[e]:void 0};var Pe=Object.prototype.hasOwnProperty;const Le=function(e){var t=this.__data__;return Ee?void 0!==t[e]:Pe.call(t,e)};const Ue=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ee&&void 0===t?"__lodash_hash_undefined__":t,this};function Be(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])}}Be.prototype.clear=je,Be.prototype.delete=Ce,Be.prototype.get=Se,Be.prototype.has=Le,Be.prototype.set=Ue;const Te=Be;const Fe=function(){this.size=0,this.__data__={hash:new Te,map:new(Ae||$),string:new Te}};const Me=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Re=function(e,t){var r=e.__data__;return Me(t)?r["string"==typeof t?"string":"hash"]:r.map};const Ne=function(e){var t=Re(this,e).delete(e);return this.size-=t?1:0,t};const ze=function(e){return Re(this,e).get(e)};const Ke=function(e){return Re(this,e).has(e)};const Ve=function(e,t){var r=Re(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function De(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])}}De.prototype.clear=Fe,De.prototype.delete=Ne,De.prototype.get=ze,De.prototype.has=Ke,De.prototype.set=Ve;const $e=De;const He=function(e,t){var r=this.__data__;if(r instanceof $){var n=r.__data__;if(!Ae||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new $e(n)}return r.set(e,t),this.size=r.size,this};function qe(e){var t=this.__data__=new $(e);this.size=t.size}qe.prototype.clear=H,qe.prototype.delete=q,qe.prototype.get=W,qe.prototype.has=Z,qe.prototype.set=He;const We=qe;const Ze=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const Ge=function(e){return this.__data__.has(e)};function Je(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new $e;++t<r;)this.add(e[t])}Je.prototype.add=Je.prototype.push=Ze,Je.prototype.has=Ge;const Xe=Je;const Qe=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 Ye=function(e,t){return e.has(t)};const et=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 Xe: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(!Qe(t,(function(e,t){if(!Ye(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 tt=X.Uint8Array;const rt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r};const nt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r};var ot=Q?Q.prototype:void 0,it=ot?ot.valueOf:void 0;const st=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 tt(e),new tt(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return F(+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=rt;case"[object Set]":var c=1&n;if(a||(a=nt),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=et(a(e),a(t),n,o,i,s);return s.delete(e),u;case"[object Symbol]":if(it)return it.call(e)==it.call(t)}return!1};const at=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e};const ct=Array.isArray;const lt=function(e,t,r){var n=t(e);return ct(e)?n:at(n,r(e))};const ut=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 dt=function(){return[]};var gt=Object.prototype.propertyIsEnumerable,ht=Object.getOwnPropertySymbols;const ft=ht?function(e){return null==e?[]:(e=Object(e),ut(ht(e),(function(t){return gt.call(e,t)})))}:dt;const pt=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};const mt=function(e){return null!=e&&"object"==typeof e};const bt=function(e){return mt(e)&&"[object Arguments]"==ae(e)};var vt=Object.prototype,_t=vt.hasOwnProperty,wt=vt.propertyIsEnumerable;const yt=bt(function(){return arguments}())?bt:function(e){return mt(e)&&_t.call(e,"callee")&&!wt.call(e,"callee")};const kt=function(){return!1};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,It=xt&&"object"==typeof module&&module&&!module.nodeType&&module,At=It&&It.exports===xt?X.Buffer:void 0;const Et=(At?At.isBuffer:void 0)||kt;var jt=/^(?:0|[1-9]\d*)$/;const Ct=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&jt.test(e))&&e>-1&&e%1==0&&e<t};const Ot=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var St={};St["[object Float32Array]"]=St["[object Float64Array]"]=St["[object Int8Array]"]=St["[object Int16Array]"]=St["[object Int32Array]"]=St["[object Uint8Array]"]=St["[object Uint8ClampedArray]"]=St["[object Uint16Array]"]=St["[object Uint32Array]"]=!0,St["[object Arguments]"]=St["[object Array]"]=St["[object ArrayBuffer]"]=St["[object Boolean]"]=St["[object DataView]"]=St["[object Date]"]=St["[object Error]"]=St["[object Function]"]=St["[object Map]"]=St["[object Number]"]=St["[object Object]"]=St["[object RegExp]"]=St["[object Set]"]=St["[object String]"]=St["[object WeakMap]"]=!1;const Pt=function(e){return mt(e)&&Ot(e.length)&&!!St[ae(e)]};const Lt=function(e){return function(t){return e(t)}};var Ut="object"==typeof exports&&exports&&!exports.nodeType&&exports,Bt=Ut&&"object"==typeof module&&module&&!module.nodeType&&module,Tt=Bt&&Bt.exports===Ut&&G.process,Ft=function(){try{var e=Bt&&Bt.require&&Bt.require("util").types;return e||Tt&&Tt.binding&&Tt.binding("util")}catch(e){}}();var Mt=Ft&&Ft.isTypedArray;const Rt=Mt?Lt(Mt):Pt;var Nt=Object.prototype.hasOwnProperty;const zt=function(e,t){var r=ct(e),n=!r&&yt(e),o=!r&&!n&&Et(e),i=!r&&!n&&!o&&Rt(e),s=r||n||o||i,a=s?pt(e.length,String):[],c=a.length;for(var l in e)!t&&!Nt.call(e,l)||s&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Ct(l,c))||a.push(l);return a};var Kt=Object.prototype;const Vt=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Kt)};const Dt=function(e,t){return function(r){return e(t(r))}}(Object.keys,Object);var $t=Object.prototype.hasOwnProperty;const Ht=function(e){if(!Vt(e))return Dt(e);var t=[];for(var r in Object(e))$t.call(e,r)&&"constructor"!=r&&t.push(r);return t};const qt=function(e){return null!=e&&Ot(e.length)&&!le(e)};const Wt=function(e){return qt(e)?zt(e):Ht(e)};const Zt=function(e){return lt(e,Wt,ft)};var Gt=Object.prototype.hasOwnProperty;const Jt=function(e,t,r,n,o,i){var s=1&r,a=Zt(e),c=a.length;if(c!=Zt(t).length&&!s)return!1;for(var l=c;l--;){var u=a[l];if(!(s?u in t:Gt.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,_=t.constructor;v==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof _&&_ instanceof _||(h=!1)}return i.delete(e),i.delete(t),h};const Xt=Ie(X,"DataView");const Qt=Ie(X,"Promise");const Yt=Ie(X,"Set");const er=Ie(X,"WeakMap");var tr="[object Map]",rr="[object Promise]",nr="[object Set]",or="[object WeakMap]",ir="[object DataView]",sr=pe(Xt),ar=pe(Ae),cr=pe(Qt),lr=pe(Yt),ur=pe(er),dr=ae;(Xt&&dr(new Xt(new ArrayBuffer(1)))!=ir||Ae&&dr(new Ae)!=tr||Qt&&dr(Qt.resolve())!=rr||Yt&&dr(new Yt)!=nr||er&&dr(new er)!=or)&&(dr=function(e){var t=ae(e),r="[object Object]"==t?e.constructor:void 0,n=r?pe(r):"";if(n)switch(n){case sr:return ir;case ar:return tr;case cr:return rr;case lr:return nr;case ur:return or}return t});const gr=dr;var hr="[object Arguments]",fr="[object Array]",pr="[object Object]",mr=Object.prototype.hasOwnProperty;const br=function(e,t,r,n,o,i){var s=ct(e),a=ct(t),c=s?fr:gr(e),l=a?fr:gr(t),u=(c=c==hr?pr:c)==pr,d=(l=l==hr?pr:l)==pr,g=c==l;if(g&&Et(e)){if(!Et(t))return!1;s=!0,u=!1}if(g&&!u)return i||(i=new We),s||Rt(e)?et(e,t,r,n,o,i):st(e,t,c,r,n,o,i);if(!(1&r)){var h=u&&mr.call(e,"__wrapped__"),f=d&&mr.call(t,"__wrapped__");if(h||f){var p=h?e.value():e,m=f?t.value():t;return i||(i=new We),o(p,m,r,n,i)}}return!!g&&(i||(i=new We),Jt(e,t,r,n,o,i))};const vr=function e(t,r,n,o,i){return t===r||(null==t||null==r||!mt(t)&&!mt(r)?t!=t&&r!=r:br(t,r,n,o,e,i))};const _r=function(e,t){return vr(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(_r(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 _({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 kr 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 xr 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 Ir=r(591),Ar=r.n(Ir),Er=r(957),jr={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ar()(Er.A,jr);Er.A.locals;class Cr extends e.Plugin{static get pluginName(){return"CKBoxImageEdit"}static get requires(){return[kr,xr]}}})(),(window.CKEditor5=window.CKEditor5||{}).ckbox=n})();
|
|
5
|
+
*/(()=>{var e={957:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var n=r(935),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},935: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}},591:(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}}}},782:(e,t,r)=>{e.exports=r(237)("./src/core.js")},783:(e,t,r)=>{e.exports=r(237)("./src/engine.js")},311:(e,t,r)=>{e.exports=r(237)("./src/ui.js")},260:(e,t,r)=>{e.exports=r(237)("./src/upload.js")},584:(e,t,r)=>{e.exports=r(237)("./src/utils.js")},237: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:()=>B,CKBoxEditing:()=>O,CKBoxImageEdit:()=>Cr,CKBoxImageEditEditing:()=>kr,CKBoxImageEditUI:()=>xr,CKBoxUI:()=>o});var e=r(782),t=r(311);class o extends e.Plugin{static get pluginName(){return"CKBoxUI"}afterInit(){const r=this.editor;if(!r.commands.get("ckbox"))return;const n=r.t,o=r.ui.componentFactory;if(o.add("ckbox",(()=>{const e=this._createButton(t.ButtonView);return e.tooltip=!0,e})),o.add("menuBar:ckbox",(()=>this._createButton(t.MenuBarMenuListItemButtonView))),r.plugins.has("ImageInsertUI")){const t=r.plugins.get("ImageInsertUI");t.registerIntegration({name:"assetManager",observable:()=>r.commands.get("ckbox"),buttonViewCreator:()=>{const r=this.editor.ui.componentFactory.create("ckbox");return r.icon=e.icons.imageAssetManager,r.bind("label").to(t,"isImageSelected",(e=>n(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=>n(e?"Replace with file manager":"Insert with file manager"))),r.on("execute",(()=>{t.dropdownView.isOpen=!1})),r}})}}_createButton(t){const r=this.editor,n=r.locale,o=new t(n),i=r.commands.get("ckbox"),s=n.t;return o.set({label:s("Open file manager"),icon:e.icons.browseFiles}),o.bind("isOn","isEnabled").to(i,"value","isEnabled"),o.on("execute",(()=>{r.execute("ckbox")})),o}}var i=r(783),s=r(584),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 _({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 w={"image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/webp":"webp","image/bmp":"bmp","image/tiff":"tiff"};class y 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(260);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),w[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),_({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 _({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;this._shouldBeInitialised()&&(this._checkImagePlugins(),U()&&e.commands.add("ckbox",new y(e)))}afterInit(){const e=this.editor;this._shouldBeInitialised()&&(e.config.get("ckbox.ignoreDataId")||(this._initSchema(),this._initConversion(),this._initFixers()))}_shouldBeInitialised(){return!!this.editor.config.get("ckbox")||U()}_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"))}function U(){return!!window.CKBox}class B extends e.Plugin{static get pluginName(){return"CKBox"}static get requires(){return[O,o]}}const T=function(){this.__data__=[],this.size=0};const F=function(e,t){return e===t||e!=e&&t!=t};const M=function(e,t){for(var r=e.length;r--;)if(F(e[r][0],t))return r;return-1};var R=Array.prototype.splice;const N=function(e){var t=this.__data__,r=M(t,e);return!(r<0)&&(r==t.length-1?t.pop():R.call(t,r,1),--this.size,!0)};const z=function(e){var t=this.__data__,r=M(t,e);return r<0?void 0:t[r][1]};const K=function(e){return M(this.__data__,e)>-1};const V=function(e,t){var r=this.__data__,n=M(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function D(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])}}D.prototype.clear=T,D.prototype.delete=N,D.prototype.get=z,D.prototype.has=K,D.prototype.set=V;const $=D;const H=function(){this.__data__=new $,this.size=0};const q=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};const W=function(e){return this.__data__.get(e)};const Z=function(e){return this.__data__.has(e)};const G="object"==typeof global&&global&&global.Object===Object&&global;var J="object"==typeof self&&self&&self.Object===Object&&self;const X=G||J||Function("return this")();const Q=X.Symbol;var Y=Object.prototype,ee=Y.hasOwnProperty,te=Y.toString,re=Q?Q.toStringTag:void 0;const ne=function(e){var t=ee.call(e,re),r=e[re];try{e[re]=void 0;var n=!0}catch(e){}var o=te.call(e);return n&&(t?e[re]=r:delete e[re]),o};var oe=Object.prototype.toString;const ie=function(e){return oe.call(e)};var se=Q?Q.toStringTag:void 0;const ae=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":se&&se in Object(e)?ne(e):ie(e)};const ce=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const le=function(e){if(!ce(e))return!1;var t=ae(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const ue=X["__core-js_shared__"];var de,ge=(de=/[^.]+$/.exec(ue&&ue.keys&&ue.keys.IE_PROTO||""))?"Symbol(src)_1."+de:"";const he=function(e){return!!ge&&ge in e};var fe=Function.prototype.toString;const pe=function(e){if(null!=e){try{return fe.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var me=/^\[object .+?Constructor\]$/,be=Function.prototype,ve=Object.prototype,_e=be.toString,we=ve.hasOwnProperty,ye=RegExp("^"+_e.call(we).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const ke=function(e){return!(!ce(e)||he(e))&&(le(e)?ye:me).test(pe(e))};const xe=function(e,t){return null==e?void 0:e[t]};const Ie=function(e,t){var r=xe(e,t);return ke(r)?r:void 0};const Ae=Ie(X,"Map");const Ee=Ie(Object,"create");const je=function(){this.__data__=Ee?Ee(null):{},this.size=0};const Ce=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var Oe=Object.prototype.hasOwnProperty;const Se=function(e){var t=this.__data__;if(Ee){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Oe.call(t,e)?t[e]:void 0};var Pe=Object.prototype.hasOwnProperty;const Le=function(e){var t=this.__data__;return Ee?void 0!==t[e]:Pe.call(t,e)};const Ue=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ee&&void 0===t?"__lodash_hash_undefined__":t,this};function Be(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])}}Be.prototype.clear=je,Be.prototype.delete=Ce,Be.prototype.get=Se,Be.prototype.has=Le,Be.prototype.set=Ue;const Te=Be;const Fe=function(){this.size=0,this.__data__={hash:new Te,map:new(Ae||$),string:new Te}};const Me=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Re=function(e,t){var r=e.__data__;return Me(t)?r["string"==typeof t?"string":"hash"]:r.map};const Ne=function(e){var t=Re(this,e).delete(e);return this.size-=t?1:0,t};const ze=function(e){return Re(this,e).get(e)};const Ke=function(e){return Re(this,e).has(e)};const Ve=function(e,t){var r=Re(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function De(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])}}De.prototype.clear=Fe,De.prototype.delete=Ne,De.prototype.get=ze,De.prototype.has=Ke,De.prototype.set=Ve;const $e=De;const He=function(e,t){var r=this.__data__;if(r instanceof $){var n=r.__data__;if(!Ae||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new $e(n)}return r.set(e,t),this.size=r.size,this};function qe(e){var t=this.__data__=new $(e);this.size=t.size}qe.prototype.clear=H,qe.prototype.delete=q,qe.prototype.get=W,qe.prototype.has=Z,qe.prototype.set=He;const We=qe;const Ze=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const Ge=function(e){return this.__data__.has(e)};function Je(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new $e;++t<r;)this.add(e[t])}Je.prototype.add=Je.prototype.push=Ze,Je.prototype.has=Ge;const Xe=Je;const Qe=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 Ye=function(e,t){return e.has(t)};const et=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 Xe: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(!Qe(t,(function(e,t){if(!Ye(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 tt=X.Uint8Array;const rt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r};const nt=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r};var ot=Q?Q.prototype:void 0,it=ot?ot.valueOf:void 0;const st=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 tt(e),new tt(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return F(+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=rt;case"[object Set]":var c=1&n;if(a||(a=nt),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=et(a(e),a(t),n,o,i,s);return s.delete(e),u;case"[object Symbol]":if(it)return it.call(e)==it.call(t)}return!1};const at=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e};const ct=Array.isArray;const lt=function(e,t,r){var n=t(e);return ct(e)?n:at(n,r(e))};const ut=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 dt=function(){return[]};var gt=Object.prototype.propertyIsEnumerable,ht=Object.getOwnPropertySymbols;const ft=ht?function(e){return null==e?[]:(e=Object(e),ut(ht(e),(function(t){return gt.call(e,t)})))}:dt;const pt=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n};const mt=function(e){return null!=e&&"object"==typeof e};const bt=function(e){return mt(e)&&"[object Arguments]"==ae(e)};var vt=Object.prototype,_t=vt.hasOwnProperty,wt=vt.propertyIsEnumerable;const yt=bt(function(){return arguments}())?bt:function(e){return mt(e)&&_t.call(e,"callee")&&!wt.call(e,"callee")};const kt=function(){return!1};var xt="object"==typeof exports&&exports&&!exports.nodeType&&exports,It=xt&&"object"==typeof module&&module&&!module.nodeType&&module,At=It&&It.exports===xt?X.Buffer:void 0;const Et=(At?At.isBuffer:void 0)||kt;var jt=/^(?:0|[1-9]\d*)$/;const Ct=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&jt.test(e))&&e>-1&&e%1==0&&e<t};const Ot=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var St={};St["[object Float32Array]"]=St["[object Float64Array]"]=St["[object Int8Array]"]=St["[object Int16Array]"]=St["[object Int32Array]"]=St["[object Uint8Array]"]=St["[object Uint8ClampedArray]"]=St["[object Uint16Array]"]=St["[object Uint32Array]"]=!0,St["[object Arguments]"]=St["[object Array]"]=St["[object ArrayBuffer]"]=St["[object Boolean]"]=St["[object DataView]"]=St["[object Date]"]=St["[object Error]"]=St["[object Function]"]=St["[object Map]"]=St["[object Number]"]=St["[object Object]"]=St["[object RegExp]"]=St["[object Set]"]=St["[object String]"]=St["[object WeakMap]"]=!1;const Pt=function(e){return mt(e)&&Ot(e.length)&&!!St[ae(e)]};const Lt=function(e){return function(t){return e(t)}};var Ut="object"==typeof exports&&exports&&!exports.nodeType&&exports,Bt=Ut&&"object"==typeof module&&module&&!module.nodeType&&module,Tt=Bt&&Bt.exports===Ut&&G.process,Ft=function(){try{var e=Bt&&Bt.require&&Bt.require("util").types;return e||Tt&&Tt.binding&&Tt.binding("util")}catch(e){}}();var Mt=Ft&&Ft.isTypedArray;const Rt=Mt?Lt(Mt):Pt;var Nt=Object.prototype.hasOwnProperty;const zt=function(e,t){var r=ct(e),n=!r&&yt(e),o=!r&&!n&&Et(e),i=!r&&!n&&!o&&Rt(e),s=r||n||o||i,a=s?pt(e.length,String):[],c=a.length;for(var l in e)!t&&!Nt.call(e,l)||s&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Ct(l,c))||a.push(l);return a};var Kt=Object.prototype;const Vt=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Kt)};const Dt=function(e,t){return function(r){return e(t(r))}}(Object.keys,Object);var $t=Object.prototype.hasOwnProperty;const Ht=function(e){if(!Vt(e))return Dt(e);var t=[];for(var r in Object(e))$t.call(e,r)&&"constructor"!=r&&t.push(r);return t};const qt=function(e){return null!=e&&Ot(e.length)&&!le(e)};const Wt=function(e){return qt(e)?zt(e):Ht(e)};const Zt=function(e){return lt(e,Wt,ft)};var Gt=Object.prototype.hasOwnProperty;const Jt=function(e,t,r,n,o,i){var s=1&r,a=Zt(e),c=a.length;if(c!=Zt(t).length&&!s)return!1;for(var l=c;l--;){var u=a[l];if(!(s?u in t:Gt.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,_=t.constructor;v==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof _&&_ instanceof _||(h=!1)}return i.delete(e),i.delete(t),h};const Xt=Ie(X,"DataView");const Qt=Ie(X,"Promise");const Yt=Ie(X,"Set");const er=Ie(X,"WeakMap");var tr="[object Map]",rr="[object Promise]",nr="[object Set]",or="[object WeakMap]",ir="[object DataView]",sr=pe(Xt),ar=pe(Ae),cr=pe(Qt),lr=pe(Yt),ur=pe(er),dr=ae;(Xt&&dr(new Xt(new ArrayBuffer(1)))!=ir||Ae&&dr(new Ae)!=tr||Qt&&dr(Qt.resolve())!=rr||Yt&&dr(new Yt)!=nr||er&&dr(new er)!=or)&&(dr=function(e){var t=ae(e),r="[object Object]"==t?e.constructor:void 0,n=r?pe(r):"";if(n)switch(n){case sr:return ir;case ar:return tr;case cr:return rr;case lr:return nr;case ur:return or}return t});const gr=dr;var hr="[object Arguments]",fr="[object Array]",pr="[object Object]",mr=Object.prototype.hasOwnProperty;const br=function(e,t,r,n,o,i){var s=ct(e),a=ct(t),c=s?fr:gr(e),l=a?fr:gr(t),u=(c=c==hr?pr:c)==pr,d=(l=l==hr?pr:l)==pr,g=c==l;if(g&&Et(e)){if(!Et(t))return!1;s=!0,u=!1}if(g&&!u)return i||(i=new We),s||Rt(e)?et(e,t,r,n,o,i):st(e,t,c,r,n,o,i);if(!(1&r)){var h=u&&mr.call(e,"__wrapped__"),f=d&&mr.call(t,"__wrapped__");if(h||f){var p=h?e.value():e,m=f?t.value():t;return i||(i=new We),o(p,m,r,n,i)}}return!!g&&(i||(i=new We),Jt(e,t,r,n,o,i))};const vr=function e(t,r,n,o,i){return t===r||(null==t||null==r||!mt(t)&&!mt(r)?t!=t&&r!=r:br(t,r,n,o,e,i))};const _r=function(e,t){return vr(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(_r(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 _({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 kr 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 xr 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 Ir=r(591),Ar=r.n(Ir),Er=r(957),jr={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Ar()(Er.A,jr);Er.A.locals;class Cr extends e.Plugin{static get pluginName(){return"CKBoxImageEdit"}static get requires(){return[kr,xr]}}})(),(window.CKEditor5=window.CKEditor5||{}).ckbox=n})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-ckbox",
|
|
3
|
-
"version": "41.3.
|
|
3
|
+
"version": "41.3.1",
|
|
4
4
|
"description": "CKBox integration for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"type": "module",
|
|
14
14
|
"main": "src/index.js",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"ckeditor5": "41.3.
|
|
16
|
+
"ckeditor5": "41.3.1",
|
|
17
17
|
"blurhash": "2.0.5",
|
|
18
18
|
"lodash-es": "4.17.21"
|
|
19
19
|
},
|
|
@@ -27,7 +27,6 @@
|
|
|
27
27
|
"directory": "packages/ckeditor5-ckbox"
|
|
28
28
|
},
|
|
29
29
|
"files": [
|
|
30
|
-
"dist",
|
|
31
30
|
"lang",
|
|
32
31
|
"src/**/*.js",
|
|
33
32
|
"src/**/*.d.ts",
|
package/src/ckboxui.d.ts
CHANGED
package/src/ckboxui.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @module ckbox/ckboxui
|
|
7
7
|
*/
|
|
8
8
|
import { icons, Plugin } from 'ckeditor5/src/core.js';
|
|
9
|
-
import { ButtonView } from 'ckeditor5/src/ui.js';
|
|
9
|
+
import { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';
|
|
10
10
|
/**
|
|
11
11
|
* The CKBoxUI plugin. It introduces the `'ckbox'` toolbar button.
|
|
12
12
|
*/
|
|
@@ -29,20 +29,12 @@ export default class CKBoxUI extends Plugin {
|
|
|
29
29
|
}
|
|
30
30
|
const t = editor.t;
|
|
31
31
|
const componentFactory = editor.ui.componentFactory;
|
|
32
|
-
componentFactory.add('ckbox',
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
button.set({
|
|
36
|
-
label: t('Open file manager'),
|
|
37
|
-
icon: icons.browseFiles,
|
|
38
|
-
tooltip: true
|
|
39
|
-
});
|
|
40
|
-
button.bind('isOn', 'isEnabled').to(command, 'value', 'isEnabled');
|
|
41
|
-
button.on('execute', () => {
|
|
42
|
-
editor.execute('ckbox');
|
|
43
|
-
});
|
|
32
|
+
componentFactory.add('ckbox', () => {
|
|
33
|
+
const button = this._createButton(ButtonView);
|
|
34
|
+
button.tooltip = true;
|
|
44
35
|
return button;
|
|
45
36
|
});
|
|
37
|
+
componentFactory.add('menuBar:ckbox', () => this._createButton(MenuBarMenuListItemButtonView));
|
|
46
38
|
if (editor.plugins.has('ImageInsertUI')) {
|
|
47
39
|
const imageInsertUI = editor.plugins.get('ImageInsertUI');
|
|
48
40
|
imageInsertUI.registerIntegration({
|
|
@@ -71,4 +63,23 @@ export default class CKBoxUI extends Plugin {
|
|
|
71
63
|
});
|
|
72
64
|
}
|
|
73
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Creates a button for CKBox command to use either in toolbar or in menu bar.
|
|
68
|
+
*/
|
|
69
|
+
_createButton(ButtonClass) {
|
|
70
|
+
const editor = this.editor;
|
|
71
|
+
const locale = editor.locale;
|
|
72
|
+
const view = new ButtonClass(locale);
|
|
73
|
+
const command = editor.commands.get('ckbox');
|
|
74
|
+
const t = locale.t;
|
|
75
|
+
view.set({
|
|
76
|
+
label: t('Open file manager'),
|
|
77
|
+
icon: icons.browseFiles
|
|
78
|
+
});
|
|
79
|
+
view.bind('isOn', 'isEnabled').to(command, 'value', 'isEnabled');
|
|
80
|
+
view.on('execute', () => {
|
|
81
|
+
editor.execute('ckbox');
|
|
82
|
+
});
|
|
83
|
+
return view;
|
|
84
|
+
}
|
|
74
85
|
}
|
package/dist/content-index.css
DELETED
package/dist/editor-index.css
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
:root {
|
|
6
|
-
--ck-image-processing-highlight-color: hsl(220, 10%, 98%);
|
|
7
|
-
--ck-image-processing-background-color: hsl(220, 10%, 90%);
|
|
8
|
-
}
|
|
9
|
-
.ck.ck-editor__editable .image.image-processing {
|
|
10
|
-
position: relative;
|
|
11
|
-
}
|
|
12
|
-
.ck.ck-editor__editable .image.image-processing:before {
|
|
13
|
-
content: '';
|
|
14
|
-
position: absolute;
|
|
15
|
-
top: 0;
|
|
16
|
-
left: 0;
|
|
17
|
-
z-index: 1;
|
|
18
|
-
height: 100%;
|
|
19
|
-
width: 100%;
|
|
20
|
-
background: linear-gradient(
|
|
21
|
-
90deg,
|
|
22
|
-
var(--ck-image-processing-background-color),
|
|
23
|
-
var(--ck-image-processing-highlight-color),
|
|
24
|
-
var(--ck-image-processing-background-color)
|
|
25
|
-
);
|
|
26
|
-
background-size: 200% 100%;
|
|
27
|
-
animation: ck-image-processing-animation 2s linear infinite;
|
|
28
|
-
}
|
|
29
|
-
.ck.ck-editor__editable .image.image-processing img {
|
|
30
|
-
height: 100%;
|
|
31
|
-
}
|
package/dist/index.css
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
7
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
:root {
|
|
11
|
-
/* Based on default CKBox theme colors */
|
|
12
|
-
--ck-image-processing-highlight-color: hsl(220, 10%, 98%);
|
|
13
|
-
--ck-image-processing-background-color: hsl(220, 10%, 90%);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.ck.ck-editor__editable .image.image-processing {
|
|
17
|
-
position: relative;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.ck.ck-editor__editable .image.image-processing:before {
|
|
21
|
-
content: '';
|
|
22
|
-
|
|
23
|
-
position: absolute;
|
|
24
|
-
top: 0;
|
|
25
|
-
left: 0;
|
|
26
|
-
z-index: 1;
|
|
27
|
-
|
|
28
|
-
height: 100%;
|
|
29
|
-
width: 100%;
|
|
30
|
-
|
|
31
|
-
background: linear-gradient(
|
|
32
|
-
90deg,
|
|
33
|
-
var(--ck-image-processing-background-color),
|
|
34
|
-
var(--ck-image-processing-highlight-color),
|
|
35
|
-
var(--ck-image-processing-background-color)
|
|
36
|
-
);
|
|
37
|
-
background-size: 200% 100%;
|
|
38
|
-
|
|
39
|
-
animation: ck-image-processing-animation 2s linear infinite;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.ck.ck-editor__editable .image.image-processing img {
|
|
43
|
-
height: 100%;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
@keyframes ck-image-processing-animation {
|
|
47
|
-
0% {
|
|
48
|
-
background-position: 200% 0;
|
|
49
|
-
}
|
|
50
|
-
100% {
|
|
51
|
-
background-position: -200% 0;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/*# sourceMappingURL=index.css.map */
|
package/dist/index.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../theme/ckboximageedit.css","index.css"],"names":[],"mappings":";;;;AAAA,CAAA,CAAA;ACCA,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC5E,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO;AACnF,CAAC,CDAC,CAAA;ACCF;ADCA,CAAA,IAAA,CAAA,CAAA;ACCA,CDAC,CAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,OAAA,CAAA,KAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAwC,CAAA;ACCzC,CDAC,CAAA,CAAA,EAAA,CAAA,KAAA,CAAA,UAAA,CAAA,SAAA,CAAA,KAAA,CAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAyD,CAAA;ACC1D,CDAC,CAAA,CAAA,EAAA,CAAA,KAAA,CAAA,UAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA,GAAA,CAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAA0D,CAAA;AAC3D,CAAA;ACCA;ADGE,CAAA,EAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA;ACDF,CAAC,CAAC,CDEC,QAAA,CAAA,CAAA,QAAkB,CAAA;ACDrB,CAAC,CD4BC,CAAA;AC3BF;ADEG,CAAA,EAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,MAAA,CAAA,CAAA;ACAH,CAAC,CAAC,CAAC,CDCC,OAAA,CAAA,CAAA,CAAA,CAAW,CAAA;ACAf;AACA,CAAC,CAAC,CAAC,CDCC,QAAA,CAAA,CAAA,QAAkB,CAAA;ACAtB,CAAC,CAAC,CAAC,CDCC,GAAA,CAAA,CAAA,CAAM,CAAA;ACAV,CAAC,CAAC,CAAC,CDCC,IAAA,CAAA,CAAA,CAAO,CAAA;ACAX,CAAC,CAAC,CAAC,CDCC,CAAA,CAAA,KAAA,CAAA,CAAA,CAAU,CAAA;ACAd;AACA,CAAC,CAAC,CAAC,CDCC,MAAA,CAAA,CAAA,GAAA,CAAY,CAAA;ACAhB,CAAC,CAAC,CAAC,CDCC,KAAA,CAAA,CAAA,GAAA,CAAW,CAAA;ACAf;AACA,CAAC,CAAC,CAAC,CDCC,UAAA,CAAA,CAAA,MAAA,CAAA,QAAA,CAAA;ACAJ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CDCC,CAAA;ACAL,CAAC,CAAC,CAAC,CDCC,UAAA,CAAA,IAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAA,CAA0B,CAAA;ACA9B;AACA,CAAC,CAAC,CAAC,CDCC,SAAA,CAAA,CAAA,EAAA,CAAA,KAAA,CAAA,UAAA,CAAA,SAAA,CAAA,EAAA,CAAA,MAAA,CAAA,QAA2D,CAAA;ACA/D,CAAC,CAAC,CDCC,CAAA;ACAH;ADEG,CAAA,EAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA;ACAH,CAAC,CAAC,CAAC,CDCC,MAAA,CAAA,CAAA,GAAA,CAAY,CAAA;ACAhB,CAAC,CAAC,CDCC,CAAA;ACAH;ADKA,CAAA,SAAA,CAAA,EAAA,CAAA,KAAA,CAAA,UAAA,CAAA,SAAA,CAAA,CAAA;ACHA,CDIC,CAAA,CAAA,CAAA,CAAA;ACHD,CAAC,CDIC,UAAA,CAAA,QAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAA2B,CAAA;ACH7B,CDIC,CAAA;ACHD,CDIC,GAAA,CAAA,CAAA,CAAA;ACHD,CAAC,CDIC,UAAA,CAAA,QAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAA4B,CAAA;ACH9B,CDIC,CAAA;AACD,CAAA;ACHA;AACA,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC","file":"index.css.map","sourcesContent":["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Based on default CKBox theme colors */\n\t--ck-image-processing-highlight-color: hsl(220, 10%, 98%);\n\t--ck-image-processing-background-color: hsl(220, 10%, 90%);\n}\n\n.ck.ck-editor__editable {\n\t& .image {\n\t\t&.image-processing {\n\t\t\tposition: relative;\n\n\t\t\t&:before {\n\t\t\t\tcontent: '';\n\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tz-index: 1;\n\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 100%;\n\n\t\t\t\tbackground: linear-gradient(\n\t\t\t\t\t90deg,\n\t\t\t\t\tvar(--ck-image-processing-background-color),\n\t\t\t\t\tvar(--ck-image-processing-highlight-color),\n\t\t\t\t\tvar(--ck-image-processing-background-color)\n\t\t\t\t);\n\t\t\t\tbackground-size: 200% 100%;\n\n\t\t\t\tanimation: ck-image-processing-animation 2s linear infinite;\n\t\t\t}\n\n\t\t\t& img {\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@keyframes ck-image-processing-animation {\n\t0% {\n\t\tbackground-position: 200% 0;\n\t}\n\t100% {\n\t\tbackground-position: -200% 0;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Based on default CKBox theme colors */\n\t--ck-image-processing-highlight-color: hsl(220, 10%, 98%);\n\t--ck-image-processing-background-color: hsl(220, 10%, 90%);\n}\n\n.ck.ck-editor__editable .image.image-processing {\n\t\t\tposition: relative;\n\t\t}\n\n.ck.ck-editor__editable .image.image-processing:before {\n\t\t\t\tcontent: '';\n\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tz-index: 1;\n\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 100%;\n\n\t\t\t\tbackground: linear-gradient(\n\t\t\t\t\t90deg,\n\t\t\t\t\tvar(--ck-image-processing-background-color),\n\t\t\t\t\tvar(--ck-image-processing-highlight-color),\n\t\t\t\t\tvar(--ck-image-processing-background-color)\n\t\t\t\t);\n\t\t\t\tbackground-size: 200% 100%;\n\n\t\t\t\tanimation: ck-image-processing-animation 2s linear infinite;\n\t\t\t}\n\n.ck.ck-editor__editable .image.image-processing img {\n\t\t\t\theight: 100%;\n\t\t\t}\n\n@keyframes ck-image-processing-animation {\n\t0% {\n\t\tbackground-position: 200% 0;\n\t}\n\t100% {\n\t\tbackground-position: -200% 0;\n\t}\n}\n\n/*# sourceMappingURL=index.css.map */"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/ar.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"ar":{"dictionary":{"Open file manager":"فتح مدير الملفات","Cannot determine a category for the uploaded file.":"تعذر تحديد فئة الملف الذي تم رفعه","Cannot access default workspace.":"لا يمكن الوصول إلى مساحة العمل الافتراضية.","Edit image":"تحرير الصورة","Processing the edited image.":"معالجة الصورة المعدلة.","Server failed to process the image.":"فشل الخادم في معالجة الصورة.","Failed to determine category of edited image.":"فشلت عملية تحديد فئة الصورة التي تم تحريرها."},getPluralForm(n){return n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/az.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"az":{"dictionary":{"Open file manager":"Fayl menecerini aç","Cannot determine a category for the uploaded file.":"Yüklənmiş fayl üçün kateqoriya müəyyən olunmadı.","Cannot access default workspace.":"","Edit image":"","Processing the edited image.":"","Server failed to process the image.":"","Failed to determine category of edited image.":""},getPluralForm(n){return (n != 1);}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/bg.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"bg":{"dictionary":{"Open file manager":"Отвори управление на файлове","Cannot determine a category for the uploaded file.":"Не може да бъде определена категория за качения файл.","Cannot access default workspace.":"Нямате достъп до работното пространство по подразбиране.","Edit image":"Редактиране на изображението","Processing the edited image.":"Обработка на редактираното изображение.","Server failed to process the image.":"Сървърът не успя да обработи изображението.","Failed to determine category of edited image.":"Неуспешно определяне на категорията на редактираното изображение."},getPluralForm(n){return (n != 1);}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/bn.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"bn":{"dictionary":{"Open file manager":"ফাইল ম্যানেজার খুলুন","Cannot determine a category for the uploaded file.":"আপলোড করা ফাইলের জন্য একটি বিভাগ নির্ধারণ করা যাচ্ছে না।","Cannot access default workspace.":"ডিফল্ট ওয়ার্কস্পেস অ্যাক্সেস করতে পারবেন না।","Edit image":"ছবি এডিট করুন","Processing the edited image.":"এডিট করা ছবি প্রক্রিয়া করা হচ্ছে।","Server failed to process the image.":"সার্ভার ছবিটি প্রক্রিয়া করতে ব্যর্থ হয়েছে।","Failed to determine category of edited image.":"এডিট করা ছবির ক্যাটাগরি নির্ধারণ করতে ব্যর্থ হয়েছে।"},getPluralForm(n){return (n != 1);}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/ca.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"ca":{"dictionary":{"Open file manager":"Obrir el gestor de fitxers","Cannot determine a category for the uploaded file.":"No es pot determinar una categoria per al fitxer penjat.","Cannot access default workspace.":"No es pot accedir a l'espai de treball predeterminat.","Edit image":"Edita la imatge","Processing the edited image.":"Tractant la imatge editada.","Server failed to process the image.":"El servidor no ha pogut processar la imatge.","Failed to determine category of edited image.":"No s'ha pogut determinar la categoria de la imatge editada."},getPluralForm(n){return (n != 1);}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/cs.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"cs":{"dictionary":{"Open file manager":"Otevřít správce souborů","Cannot determine a category for the uploaded file.":"Nelze určit kategorii pro nahraný soubor.","Cannot access default workspace.":"Nelze získat přístup k výchozímu pracovišti.","Edit image":"Upravit obrázek","Processing the edited image.":"Zpracování upraveného obrázku.","Server failed to process the image.":"Serveru se nepodařilo zpracovat obrázek.","Failed to determine category of edited image.":"Nepodařilo se určit kategorii upraveného obrázku."},getPluralForm(n){return (n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/da.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"da":{"dictionary":{"Open file manager":"Open filhåndtering","Cannot determine a category for the uploaded file.":"Kan ikke bestemme en kategori for den uploadede fil.","Cannot access default workspace.":"Kan ikke opnå adgang til standard arbejdsområde.","Edit image":"Rediger billede","Processing the edited image.":"Behandler det redigerede billede.","Server failed to process the image.":"Det lykkedes ikke for serveren at behandle billedet.","Failed to determine category of edited image.":"Det lykkedes ikke at bestemme kategorien for det redigerede billede."},getPluralForm(n){return (n != 1);}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/de.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"de":{"dictionary":{"Open file manager":"Dateimanager öffnen","Cannot determine a category for the uploaded file.":"Die Kategorie für die hochgeladene Datei konnte nicht bestimmt werden.","Cannot access default workspace.":"Zugriff auf Standardarbeitsbereich nicht möglich.","Edit image":"Bild bearbeiten","Processing the edited image.":"Das bearbeitete Bild wird verarbeitet.","Server failed to process the image.":"Der Server konnte das Bild nicht verarbeiten.","Failed to determine category of edited image.":"Es konnte für das bearbeitete Bild keine Kategorie ermittelt werden."},getPluralForm(n){return (n != 1);}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
package/dist/translations/el.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"el":{"dictionary":{"Open file manager":"Άνοιγμα διαχειριστή αρχείων","Cannot determine a category for the uploaded file.":"Δεν μπορεί να οριστεί κατηγορία για το αρχείο που μεταφορτώθηκε.","Cannot access default workspace.":"Δεν είναι δυνατή η πρόσβαση στον προεπιλεγμένο χώρο εργασίας","Edit image":"Επεξεργασία εικόνας","Processing the edited image.":"Επεξεργασία της επεξεργασμένης εικόνας","Server failed to process the image.":"Ο διακομιστής απέτυχε να επεξεργαστεί την εικόνα.","Failed to determine category of edited image.":"Απέτυχε ο προσδιορισμός της κατηγορίας της επεξεργασμένης εικόνας."},getPluralForm(n){return (n != 1);}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
export default {"en-au":{"dictionary":{"Open file manager":"Open file manager","Cannot determine a category for the uploaded file.":"Cannot determine a category for the uploaded file.","Cannot access default workspace.":"","Edit image":"","Processing the edited image.":"","Server failed to process the image.":"","Failed to determine category of edited image.":""},getPluralForm(n){return (n != 1);}}}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { Translations } from 'ckeditor5';
|
|
7
|
-
declare const translations: Translations;
|
|
8
|
-
export default translations;
|