@ckeditor/ckeditor5-ckfinder 45.2.1-alpha.4 → 45.2.1-alpha.6

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/ckfinder.js CHANGED
@@ -2,4 +2,4 @@
2
2
  /*!
3
3
  * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
4
4
  * For licensing, see LICENSE.md.
5
- */(()=>{var e={237:e=>{"use strict";e.exports=CKEditor5.dll},311:(e,t,i)=>{e.exports=i(237)("./src/ui.js")},355:(e,t,i)=>{e.exports=i(237)("./src/icons.js")},584:(e,t,i)=>{e.exports=i(237)("./src/utils.js")},782:(e,t,i)=>{e.exports=i(237)("./src/core.js")}},t={};function i(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{CKFinder:()=>d,CKFinderEditing:()=>l,CKFinderUI:()=>o});var e=i(782),t=i(311),r=i(355);class o extends e.Plugin{static get pluginName(){return"CKFinderUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("ckfinder",(()=>this._createFileToolbarButton())),e.ui.componentFactory.add("menuBar:ckfinder",(()=>this._createFileMenuBarButton())),e.plugins.has("ImageInsertUI")&&e.plugins.get("ImageInsertUI").registerIntegration({name:"assetManager",observable:()=>e.commands.get("ckfinder"),buttonViewCreator:()=>this._createImageToolbarButton(),formViewCreator:()=>this._createImageDropdownButton(),menuBarButtonViewCreator:e=>this._createImageMenuBarButton(e?"insertOnly":"insertNested")})}_createButton(e){const t=this.editor,i=new e(t.locale),n=t.commands.get("ckfinder");return i.bind("isEnabled").to(n),i.on("execute",(()=>{t.execute("ckfinder"),t.editing.view.focus()})),i}_createFileToolbarButton(){const e=this.editor.locale.t,i=this._createButton(t.ButtonView);return i.icon=r.IconBrowseFiles,i.label=e("Insert image or file"),i.tooltip=!0,i}_createImageToolbarButton(){const e=this.editor.locale.t,i=this.editor.plugins.get("ImageInsertUI"),n=this._createButton(t.ButtonView);return n.icon=r.IconImageAssetManager,n.bind("label").to(i,"isImageSelected",(t=>e(t?"Replace image with file manager":"Insert image with file manager"))),n.tooltip=!0,n}_createImageDropdownButton(){const e=this.editor.locale.t,i=this.editor.plugins.get("ImageInsertUI"),n=this._createButton(t.ButtonView);return n.icon=r.IconImageAssetManager,n.withText=!0,n.bind("label").to(i,"isImageSelected",(t=>e(t?"Replace with file manager":"Insert with file manager"))),n.on("execute",(()=>{i.dropdownView.isOpen=!1})),n}_createFileMenuBarButton(){const e=this.editor.locale.t,i=this._createButton(t.MenuBarMenuListItemButtonView);return i.icon=r.IconBrowseFiles,i.withText=!0,i.label=e("File"),i}_createImageMenuBarButton(e){const i=this.editor.locale.t,n=this.editor.locale.t,o=this._createButton(t.MenuBarMenuListItemButtonView);switch(o.icon=r.IconImageAssetManager,o.withText=!0,e){case"insertOnly":o.label=i("Image");break;case"insertNested":o.label=n("With file manager")}return o}}var s=i(584);class a extends e.Command{constructor(e){super(e),this.affectsData=!1,this.stopListening(this.editor.model.document,"change"),this.listenTo(this.editor.model.document,"change",(()=>this.refresh()),{priority:"low"})}refresh(){const e=this.editor.commands.get("insertImage"),t=this.editor.commands.get("link");this.isEnabled=e.isEnabled||t.isEnabled}execute(){const e=this.editor,t=this.editor.config.get("ckfinder.openerMethod")||"modal";if("popup"!=t&&"modal"!=t)throw new s.CKEditorError("ckfinder-unknown-openermethod",e);const i=this.editor.config.get("ckfinder.options")||{};i.chooseFiles=!0;const n=i.onInit;i.language||(i.language=e.locale.uiLanguage),i.onInit=t=>{n&&n(t),t.on("files:choose",(i=>{const n=i.data.files.toArray(),r=n.filter((e=>!e.isImage())),o=n.filter((e=>e.isImage()));for(const t of r)e.execute("link",t.getUrl());const s=[];for(const e of o){const i=e.getUrl();s.push(i||t.request("file:getProxyUrl",{file:e}))}s.length&&c(e,s)})),t.on("file:choose:resizedImage",(t=>{const i=t.data.resizedUrl;if(i)c(e,[i]);else{const t=e.plugins.get("Notification"),i=e.locale.t;t.showWarning(i("Could not obtain resized image URL."),{title:i("Selecting resized image failed"),namespace:"ckfinder"})}}))},window.CKFinder[t](i)}}function c(e,t){if(e.commands.get("insertImage").isEnabled)e.execute("insertImage",{source:t});else{const t=e.plugins.get("Notification"),i=e.locale.t;t.showWarning(i("Could not insert image at the current position."),{title:i("Inserting image failed"),namespace:"ckfinder"})}}class l extends e.Plugin{static get pluginName(){return"CKFinderEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[t.Notification,"LinkEditing"]}init(){const e=this.editor;if(!e.plugins.has("ImageBlockEditing")&&!e.plugins.has("ImageInlineEditing"))throw new s.CKEditorError("ckfinder-missing-image-plugin",e);e.commands.add("ckfinder",new a(e))}}class d extends e.Plugin{static get pluginName(){return"CKFinder"}static get isOfficialPlugin(){return!0}static get requires(){return["Link","CKFinderUploadAdapter",l,o]}}})(),(window.CKEditor5=window.CKEditor5||{}).ckfinder=n})();
5
+ */(()=>{var e={237:e=>{"use strict";e.exports=CKEditor5.dll},311:(e,t,i)=>{e.exports=i(237)("./src/ui.js")},355:(e,t,i)=>{e.exports=i(237)("./src/icons.js")},584:(e,t,i)=>{e.exports=i(237)("./src/utils.js")},782:(e,t,i)=>{e.exports=i(237)("./src/core.js")}},t={};function i(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{CKFinder:()=>d,CKFinderEditing:()=>l,CKFinderUI:()=>o});var e=i(782),t=i(311),r=i(355);class o extends e.Plugin{static get pluginName(){return"CKFinderUI"}static get isOfficialPlugin(){return!0}init(){const e=this.editor;e.ui.componentFactory.add("ckfinder",()=>this._createFileToolbarButton()),e.ui.componentFactory.add("menuBar:ckfinder",()=>this._createFileMenuBarButton()),e.plugins.has("ImageInsertUI")&&e.plugins.get("ImageInsertUI").registerIntegration({name:"assetManager",observable:()=>e.commands.get("ckfinder"),buttonViewCreator:()=>this._createImageToolbarButton(),formViewCreator:()=>this._createImageDropdownButton(),menuBarButtonViewCreator:e=>this._createImageMenuBarButton(e?"insertOnly":"insertNested")})}_createButton(e){const t=this.editor,i=new e(t.locale),n=t.commands.get("ckfinder");return i.bind("isEnabled").to(n),i.on("execute",()=>{t.execute("ckfinder"),t.editing.view.focus()}),i}_createFileToolbarButton(){const e=this.editor.locale.t,i=this._createButton(t.ButtonView);return i.icon=r.IconBrowseFiles,i.label=e("Insert image or file"),i.tooltip=!0,i}_createImageToolbarButton(){const e=this.editor.locale.t,i=this.editor.plugins.get("ImageInsertUI"),n=this._createButton(t.ButtonView);return n.icon=r.IconImageAssetManager,n.bind("label").to(i,"isImageSelected",t=>e(t?"Replace image with file manager":"Insert image with file manager")),n.tooltip=!0,n}_createImageDropdownButton(){const e=this.editor.locale.t,i=this.editor.plugins.get("ImageInsertUI"),n=this._createButton(t.ButtonView);return n.icon=r.IconImageAssetManager,n.withText=!0,n.bind("label").to(i,"isImageSelected",t=>e(t?"Replace with file manager":"Insert with file manager")),n.on("execute",()=>{i.dropdownView.isOpen=!1}),n}_createFileMenuBarButton(){const e=this.editor.locale.t,i=this._createButton(t.MenuBarMenuListItemButtonView);return i.icon=r.IconBrowseFiles,i.withText=!0,i.label=e("File"),i}_createImageMenuBarButton(e){const i=this.editor.locale.t,n=this.editor.locale.t,o=this._createButton(t.MenuBarMenuListItemButtonView);switch(o.icon=r.IconImageAssetManager,o.withText=!0,e){case"insertOnly":o.label=i("Image");break;case"insertNested":o.label=n("With file manager")}return o}}var a=i(584);class s extends e.Command{constructor(e){super(e),this.affectsData=!1,this.stopListening(this.editor.model.document,"change"),this.listenTo(this.editor.model.document,"change",()=>this.refresh(),{priority:"low"})}refresh(){const e=this.editor.commands.get("insertImage"),t=this.editor.commands.get("link");this.isEnabled=e.isEnabled||t.isEnabled}execute(){const e=this.editor,t=this.editor.config.get("ckfinder.openerMethod")||"modal";if("popup"!=t&&"modal"!=t)throw new a.CKEditorError("ckfinder-unknown-openermethod",e);const i=this.editor.config.get("ckfinder.options")||{};i.chooseFiles=!0;const n=i.onInit;i.language||(i.language=e.locale.uiLanguage),i.onInit=t=>{n&&n(t),t.on("files:choose",i=>{const n=i.data.files.toArray(),r=n.filter(e=>!e.isImage()),o=n.filter(e=>e.isImage());for(const t of r)e.execute("link",t.getUrl());const a=[];for(const e of o){const i=e.getUrl();a.push(i||t.request("file:getProxyUrl",{file:e}))}a.length&&c(e,a)}),t.on("file:choose:resizedImage",t=>{const i=t.data.resizedUrl;if(!i){const t=e.plugins.get("Notification"),i=e.locale.t;return void t.showWarning(i("Could not obtain resized image URL."),{title:i("Selecting resized image failed"),namespace:"ckfinder"})}c(e,[i])})},window.CKFinder[t](i)}}function c(e,t){if(!e.commands.get("insertImage").isEnabled){const t=e.plugins.get("Notification"),i=e.locale.t;return void t.showWarning(i("Could not insert image at the current position."),{title:i("Inserting image failed"),namespace:"ckfinder"})}e.execute("insertImage",{source:t})}class l extends e.Plugin{static get pluginName(){return"CKFinderEditing"}static get isOfficialPlugin(){return!0}static get requires(){return[t.Notification,"LinkEditing"]}init(){const e=this.editor;if(!e.plugins.has("ImageBlockEditing")&&!e.plugins.has("ImageInlineEditing"))throw new a.CKEditorError("ckfinder-missing-image-plugin",e);e.commands.add("ckfinder",new s(e))}}class d extends e.Plugin{static get pluginName(){return"CKFinder"}static get isOfficialPlugin(){return!0}static get requires(){return["Link","CKFinderUploadAdapter",l,o]}}})(),(window.CKEditor5=window.CKEditor5||{}).ckfinder=n})();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js","../src/ckfinderui.ts","../src/ckfindercommand.ts","../src/ckfinderediting.ts","../src/ckfinder.ts"],"names":["CKFinderUI","Plugin","pluginName","isOfficialPlugin","editor","ui","componentFactory","add","_createFileToolbarButton","_createFileMenuBarButton","plugins","has","get","registerIntegration","name","observable","commands","buttonViewCreator","_createImageToolbarButton","formViewCreator","_createImageDropdownButton","menuBarButtonViewCreator","isOnly","_createImageMenuBarButton","_createButton","ButtonClass","locale","view","command","bind","to","on","execute","editing","focus","t","button","ButtonView","icon","IconBrowseFiles","label","tooltip","imageInsertUI","IconImageAssetManager","isImageSelected","withText","dropdownView","isOpen","MenuBarMenuListItemButtonView","type","translateVariableKey","CKFinderCommand","Command","affectsData","stopListening","model","document","listenTo","refresh","priority","imageCommand","linkCommand","isEnabled","openerMethod","config","CKEditorError","options","chooseFiles","originalOnInit","onInit","language","uiLanguage","finder","evt","files","data","toArray","links","filter","file","isImage","images","linkFile","getUrl","imagesUrls","image","url","push","request","length","insertImages","resizedUrl","notification","showWarning","title","namespace","window","CKFinder","urls","source","CKFinderEditing","requires","Notification"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Plugin, Command } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView, Notification } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { IconBrowseFiles, IconImageAssetManager } from '@ckeditor/ckeditor5-icons/dist/index.js';\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils/dist/index.js';\n\n/**\n * Introduces UI components for `CKFinder` plugin.\n *\n * The plugin introduces two UI components to the {@link module:ui/componentfactory~ComponentFactory UI component factory}:\n *\n * * the `'ckfinder'` toolbar button,\n * * the `'menuBar:ckfinder'` menu bar component, which is by default added to the `'Insert'` menu.\n *\n * It also integrates with the `insertImage` toolbar component and `menuBar:insertImage` menu component.\n */ class CKFinderUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'CKFinderUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n editor.ui.componentFactory.add('ckfinder', ()=>this._createFileToolbarButton());\n editor.ui.componentFactory.add('menuBar:ckfinder', ()=>this._createFileMenuBarButton());\n if (editor.plugins.has('ImageInsertUI')) {\n editor.plugins.get('ImageInsertUI').registerIntegration({\n name: 'assetManager',\n observable: ()=>editor.commands.get('ckfinder'),\n buttonViewCreator: ()=>this._createImageToolbarButton(),\n formViewCreator: ()=>this._createImageDropdownButton(),\n menuBarButtonViewCreator: (isOnly)=>this._createImageMenuBarButton(isOnly ? 'insertOnly' : 'insertNested')\n });\n }\n }\n /**\n\t * Creates the base for various kinds of the button component provided by this feature.\n\t */ _createButton(ButtonClass) {\n const editor = this.editor;\n const locale = editor.locale;\n const view = new ButtonClass(locale);\n const command = editor.commands.get('ckfinder');\n view.bind('isEnabled').to(command);\n view.on('execute', ()=>{\n editor.execute('ckfinder');\n editor.editing.view.focus();\n });\n return view;\n }\n /**\n\t * Creates a simple toolbar button for files management, with an icon and a tooltip.\n\t */ _createFileToolbarButton() {\n const t = this.editor.locale.t;\n const button = this._createButton(ButtonView);\n button.icon = IconBrowseFiles;\n button.label = t('Insert image or file');\n button.tooltip = true;\n return button;\n }\n /**\n\t * Creates a simple toolbar button for images management, with an icon and a tooltip.\n\t */ _createImageToolbarButton() {\n const t = this.editor.locale.t;\n const imageInsertUI = this.editor.plugins.get('ImageInsertUI');\n const button = this._createButton(ButtonView);\n button.icon = IconImageAssetManager;\n button.bind('label').to(imageInsertUI, 'isImageSelected', (isImageSelected)=>isImageSelected ? t('Replace image with file manager') : t('Insert image with file manager'));\n button.tooltip = true;\n return button;\n }\n /**\n\t * Creates a button for images management for the dropdown view, with an icon, text and no tooltip.\n\t */ _createImageDropdownButton() {\n const t = this.editor.locale.t;\n const imageInsertUI = this.editor.plugins.get('ImageInsertUI');\n const button = this._createButton(ButtonView);\n button.icon = IconImageAssetManager;\n button.withText = true;\n button.bind('label').to(imageInsertUI, 'isImageSelected', (isImageSelected)=>isImageSelected ? t('Replace with file manager') : t('Insert with file manager'));\n button.on('execute', ()=>{\n imageInsertUI.dropdownView.isOpen = false;\n });\n return button;\n }\n /**\n\t * Creates a button for files management for the menu bar.\n\t */ _createFileMenuBarButton() {\n const t = this.editor.locale.t;\n const button = this._createButton(MenuBarMenuListItemButtonView);\n button.icon = IconBrowseFiles;\n button.withText = true;\n button.label = t('File');\n return button;\n }\n /**\n\t * Creates a button for images management for the menu bar.\n\t */ _createImageMenuBarButton(type) {\n // Use t() stored in a variable with a different name to reuse existing translations from another package.\n const translateVariableKey = this.editor.locale.t;\n const t = this.editor.locale.t;\n const button = this._createButton(MenuBarMenuListItemButtonView);\n button.icon = IconImageAssetManager;\n button.withText = true;\n switch(type){\n case 'insertOnly':\n button.label = translateVariableKey('Image');\n break;\n case 'insertNested':\n button.label = t('With file manager');\n break;\n }\n return button;\n }\n}\n\n/**\n * The CKFinder command. It is used by the {@link module:ckfinder/ckfinderediting~CKFinderEditing CKFinder editing feature}\n * to open the CKFinder file manager to insert an image or a link to a file into the editor content.\n *\n * ```ts\n * editor.execute( 'ckfinder' );\n * ```\n *\n * **Note:** This command uses other features to perform tasks:\n * - To insert images the {@link module:image/image/insertimagecommand~InsertImageCommand 'insertImage'} command\n * from the {@link module:image/image~Image Image feature}.\n * - To insert links to files the {@link module:link/linkcommand~LinkCommand 'link'} command\n * from the {@link module:link/link~Link Link feature}.\n */ class CKFinderCommand extends Command {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // The CKFinder command does not affect data by itself.\n this.affectsData = false;\n // Remove default document listener to lower its priority.\n this.stopListening(this.editor.model.document, 'change');\n // Lower this command listener priority to be sure that refresh() will be called after link & image refresh.\n this.listenTo(this.editor.model.document, 'change', ()=>this.refresh(), {\n priority: 'low'\n });\n }\n /**\n\t * @inheritDoc\n\t */ refresh() {\n const imageCommand = this.editor.commands.get('insertImage');\n const linkCommand = this.editor.commands.get('link');\n // The CKFinder command is enabled when one of image or link command is enabled.\n this.isEnabled = imageCommand.isEnabled || linkCommand.isEnabled;\n }\n /**\n\t * @inheritDoc\n\t */ execute() {\n const editor = this.editor;\n const openerMethod = this.editor.config.get('ckfinder.openerMethod') || 'modal';\n if (openerMethod != 'popup' && openerMethod != 'modal') {\n /**\n\t\t\t * The `ckfinder.openerMethod` must be one of: \"popup\" or \"modal\".\n\t\t\t *\n\t\t\t * @error ckfinder-unknown-openermethod\n\t\t\t */ throw new CKEditorError('ckfinder-unknown-openermethod', editor);\n }\n const options = this.editor.config.get('ckfinder.options') || {};\n options.chooseFiles = true;\n // Cache the user-defined onInit method\n const originalOnInit = options.onInit;\n // Pass the lang code to the CKFinder if not defined by user.\n if (!options.language) {\n options.language = editor.locale.uiLanguage;\n }\n // The onInit method allows to extend CKFinder's behavior. It is used to attach event listeners to file choosing related events.\n options.onInit = (finder)=>{\n // Call original options.onInit if it was defined by user.\n if (originalOnInit) {\n originalOnInit(finder);\n }\n finder.on('files:choose', (evt)=>{\n const files = evt.data.files.toArray();\n // Insert links\n const links = files.filter((file)=>!file.isImage());\n const images = files.filter((file)=>file.isImage());\n for (const linkFile of links){\n editor.execute('link', linkFile.getUrl());\n }\n const imagesUrls = [];\n for (const image of images){\n const url = image.getUrl();\n imagesUrls.push(url ? url : finder.request('file:getProxyUrl', {\n file: image\n }));\n }\n if (imagesUrls.length) {\n insertImages(editor, imagesUrls);\n }\n });\n finder.on('file:choose:resizedImage', (evt)=>{\n const resizedUrl = evt.data.resizedUrl;\n if (!resizedUrl) {\n const notification = editor.plugins.get('Notification');\n const t = editor.locale.t;\n notification.showWarning(t('Could not obtain resized image URL.'), {\n title: t('Selecting resized image failed'),\n namespace: 'ckfinder'\n });\n return;\n }\n insertImages(editor, [\n resizedUrl\n ]);\n });\n };\n window.CKFinder[openerMethod](options);\n }\n}\nfunction insertImages(editor, urls) {\n const imageCommand = editor.commands.get('insertImage');\n // Check if inserting an image is actually possible - it might be possible to only insert a link.\n if (!imageCommand.isEnabled) {\n const notification = editor.plugins.get('Notification');\n const t = editor.locale.t;\n notification.showWarning(t('Could not insert image at the current position.'), {\n title: t('Inserting image failed'),\n namespace: 'ckfinder'\n });\n return;\n }\n editor.execute('insertImage', {\n source: urls\n });\n}\n\n/**\n * The CKFinder editing feature. It introduces the {@link module:ckfinder/ckfindercommand~CKFinderCommand CKFinder command}.\n */ class CKFinderEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'CKFinderEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n Notification,\n 'LinkEditing'\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n if (!editor.plugins.has('ImageBlockEditing') && !editor.plugins.has('ImageInlineEditing')) {\n /**\n\t\t\t * CKFinder requires at least one plugin providing support for images loaded in the editor. Please\n\t\t\t * make sure either:\n\t\t\t *\n\t\t\t * * {@link module:image/image~Image} (which loads both types of images),\n\t\t\t * * or {@link module:image/imageblock~ImageBlock},\n\t\t\t * * or {@link module:image/imageinline~ImageInline}.\n\t\t\t *\n\t\t\t * is loaded in your editor configuration.\n\t\t\t *\n\t\t\t * @error ckfinder-missing-image-plugin\n\t\t\t */ throw new CKEditorError('ckfinder-missing-image-plugin', editor);\n }\n editor.commands.add('ckfinder', new CKFinderCommand(editor));\n }\n}\n\n/**\n * The CKFinder feature, a bridge between the CKEditor 5 WYSIWYG editor and the\n * [CKFinder](https://ckeditor.com/ckfinder) file manager and uploader.\n *\n * This is a \"glue\" plugin which enables:\n *\n * * {@link module:ckfinder/ckfinderediting~CKFinderEditing},\n * * {@link module:ckfinder/ckfinderui~CKFinderUI},\n * * {@link module:adapter-ckfinder/uploadadapter~CKFinderUploadAdapter}.\n *\n * See the {@glink features/file-management/ckfinder \"CKFinder integration\" guide} to learn how to configure\n * and use this feature.\n *\n * Check out the {@glink features/images/image-upload/image-upload comprehensive \"Image upload\" guide} to learn about\n * other ways to upload images into CKEditor 5.\n */ class CKFinder extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'CKFinder';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n 'Link',\n 'CKFinderUploadAdapter',\n CKFinderEditing,\n CKFinderUI\n ];\n }\n}\n\nexport { CKFinder, CKFinderEditing, CKFinderUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module ckfinder/ckfinderui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';\nimport { IconBrowseFiles, IconImageAssetManager } from 'ckeditor5/src/icons.js';\nimport type { ImageInsertUI } from '@ckeditor/ckeditor5-image';\n\nimport type CKFinderCommand from './ckfindercommand.js';\n\n/**\n * Introduces UI components for `CKFinder` plugin.\n *\n * The plugin introduces two UI components to the {@link module:ui/componentfactory~ComponentFactory UI component factory}:\n *\n * * the `'ckfinder'` toolbar button,\n * * the `'menuBar:ckfinder'` menu bar component, which is by default added to the `'Insert'` menu.\n *\n * It also integrates with the `insertImage` toolbar component and `menuBar:insertImage` menu component.\n */\nexport default class CKFinderUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'CKFinderUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.ui.componentFactory.add( 'ckfinder', () => this._createFileToolbarButton() );\n\t\teditor.ui.componentFactory.add( 'menuBar:ckfinder', () => this._createFileMenuBarButton() );\n\n\t\tif ( editor.plugins.has( 'ImageInsertUI' ) ) {\n\t\t\teditor.plugins.get( 'ImageInsertUI' ).registerIntegration( {\n\t\t\t\tname: 'assetManager',\n\t\t\t\tobservable: () => editor.commands.get( 'ckfinder' )!,\n\t\t\t\tbuttonViewCreator: () => this._createImageToolbarButton(),\n\t\t\t\tformViewCreator: () => this._createImageDropdownButton(),\n\t\t\t\tmenuBarButtonViewCreator: isOnly => this._createImageMenuBarButton( isOnly ? 'insertOnly' : 'insertNested' )\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Creates the base for various kinds of the button component provided by this feature.\n\t */\n\tprivate _createButton<T extends typeof ButtonView | typeof MenuBarMenuListItemButtonView>( ButtonClass: T ): InstanceType<T> {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst view = new ButtonClass( locale ) as InstanceType<T>;\n\t\tconst command: CKFinderCommand = editor.commands.get( 'ckfinder' )!;\n\n\t\tview.bind( 'isEnabled' ).to( command );\n\n\t\tview.on( 'execute', () => {\n\t\t\teditor.execute( 'ckfinder' );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n\n\t/**\n\t * Creates a simple toolbar button for files management, with an icon and a tooltip.\n\t */\n\tprivate _createFileToolbarButton(): ButtonView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst button = this._createButton( ButtonView );\n\n\t\tbutton.icon = IconBrowseFiles;\n\t\tbutton.label = t( 'Insert image or file' );\n\t\tbutton.tooltip = true;\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Creates a simple toolbar button for images management, with an icon and a tooltip.\n\t */\n\tprivate _createImageToolbarButton(): ButtonView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst imageInsertUI: ImageInsertUI = this.editor.plugins.get( 'ImageInsertUI' );\n\n\t\tconst button = this._createButton( ButtonView );\n\n\t\tbutton.icon = IconImageAssetManager;\n\t\tbutton.bind( 'label' ).to(\n\t\t\timageInsertUI,\n\t\t\t'isImageSelected',\n\t\t\tisImageSelected => isImageSelected ? t( 'Replace image with file manager' ) : t( 'Insert image with file manager' )\n\t\t);\n\t\tbutton.tooltip = true;\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Creates a button for images management for the dropdown view, with an icon, text and no tooltip.\n\t */\n\tprivate _createImageDropdownButton(): ButtonView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst imageInsertUI: ImageInsertUI = this.editor.plugins.get( 'ImageInsertUI' );\n\n\t\tconst button = this._createButton( ButtonView );\n\n\t\tbutton.icon = IconImageAssetManager;\n\t\tbutton.withText = true;\n\t\tbutton.bind( 'label' ).to(\n\t\t\timageInsertUI,\n\t\t\t'isImageSelected',\n\t\t\tisImageSelected => isImageSelected ? t( 'Replace with file manager' ) : t( 'Insert with file manager' )\n\t\t);\n\n\t\tbutton.on( 'execute', () => {\n\t\t\timageInsertUI.dropdownView!.isOpen = false;\n\t\t} );\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Creates a button for files management for the menu bar.\n\t */\n\tprivate _createFileMenuBarButton(): MenuBarMenuListItemButtonView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst button = this._createButton( MenuBarMenuListItemButtonView );\n\n\t\tbutton.icon = IconBrowseFiles;\n\t\tbutton.withText = true;\n\t\tbutton.label = t( 'File' );\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Creates a button for images management for the menu bar.\n\t */\n\tprivate _createImageMenuBarButton( type: 'insertOnly' | 'insertNested' ): MenuBarMenuListItemButtonView {\n\t\t// Use t() stored in a variable with a different name to reuse existing translations from another package.\n\t\tconst translateVariableKey = this.editor.locale.t;\n\t\tconst t = this.editor.locale.t;\n\t\tconst button = this._createButton( MenuBarMenuListItemButtonView );\n\n\t\tbutton.icon = IconImageAssetManager;\n\t\tbutton.withText = true;\n\n\t\tswitch ( type ) {\n\t\t\tcase 'insertOnly':\n\t\t\t\tbutton.label = translateVariableKey( 'Image' );\n\t\t\t\tbreak;\n\t\t\tcase 'insertNested':\n\t\t\t\tbutton.label = t( 'With file manager' );\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn button;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module ckfinder/ckfindercommand\n */\n\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\nimport type { Notification } from 'ckeditor5/src/ui.js';\n\n/**\n * The CKFinder command. It is used by the {@link module:ckfinder/ckfinderediting~CKFinderEditing CKFinder editing feature}\n * to open the CKFinder file manager to insert an image or a link to a file into the editor content.\n *\n * ```ts\n * editor.execute( 'ckfinder' );\n * ```\n *\n * **Note:** This command uses other features to perform tasks:\n * - To insert images the {@link module:image/image/insertimagecommand~InsertImageCommand 'insertImage'} command\n * from the {@link module:image/image~Image Image feature}.\n * - To insert links to files the {@link module:link/linkcommand~LinkCommand 'link'} command\n * from the {@link module:link/link~Link Link feature}.\n */\nexport default class CKFinderCommand extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// The CKFinder command does not affect data by itself.\n\t\tthis.affectsData = false;\n\n\t\t// Remove default document listener to lower its priority.\n\t\tthis.stopListening( this.editor.model.document, 'change' );\n\n\t\t// Lower this command listener priority to be sure that refresh() will be called after link & image refresh.\n\t\tthis.listenTo( this.editor.model.document, 'change', () => this.refresh(), { priority: 'low' } );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\tconst imageCommand = this.editor.commands.get( 'insertImage' )!;\n\t\tconst linkCommand = this.editor.commands.get( 'link' )!;\n\n\t\t// The CKFinder command is enabled when one of image or link command is enabled.\n\t\tthis.isEnabled = imageCommand.isEnabled || linkCommand.isEnabled;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override execute(): void {\n\t\tconst editor = this.editor;\n\n\t\tconst openerMethod = this.editor.config.get( 'ckfinder.openerMethod' ) || 'modal';\n\n\t\tif ( openerMethod != 'popup' && openerMethod != 'modal' ) {\n\t\t\t/**\n\t\t\t * The `ckfinder.openerMethod` must be one of: \"popup\" or \"modal\".\n\t\t\t *\n\t\t\t * @error ckfinder-unknown-openermethod\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'ckfinder-unknown-openermethod', editor );\n\t\t}\n\n\t\tconst options = this.editor.config.get( 'ckfinder.options' ) || {};\n\n\t\toptions.chooseFiles = true;\n\n\t\t// Cache the user-defined onInit method\n\t\tconst originalOnInit = options.onInit;\n\n\t\t// Pass the lang code to the CKFinder if not defined by user.\n\t\tif ( !options.language ) {\n\t\t\toptions.language = editor.locale.uiLanguage;\n\t\t}\n\n\t\t// The onInit method allows to extend CKFinder's behavior. It is used to attach event listeners to file choosing related events.\n\t\toptions.onInit = finder => {\n\t\t\t// Call original options.onInit if it was defined by user.\n\t\t\tif ( originalOnInit ) {\n\t\t\t\toriginalOnInit( finder );\n\t\t\t}\n\n\t\t\tfinder.on( 'files:choose', ( evt: any ) => {\n\t\t\t\tconst files = evt.data.files.toArray();\n\n\t\t\t\t// Insert links\n\t\t\t\tconst links = files.filter( ( file: any ) => !file.isImage() );\n\t\t\t\tconst images = files.filter( ( file: any ) => file.isImage() );\n\n\t\t\t\tfor ( const linkFile of links ) {\n\t\t\t\t\teditor.execute( 'link', linkFile.getUrl() );\n\t\t\t\t}\n\n\t\t\t\tconst imagesUrls = [];\n\n\t\t\t\tfor ( const image of images ) {\n\t\t\t\t\tconst url = image.getUrl();\n\n\t\t\t\t\timagesUrls.push( url ? url : finder.request( 'file:getProxyUrl', { file: image } ) );\n\t\t\t\t}\n\n\t\t\t\tif ( imagesUrls.length ) {\n\t\t\t\t\tinsertImages( editor, imagesUrls );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tfinder.on( 'file:choose:resizedImage', ( evt: any ) => {\n\t\t\t\tconst resizedUrl = evt.data.resizedUrl;\n\n\t\t\t\tif ( !resizedUrl ) {\n\t\t\t\t\tconst notification: Notification = editor.plugins.get( 'Notification' );\n\t\t\t\t\tconst t = editor.locale.t;\n\n\t\t\t\t\tnotification.showWarning( t( 'Could not obtain resized image URL.' ), {\n\t\t\t\t\t\ttitle: t( 'Selecting resized image failed' ),\n\t\t\t\t\t\tnamespace: 'ckfinder'\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tinsertImages( editor, [ resizedUrl ] );\n\t\t\t} );\n\t\t};\n\n\t\t( window as any ).CKFinder[ openerMethod ]( options );\n\t}\n}\n\nfunction insertImages( editor: Editor, urls: Array<string> ): void {\n\tconst imageCommand = editor.commands.get( 'insertImage' )!;\n\n\t// Check if inserting an image is actually possible - it might be possible to only insert a link.\n\tif ( !imageCommand.isEnabled ) {\n\t\tconst notification: Notification = editor.plugins.get( 'Notification' );\n\t\tconst t = editor.locale.t;\n\n\t\tnotification.showWarning( t( 'Could not insert image at the current position.' ), {\n\t\t\ttitle: t( 'Inserting image failed' ),\n\t\t\tnamespace: 'ckfinder'\n\t\t} );\n\n\t\treturn;\n\t}\n\n\teditor.execute( 'insertImage', { source: urls } );\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module ckfinder/ckfinderediting\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { Notification } from 'ckeditor5/src/ui.js';\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\n\nimport CKFinderCommand from './ckfindercommand.js';\n\n/**\n * The CKFinder editing feature. It introduces the {@link module:ckfinder/ckfindercommand~CKFinderCommand CKFinder command}.\n */\nexport default class CKFinderEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'CKFinderEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ Notification, 'LinkEditing' ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.plugins.has( 'ImageBlockEditing' ) && !editor.plugins.has( 'ImageInlineEditing' ) ) {\n\t\t\t/**\n\t\t\t * CKFinder requires at least one plugin providing support for images loaded in the editor. Please\n\t\t\t * make sure either:\n\t\t\t *\n\t\t\t * * {@link module:image/image~Image} (which loads both types of images),\n\t\t\t * * or {@link module:image/imageblock~ImageBlock},\n\t\t\t * * or {@link module:image/imageinline~ImageInline}.\n\t\t\t *\n\t\t\t * is loaded in your editor configuration.\n\t\t\t *\n\t\t\t * @error ckfinder-missing-image-plugin\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'ckfinder-missing-image-plugin', editor );\n\t\t}\n\n\t\teditor.commands.add( 'ckfinder', new CKFinderCommand( editor ) );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module ckfinder/ckfinder\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport CKFinderUI from './ckfinderui.js';\nimport CKFinderEditing from './ckfinderediting.js';\n\n/**\n * The CKFinder feature, a bridge between the CKEditor 5 WYSIWYG editor and the\n * [CKFinder](https://ckeditor.com/ckfinder) file manager and uploader.\n *\n * This is a \"glue\" plugin which enables:\n *\n * * {@link module:ckfinder/ckfinderediting~CKFinderEditing},\n * * {@link module:ckfinder/ckfinderui~CKFinderUI},\n * * {@link module:adapter-ckfinder/uploadadapter~CKFinderUploadAdapter}.\n *\n * See the {@glink features/file-management/ckfinder \"CKFinder integration\" guide} to learn how to configure\n * and use this feature.\n *\n * Check out the {@glink features/images/image-upload/image-upload comprehensive \"Image upload\" guide} to learn about\n * other ways to upload images into CKEditor 5.\n */\nexport default class CKFinder extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'CKFinder' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ 'Link', 'CKFinderUploadAdapter', CKFinderEditing, CKFinderUI ] as const;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["index.js","../src/ckfinderui.ts","../src/ckfindercommand.ts","../src/ckfinderediting.ts","../src/ckfinder.ts"],"names":["CKFinderUI","Plugin","pluginName","isOfficialPlugin","init","editor","ui","componentFactory","add","_createFileToolbarButton","_createFileMenuBarButton","plugins","has","get","registerIntegration","name","observable","commands","buttonViewCreator","_createImageToolbarButton","formViewCreator","_createImageDropdownButton","menuBarButtonViewCreator","isOnly","_createImageMenuBarButton","_createButton","ButtonClass","locale","view","command","bind","to","on","execute","editing","focus","t","button","ButtonView","icon","IconBrowseFiles","label","tooltip","imageInsertUI","IconImageAssetManager","isImageSelected","withText","dropdownView","isOpen","MenuBarMenuListItemButtonView","type","translateVariableKey","CKFinderCommand","Command","affectsData","stopListening","model","document","listenTo","refresh","priority","imageCommand","linkCommand","isEnabled","openerMethod","config","CKEditorError","options","chooseFiles","originalOnInit","onInit","language","uiLanguage","finder","evt","files","data","toArray","links","filter","file","isImage","images","linkFile","getUrl","imagesUrls","image","url","push","request","length","insertImages","resizedUrl","notification","showWarning","title","namespace","window","CKFinder","urls","source","CKFinderEditing","requires","Notification"],"mappings":"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","file":"index.js.map","sourcesContent":["import { Plugin, Command } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView, Notification } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { IconBrowseFiles, IconImageAssetManager } from '@ckeditor/ckeditor5-icons/dist/index.js';\nimport { CKEditorError } from '@ckeditor/ckeditor5-utils/dist/index.js';\n\n/**\n * Introduces UI components for `CKFinder` plugin.\n *\n * The plugin introduces two UI components to the {@link module:ui/componentfactory~ComponentFactory UI component factory}:\n *\n * * the `'ckfinder'` toolbar button,\n * * the `'menuBar:ckfinder'` menu bar component, which is by default added to the `'Insert'` menu.\n *\n * It also integrates with the `insertImage` toolbar component and `menuBar:insertImage` menu component.\n */ class CKFinderUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'CKFinderUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n editor.ui.componentFactory.add('ckfinder', ()=>this._createFileToolbarButton());\n editor.ui.componentFactory.add('menuBar:ckfinder', ()=>this._createFileMenuBarButton());\n if (editor.plugins.has('ImageInsertUI')) {\n editor.plugins.get('ImageInsertUI').registerIntegration({\n name: 'assetManager',\n observable: ()=>editor.commands.get('ckfinder'),\n buttonViewCreator: ()=>this._createImageToolbarButton(),\n formViewCreator: ()=>this._createImageDropdownButton(),\n menuBarButtonViewCreator: (isOnly)=>this._createImageMenuBarButton(isOnly ? 'insertOnly' : 'insertNested')\n });\n }\n }\n /**\n\t * Creates the base for various kinds of the button component provided by this feature.\n\t */ _createButton(ButtonClass) {\n const editor = this.editor;\n const locale = editor.locale;\n const view = new ButtonClass(locale);\n const command = editor.commands.get('ckfinder');\n view.bind('isEnabled').to(command);\n view.on('execute', ()=>{\n editor.execute('ckfinder');\n editor.editing.view.focus();\n });\n return view;\n }\n /**\n\t * Creates a simple toolbar button for files management, with an icon and a tooltip.\n\t */ _createFileToolbarButton() {\n const t = this.editor.locale.t;\n const button = this._createButton(ButtonView);\n button.icon = IconBrowseFiles;\n button.label = t('Insert image or file');\n button.tooltip = true;\n return button;\n }\n /**\n\t * Creates a simple toolbar button for images management, with an icon and a tooltip.\n\t */ _createImageToolbarButton() {\n const t = this.editor.locale.t;\n const imageInsertUI = this.editor.plugins.get('ImageInsertUI');\n const button = this._createButton(ButtonView);\n button.icon = IconImageAssetManager;\n button.bind('label').to(imageInsertUI, 'isImageSelected', (isImageSelected)=>isImageSelected ? t('Replace image with file manager') : t('Insert image with file manager'));\n button.tooltip = true;\n return button;\n }\n /**\n\t * Creates a button for images management for the dropdown view, with an icon, text and no tooltip.\n\t */ _createImageDropdownButton() {\n const t = this.editor.locale.t;\n const imageInsertUI = this.editor.plugins.get('ImageInsertUI');\n const button = this._createButton(ButtonView);\n button.icon = IconImageAssetManager;\n button.withText = true;\n button.bind('label').to(imageInsertUI, 'isImageSelected', (isImageSelected)=>isImageSelected ? t('Replace with file manager') : t('Insert with file manager'));\n button.on('execute', ()=>{\n imageInsertUI.dropdownView.isOpen = false;\n });\n return button;\n }\n /**\n\t * Creates a button for files management for the menu bar.\n\t */ _createFileMenuBarButton() {\n const t = this.editor.locale.t;\n const button = this._createButton(MenuBarMenuListItemButtonView);\n button.icon = IconBrowseFiles;\n button.withText = true;\n button.label = t('File');\n return button;\n }\n /**\n\t * Creates a button for images management for the menu bar.\n\t */ _createImageMenuBarButton(type) {\n // Use t() stored in a variable with a different name to reuse existing translations from another package.\n const translateVariableKey = this.editor.locale.t;\n const t = this.editor.locale.t;\n const button = this._createButton(MenuBarMenuListItemButtonView);\n button.icon = IconImageAssetManager;\n button.withText = true;\n switch(type){\n case 'insertOnly':\n button.label = translateVariableKey('Image');\n break;\n case 'insertNested':\n button.label = t('With file manager');\n break;\n }\n return button;\n }\n}\n\n/**\n * The CKFinder command. It is used by the {@link module:ckfinder/ckfinderediting~CKFinderEditing CKFinder editing feature}\n * to open the CKFinder file manager to insert an image or a link to a file into the editor content.\n *\n * ```ts\n * editor.execute( 'ckfinder' );\n * ```\n *\n * **Note:** This command uses other features to perform tasks:\n * - To insert images the {@link module:image/image/insertimagecommand~InsertImageCommand 'insertImage'} command\n * from the {@link module:image/image~Image Image feature}.\n * - To insert links to files the {@link module:link/linkcommand~LinkCommand 'link'} command\n * from the {@link module:link/link~Link Link feature}.\n */ class CKFinderCommand extends Command {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // The CKFinder command does not affect data by itself.\n this.affectsData = false;\n // Remove default document listener to lower its priority.\n this.stopListening(this.editor.model.document, 'change');\n // Lower this command listener priority to be sure that refresh() will be called after link & image refresh.\n this.listenTo(this.editor.model.document, 'change', ()=>this.refresh(), {\n priority: 'low'\n });\n }\n /**\n\t * @inheritDoc\n\t */ refresh() {\n const imageCommand = this.editor.commands.get('insertImage');\n const linkCommand = this.editor.commands.get('link');\n // The CKFinder command is enabled when one of image or link command is enabled.\n this.isEnabled = imageCommand.isEnabled || linkCommand.isEnabled;\n }\n /**\n\t * @inheritDoc\n\t */ execute() {\n const editor = this.editor;\n const openerMethod = this.editor.config.get('ckfinder.openerMethod') || 'modal';\n if (openerMethod != 'popup' && openerMethod != 'modal') {\n /**\n\t\t\t * The `ckfinder.openerMethod` must be one of: \"popup\" or \"modal\".\n\t\t\t *\n\t\t\t * @error ckfinder-unknown-openermethod\n\t\t\t */ throw new CKEditorError('ckfinder-unknown-openermethod', editor);\n }\n const options = this.editor.config.get('ckfinder.options') || {};\n options.chooseFiles = true;\n // Cache the user-defined onInit method\n const originalOnInit = options.onInit;\n // Pass the lang code to the CKFinder if not defined by user.\n if (!options.language) {\n options.language = editor.locale.uiLanguage;\n }\n // The onInit method allows to extend CKFinder's behavior. It is used to attach event listeners to file choosing related events.\n options.onInit = (finder)=>{\n // Call original options.onInit if it was defined by user.\n if (originalOnInit) {\n originalOnInit(finder);\n }\n finder.on('files:choose', (evt)=>{\n const files = evt.data.files.toArray();\n // Insert links\n const links = files.filter((file)=>!file.isImage());\n const images = files.filter((file)=>file.isImage());\n for (const linkFile of links){\n editor.execute('link', linkFile.getUrl());\n }\n const imagesUrls = [];\n for (const image of images){\n const url = image.getUrl();\n imagesUrls.push(url ? url : finder.request('file:getProxyUrl', {\n file: image\n }));\n }\n if (imagesUrls.length) {\n insertImages(editor, imagesUrls);\n }\n });\n finder.on('file:choose:resizedImage', (evt)=>{\n const resizedUrl = evt.data.resizedUrl;\n if (!resizedUrl) {\n const notification = editor.plugins.get('Notification');\n const t = editor.locale.t;\n notification.showWarning(t('Could not obtain resized image URL.'), {\n title: t('Selecting resized image failed'),\n namespace: 'ckfinder'\n });\n return;\n }\n insertImages(editor, [\n resizedUrl\n ]);\n });\n };\n window.CKFinder[openerMethod](options);\n }\n}\nfunction insertImages(editor, urls) {\n const imageCommand = editor.commands.get('insertImage');\n // Check if inserting an image is actually possible - it might be possible to only insert a link.\n if (!imageCommand.isEnabled) {\n const notification = editor.plugins.get('Notification');\n const t = editor.locale.t;\n notification.showWarning(t('Could not insert image at the current position.'), {\n title: t('Inserting image failed'),\n namespace: 'ckfinder'\n });\n return;\n }\n editor.execute('insertImage', {\n source: urls\n });\n}\n\n/**\n * The CKFinder editing feature. It introduces the {@link module:ckfinder/ckfindercommand~CKFinderCommand CKFinder command}.\n */ class CKFinderEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'CKFinderEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n Notification,\n 'LinkEditing'\n ];\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n if (!editor.plugins.has('ImageBlockEditing') && !editor.plugins.has('ImageInlineEditing')) {\n /**\n\t\t\t * CKFinder requires at least one plugin providing support for images loaded in the editor. Please\n\t\t\t * make sure either:\n\t\t\t *\n\t\t\t * * {@link module:image/image~Image} (which loads both types of images),\n\t\t\t * * or {@link module:image/imageblock~ImageBlock},\n\t\t\t * * or {@link module:image/imageinline~ImageInline}.\n\t\t\t *\n\t\t\t * is loaded in your editor configuration.\n\t\t\t *\n\t\t\t * @error ckfinder-missing-image-plugin\n\t\t\t */ throw new CKEditorError('ckfinder-missing-image-plugin', editor);\n }\n editor.commands.add('ckfinder', new CKFinderCommand(editor));\n }\n}\n\n/**\n * The CKFinder feature, a bridge between the CKEditor 5 WYSIWYG editor and the\n * [CKFinder](https://ckeditor.com/ckfinder) file manager and uploader.\n *\n * This is a \"glue\" plugin which enables:\n *\n * * {@link module:ckfinder/ckfinderediting~CKFinderEditing},\n * * {@link module:ckfinder/ckfinderui~CKFinderUI},\n * * {@link module:adapter-ckfinder/uploadadapter~CKFinderUploadAdapter}.\n *\n * See the {@glink features/file-management/ckfinder \"CKFinder integration\" guide} to learn how to configure\n * and use this feature.\n *\n * Check out the {@glink features/images/image-upload/image-upload comprehensive \"Image upload\" guide} to learn about\n * other ways to upload images into CKEditor 5.\n */ class CKFinder extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'CKFinder';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n 'Link',\n 'CKFinderUploadAdapter',\n CKFinderEditing,\n CKFinderUI\n ];\n }\n}\n\nexport { CKFinder, CKFinderEditing, CKFinderUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module ckfinder/ckfinderui\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from 'ckeditor5/src/ui.js';\nimport { IconBrowseFiles, IconImageAssetManager } from 'ckeditor5/src/icons.js';\nimport type { ImageInsertUI } from '@ckeditor/ckeditor5-image';\n\nimport type CKFinderCommand from './ckfindercommand.js';\n\n/**\n * Introduces UI components for `CKFinder` plugin.\n *\n * The plugin introduces two UI components to the {@link module:ui/componentfactory~ComponentFactory UI component factory}:\n *\n * * the `'ckfinder'` toolbar button,\n * * the `'menuBar:ckfinder'` menu bar component, which is by default added to the `'Insert'` menu.\n *\n * It also integrates with the `insertImage` toolbar component and `menuBar:insertImage` menu component.\n */\nexport default class CKFinderUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'CKFinderUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.ui.componentFactory.add( 'ckfinder', () => this._createFileToolbarButton() );\n\t\teditor.ui.componentFactory.add( 'menuBar:ckfinder', () => this._createFileMenuBarButton() );\n\n\t\tif ( editor.plugins.has( 'ImageInsertUI' ) ) {\n\t\t\teditor.plugins.get( 'ImageInsertUI' ).registerIntegration( {\n\t\t\t\tname: 'assetManager',\n\t\t\t\tobservable: () => editor.commands.get( 'ckfinder' )!,\n\t\t\t\tbuttonViewCreator: () => this._createImageToolbarButton(),\n\t\t\t\tformViewCreator: () => this._createImageDropdownButton(),\n\t\t\t\tmenuBarButtonViewCreator: isOnly => this._createImageMenuBarButton( isOnly ? 'insertOnly' : 'insertNested' )\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Creates the base for various kinds of the button component provided by this feature.\n\t */\n\tprivate _createButton<T extends typeof ButtonView | typeof MenuBarMenuListItemButtonView>( ButtonClass: T ): InstanceType<T> {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst view = new ButtonClass( locale ) as InstanceType<T>;\n\t\tconst command: CKFinderCommand = editor.commands.get( 'ckfinder' )!;\n\n\t\tview.bind( 'isEnabled' ).to( command );\n\n\t\tview.on( 'execute', () => {\n\t\t\teditor.execute( 'ckfinder' );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n\n\t/**\n\t * Creates a simple toolbar button for files management, with an icon and a tooltip.\n\t */\n\tprivate _createFileToolbarButton(): ButtonView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst button = this._createButton( ButtonView );\n\n\t\tbutton.icon = IconBrowseFiles;\n\t\tbutton.label = t( 'Insert image or file' );\n\t\tbutton.tooltip = true;\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Creates a simple toolbar button for images management, with an icon and a tooltip.\n\t */\n\tprivate _createImageToolbarButton(): ButtonView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst imageInsertUI: ImageInsertUI = this.editor.plugins.get( 'ImageInsertUI' );\n\n\t\tconst button = this._createButton( ButtonView );\n\n\t\tbutton.icon = IconImageAssetManager;\n\t\tbutton.bind( 'label' ).to(\n\t\t\timageInsertUI,\n\t\t\t'isImageSelected',\n\t\t\tisImageSelected => isImageSelected ? t( 'Replace image with file manager' ) : t( 'Insert image with file manager' )\n\t\t);\n\t\tbutton.tooltip = true;\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Creates a button for images management for the dropdown view, with an icon, text and no tooltip.\n\t */\n\tprivate _createImageDropdownButton(): ButtonView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst imageInsertUI: ImageInsertUI = this.editor.plugins.get( 'ImageInsertUI' );\n\n\t\tconst button = this._createButton( ButtonView );\n\n\t\tbutton.icon = IconImageAssetManager;\n\t\tbutton.withText = true;\n\t\tbutton.bind( 'label' ).to(\n\t\t\timageInsertUI,\n\t\t\t'isImageSelected',\n\t\t\tisImageSelected => isImageSelected ? t( 'Replace with file manager' ) : t( 'Insert with file manager' )\n\t\t);\n\n\t\tbutton.on( 'execute', () => {\n\t\t\timageInsertUI.dropdownView!.isOpen = false;\n\t\t} );\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Creates a button for files management for the menu bar.\n\t */\n\tprivate _createFileMenuBarButton(): MenuBarMenuListItemButtonView {\n\t\tconst t = this.editor.locale.t;\n\t\tconst button = this._createButton( MenuBarMenuListItemButtonView );\n\n\t\tbutton.icon = IconBrowseFiles;\n\t\tbutton.withText = true;\n\t\tbutton.label = t( 'File' );\n\n\t\treturn button;\n\t}\n\n\t/**\n\t * Creates a button for images management for the menu bar.\n\t */\n\tprivate _createImageMenuBarButton( type: 'insertOnly' | 'insertNested' ): MenuBarMenuListItemButtonView {\n\t\t// Use t() stored in a variable with a different name to reuse existing translations from another package.\n\t\tconst translateVariableKey = this.editor.locale.t;\n\t\tconst t = this.editor.locale.t;\n\t\tconst button = this._createButton( MenuBarMenuListItemButtonView );\n\n\t\tbutton.icon = IconImageAssetManager;\n\t\tbutton.withText = true;\n\n\t\tswitch ( type ) {\n\t\t\tcase 'insertOnly':\n\t\t\t\tbutton.label = translateVariableKey( 'Image' );\n\t\t\t\tbreak;\n\t\t\tcase 'insertNested':\n\t\t\t\tbutton.label = t( 'With file manager' );\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn button;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module ckfinder/ckfindercommand\n */\n\nimport { Command, type Editor } from 'ckeditor5/src/core.js';\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\nimport type { Notification } from 'ckeditor5/src/ui.js';\n\n/**\n * The CKFinder command. It is used by the {@link module:ckfinder/ckfinderediting~CKFinderEditing CKFinder editing feature}\n * to open the CKFinder file manager to insert an image or a link to a file into the editor content.\n *\n * ```ts\n * editor.execute( 'ckfinder' );\n * ```\n *\n * **Note:** This command uses other features to perform tasks:\n * - To insert images the {@link module:image/image/insertimagecommand~InsertImageCommand 'insertImage'} command\n * from the {@link module:image/image~Image Image feature}.\n * - To insert links to files the {@link module:link/linkcommand~LinkCommand 'link'} command\n * from the {@link module:link/link~Link Link feature}.\n */\nexport default class CKFinderCommand extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// The CKFinder command does not affect data by itself.\n\t\tthis.affectsData = false;\n\n\t\t// Remove default document listener to lower its priority.\n\t\tthis.stopListening( this.editor.model.document, 'change' );\n\n\t\t// Lower this command listener priority to be sure that refresh() will be called after link & image refresh.\n\t\tthis.listenTo( this.editor.model.document, 'change', () => this.refresh(), { priority: 'low' } );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override refresh(): void {\n\t\tconst imageCommand = this.editor.commands.get( 'insertImage' )!;\n\t\tconst linkCommand = this.editor.commands.get( 'link' )!;\n\n\t\t// The CKFinder command is enabled when one of image or link command is enabled.\n\t\tthis.isEnabled = imageCommand.isEnabled || linkCommand.isEnabled;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override execute(): void {\n\t\tconst editor = this.editor;\n\n\t\tconst openerMethod = this.editor.config.get( 'ckfinder.openerMethod' ) || 'modal';\n\n\t\tif ( openerMethod != 'popup' && openerMethod != 'modal' ) {\n\t\t\t/**\n\t\t\t * The `ckfinder.openerMethod` must be one of: \"popup\" or \"modal\".\n\t\t\t *\n\t\t\t * @error ckfinder-unknown-openermethod\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'ckfinder-unknown-openermethod', editor );\n\t\t}\n\n\t\tconst options = this.editor.config.get( 'ckfinder.options' ) || {};\n\n\t\toptions.chooseFiles = true;\n\n\t\t// Cache the user-defined onInit method\n\t\tconst originalOnInit = options.onInit;\n\n\t\t// Pass the lang code to the CKFinder if not defined by user.\n\t\tif ( !options.language ) {\n\t\t\toptions.language = editor.locale.uiLanguage;\n\t\t}\n\n\t\t// The onInit method allows to extend CKFinder's behavior. It is used to attach event listeners to file choosing related events.\n\t\toptions.onInit = finder => {\n\t\t\t// Call original options.onInit if it was defined by user.\n\t\t\tif ( originalOnInit ) {\n\t\t\t\toriginalOnInit( finder );\n\t\t\t}\n\n\t\t\tfinder.on( 'files:choose', ( evt: any ) => {\n\t\t\t\tconst files = evt.data.files.toArray();\n\n\t\t\t\t// Insert links\n\t\t\t\tconst links = files.filter( ( file: any ) => !file.isImage() );\n\t\t\t\tconst images = files.filter( ( file: any ) => file.isImage() );\n\n\t\t\t\tfor ( const linkFile of links ) {\n\t\t\t\t\teditor.execute( 'link', linkFile.getUrl() );\n\t\t\t\t}\n\n\t\t\t\tconst imagesUrls = [];\n\n\t\t\t\tfor ( const image of images ) {\n\t\t\t\t\tconst url = image.getUrl();\n\n\t\t\t\t\timagesUrls.push( url ? url : finder.request( 'file:getProxyUrl', { file: image } ) );\n\t\t\t\t}\n\n\t\t\t\tif ( imagesUrls.length ) {\n\t\t\t\t\tinsertImages( editor, imagesUrls );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tfinder.on( 'file:choose:resizedImage', ( evt: any ) => {\n\t\t\t\tconst resizedUrl = evt.data.resizedUrl;\n\n\t\t\t\tif ( !resizedUrl ) {\n\t\t\t\t\tconst notification: Notification = editor.plugins.get( 'Notification' );\n\t\t\t\t\tconst t = editor.locale.t;\n\n\t\t\t\t\tnotification.showWarning( t( 'Could not obtain resized image URL.' ), {\n\t\t\t\t\t\ttitle: t( 'Selecting resized image failed' ),\n\t\t\t\t\t\tnamespace: 'ckfinder'\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tinsertImages( editor, [ resizedUrl ] );\n\t\t\t} );\n\t\t};\n\n\t\t( window as any ).CKFinder[ openerMethod ]( options );\n\t}\n}\n\nfunction insertImages( editor: Editor, urls: Array<string> ): void {\n\tconst imageCommand = editor.commands.get( 'insertImage' )!;\n\n\t// Check if inserting an image is actually possible - it might be possible to only insert a link.\n\tif ( !imageCommand.isEnabled ) {\n\t\tconst notification: Notification = editor.plugins.get( 'Notification' );\n\t\tconst t = editor.locale.t;\n\n\t\tnotification.showWarning( t( 'Could not insert image at the current position.' ), {\n\t\t\ttitle: t( 'Inserting image failed' ),\n\t\t\tnamespace: 'ckfinder'\n\t\t} );\n\n\t\treturn;\n\t}\n\n\teditor.execute( 'insertImage', { source: urls } );\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module ckfinder/ckfinderediting\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\nimport { Notification } from 'ckeditor5/src/ui.js';\nimport { CKEditorError } from 'ckeditor5/src/utils.js';\n\nimport CKFinderCommand from './ckfindercommand.js';\n\n/**\n * The CKFinder editing feature. It introduces the {@link module:ckfinder/ckfindercommand~CKFinderCommand CKFinder command}.\n */\nexport default class CKFinderEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'CKFinderEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ Notification, 'LinkEditing' ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\tif ( !editor.plugins.has( 'ImageBlockEditing' ) && !editor.plugins.has( 'ImageInlineEditing' ) ) {\n\t\t\t/**\n\t\t\t * CKFinder requires at least one plugin providing support for images loaded in the editor. Please\n\t\t\t * make sure either:\n\t\t\t *\n\t\t\t * * {@link module:image/image~Image} (which loads both types of images),\n\t\t\t * * or {@link module:image/imageblock~ImageBlock},\n\t\t\t * * or {@link module:image/imageinline~ImageInline}.\n\t\t\t *\n\t\t\t * is loaded in your editor configuration.\n\t\t\t *\n\t\t\t * @error ckfinder-missing-image-plugin\n\t\t\t */\n\t\t\tthrow new CKEditorError( 'ckfinder-missing-image-plugin', editor );\n\t\t}\n\n\t\teditor.commands.add( 'ckfinder', new CKFinderCommand( editor ) );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options\n */\n\n/**\n * @module ckfinder/ckfinder\n */\n\nimport { Plugin } from 'ckeditor5/src/core.js';\n\nimport CKFinderUI from './ckfinderui.js';\nimport CKFinderEditing from './ckfinderediting.js';\n\n/**\n * The CKFinder feature, a bridge between the CKEditor 5 WYSIWYG editor and the\n * [CKFinder](https://ckeditor.com/ckfinder) file manager and uploader.\n *\n * This is a \"glue\" plugin which enables:\n *\n * * {@link module:ckfinder/ckfinderediting~CKFinderEditing},\n * * {@link module:ckfinder/ckfinderui~CKFinderUI},\n * * {@link module:adapter-ckfinder/uploadadapter~CKFinderUploadAdapter}.\n *\n * See the {@glink features/file-management/ckfinder \"CKFinder integration\" guide} to learn how to configure\n * and use this feature.\n *\n * Check out the {@glink features/images/image-upload/image-upload comprehensive \"Image upload\" guide} to learn about\n * other ways to upload images into CKEditor 5.\n */\nexport default class CKFinder extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'CKFinder' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ 'Link', 'CKFinderUploadAdapter', CKFinderEditing, CKFinderUI ] as const;\n\t}\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-ckfinder",
3
- "version": "45.2.1-alpha.4",
3
+ "version": "45.2.1-alpha.6",
4
4
  "description": "CKFinder integration for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -13,12 +13,12 @@
13
13
  "type": "module",
14
14
  "main": "src/index.js",
15
15
  "dependencies": {
16
- "@ckeditor/ckeditor5-core": "45.2.1-alpha.4",
17
- "@ckeditor/ckeditor5-icons": "45.2.1-alpha.4",
18
- "@ckeditor/ckeditor5-image": "45.2.1-alpha.4",
19
- "@ckeditor/ckeditor5-ui": "45.2.1-alpha.4",
20
- "@ckeditor/ckeditor5-utils": "45.2.1-alpha.4",
21
- "ckeditor5": "45.2.1-alpha.4"
16
+ "@ckeditor/ckeditor5-core": "45.2.1-alpha.6",
17
+ "@ckeditor/ckeditor5-icons": "45.2.1-alpha.6",
18
+ "@ckeditor/ckeditor5-image": "45.2.1-alpha.6",
19
+ "@ckeditor/ckeditor5-ui": "45.2.1-alpha.6",
20
+ "@ckeditor/ckeditor5-utils": "45.2.1-alpha.6",
21
+ "ckeditor5": "45.2.1-alpha.6"
22
22
  },
23
23
  "author": "CKSource (http://cksource.com/)",
24
24
  "license": "SEE LICENSE IN LICENSE.md",