@ckeditor/ckeditor5-editor-inline 43.3.1 → 44.0.0-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -3,7 +3,7 @@ CKEditor 5 inline editor implementation
3
3
 
4
4
  [![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-editor-inline.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-inline)
5
5
  [![Coverage Status](https://coveralls.io/repos/github/ckeditor/ckeditor5/badge.svg?branch=master)](https://coveralls.io/github/ckeditor/ckeditor5?branch=master)
6
- [![Build Status](https://travis-ci.com/ckeditor/ckeditor5.svg?branch=master)](https://app.travis-ci.com/github/ckeditor/ckeditor5)
6
+ [![CircleCI](https://circleci.com/gh/ckeditor/ckeditor5.svg?style=shield)](https://app.circleci.com/pipelines/github/ckeditor/ckeditor5?branch=master)
7
7
 
8
8
  The inline editor implementation for CKEditor 5.
9
9
 
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md.
4
- */(()=>{var t={693:(t,e,o)=>{"use strict";o.d(e,{A:()=>a});var n=o(758),r=o.n(n),i=o(935),s=o.n(i)()(r());s.push([t.id,".ck.ck-menu-bar{border:none;border-bottom:1px solid var(--ck-color-toolbar-border)}",""]);const a=s},935:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var o="",n=void 0!==e[5];return e[4]&&(o+="@supports (".concat(e[4],") {")),e[2]&&(o+="@media ".concat(e[2]," {")),n&&(o+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),o+=t(e),n&&(o+="}"),e[2]&&(o+="}"),e[4]&&(o+="}"),o})).join("")},e.i=function(t,o,n,r,i){"string"==typeof t&&(t=[[null,t,void 0]]);var s={};if(n)for(var a=0;a<this.length;a++){var l=this[a][0];null!=l&&(s[l]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);n&&s[u[0]]||(void 0!==i&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),o&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=o):u[2]=o),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),e.push(u))}},e}},758:t=>{"use strict";t.exports=function(t){return t[1]}},591:t=>{"use strict";var e=[];function o(t){for(var o=-1,n=0;n<e.length;n++)if(e[n].identifier===t){o=n;break}return o}function n(t,n){for(var i={},s=[],a=0;a<t.length;a++){var l=t[a],c=n.base?l[0]+n.base:l[0],u=i[c]||0,d="".concat(c," ").concat(u);i[c]=u+1;var h=o(d),p={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==h)e[h].references++,e[h].updater(p);else{var f=r(p,n);n.byIndex=a,e.splice(a,0,{identifier:d,updater:f,references:1})}s.push(d)}return s}function r(t,e){var o=e.domAPI(e);o.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;o.update(t=e)}else o.remove()}}t.exports=function(t,r){var i=n(t=t||[],r=r||{});return function(t){t=t||[];for(var s=0;s<i.length;s++){var a=o(i[s]);e[a].references--}for(var l=n(t,r),c=0;c<i.length;c++){var u=o(i[c]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}i=l}}},128:t=>{"use strict";var e={};t.exports=function(t,o){var n=function(t){if(void 0===e[t]){var o=document.querySelector(t);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(t){o=null}e[t]=o}return e[t]}(t);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(o)}},51:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},21:t=>{"use strict";t.exports=function(t,e){Object.keys(e).forEach((function(o){t.setAttribute(o,e[o])}))}},639:t=>{"use strict";var e,o=(e=[],function(t,o){return e[t]=o,e.filter(Boolean).join("\n")});function n(t,e,n,r){var i;if(n)i="";else{i="",r.supports&&(i+="@supports (".concat(r.supports,") {")),r.media&&(i+="@media ".concat(r.media," {"));var s=void 0!==r.layer;s&&(i+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),i+=r.css,s&&(i+="}"),r.media&&(i+="}"),r.supports&&(i+="}")}if(t.styleSheet)t.styleSheet.cssText=o(e,i);else{var a=document.createTextNode(i),l=t.childNodes;l[e]&&t.removeChild(l[e]),l.length?t.insertBefore(a,l[e]):t.appendChild(a)}}var r={singleton:null,singletonCounter:0};t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=r.singletonCounter++,o=r.singleton||(r.singleton=t.insertStyleElement(t));return{update:function(t){n(o,e,!1,t)},remove:function(t){n(o,e,!0,t)}}}},782:(t,e,o)=>{t.exports=o(237)("./src/core.js")},783:(t,e,o)=>{t.exports=o(237)("./src/engine.js")},311:(t,e,o)=>{t.exports=o(237)("./src/ui.js")},584:(t,e,o)=>{t.exports=o(237)("./src/utils.js")},237:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(n){var r=e[n];if(void 0!==r)return r.exports;var i=e[n]={id:n,exports:{}};return t[n](i,i.exports,o),i.exports}o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";o.r(n),o.d(n,{InlineEditor:()=>G});var t=o(782),e=o(584),r=o(311),i=o(783);class s extends r.EditorUI{constructor(t,e){super(t),this.view=e,this._toolbarConfig=(0,r.normalizeToolbarConfig)(t.config.get("toolbar"))}get element(){return this.view.editable.element}init(){const t=this.editor,e=this.view,o=t.editing.view,n=e.editable,r=o.document.getRoot();n.name=r.rootName,e.render();const i=n.element;this.setEditableElement(n.name,i),n.bind("isFocused").to(this.focusTracker),o.attachDomRoot(i),this._initPlaceholder(),this._initToolbar(),e.menuBarView&&this._initMenuBar(e.menuBarView),this.fire("ready")}destroy(){super.destroy();const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy()}_initToolbar(){const t=this.editor,e=this.view,o=e.editable.element,n=e.toolbar;e.panel.bind("isVisible").to(this.focusTracker,"isFocused"),e.bind("viewportTopOffset").to(this,"viewportOffset",(({top:t})=>t||0)),e.listenTo(t.ui,"update",(()=>{e.panel.isVisible&&e.panel.pin({target:o,positions:e.panelPositions})})),n.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(n)}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),n=t.config.get("placeholder");if(n){const t="string"==typeof n?n:n[o.rootName];t&&(o.placeholder=t)}(0,i.enablePlaceholder)({view:e,element:o,isDirectHost:!1,keepOnFocus:!0})}}var a=o(591),l=o.n(a),c=o(639),u=o.n(c),d=o(128),h=o.n(d),p=o(21),f=o.n(p),b=o(51),v=o.n(b),g=o(693),m={attributes:{"data-cke":!0}};m.setAttributes=f(),m.insert=h().bind(null,"head"),m.domAPI=u(),m.insertStyleElement=v();l()(g.A,m);g.A&&g.A.locals&&g.A.locals;const w=(0,e.toUnit)("px");class y extends r.EditorUIView{constructor(t,e,o,n={}){super(t),this.toolbar=new r.ToolbarView(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull,isFloating:!0}),n.useMenuBar&&(this.menuBarView=new r.MenuBarView(t)),this.set("viewportTopOffset",0),this.panel=new r.BalloonPanelView(t),this.panelPositions=this._getPanelPositions(),this.panel.extendTemplate({attributes:{class:"ck-toolbar-container"}}),this.editable=new r.InlineEditableUIView(t,e,o,{label:n.label}),this._resizeObserver=null}render(){super.render(),this.body.add(this.panel),this.registerChild(this.editable),this.menuBarView?this.panel.content.addMany([this.menuBarView,this.toolbar]):this.panel.content.add(this.toolbar);if(this.toolbar.options.shouldGroupWhenFull){const t=this.editable.element;this._resizeObserver=new e.ResizeObserver(t,(()=>{this.toolbar.maxWidth=w(new e.Rect(t).width)}))}}destroy(){super.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_getPanelPositionTop(t,e){let o;return o=t.top>e.height+this.viewportTopOffset?t.top-e.height:t.bottom>e.height+this.viewportTopOffset+50?this.viewportTopOffset:t.bottom,o}_getPanelPositions(){const t=[(t,e)=>({top:this._getPanelPositionTop(t,e),left:t.left,name:"toolbar_west",config:{withArrow:!1}}),(t,e)=>({top:this._getPanelPositionTop(t,e),left:t.left+t.width-e.width,name:"toolbar_east",config:{withArrow:!1}})];return"ltr"===this.locale.uiLanguageDirection?t:t.reverse()}}const O=function(t){return null!=t&&"object"==typeof t};const T="object"==typeof global&&global&&global.Object===Object&&global;var E="object"==typeof self&&self&&self.Object===Object&&self;const j=(T||E||Function("return this")()).Symbol;var x=Object.prototype,P=x.hasOwnProperty,_=x.toString,S=j?j.toStringTag:void 0;const F=function(t){var e=P.call(t,S),o=t[S];try{t[S]=void 0;var n=!0}catch(t){}var r=_.call(t);return n&&(e?t[S]=o:delete t[S]),r};var C=Object.prototype.toString;const A=function(t){return C.call(t)};var B=j?j.toStringTag:void 0;const M=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":B&&B in Object(t)?F(t):A(t)};const V=function(t,e){return function(o){return t(e(o))}}(Object.getPrototypeOf,Object);var D=Function.prototype,I=Object.prototype,k=D.toString,R=I.hasOwnProperty,N=k.call(Object);const z=function(t){if(!O(t)||"[object Object]"!=M(t))return!1;var e=V(t);if(null===e)return!0;var o=R.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&k.call(o)==N};const W=function(t){return O(t)&&1===t.nodeType&&!z(t)};class G extends((0,t.ElementApiMixin)(t.Editor)){constructor(o,n={}){if(!K(o)&&void 0!==n.initialData)throw new e.CKEditorError("editor-create-initial-data",null);super(n),this.config.define("menuBar.isVisible",!1),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return K(t)?(0,e.getDataFromElement)(t):t}(o)),this.model.document.createRoot(),K(o)&&(this.sourceElement=o,(0,t.secureSourceElement)(this,o));const r=!this.config.get("toolbar.shouldNotGroupWhenFull"),i=this.config.get("menuBar"),a=new y(this.locale,this.editing.view,this.sourceElement,{shouldToolbarGroupWhenFull:r,useMenuBar:i.isVisible,label:this.config.get("label")});this.ui=new s(this,a),(0,t.attachToForm)(this)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(t)}))}static create(t,o={}){return new Promise((n=>{if(K(t)&&"TEXTAREA"===t.tagName)throw new e.CKEditorError("editor-wrong-element",null);const r=new this(t,o);n(r.initPlugins().then((()=>r.ui.init())).then((()=>r.data.init(r.config.get("initialData")))).then((()=>r.fire("ready"))).then((()=>r)))}))}}function K(t){return W(t)}})(),(window.CKEditor5=window.CKEditor5||{}).editorInline=n})();
4
+ */(()=>{var t={693:(t,e,o)=>{"use strict";o.d(e,{A:()=>a});var r=o(758),n=o.n(r),i=o(935),s=o.n(i)()(n());s.push([t.id,".ck.ck-menu-bar{border:none;border-bottom:1px solid var(--ck-color-toolbar-border)}",""]);const a=s},935:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var o="",r=void 0!==e[5];return e[4]&&(o+="@supports (".concat(e[4],") {")),e[2]&&(o+="@media ".concat(e[2]," {")),r&&(o+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),o+=t(e),r&&(o+="}"),e[2]&&(o+="}"),e[4]&&(o+="}"),o})).join("")},e.i=function(t,o,r,n,i){"string"==typeof t&&(t=[[null,t,void 0]]);var s={};if(r)for(var a=0;a<this.length;a++){var l=this[a][0];null!=l&&(s[l]=!0)}for(var c=0;c<t.length;c++){var u=[].concat(t[c]);r&&s[u[0]]||(void 0!==i&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=i),o&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=o):u[2]=o),n&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=n):u[4]="".concat(n)),e.push(u))}},e}},758:t=>{"use strict";t.exports=function(t){return t[1]}},591:t=>{"use strict";var e=[];function o(t){for(var o=-1,r=0;r<e.length;r++)if(e[r].identifier===t){o=r;break}return o}function r(t,r){for(var i={},s=[],a=0;a<t.length;a++){var l=t[a],c=r.base?l[0]+r.base:l[0],u=i[c]||0,d="".concat(c," ").concat(u);i[c]=u+1;var h=o(d),p={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==h)e[h].references++,e[h].updater(p);else{var f=n(p,r);r.byIndex=a,e.splice(a,0,{identifier:d,updater:f,references:1})}s.push(d)}return s}function n(t,e){var o=e.domAPI(e);o.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;o.update(t=e)}else o.remove()}}t.exports=function(t,n){var i=r(t=t||[],n=n||{});return function(t){t=t||[];for(var s=0;s<i.length;s++){var a=o(i[s]);e[a].references--}for(var l=r(t,n),c=0;c<i.length;c++){var u=o(i[c]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}i=l}}},128:t=>{"use strict";var e={};t.exports=function(t,o){var r=function(t){if(void 0===e[t]){var o=document.querySelector(t);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(t){o=null}e[t]=o}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(o)}},51:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},21:t=>{"use strict";t.exports=function(t,e){Object.keys(e).forEach((function(o){t.setAttribute(o,e[o])}))}},639:t=>{"use strict";var e,o=(e=[],function(t,o){return e[t]=o,e.filter(Boolean).join("\n")});function r(t,e,r,n){var i;if(r)i="";else{i="",n.supports&&(i+="@supports (".concat(n.supports,") {")),n.media&&(i+="@media ".concat(n.media," {"));var s=void 0!==n.layer;s&&(i+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),i+=n.css,s&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}")}if(t.styleSheet)t.styleSheet.cssText=o(e,i);else{var a=document.createTextNode(i),l=t.childNodes;l[e]&&t.removeChild(l[e]),l.length?t.insertBefore(a,l[e]):t.appendChild(a)}}var n={singleton:null,singletonCounter:0};t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=n.singletonCounter++,o=n.singleton||(n.singleton=t.insertStyleElement(t));return{update:function(t){r(o,e,!1,t)},remove:function(t){r(o,e,!0,t)}}}},782:(t,e,o)=>{t.exports=o(237)("./src/core.js")},783:(t,e,o)=>{t.exports=o(237)("./src/engine.js")},311:(t,e,o)=>{t.exports=o(237)("./src/ui.js")},584:(t,e,o)=>{t.exports=o(237)("./src/utils.js")},237:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(r){var n=e[r];if(void 0!==n)return n.exports;var i=e[r]={id:r,exports:{}};return t[r](i,i.exports,o),i.exports}o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";o.r(r),o.d(r,{InlineEditor:()=>G});var t=o(782),e=o(584),n=o(311),i=o(783);class s extends n.EditorUI{constructor(t,e){super(t),this.view=e,this._toolbarConfig=(0,n.normalizeToolbarConfig)(t.config.get("toolbar"))}get element(){return this.view.editable.element}init(){const t=this.editor,e=this.view,o=t.editing.view,r=e.editable,n=o.document.getRoot();r.name=n.rootName,e.render();const i=r.element;this.setEditableElement(r.name,i),r.bind("isFocused").to(this.focusTracker),o.attachDomRoot(i),this._initPlaceholder(),this._initToolbar(),e.menuBarView&&this._initMenuBar(e.menuBarView),this.fire("ready")}destroy(){super.destroy();const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy()}_initToolbar(){const t=this.editor,e=this.view,o=e.editable.element,r=e.toolbar;e.panel.bind("isVisible").to(this.focusTracker,"isFocused"),e.bind("viewportTopOffset").to(this,"viewportOffset",(({top:t})=>t||0)),e.listenTo(t.ui,"update",(()=>{e.panel.isVisible&&e.panel.pin({target:o,positions:e.panelPositions})})),r.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(r)}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),r=t.config.get("placeholder");if(r){const t="string"==typeof r?r:r[o.rootName];t&&(o.placeholder=t)}(0,i.enablePlaceholder)({view:e,element:o,isDirectHost:!1,keepOnFocus:!0})}}var a=o(591),l=o.n(a),c=o(639),u=o.n(c),d=o(128),h=o.n(d),p=o(21),f=o.n(p),b=o(51),v=o.n(b),g=o(693),m={attributes:{"data-cke":!0}};m.setAttributes=f(),m.insert=h().bind(null,"head"),m.domAPI=u(),m.insertStyleElement=v();l()(g.A,m);g.A&&g.A.locals&&g.A.locals;const w=(0,e.toUnit)("px");class y extends n.EditorUIView{constructor(t,e,o,r={}){super(t),this.toolbar=new n.ToolbarView(t,{shouldGroupWhenFull:r.shouldToolbarGroupWhenFull,isFloating:!0}),r.useMenuBar&&(this.menuBarView=new n.MenuBarView(t)),this.set("viewportTopOffset",0),this.panel=new n.BalloonPanelView(t),this.panelPositions=this._getPanelPositions(),this.panel.extendTemplate({attributes:{class:"ck-toolbar-container"}}),this.editable=new n.InlineEditableUIView(t,e,o,{label:r.label}),this._resizeObserver=null}render(){super.render(),this.body.add(this.panel),this.registerChild(this.editable),this.menuBarView?this.panel.content.addMany([this.menuBarView,this.toolbar]):this.panel.content.add(this.toolbar);if(this.toolbar.options.shouldGroupWhenFull){const t=this.editable.element;this._resizeObserver=new e.ResizeObserver(t,(()=>{this.toolbar.maxWidth=w(new e.Rect(t).width)}))}}destroy(){super.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_getPanelPositionTop(t,e){let o;return o=t.top>e.height+this.viewportTopOffset?t.top-e.height:t.bottom>e.height+this.viewportTopOffset+50?this.viewportTopOffset:t.bottom,o}_getPanelPositions(){const t=[(t,e)=>({top:this._getPanelPositionTop(t,e),left:t.left,name:"toolbar_west",config:{withArrow:!1}}),(t,e)=>({top:this._getPanelPositionTop(t,e),left:t.left+t.width-e.width,name:"toolbar_east",config:{withArrow:!1}})];return"ltr"===this.locale.uiLanguageDirection?t:t.reverse()}}const O=function(t){return null!=t&&"object"==typeof t};const T="object"==typeof global&&global&&global.Object===Object&&global;var E="object"==typeof self&&self&&self.Object===Object&&self;const j=(T||E||Function("return this")()).Symbol;var x=Object.prototype,P=x.hasOwnProperty,_=x.toString,S=j?j.toStringTag:void 0;const F=function(t){var e=P.call(t,S),o=t[S];try{t[S]=void 0;var r=!0}catch(t){}var n=_.call(t);return r&&(e?t[S]=o:delete t[S]),n};var C=Object.prototype.toString;const A=function(t){return C.call(t)};var B=j?j.toStringTag:void 0;const M=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":B&&B in Object(t)?F(t):A(t)};const V=function(t,e){return function(o){return t(e(o))}}(Object.getPrototypeOf,Object);var I=Function.prototype,D=Object.prototype,k=I.toString,N=D.hasOwnProperty,R=k.call(Object);const z=function(t){if(!O(t)||"[object Object]"!=M(t))return!1;var e=V(t);if(null===e)return!0;var o=N.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&k.call(o)==R};const W=function(t){return O(t)&&1===t.nodeType&&!z(t)};class G extends((0,t.ElementApiMixin)(t.Editor)){static get editorName(){return"InlineEditor"}constructor(o,r={}){if(!K(o)&&void 0!==r.initialData)throw new e.CKEditorError("editor-create-initial-data",null);super(r),this.config.define("menuBar.isVisible",!1),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return K(t)?(0,e.getDataFromElement)(t):t}(o)),this.model.document.createRoot(),K(o)&&(this.sourceElement=o,(0,t.secureSourceElement)(this,o));const n=!this.config.get("toolbar.shouldNotGroupWhenFull"),i=this.config.get("menuBar"),a=new y(this.locale,this.editing.view,this.sourceElement,{shouldToolbarGroupWhenFull:n,useMenuBar:i.isVisible,label:this.config.get("label")});this.ui=new s(this,a),(0,t.attachToForm)(this)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(t)}))}static create(t,o={}){return new Promise((r=>{if(K(t)&&"TEXTAREA"===t.tagName)throw new e.CKEditorError("editor-wrong-element",null);const n=new this(t,o);r(n.initPlugins().then((()=>n.ui.init())).then((()=>n.data.init(n.config.get("initialData")))).then((()=>n.fire("ready"))).then((()=>n)))}))}}function K(t){return W(t)}})(),(window.CKEditor5=window.CKEditor5||{}).editorInline=r})();
package/dist/index.js CHANGED
@@ -319,6 +319,11 @@ const toPx = /* #__PURE__ */ toUnit('px');
319
319
  * In order to create a inline editor instance, use the static
320
320
  * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method.
321
321
  */ class InlineEditor extends /* #__PURE__ */ ElementApiMixin(Editor) {
322
+ /**
323
+ * @inheritDoc
324
+ */ static get editorName() {
325
+ return 'InlineEditor';
326
+ }
322
327
  /**
323
328
  * @inheritDoc
324
329
  */ ui;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.js","../src/inlineeditorui.ts","../src/inlineeditoruiview.ts","../src/inlineeditor.ts"],"names":["InlineEditorUI","EditorUI","constructor","editor","view","_toolbarConfig","normalizeToolbarConfig","config","get","element","editable","editingView","editing","editingRoot","document","getRoot","name","rootName","render","editableElement","setEditableElement","bind","to","focusTracker","attachDomRoot","_initPlaceholder","_initToolbar","menuBarView","_initMenuBar","fire","destroy","detachDomRoot","toolbar","panel","top","listenTo","ui","isVisible","pin","target","positions","panelPositions","fillFromConfig","componentFactory","addToolbar","placeholder","placeholderText","enablePlaceholder","isDirectHost","keepOnFocus","toPx","toUnit","InlineEditorUIView","EditorUIView","locale","options","ToolbarView","shouldGroupWhenFull","shouldToolbarGroupWhenFull","isFloating","useMenuBar","MenuBarView","set","BalloonPanelView","_getPanelPositions","extendTemplate","attributes","class","InlineEditableUIView","label","_resizeObserver","body","add","registerChild","content","addMany","ResizeObserver","maxWidth","Rect","width","_getPanelPositionTop","editableRect","panelRect","height","viewportTopOffset","bottom","left","withArrow","uiLanguageDirection","reverse","InlineEditor","ElementApiMixin","Editor","sourceElementOrData","isElement","initialData","undefined","CKEditorError","define","getInitialData","model","createRoot","sourceElement","secureSourceElement","menuBarConfig","attachToForm","data","getData","then","updateSourceElement","create","Promise","resolve","tagName","initPlugins","init","getDataFromElement","value","_isElement"],"mappings":"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C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;AACV,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAC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","file":"index.js.map","sourcesContent":["import { ElementApiMixin, Editor, secureSourceElement, attachToForm } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { ResizeObserver, Rect, toUnit, CKEditorError, getDataFromElement } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { EditorUI, normalizeToolbarConfig, EditorUIView, ToolbarView, MenuBarView, BalloonPanelView, InlineEditableUIView } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { enablePlaceholder } from '@ckeditor/ckeditor5-engine/dist/index.js';\nimport { isElement as isElement$1 } from 'lodash-es';\n\n/**\n * The inline editor UI class.\n *\n * @extends module:ui/editorui/editorui~EditorUI\n */ class InlineEditorUI extends EditorUI {\n /**\n\t * The main (top–most) view of the editor UI.\n\t */ view;\n /**\n\t * A normalized `config.toolbar` object.\n\t */ _toolbarConfig;\n /**\n\t * Creates an instance of the inline editor UI class.\n\t *\n\t * @param editor The editor instance.\n\t * @param view The view of the UI.\n\t */ constructor(editor, view){\n super(editor);\n this.view = view;\n this._toolbarConfig = normalizeToolbarConfig(editor.config.get('toolbar'));\n }\n /**\n\t * @inheritDoc\n\t */ get element() {\n return this.view.editable.element;\n }\n /**\n\t * Initializes the UI.\n\t */ init() {\n const editor = this.editor;\n const view = this.view;\n const editingView = editor.editing.view;\n const editable = view.editable;\n const editingRoot = editingView.document.getRoot();\n // The editable UI and editing root should share the same name. Then name is used\n // to recognize the particular editable, for instance in ARIA attributes.\n editable.name = editingRoot.rootName;\n view.render();\n // The editable UI element in DOM is available for sure only after the editor UI view has been rendered.\n // But it can be available earlier if a DOM element has been passed to InlineEditor.create().\n const editableElement = editable.element;\n // Register the editable UI view in the editor. A single editor instance can aggregate multiple\n // editable areas (roots) but the inline editor has only one.\n this.setEditableElement(editable.name, editableElement);\n // Let the editable UI element respond to the changes in the global editor focus\n // tracker. It has been added to the same tracker a few lines above but, in reality, there are\n // many focusable areas in the editor, like balloons, toolbars or dropdowns and as long\n // as they have focus, the editable should act like it is focused too (although technically\n // it isn't), e.g. by setting the proper CSS class, visually announcing focus to the user.\n // Doing otherwise will result in editable focus styles disappearing, once e.g. the\n // toolbar gets focused.\n editable.bind('isFocused').to(this.focusTracker);\n // Bind the editable UI element to the editing view, making it an end– and entry–point\n // of the editor's engine. This is where the engine meets the UI.\n editingView.attachDomRoot(editableElement);\n this._initPlaceholder();\n this._initToolbar();\n if (view.menuBarView) {\n this._initMenuBar(view.menuBarView);\n }\n this.fire('ready');\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n super.destroy();\n const view = this.view;\n const editingView = this.editor.editing.view;\n editingView.detachDomRoot(view.editable.name);\n view.destroy();\n }\n /**\n\t * Initializes the inline editor toolbar and its panel.\n\t */ _initToolbar() {\n const editor = this.editor;\n const view = this.view;\n const editableElement = view.editable.element;\n const toolbar = view.toolbar;\n // Set–up the view#panel.\n view.panel.bind('isVisible').to(this.focusTracker, 'isFocused');\n view.bind('viewportTopOffset').to(this, 'viewportOffset', ({ top })=>top || 0);\n // https://github.com/ckeditor/ckeditor5-editor-inline/issues/4\n view.listenTo(editor.ui, 'update', ()=>{\n // Don't pin if the panel is not already visible. It prevents the panel\n // showing up when there's no focus in the UI.\n if (view.panel.isVisible) {\n view.panel.pin({\n target: editableElement,\n positions: view.panelPositions\n });\n }\n });\n toolbar.fillFromConfig(this._toolbarConfig, this.componentFactory);\n // Register the toolbar so it becomes available for Alt+F10 and Esc navigation.\n this.addToolbar(toolbar);\n }\n /**\n\t * Enable the placeholder text on the editing root.\n\t */ _initPlaceholder() {\n const editor = this.editor;\n const editingView = editor.editing.view;\n const editingRoot = editingView.document.getRoot();\n const placeholder = editor.config.get('placeholder');\n if (placeholder) {\n const placeholderText = typeof placeholder === 'string' ? placeholder : placeholder[editingRoot.rootName];\n if (placeholderText) {\n editingRoot.placeholder = placeholderText;\n }\n }\n enablePlaceholder({\n view: editingView,\n element: editingRoot,\n isDirectHost: false,\n keepOnFocus: true\n });\n }\n}\n\nconst toPx = /* #__PURE__ */ toUnit('px');\n/**\n * Inline editor UI view. Uses an nline editable and a floating toolbar.\n */ class InlineEditorUIView extends EditorUIView {\n /**\n\t * A floating toolbar view instance.\n\t */ toolbar;\n /**\n\t * A balloon panel view instance.\n\t */ panel;\n /**\n\t * A set of positioning functions used by the {@link #panel} to float around\n\t * {@link #element editableElement}.\n\t *\n\t * The positioning functions are as follows:\n\t *\n\t * * West:\n\t *\n\t * ```\n\t * [ Panel ]\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * |[ Panel ] |\n\t * | |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t * [ Panel ]\n\t * ```\n\t *\n\t * * East:\n\t *\n\t * ```\n\t * [ Panel ]\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * | [ Panel ]|\n\t * | |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t * [ Panel ]\n\t * ```\n\t *\n\t * See: {@link module:utils/dom/position~Options#positions}.\n\t */ panelPositions;\n /**\n\t * Editable UI view.\n\t */ editable;\n /**\n\t * An instance of the resize observer that helps dynamically determine the geometry of the toolbar\n\t * and manage items that do not fit into a single row.\n\t *\n\t * **Note:** Created in {@link #render}.\n\t */ _resizeObserver;\n /**\n\t * Creates an instance of the inline editor UI view.\n\t *\n\t * @param locale The {@link module:core/editor/editor~Editor#locale} instance.\n\t * @param editingView The editing view instance this view is related to.\n\t * @param editableElement The editable element. If not specified, it will be automatically created by\n\t * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.\n\t * @param options Configuration options for the view instance.\n\t * @param options.shouldToolbarGroupWhenFull When set `true` enables automatic items grouping\n\t * in the main {@link module:editor-inline/inlineeditoruiview~InlineEditorUIView#toolbar toolbar}.\n\t * See {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} to learn more.\n\t * @param options.label When set, this value will be used as an accessible `aria-label` of the\n\t * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.\n\t */ constructor(locale, editingView, editableElement, options = {}){\n super(locale);\n this.toolbar = new ToolbarView(locale, {\n shouldGroupWhenFull: options.shouldToolbarGroupWhenFull,\n isFloating: true\n });\n if (options.useMenuBar) {\n this.menuBarView = new MenuBarView(locale);\n }\n this.set('viewportTopOffset', 0);\n this.panel = new BalloonPanelView(locale);\n this.panelPositions = this._getPanelPositions();\n this.panel.extendTemplate({\n attributes: {\n class: 'ck-toolbar-container'\n }\n });\n this.editable = new InlineEditableUIView(locale, editingView, editableElement, {\n label: options.label\n });\n this._resizeObserver = null;\n }\n /**\n\t * @inheritDoc\n\t */ render() {\n super.render();\n this.body.add(this.panel);\n this.registerChild(this.editable);\n if (this.menuBarView) {\n // Set toolbar as a child of a stickyPanel and makes toolbar sticky.\n this.panel.content.addMany([\n this.menuBarView,\n this.toolbar\n ]);\n } else {\n this.panel.content.add(this.toolbar);\n }\n const options = this.toolbar.options;\n // Set toolbar's max-width on the initialization and update it on the editable resize,\n // if 'shouldToolbarGroupWhenFull' in config is set to 'true'.\n if (options.shouldGroupWhenFull) {\n const editableElement = this.editable.element;\n this._resizeObserver = new ResizeObserver(editableElement, ()=>{\n this.toolbar.maxWidth = toPx(new Rect(editableElement).width);\n });\n }\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n super.destroy();\n if (this._resizeObserver) {\n this._resizeObserver.destroy();\n }\n }\n /**\n\t * Determines the panel top position of the {@link #panel} in {@link #panelPositions}.\n\t *\n\t * @param editableRect Rect of the {@link #element}.\n\t * @param panelRect Rect of the {@link #panel}.\n\t */ _getPanelPositionTop(editableRect, panelRect) {\n let top;\n if (editableRect.top > panelRect.height + this.viewportTopOffset) {\n top = editableRect.top - panelRect.height;\n } else if (editableRect.bottom > panelRect.height + this.viewportTopOffset + 50) {\n top = this.viewportTopOffset;\n } else {\n top = editableRect.bottom;\n }\n return top;\n }\n /**\n\t * Returns the positions for {@link #panelPositions}.\n\t *\n\t * See: {@link module:utils/dom/position~Options#positions}.\n\t */ _getPanelPositions() {\n const positions = [\n (editableRect, panelRect)=>{\n return {\n top: this._getPanelPositionTop(editableRect, panelRect),\n left: editableRect.left,\n name: 'toolbar_west',\n config: {\n withArrow: false\n }\n };\n },\n (editableRect, panelRect)=>{\n return {\n top: this._getPanelPositionTop(editableRect, panelRect),\n left: editableRect.left + editableRect.width - panelRect.width,\n name: 'toolbar_east',\n config: {\n withArrow: false\n }\n };\n }\n ];\n if (this.locale.uiLanguageDirection === 'ltr') {\n return positions;\n } else {\n return positions.reverse();\n }\n }\n}\n\n/**\n * The inline editor implementation. It uses an inline editable and a floating toolbar.\n * See the {@glink examples/builds/inline-editor demo}.\n *\n * In order to create a inline editor instance, use the static\n * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method.\n */ class InlineEditor extends /* #__PURE__ */ ElementApiMixin(Editor) {\n /**\n\t * @inheritDoc\n\t */ ui;\n /**\n\t * Creates an instance of the inline editor.\n\t *\n\t * **Note:** Do not use the constructor to create editor instances. Use the static\n\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method instead.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * (on which the editor will be initialized) or initial data for the editor. For more information see\n\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`}.\n\t * @param config The editor configuration.\n\t */ constructor(sourceElementOrData, config = {}){\n // If both `config.initialData` and initial data parameter in `create()` are set, then throw.\n if (!isElement(sourceElementOrData) && config.initialData !== undefined) {\n // Documented in core/editor/editorconfig.jsdoc.\n // eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n throw new CKEditorError('editor-create-initial-data', null);\n }\n super(config);\n this.config.define('menuBar.isVisible', false);\n if (this.config.get('initialData') === undefined) {\n this.config.set('initialData', getInitialData(sourceElementOrData));\n }\n this.model.document.createRoot();\n if (isElement(sourceElementOrData)) {\n this.sourceElement = sourceElementOrData;\n secureSourceElement(this, sourceElementOrData);\n }\n const shouldToolbarGroupWhenFull = !this.config.get('toolbar.shouldNotGroupWhenFull');\n const menuBarConfig = this.config.get('menuBar');\n const view = new InlineEditorUIView(this.locale, this.editing.view, this.sourceElement, {\n shouldToolbarGroupWhenFull,\n useMenuBar: menuBarConfig.isVisible,\n label: this.config.get('label')\n });\n this.ui = new InlineEditorUI(this, view);\n attachToForm(this);\n }\n /**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * Updates the original editor element with the data if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}\n\t * configuration option is set to `true`.\n\t */ destroy() {\n // Cache the data, then destroy.\n // It's safe to assume that the model->view conversion will not work after super.destroy().\n const data = this.getData();\n this.ui.destroy();\n return super.destroy().then(()=>{\n if (this.sourceElement) {\n this.updateSourceElement(data);\n }\n });\n }\n /**\n\t * Creates a new inline editor instance.\n\t *\n\t * There are three general ways how the editor can be initialized.\n\t *\n\t * # Using an existing DOM element (and loading data from it)\n\t *\n\t * You can initialize the editor using an existing DOM element:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( document.querySelector( '#editor' ) )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * The element's content will be used as the editor data and the element will become the editable element.\n\t *\n\t * # Creating a detached editor\n\t *\n\t * Alternatively, you can initialize the editor by passing the initial data directly as a `String`.\n\t * In this case, the editor will render an element that must be inserted into the DOM for the editor to work properly:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( '<p>Hello world!</p>' )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t *\n\t * \t\t// Initial data was provided so the editor UI element needs to be added manually to the DOM.\n\t * \t\tdocument.body.appendChild( editor.ui.element );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This lets you dynamically append the editor to your web page whenever it is convenient for you. You may use this method if your\n\t * web page content is generated on the client side and the DOM structure is not ready at the moment when you initialize the editor.\n\t *\n\t * # Using an existing DOM element (and data provided in `config.initialData`)\n\t *\n\t * You can also mix these two ways by providing a DOM element to be used and passing the initial data through the configuration:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( document.querySelector( '#editor' ), {\n\t * \t\tinitialData: '<h2>Initial data</h2><p>Foo bar.</p>'\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This method can be used to initialize the editor on an existing element with the specified content in case if your integration\n\t * makes it difficult to set the content of the source element.\n\t *\n\t * Note that an error will be thrown if you pass the initial data both as the first parameter and also in the configuration.\n\t *\n\t * # Configuring the editor\n\t *\n\t * See the {@link module:core/editor/editorconfig~EditorConfig editor configuration documentation} to learn more about\n\t * customizing plugins, toolbar and more.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * or the editor's initial data.\n\t *\n\t * If a DOM element is passed, its content will be automatically loaded to the editor upon initialization.\n\t * The editor data will be set back to the original element once the editor is destroyed only if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy updateSourceElementOnDestroy}\n\t * option is set to `true`.\n\t *\n\t * If the initial data is passed, a detached editor will be created. In this case you need to insert it into the DOM manually.\n\t * It is available under the {@link module:editor-inline/inlineeditorui~InlineEditorUI#element `editor.ui.element`} property.\n\t *\n\t * @param config The editor configuration.\n\t * @returns A promise resolved once the editor is ready. The promise resolves with the created editor instance.\n\t */ static create(sourceElementOrData, config = {}) {\n return new Promise((resolve)=>{\n if (isElement(sourceElementOrData) && sourceElementOrData.tagName === 'TEXTAREA') {\n // Documented in core/editor/editor.js\n // eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n throw new CKEditorError('editor-wrong-element', null);\n }\n const editor = new this(sourceElementOrData, config);\n resolve(editor.initPlugins().then(()=>editor.ui.init()).then(()=>editor.data.init(editor.config.get('initialData'))).then(()=>editor.fire('ready')).then(()=>editor));\n });\n }\n}\nfunction getInitialData(sourceElementOrData) {\n return isElement(sourceElementOrData) ? getDataFromElement(sourceElementOrData) : sourceElementOrData;\n}\nfunction isElement(value) {\n return isElement$1(value);\n}\n\nexport { InlineEditor };\n//# sourceMappingURL=index.js.map\n","/**\n * @license 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/**\n * @module editor-inline/inlineeditorui\n */\n\nimport {\n\ttype Editor\n} from 'ckeditor5/src/core.js';\n\nimport {\n\tEditorUI,\n\tnormalizeToolbarConfig,\n\ttype EditorUIReadyEvent,\n\ttype EditorUIUpdateEvent\n} from 'ckeditor5/src/ui.js';\n\nimport { enablePlaceholder } from 'ckeditor5/src/engine.js';\n\nimport type InlineEditorUIView from './inlineeditoruiview.js';\n\n/**\n * The inline editor UI class.\n *\n * @extends module:ui/editorui/editorui~EditorUI\n */\nexport default class InlineEditorUI extends EditorUI {\n\t/**\n\t * The main (top–most) view of the editor UI.\n\t */\n\tpublic readonly view: InlineEditorUIView;\n\n\t/**\n\t * A normalized `config.toolbar` object.\n\t */\n\tprivate readonly _toolbarConfig: ReturnType<typeof normalizeToolbarConfig>;\n\n\t/**\n\t * Creates an instance of the inline editor UI class.\n\t *\n\t * @param editor The editor instance.\n\t * @param view The view of the UI.\n\t */\n\tconstructor( editor: Editor, view: InlineEditorUIView ) {\n\t\tsuper( editor );\n\n\t\tthis.view = view;\n\t\tthis._toolbarConfig = normalizeToolbarConfig( editor.config.get( 'toolbar' ) );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override get element(): HTMLElement | null {\n\t\treturn this.view.editable.element;\n\t}\n\n\t/**\n\t * Initializes the UI.\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst view = this.view;\n\t\tconst editingView = editor.editing.view;\n\t\tconst editable = view.editable;\n\t\tconst editingRoot = editingView.document.getRoot()!;\n\n\t\t// The editable UI and editing root should share the same name. Then name is used\n\t\t// to recognize the particular editable, for instance in ARIA attributes.\n\t\teditable.name = editingRoot.rootName;\n\n\t\tview.render();\n\n\t\t// The editable UI element in DOM is available for sure only after the editor UI view has been rendered.\n\t\t// But it can be available earlier if a DOM element has been passed to InlineEditor.create().\n\t\tconst editableElement = editable.element!;\n\n\t\t// Register the editable UI view in the editor. A single editor instance can aggregate multiple\n\t\t// editable areas (roots) but the inline editor has only one.\n\t\tthis.setEditableElement( editable.name, editableElement );\n\n\t\t// Let the editable UI element respond to the changes in the global editor focus\n\t\t// tracker. It has been added to the same tracker a few lines above but, in reality, there are\n\t\t// many focusable areas in the editor, like balloons, toolbars or dropdowns and as long\n\t\t// as they have focus, the editable should act like it is focused too (although technically\n\t\t// it isn't), e.g. by setting the proper CSS class, visually announcing focus to the user.\n\t\t// Doing otherwise will result in editable focus styles disappearing, once e.g. the\n\t\t// toolbar gets focused.\n\t\teditable.bind( 'isFocused' ).to( this.focusTracker );\n\n\t\t// Bind the editable UI element to the editing view, making it an end– and entry–point\n\t\t// of the editor's engine. This is where the engine meets the UI.\n\t\teditingView.attachDomRoot( editableElement );\n\n\t\tthis._initPlaceholder();\n\t\tthis._initToolbar();\n\n\t\tif ( view.menuBarView ) {\n\t\t\tthis._initMenuBar( view.menuBarView );\n\t\t}\n\n\t\tthis.fire<EditorUIReadyEvent>( 'ready' );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tconst view = this.view;\n\t\tconst editingView = this.editor.editing.view;\n\n\t\teditingView.detachDomRoot( view.editable.name! );\n\t\tview.destroy();\n\t}\n\n\t/**\n\t * Initializes the inline editor toolbar and its panel.\n\t */\n\tprivate _initToolbar(): void {\n\t\tconst editor = this.editor;\n\t\tconst view = this.view;\n\t\tconst editableElement = view.editable.element!;\n\t\tconst toolbar = view.toolbar;\n\n\t\t// Set–up the view#panel.\n\t\tview.panel.bind( 'isVisible' ).to( this.focusTracker, 'isFocused' );\n\n\t\tview.bind( 'viewportTopOffset' ).to( this, 'viewportOffset', ( { top } ) => top || 0 );\n\n\t\t// https://github.com/ckeditor/ckeditor5-editor-inline/issues/4\n\t\tview.listenTo<EditorUIUpdateEvent>( editor.ui, 'update', () => {\n\t\t\t// Don't pin if the panel is not already visible. It prevents the panel\n\t\t\t// showing up when there's no focus in the UI.\n\t\t\tif ( view.panel.isVisible ) {\n\t\t\t\tview.panel.pin( {\n\t\t\t\t\ttarget: editableElement,\n\t\t\t\t\tpositions: view.panelPositions\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\ttoolbar.fillFromConfig( this._toolbarConfig, this.componentFactory );\n\n\t\t// Register the toolbar so it becomes available for Alt+F10 and Esc navigation.\n\t\tthis.addToolbar( toolbar );\n\t}\n\n\t/**\n\t * Enable the placeholder text on the editing root.\n\t */\n\tprivate _initPlaceholder(): void {\n\t\tconst editor = this.editor;\n\t\tconst editingView = editor.editing.view;\n\t\tconst editingRoot = editingView.document.getRoot()!;\n\t\tconst placeholder = editor.config.get( 'placeholder' );\n\n\t\tif ( placeholder ) {\n\t\t\tconst placeholderText = typeof placeholder === 'string' ? placeholder : placeholder[ editingRoot.rootName ];\n\n\t\t\tif ( placeholderText ) {\n\t\t\t\teditingRoot.placeholder = placeholderText;\n\t\t\t}\n\t\t}\n\n\t\tenablePlaceholder( {\n\t\t\tview: editingView,\n\t\t\telement: editingRoot,\n\t\t\tisDirectHost: false,\n\t\t\tkeepOnFocus: true\n\t\t} );\n\t}\n}\n","/**\n * @license 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/**\n * @module editor-inline/inlineeditoruiview\n */\n\nimport {\n\tBalloonPanelView,\n\tEditorUIView,\n\tInlineEditableUIView,\n\tMenuBarView,\n\tToolbarView\n} from 'ckeditor5/src/ui.js';\nimport {\n\tRect,\n\tResizeObserver,\n\ttoUnit,\n\ttype PositioningFunction,\n\ttype Locale\n} from 'ckeditor5/src/utils.js';\nimport type { EditingView } from 'ckeditor5/src/engine.js';\n\nimport '../theme/inlineeditor.css';\n\nconst toPx = /* #__PURE__ */ toUnit( 'px' );\n\n/**\n * Inline editor UI view. Uses an nline editable and a floating toolbar.\n */\nexport default class InlineEditorUIView extends EditorUIView {\n\t/**\n\t * A floating toolbar view instance.\n\t */\n\tpublic readonly toolbar: ToolbarView;\n\n\t/**\n\t * The offset from the top edge of the web browser's viewport which makes the\n\t * UI become sticky. The default value is `0`, which means that the UI becomes\n\t * sticky when its upper edge touches the top of the page viewport.\n\t *\n\t * This attribute is useful when the web page has UI elements positioned to the top\n\t * either using `position: fixed` or `position: sticky`, which would cover the\n\t * UI or vice–versa (depending on the `z-index` hierarchy).\n\t *\n\t * Bound to {@link module:ui/editorui/editorui~EditorUI#viewportOffset `EditorUI#viewportOffset`}.\n\t *\n\t * If {@link module:core/editor/editorconfig~EditorConfig#ui `EditorConfig#ui.viewportOffset.top`} is defined, then\n\t * it will override the default value.\n\t *\n\t * @observable\n\t * @default 0\n\t */\n\tdeclare public viewportTopOffset: number;\n\n\t/**\n\t * A balloon panel view instance.\n\t */\n\tpublic readonly panel: BalloonPanelView;\n\n\t/**\n\t * A set of positioning functions used by the {@link #panel} to float around\n\t * {@link #element editableElement}.\n\t *\n\t * The positioning functions are as follows:\n\t *\n\t * * West:\n\t *\n\t * ```\n\t * [ Panel ]\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * |[ Panel ] |\n\t * | |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t * [ Panel ]\n\t * ```\n\t *\n\t * * East:\n\t *\n\t * ```\n\t * [ Panel ]\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * | [ Panel ]|\n\t * | |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t * [ Panel ]\n\t * ```\n\t *\n\t * See: {@link module:utils/dom/position~Options#positions}.\n\t */\n\tpublic readonly panelPositions: Array<PositioningFunction>;\n\n\t/**\n\t * Editable UI view.\n\t */\n\tpublic readonly editable: InlineEditableUIView;\n\n\t/**\n\t * An instance of the resize observer that helps dynamically determine the geometry of the toolbar\n\t * and manage items that do not fit into a single row.\n\t *\n\t * **Note:** Created in {@link #render}.\n\t */\n\tprivate _resizeObserver: ResizeObserver | null;\n\n\t/**\n\t * Creates an instance of the inline editor UI view.\n\t *\n\t * @param locale The {@link module:core/editor/editor~Editor#locale} instance.\n\t * @param editingView The editing view instance this view is related to.\n\t * @param editableElement The editable element. If not specified, it will be automatically created by\n\t * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.\n\t * @param options Configuration options for the view instance.\n\t * @param options.shouldToolbarGroupWhenFull When set `true` enables automatic items grouping\n\t * in the main {@link module:editor-inline/inlineeditoruiview~InlineEditorUIView#toolbar toolbar}.\n\t * See {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} to learn more.\n\t * @param options.label When set, this value will be used as an accessible `aria-label` of the\n\t * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.\n\t */\n\tconstructor(\n\t\tlocale: Locale,\n\t\teditingView: EditingView,\n\t\teditableElement?: HTMLElement,\n\t\toptions: {\n\t\t\tshouldToolbarGroupWhenFull?: boolean;\n\t\t\tuseMenuBar?: boolean;\n\t\t\tlabel?: string | Record<string, string>;\n\t\t} = {}\n\t) {\n\t\tsuper( locale );\n\n\t\tthis.toolbar = new ToolbarView( locale, {\n\t\t\tshouldGroupWhenFull: options.shouldToolbarGroupWhenFull,\n\t\t\tisFloating: true\n\t\t} );\n\n\t\tif ( options.useMenuBar ) {\n\t\t\tthis.menuBarView = new MenuBarView( locale );\n\t\t}\n\n\t\tthis.set( 'viewportTopOffset', 0 );\n\n\t\tthis.panel = new BalloonPanelView( locale );\n\t\tthis.panelPositions = this._getPanelPositions();\n\n\t\tthis.panel.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: 'ck-toolbar-container'\n\t\t\t}\n\t\t} );\n\n\t\tthis.editable = new InlineEditableUIView( locale, editingView, editableElement, {\n\t\t\tlabel: options.label\n\t\t} );\n\n\t\tthis._resizeObserver = null;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tthis.body.add( this.panel );\n\t\tthis.registerChild( this.editable );\n\n\t\tif ( this.menuBarView ) {\n\t\t\t// Set toolbar as a child of a stickyPanel and makes toolbar sticky.\n\t\t\tthis.panel.content.addMany( [ this.menuBarView, this.toolbar ] );\n\t\t} else {\n\t\t\tthis.panel.content.add( this.toolbar );\n\t\t}\n\n\t\tconst options = this.toolbar.options;\n\n\t\t// Set toolbar's max-width on the initialization and update it on the editable resize,\n\t\t// if 'shouldToolbarGroupWhenFull' in config is set to 'true'.\n\t\tif ( options.shouldGroupWhenFull ) {\n\t\t\tconst editableElement = this.editable.element!;\n\n\t\t\tthis._resizeObserver = new ResizeObserver( editableElement, () => {\n\t\t\t\tthis.toolbar.maxWidth = toPx( new Rect( editableElement ).width );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tif ( this._resizeObserver ) {\n\t\t\tthis._resizeObserver.destroy();\n\t\t}\n\t}\n\n\t/**\n\t * Determines the panel top position of the {@link #panel} in {@link #panelPositions}.\n\t *\n\t * @param editableRect Rect of the {@link #element}.\n\t * @param panelRect Rect of the {@link #panel}.\n\t */\n\tprivate _getPanelPositionTop( editableRect: Rect, panelRect: Rect ): number {\n\t\tlet top;\n\n\t\tif ( editableRect.top > panelRect.height + this.viewportTopOffset ) {\n\t\t\ttop = editableRect.top - panelRect.height;\n\t\t} else if ( editableRect.bottom > panelRect.height + this.viewportTopOffset + 50 ) {\n\t\t\ttop = this.viewportTopOffset;\n\t\t} else {\n\t\t\ttop = editableRect.bottom;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\t/**\n\t * Returns the positions for {@link #panelPositions}.\n\t *\n\t * See: {@link module:utils/dom/position~Options#positions}.\n\t */\n\tprivate _getPanelPositions(): Array<PositioningFunction> {\n\t\tconst positions: Array<PositioningFunction> = [\n\t\t\t( editableRect, panelRect ) => {\n\t\t\t\treturn {\n\t\t\t\t\ttop: this._getPanelPositionTop( editableRect, panelRect ),\n\t\t\t\t\tleft: editableRect.left,\n\t\t\t\t\tname: 'toolbar_west',\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\twithArrow: false\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\t( editableRect, panelRect ) => {\n\t\t\t\treturn {\n\t\t\t\t\ttop: this._getPanelPositionTop( editableRect, panelRect ),\n\t\t\t\t\tleft: editableRect.left + editableRect.width - panelRect.width,\n\t\t\t\t\tname: 'toolbar_east',\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\twithArrow: false\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t];\n\n\t\tif ( this.locale.uiLanguageDirection === 'ltr' ) {\n\t\t\treturn positions;\n\t\t} else {\n\t\t\treturn positions.reverse();\n\t\t}\n\t}\n}\n","/**\n * @license 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/**\n * @module editor-inline/inlineeditor\n */\n\nimport {\n\tEditor,\n\tElementApiMixin,\n\tattachToForm,\n\tsecureSourceElement,\n\ttype EditorConfig,\n\ttype EditorReadyEvent\n} from 'ckeditor5/src/core.js';\nimport { getDataFromElement, CKEditorError } from 'ckeditor5/src/utils.js';\n\nimport InlineEditorUI from './inlineeditorui.js';\nimport InlineEditorUIView from './inlineeditoruiview.js';\n\nimport { isElement as _isElement } from 'lodash-es';\n\n/**\n * The inline editor implementation. It uses an inline editable and a floating toolbar.\n * See the {@glink examples/builds/inline-editor demo}.\n *\n * In order to create a inline editor instance, use the static\n * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method.\n */\nexport default class InlineEditor extends /* #__PURE__ */ ElementApiMixin( Editor ) {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic readonly ui: InlineEditorUI;\n\n\t/**\n\t * Creates an instance of the inline editor.\n\t *\n\t * **Note:** Do not use the constructor to create editor instances. Use the static\n\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method instead.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * (on which the editor will be initialized) or initial data for the editor. For more information see\n\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`}.\n\t * @param config The editor configuration.\n\t */\n\tprotected constructor( sourceElementOrData: HTMLElement | string, config: EditorConfig = {} ) {\n\t\t// If both `config.initialData` and initial data parameter in `create()` are set, then throw.\n\t\tif ( !isElement( sourceElementOrData ) && config.initialData !== undefined ) {\n\t\t\t// Documented in core/editor/editorconfig.jsdoc.\n\t\t\t// eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n\t\t\tthrow new CKEditorError( 'editor-create-initial-data', null );\n\t\t}\n\n\t\tsuper( config );\n\n\t\tthis.config.define( 'menuBar.isVisible', false );\n\n\t\tif ( this.config.get( 'initialData' ) === undefined ) {\n\t\t\tthis.config.set( 'initialData', getInitialData( sourceElementOrData ) );\n\t\t}\n\n\t\tthis.model.document.createRoot();\n\n\t\tif ( isElement( sourceElementOrData ) ) {\n\t\t\tthis.sourceElement = sourceElementOrData;\n\t\t\tsecureSourceElement( this, sourceElementOrData );\n\t\t}\n\n\t\tconst shouldToolbarGroupWhenFull = !this.config.get( 'toolbar.shouldNotGroupWhenFull' );\n\n\t\tconst menuBarConfig = this.config.get( 'menuBar' )!;\n\n\t\tconst view = new InlineEditorUIView( this.locale, this.editing.view, this.sourceElement, {\n\t\t\tshouldToolbarGroupWhenFull,\n\t\t\tuseMenuBar: menuBarConfig.isVisible,\n\t\t\tlabel: this.config.get( 'label' )\n\t\t} );\n\t\tthis.ui = new InlineEditorUI( this, view );\n\n\t\tattachToForm( this );\n\t}\n\n\t/**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * Updates the original editor element with the data if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}\n\t * configuration option is set to `true`.\n\t */\n\tpublic override destroy(): Promise<unknown> {\n\t\t// Cache the data, then destroy.\n\t\t// It's safe to assume that the model->view conversion will not work after super.destroy().\n\t\tconst data = this.getData();\n\n\t\tthis.ui.destroy();\n\n\t\treturn super.destroy()\n\t\t\t.then( () => {\n\t\t\t\tif ( this.sourceElement ) {\n\t\t\t\t\tthis.updateSourceElement( data );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\t/**\n\t * Creates a new inline editor instance.\n\t *\n\t * There are three general ways how the editor can be initialized.\n\t *\n\t * # Using an existing DOM element (and loading data from it)\n\t *\n\t * You can initialize the editor using an existing DOM element:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( document.querySelector( '#editor' ) )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * The element's content will be used as the editor data and the element will become the editable element.\n\t *\n\t * # Creating a detached editor\n\t *\n\t * Alternatively, you can initialize the editor by passing the initial data directly as a `String`.\n\t * In this case, the editor will render an element that must be inserted into the DOM for the editor to work properly:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( '<p>Hello world!</p>' )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t *\n\t * \t\t// Initial data was provided so the editor UI element needs to be added manually to the DOM.\n\t * \t\tdocument.body.appendChild( editor.ui.element );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This lets you dynamically append the editor to your web page whenever it is convenient for you. You may use this method if your\n\t * web page content is generated on the client side and the DOM structure is not ready at the moment when you initialize the editor.\n\t *\n\t * # Using an existing DOM element (and data provided in `config.initialData`)\n\t *\n\t * You can also mix these two ways by providing a DOM element to be used and passing the initial data through the configuration:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( document.querySelector( '#editor' ), {\n\t * \t\tinitialData: '<h2>Initial data</h2><p>Foo bar.</p>'\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This method can be used to initialize the editor on an existing element with the specified content in case if your integration\n\t * makes it difficult to set the content of the source element.\n\t *\n\t * Note that an error will be thrown if you pass the initial data both as the first parameter and also in the configuration.\n\t *\n\t * # Configuring the editor\n\t *\n\t * See the {@link module:core/editor/editorconfig~EditorConfig editor configuration documentation} to learn more about\n\t * customizing plugins, toolbar and more.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * or the editor's initial data.\n\t *\n\t * If a DOM element is passed, its content will be automatically loaded to the editor upon initialization.\n\t * The editor data will be set back to the original element once the editor is destroyed only if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy updateSourceElementOnDestroy}\n\t * option is set to `true`.\n\t *\n\t * If the initial data is passed, a detached editor will be created. In this case you need to insert it into the DOM manually.\n\t * It is available under the {@link module:editor-inline/inlineeditorui~InlineEditorUI#element `editor.ui.element`} property.\n\t *\n\t * @param config The editor configuration.\n\t * @returns A promise resolved once the editor is ready. The promise resolves with the created editor instance.\n\t */\n\tpublic static override create( sourceElementOrData: HTMLElement | string, config: EditorConfig = {} ): Promise<InlineEditor> {\n\t\treturn new Promise( resolve => {\n\t\t\tif ( isElement( sourceElementOrData ) && sourceElementOrData.tagName === 'TEXTAREA' ) {\n\t\t\t\t// Documented in core/editor/editor.js\n\t\t\t\t// eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n\t\t\t\tthrow new CKEditorError( 'editor-wrong-element', null );\n\t\t\t}\n\n\t\t\tconst editor = new this( sourceElementOrData, config );\n\n\t\t\tresolve(\n\t\t\t\teditor.initPlugins()\n\t\t\t\t\t.then( () => editor.ui.init() )\n\t\t\t\t\t.then( () => editor.data.init( editor.config.get( 'initialData' )! ) )\n\t\t\t\t\t.then( () => editor.fire<EditorReadyEvent>( 'ready' ) )\n\t\t\t\t\t.then( () => editor )\n\t\t\t);\n\t\t} );\n\t}\n}\n\nfunction getInitialData( sourceElementOrData: HTMLElement | string ): string {\n\treturn isElement( sourceElementOrData ) ? getDataFromElement( sourceElementOrData ) : sourceElementOrData;\n}\n\nfunction isElement( value: any ): value is Element {\n\treturn _isElement( value );\n}\n"]}
1
+ {"version":3,"sources":["index.js","../src/inlineeditorui.ts","../src/inlineeditoruiview.ts","../src/inlineeditor.ts"],"names":["InlineEditorUI","EditorUI","constructor","editor","view","_toolbarConfig","normalizeToolbarConfig","config","get","element","editable","editingView","editing","editingRoot","document","getRoot","name","rootName","render","editableElement","setEditableElement","bind","to","focusTracker","attachDomRoot","_initPlaceholder","_initToolbar","menuBarView","_initMenuBar","fire","destroy","detachDomRoot","toolbar","panel","top","listenTo","ui","isVisible","pin","target","positions","panelPositions","fillFromConfig","componentFactory","addToolbar","placeholder","placeholderText","enablePlaceholder","isDirectHost","keepOnFocus","toPx","toUnit","InlineEditorUIView","EditorUIView","locale","options","ToolbarView","shouldGroupWhenFull","shouldToolbarGroupWhenFull","isFloating","useMenuBar","MenuBarView","set","BalloonPanelView","_getPanelPositions","extendTemplate","attributes","class","InlineEditableUIView","label","_resizeObserver","body","add","registerChild","content","addMany","ResizeObserver","maxWidth","Rect","width","_getPanelPositionTop","editableRect","panelRect","height","viewportTopOffset","bottom","left","withArrow","uiLanguageDirection","reverse","InlineEditor","ElementApiMixin","Editor","editorName","sourceElementOrData","isElement","initialData","undefined","CKEditorError","define","getInitialData","model","createRoot","sourceElement","secureSourceElement","menuBarConfig","attachToForm","data","getData","then","updateSourceElement","create","Promise","resolve","tagName","initPlugins","init","getDataFromElement","value","_isElement"],"mappings":";;;;AAAA,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACnH,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACzH,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACvK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5E,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;;ACoBpD,CAAA,CAAA;ADjBA,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK;AAC7B,CAAC;AACD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACxC,CAAC,CAAC,CAAC,CCmBY,KAAMA,CAAAA,cAAuBC,CAAAA,OAAAA,CAAAA,QAAAA,CAAAA;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADlBD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;ACoB3C,CAAA,CAAA,CAAA,CAAA,CACD,IAAyC;AAEzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADpBD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;ACsBtC,CAAA,CAAA,CAAA,CAAA,CACD,cAA2E;AAE3E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADtBD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK;AACrD,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;ACwBhC,CAAA,CAAA,CAAA,CAAA,CACDC,WAAaC,CAAAA,MAAc,CAAA,CAAEC,IAAwB,CAAG;AACvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAED,MAAAA,CAAAA;ADvBT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCyBL,IAAI,CAACC,IAAI,CAAA,CAAA,CAAGA,IAAAA;ADxBd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCyBL,IAAI,CAACC,cAAc,CAAA,CAAA,CAAGC,sBAAAA,CAAwBH,MAAAA,CAAOI,MAAM,CAACC,GAAG,CAAE,CAAA,OAAA,CAAA,CAAA,CAAA;AAClE,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADzBD,CAAC,CAAC,CAAC,CAAC,CAAC;AC2BH,CACD,CAAA,CAAA,CAAA,CAAA,GAAA,CAAoBC,OAA8B,CAAA,CAAA,CAAA;AACjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAO,IAAI,CAACL,IAAI,CAACM,QAAQ,CAACD,OAAO;AAClC,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD3BD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;AC6BpB,CAAA,CAAA,CAAA,CAAA,CACD,IAAoB,CAAA,CAAA,CAAA;AD5BrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC6BL,KAAMN,CAAAA,MAAAA,CAAS,CAAA,CAAA,IAAI,CAACA,MAAM;AD5B5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC6BL,KAAMC,CAAAA,IAAAA,CAAO,CAAA,CAAA,IAAI,CAACA,IAAI;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMO,WAAcR,CAAAA,CAAAA,CAAAA,MAAAA,CAAOS,OAAO,CAACR,IAAI;AD5BzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC6BL,KAAMM,CAAAA,QAAAA,CAAWN,CAAAA,CAAAA,IAAAA,CAAKM,QAAQ;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMG,WAAcF,CAAAA,CAAAA,CAAAA,WAAAA,CAAYG,QAAQ,CAACC,OAAO,CAAA,CAAA;AD5BlD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU;AAChF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC8BLL,QAASM,CAAAA,IAAI,CAAGH,CAAAA,CAAAA,WAAAA,CAAYI,QAAQ;AAEpCb,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAKc,MAAM,CAAA,CAAA;AD9Bb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ;AAC/G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACpG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCgCL,KAAMC,CAAAA,eAAAA,CAAkBT,CAAAA,CAAAA,QAAAA,CAASD,OAAO;AD/B1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;ACkClE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACW,kBAAkB,CAAEV,QAAAA,CAASM,IAAI,CAAEG,CAAAA,eAAAA,CAAAA;ADhC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;AACnG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AACxF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI;AACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;ACmC7BT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAASW,IAAI,CAAE,CAAA,SAAA,CAAA,CAAA,CAAcC,EAAE,CAAE,IAAI,CAACC,YAAY,CAAA;ADjCpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;AACzF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;ACoCtEZ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAYa,aAAa,CAAEL,eAAAA,CAAAA;AAE3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACM,gBAAgB,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACC,YAAY,CAAA,CAAA;ADnCnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCqCL,EAAKtB,CAAAA,CAAAA,IAAAA,CAAKuB,WAAW,CAAG,CAAA;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAACC,YAAY,CAAExB,IAAAA,CAAKuB,WAAW,CAAA;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADpCF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCsCL,IAAI,CAACE,IAAI,CAAsB,CAAA,KAAA,CAAA,CAAA;AAChC,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADtCD,CAAC,CAAC,CAAC,CAAC,CAAC;ACwCH,CAAA,CAAA,CAAA,CAAA,CACD,OAAgC,CAAA,CAAA,CAAA;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAACC,OAAAA,CAAAA,CAAAA;ADvCR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCyCL,KAAM1B,CAAAA,IAAAA,CAAO,CAAA,CAAA,IAAI,CAACA,IAAI;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMO,WAAAA,CAAc,CAAA,CAAA,IAAI,CAACR,MAAM,CAACS,OAAO,CAACR,IAAI;AAE5CO,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAYoB,aAAa,CAAE3B,IAAKM,CAAAA,QAAQ,CAACM,IAAI,CAAA;AAC7CZ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAK0B,OAAO,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD1CD,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK;AC4CrD,CAAA,CAAA,CAAA,CAAA,CACD,YAA6B,CAAA,CAAA,CAAA;AD3C9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC4CL,KAAM3B,CAAAA,MAAAA,CAAS,CAAA,CAAA,IAAI,CAACA,MAAM;AD3C5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC4CL,KAAMC,CAAAA,IAAAA,CAAO,CAAA,CAAA,IAAI,CAACA,IAAI;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMe,eAAkBf,CAAAA,CAAAA,CAAAA,IAAAA,CAAKM,QAAQ,CAACD,OAAO;AD3C/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC4CL,KAAMuB,CAAAA,OAAAA,CAAU5B,CAAAA,CAAAA,IAAAA,CAAK4B,OAAO;AD3C9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC6CL5B,IAAK6B,CAAAA,KAAK,CAACZ,IAAI,CAAE,CAAA,SAAA,CAAA,CAAA,CAAcC,EAAE,CAAE,IAAI,CAACC,YAAY,CAAA,CAAE,CAAA,SAAA,CAAA,CAAA;AAEtDnB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAKiB,IAAI,CAAE,CAAA,iBAAA,CAAsBC,CAAAA,CAAAA,EAAE,CAAE,IAAI,CAAA,CAAE,CAAA,cAAA,CAAA,CAAA,CAAkB,CAAE,CAAEY,CAAAA,GAAG,CAAA,CAAE,CAAMA,CAAAA,CAAAA,GAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD7CrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;ACgDpE9B,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAK+B,QAAQ,CAAuBhC,MAAOiC,CAAAA,EAAE,CAAA,CAAE,CAAU,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD9C3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC9E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;ACgDtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKhC,IAAK6B,CAAAA,KAAK,CAACI,SAAS,CAAG,CAAA;AD9C/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CC+CXjC,IAAK6B,CAAAA,KAAK,CAACK,GAAG,CAAE;AD9CpB,CC+CKC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAQpB,CAAAA,CAAAA,eAAAA;AACRqB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAWpC,CAAAA,IAAAA,CAAKqC;AACjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AD9CF,CCgDET,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAQU,CAAAA,cAAc,CAAE,IAAI,CAACrC,cAAc,CAAE,CAAA,IAAI,CAACsC,gBAAgB,CAAA;AD/CpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU;AACtF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCiDL,IAAI,CAACC,UAAU,CAAEZ,OAAAA,CAAAA;AAClB,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADjDD,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;ACmDjD,CAAA,CAAA,CAAA,CAAA,CACD,gBAAiC,CAAA,CAAA,CAAA;ADlDlC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCmDL,KAAM7B,CAAAA,MAAAA,CAAS,CAAA,CAAA,IAAI,CAACA,MAAM;AAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMQ,WAAcR,CAAAA,CAAAA,CAAAA,MAAAA,CAAOS,OAAO,CAACR,IAAI;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMS,WAAcF,CAAAA,CAAAA,CAAAA,WAAAA,CAAYG,QAAQ,CAACC,OAAO,CAAA,CAAA;AAChD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM8B,WAAc1C,CAAAA,CAAAA,CAAAA,MAAAA,CAAOI,MAAM,CAACC,GAAG,CAAE,CAAA,WAAA,CAAA,CAAA;AAEvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAKqC,WAAc,CAAA,CAAA;ADnDrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCoDR,KAAMC,CAAAA,eAAAA,CAAkB,CAAA,CAAA,MAAA,CAAOD,WAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAWA,CAAAA,CAAAA,WAAAA,CAAAA,CAAAA,CAAcA,WAAW,CAAEhC,WAAYI,CAAAA,QAAQ,CAAE;AAE3G,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAK6B,eAAkB,CAAA,CAAA;AACtBjC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAYgC,WAAW,CAAA,CAAA,CAAGC,eAAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;ADpDF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCsDLC,iBAAmB,CAAA;ADrDrB,CCsDG3C,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAMO,CAAAA,CAAAA,WAAAA;ADrDT,CCsDGF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAASI,CAAAA,CAAAA,WAAAA;ADrDZ,CCsDGmC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,YAAc,CAAA,CAAA,KAAA;ADrDjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CCsDRC,WAAa,CAAA,CAAA;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,CAAA,CAAA,CAAA,CAAA;AACD;;ACrJA,KAAA,CAAMC,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAuBC,MAAQ,CAAA,CAAA,EAAA,CAAA,CAAA;AAErC,CAAA,CAAA;AFiGA,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO;AACvE,CAAC,CAAC,CAAC,CE/FY,KAAMC,CAAAA,kBAA2BC,CAAAA,OAAAA,CAAAA,YAAAA,CAAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AFgGD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ;AE9FlC,CAAA,CAAA,CAAA,CAAA,CACD,OAAqC;AAqBrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AF2ED,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ;AEzE/B,CAAA,CAAA,CAAA,CAAA,CACD,KAAwC;AAExC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AFyED,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;AACvE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;AACpC,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO;AAC5C,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;AACV,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;AACV,CAAC,CAAC;AACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC;AAC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","file":"index.js.map","sourcesContent":["import { ElementApiMixin, Editor, secureSourceElement, attachToForm } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { ResizeObserver, Rect, toUnit, CKEditorError, getDataFromElement } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { EditorUI, normalizeToolbarConfig, EditorUIView, ToolbarView, MenuBarView, BalloonPanelView, InlineEditableUIView } from '@ckeditor/ckeditor5-ui/dist/index.js';\nimport { enablePlaceholder } from '@ckeditor/ckeditor5-engine/dist/index.js';\nimport { isElement as isElement$1 } from 'lodash-es';\n\n/**\n * The inline editor UI class.\n *\n * @extends module:ui/editorui/editorui~EditorUI\n */ class InlineEditorUI extends EditorUI {\n /**\n\t * The main (top–most) view of the editor UI.\n\t */ view;\n /**\n\t * A normalized `config.toolbar` object.\n\t */ _toolbarConfig;\n /**\n\t * Creates an instance of the inline editor UI class.\n\t *\n\t * @param editor The editor instance.\n\t * @param view The view of the UI.\n\t */ constructor(editor, view){\n super(editor);\n this.view = view;\n this._toolbarConfig = normalizeToolbarConfig(editor.config.get('toolbar'));\n }\n /**\n\t * @inheritDoc\n\t */ get element() {\n return this.view.editable.element;\n }\n /**\n\t * Initializes the UI.\n\t */ init() {\n const editor = this.editor;\n const view = this.view;\n const editingView = editor.editing.view;\n const editable = view.editable;\n const editingRoot = editingView.document.getRoot();\n // The editable UI and editing root should share the same name. Then name is used\n // to recognize the particular editable, for instance in ARIA attributes.\n editable.name = editingRoot.rootName;\n view.render();\n // The editable UI element in DOM is available for sure only after the editor UI view has been rendered.\n // But it can be available earlier if a DOM element has been passed to InlineEditor.create().\n const editableElement = editable.element;\n // Register the editable UI view in the editor. A single editor instance can aggregate multiple\n // editable areas (roots) but the inline editor has only one.\n this.setEditableElement(editable.name, editableElement);\n // Let the editable UI element respond to the changes in the global editor focus\n // tracker. It has been added to the same tracker a few lines above but, in reality, there are\n // many focusable areas in the editor, like balloons, toolbars or dropdowns and as long\n // as they have focus, the editable should act like it is focused too (although technically\n // it isn't), e.g. by setting the proper CSS class, visually announcing focus to the user.\n // Doing otherwise will result in editable focus styles disappearing, once e.g. the\n // toolbar gets focused.\n editable.bind('isFocused').to(this.focusTracker);\n // Bind the editable UI element to the editing view, making it an end– and entry–point\n // of the editor's engine. This is where the engine meets the UI.\n editingView.attachDomRoot(editableElement);\n this._initPlaceholder();\n this._initToolbar();\n if (view.menuBarView) {\n this._initMenuBar(view.menuBarView);\n }\n this.fire('ready');\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n super.destroy();\n const view = this.view;\n const editingView = this.editor.editing.view;\n editingView.detachDomRoot(view.editable.name);\n view.destroy();\n }\n /**\n\t * Initializes the inline editor toolbar and its panel.\n\t */ _initToolbar() {\n const editor = this.editor;\n const view = this.view;\n const editableElement = view.editable.element;\n const toolbar = view.toolbar;\n // Set–up the view#panel.\n view.panel.bind('isVisible').to(this.focusTracker, 'isFocused');\n view.bind('viewportTopOffset').to(this, 'viewportOffset', ({ top })=>top || 0);\n // https://github.com/ckeditor/ckeditor5-editor-inline/issues/4\n view.listenTo(editor.ui, 'update', ()=>{\n // Don't pin if the panel is not already visible. It prevents the panel\n // showing up when there's no focus in the UI.\n if (view.panel.isVisible) {\n view.panel.pin({\n target: editableElement,\n positions: view.panelPositions\n });\n }\n });\n toolbar.fillFromConfig(this._toolbarConfig, this.componentFactory);\n // Register the toolbar so it becomes available for Alt+F10 and Esc navigation.\n this.addToolbar(toolbar);\n }\n /**\n\t * Enable the placeholder text on the editing root.\n\t */ _initPlaceholder() {\n const editor = this.editor;\n const editingView = editor.editing.view;\n const editingRoot = editingView.document.getRoot();\n const placeholder = editor.config.get('placeholder');\n if (placeholder) {\n const placeholderText = typeof placeholder === 'string' ? placeholder : placeholder[editingRoot.rootName];\n if (placeholderText) {\n editingRoot.placeholder = placeholderText;\n }\n }\n enablePlaceholder({\n view: editingView,\n element: editingRoot,\n isDirectHost: false,\n keepOnFocus: true\n });\n }\n}\n\nconst toPx = /* #__PURE__ */ toUnit('px');\n/**\n * Inline editor UI view. Uses an nline editable and a floating toolbar.\n */ class InlineEditorUIView extends EditorUIView {\n /**\n\t * A floating toolbar view instance.\n\t */ toolbar;\n /**\n\t * A balloon panel view instance.\n\t */ panel;\n /**\n\t * A set of positioning functions used by the {@link #panel} to float around\n\t * {@link #element editableElement}.\n\t *\n\t * The positioning functions are as follows:\n\t *\n\t * * West:\n\t *\n\t * ```\n\t * [ Panel ]\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * |[ Panel ] |\n\t * | |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t * [ Panel ]\n\t * ```\n\t *\n\t * * East:\n\t *\n\t * ```\n\t * [ Panel ]\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * | [ Panel ]|\n\t * | |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t * [ Panel ]\n\t * ```\n\t *\n\t * See: {@link module:utils/dom/position~Options#positions}.\n\t */ panelPositions;\n /**\n\t * Editable UI view.\n\t */ editable;\n /**\n\t * An instance of the resize observer that helps dynamically determine the geometry of the toolbar\n\t * and manage items that do not fit into a single row.\n\t *\n\t * **Note:** Created in {@link #render}.\n\t */ _resizeObserver;\n /**\n\t * Creates an instance of the inline editor UI view.\n\t *\n\t * @param locale The {@link module:core/editor/editor~Editor#locale} instance.\n\t * @param editingView The editing view instance this view is related to.\n\t * @param editableElement The editable element. If not specified, it will be automatically created by\n\t * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.\n\t * @param options Configuration options for the view instance.\n\t * @param options.shouldToolbarGroupWhenFull When set `true` enables automatic items grouping\n\t * in the main {@link module:editor-inline/inlineeditoruiview~InlineEditorUIView#toolbar toolbar}.\n\t * See {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} to learn more.\n\t * @param options.label When set, this value will be used as an accessible `aria-label` of the\n\t * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.\n\t */ constructor(locale, editingView, editableElement, options = {}){\n super(locale);\n this.toolbar = new ToolbarView(locale, {\n shouldGroupWhenFull: options.shouldToolbarGroupWhenFull,\n isFloating: true\n });\n if (options.useMenuBar) {\n this.menuBarView = new MenuBarView(locale);\n }\n this.set('viewportTopOffset', 0);\n this.panel = new BalloonPanelView(locale);\n this.panelPositions = this._getPanelPositions();\n this.panel.extendTemplate({\n attributes: {\n class: 'ck-toolbar-container'\n }\n });\n this.editable = new InlineEditableUIView(locale, editingView, editableElement, {\n label: options.label\n });\n this._resizeObserver = null;\n }\n /**\n\t * @inheritDoc\n\t */ render() {\n super.render();\n this.body.add(this.panel);\n this.registerChild(this.editable);\n if (this.menuBarView) {\n // Set toolbar as a child of a stickyPanel and makes toolbar sticky.\n this.panel.content.addMany([\n this.menuBarView,\n this.toolbar\n ]);\n } else {\n this.panel.content.add(this.toolbar);\n }\n const options = this.toolbar.options;\n // Set toolbar's max-width on the initialization and update it on the editable resize,\n // if 'shouldToolbarGroupWhenFull' in config is set to 'true'.\n if (options.shouldGroupWhenFull) {\n const editableElement = this.editable.element;\n this._resizeObserver = new ResizeObserver(editableElement, ()=>{\n this.toolbar.maxWidth = toPx(new Rect(editableElement).width);\n });\n }\n }\n /**\n\t * @inheritDoc\n\t */ destroy() {\n super.destroy();\n if (this._resizeObserver) {\n this._resizeObserver.destroy();\n }\n }\n /**\n\t * Determines the panel top position of the {@link #panel} in {@link #panelPositions}.\n\t *\n\t * @param editableRect Rect of the {@link #element}.\n\t * @param panelRect Rect of the {@link #panel}.\n\t */ _getPanelPositionTop(editableRect, panelRect) {\n let top;\n if (editableRect.top > panelRect.height + this.viewportTopOffset) {\n top = editableRect.top - panelRect.height;\n } else if (editableRect.bottom > panelRect.height + this.viewportTopOffset + 50) {\n top = this.viewportTopOffset;\n } else {\n top = editableRect.bottom;\n }\n return top;\n }\n /**\n\t * Returns the positions for {@link #panelPositions}.\n\t *\n\t * See: {@link module:utils/dom/position~Options#positions}.\n\t */ _getPanelPositions() {\n const positions = [\n (editableRect, panelRect)=>{\n return {\n top: this._getPanelPositionTop(editableRect, panelRect),\n left: editableRect.left,\n name: 'toolbar_west',\n config: {\n withArrow: false\n }\n };\n },\n (editableRect, panelRect)=>{\n return {\n top: this._getPanelPositionTop(editableRect, panelRect),\n left: editableRect.left + editableRect.width - panelRect.width,\n name: 'toolbar_east',\n config: {\n withArrow: false\n }\n };\n }\n ];\n if (this.locale.uiLanguageDirection === 'ltr') {\n return positions;\n } else {\n return positions.reverse();\n }\n }\n}\n\n/**\n * The inline editor implementation. It uses an inline editable and a floating toolbar.\n * See the {@glink examples/builds/inline-editor demo}.\n *\n * In order to create a inline editor instance, use the static\n * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method.\n */ class InlineEditor extends /* #__PURE__ */ ElementApiMixin(Editor) {\n /**\n\t * @inheritDoc\n\t */ static get editorName() {\n return 'InlineEditor';\n }\n /**\n\t * @inheritDoc\n\t */ ui;\n /**\n\t * Creates an instance of the inline editor.\n\t *\n\t * **Note:** Do not use the constructor to create editor instances. Use the static\n\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method instead.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * (on which the editor will be initialized) or initial data for the editor. For more information see\n\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`}.\n\t * @param config The editor configuration.\n\t */ constructor(sourceElementOrData, config = {}){\n // If both `config.initialData` and initial data parameter in `create()` are set, then throw.\n if (!isElement(sourceElementOrData) && config.initialData !== undefined) {\n // Documented in core/editor/editorconfig.jsdoc.\n // eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n throw new CKEditorError('editor-create-initial-data', null);\n }\n super(config);\n this.config.define('menuBar.isVisible', false);\n if (this.config.get('initialData') === undefined) {\n this.config.set('initialData', getInitialData(sourceElementOrData));\n }\n this.model.document.createRoot();\n if (isElement(sourceElementOrData)) {\n this.sourceElement = sourceElementOrData;\n secureSourceElement(this, sourceElementOrData);\n }\n const shouldToolbarGroupWhenFull = !this.config.get('toolbar.shouldNotGroupWhenFull');\n const menuBarConfig = this.config.get('menuBar');\n const view = new InlineEditorUIView(this.locale, this.editing.view, this.sourceElement, {\n shouldToolbarGroupWhenFull,\n useMenuBar: menuBarConfig.isVisible,\n label: this.config.get('label')\n });\n this.ui = new InlineEditorUI(this, view);\n attachToForm(this);\n }\n /**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * Updates the original editor element with the data if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}\n\t * configuration option is set to `true`.\n\t */ destroy() {\n // Cache the data, then destroy.\n // It's safe to assume that the model->view conversion will not work after super.destroy().\n const data = this.getData();\n this.ui.destroy();\n return super.destroy().then(()=>{\n if (this.sourceElement) {\n this.updateSourceElement(data);\n }\n });\n }\n /**\n\t * Creates a new inline editor instance.\n\t *\n\t * There are three general ways how the editor can be initialized.\n\t *\n\t * # Using an existing DOM element (and loading data from it)\n\t *\n\t * You can initialize the editor using an existing DOM element:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( document.querySelector( '#editor' ) )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * The element's content will be used as the editor data and the element will become the editable element.\n\t *\n\t * # Creating a detached editor\n\t *\n\t * Alternatively, you can initialize the editor by passing the initial data directly as a `String`.\n\t * In this case, the editor will render an element that must be inserted into the DOM for the editor to work properly:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( '<p>Hello world!</p>' )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t *\n\t * \t\t// Initial data was provided so the editor UI element needs to be added manually to the DOM.\n\t * \t\tdocument.body.appendChild( editor.ui.element );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This lets you dynamically append the editor to your web page whenever it is convenient for you. You may use this method if your\n\t * web page content is generated on the client side and the DOM structure is not ready at the moment when you initialize the editor.\n\t *\n\t * # Using an existing DOM element (and data provided in `config.initialData`)\n\t *\n\t * You can also mix these two ways by providing a DOM element to be used and passing the initial data through the configuration:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( document.querySelector( '#editor' ), {\n\t * \t\tinitialData: '<h2>Initial data</h2><p>Foo bar.</p>'\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This method can be used to initialize the editor on an existing element with the specified content in case if your integration\n\t * makes it difficult to set the content of the source element.\n\t *\n\t * Note that an error will be thrown if you pass the initial data both as the first parameter and also in the configuration.\n\t *\n\t * # Configuring the editor\n\t *\n\t * See the {@link module:core/editor/editorconfig~EditorConfig editor configuration documentation} to learn more about\n\t * customizing plugins, toolbar and more.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * or the editor's initial data.\n\t *\n\t * If a DOM element is passed, its content will be automatically loaded to the editor upon initialization.\n\t * The editor data will be set back to the original element once the editor is destroyed only if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy updateSourceElementOnDestroy}\n\t * option is set to `true`.\n\t *\n\t * If the initial data is passed, a detached editor will be created. In this case you need to insert it into the DOM manually.\n\t * It is available under the {@link module:editor-inline/inlineeditorui~InlineEditorUI#element `editor.ui.element`} property.\n\t *\n\t * @param config The editor configuration.\n\t * @returns A promise resolved once the editor is ready. The promise resolves with the created editor instance.\n\t */ static create(sourceElementOrData, config = {}) {\n return new Promise((resolve)=>{\n if (isElement(sourceElementOrData) && sourceElementOrData.tagName === 'TEXTAREA') {\n // Documented in core/editor/editor.js\n // eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n throw new CKEditorError('editor-wrong-element', null);\n }\n const editor = new this(sourceElementOrData, config);\n resolve(editor.initPlugins().then(()=>editor.ui.init()).then(()=>editor.data.init(editor.config.get('initialData'))).then(()=>editor.fire('ready')).then(()=>editor));\n });\n }\n}\nfunction getInitialData(sourceElementOrData) {\n return isElement(sourceElementOrData) ? getDataFromElement(sourceElementOrData) : sourceElementOrData;\n}\nfunction isElement(value) {\n return isElement$1(value);\n}\n\nexport { InlineEditor };\n//# sourceMappingURL=index.js.map\n","/**\n * @license 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/**\n * @module editor-inline/inlineeditorui\n */\n\nimport {\n\ttype Editor\n} from 'ckeditor5/src/core.js';\n\nimport {\n\tEditorUI,\n\tnormalizeToolbarConfig,\n\ttype EditorUIReadyEvent,\n\ttype EditorUIUpdateEvent\n} from 'ckeditor5/src/ui.js';\n\nimport { enablePlaceholder } from 'ckeditor5/src/engine.js';\n\nimport type InlineEditorUIView from './inlineeditoruiview.js';\n\n/**\n * The inline editor UI class.\n *\n * @extends module:ui/editorui/editorui~EditorUI\n */\nexport default class InlineEditorUI extends EditorUI {\n\t/**\n\t * The main (top–most) view of the editor UI.\n\t */\n\tpublic readonly view: InlineEditorUIView;\n\n\t/**\n\t * A normalized `config.toolbar` object.\n\t */\n\tprivate readonly _toolbarConfig: ReturnType<typeof normalizeToolbarConfig>;\n\n\t/**\n\t * Creates an instance of the inline editor UI class.\n\t *\n\t * @param editor The editor instance.\n\t * @param view The view of the UI.\n\t */\n\tconstructor( editor: Editor, view: InlineEditorUIView ) {\n\t\tsuper( editor );\n\n\t\tthis.view = view;\n\t\tthis._toolbarConfig = normalizeToolbarConfig( editor.config.get( 'toolbar' ) );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override get element(): HTMLElement | null {\n\t\treturn this.view.editable.element;\n\t}\n\n\t/**\n\t * Initializes the UI.\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst view = this.view;\n\t\tconst editingView = editor.editing.view;\n\t\tconst editable = view.editable;\n\t\tconst editingRoot = editingView.document.getRoot()!;\n\n\t\t// The editable UI and editing root should share the same name. Then name is used\n\t\t// to recognize the particular editable, for instance in ARIA attributes.\n\t\teditable.name = editingRoot.rootName;\n\n\t\tview.render();\n\n\t\t// The editable UI element in DOM is available for sure only after the editor UI view has been rendered.\n\t\t// But it can be available earlier if a DOM element has been passed to InlineEditor.create().\n\t\tconst editableElement = editable.element!;\n\n\t\t// Register the editable UI view in the editor. A single editor instance can aggregate multiple\n\t\t// editable areas (roots) but the inline editor has only one.\n\t\tthis.setEditableElement( editable.name, editableElement );\n\n\t\t// Let the editable UI element respond to the changes in the global editor focus\n\t\t// tracker. It has been added to the same tracker a few lines above but, in reality, there are\n\t\t// many focusable areas in the editor, like balloons, toolbars or dropdowns and as long\n\t\t// as they have focus, the editable should act like it is focused too (although technically\n\t\t// it isn't), e.g. by setting the proper CSS class, visually announcing focus to the user.\n\t\t// Doing otherwise will result in editable focus styles disappearing, once e.g. the\n\t\t// toolbar gets focused.\n\t\teditable.bind( 'isFocused' ).to( this.focusTracker );\n\n\t\t// Bind the editable UI element to the editing view, making it an end– and entry–point\n\t\t// of the editor's engine. This is where the engine meets the UI.\n\t\teditingView.attachDomRoot( editableElement );\n\n\t\tthis._initPlaceholder();\n\t\tthis._initToolbar();\n\n\t\tif ( view.menuBarView ) {\n\t\t\tthis._initMenuBar( view.menuBarView );\n\t\t}\n\n\t\tthis.fire<EditorUIReadyEvent>( 'ready' );\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tconst view = this.view;\n\t\tconst editingView = this.editor.editing.view;\n\n\t\teditingView.detachDomRoot( view.editable.name! );\n\t\tview.destroy();\n\t}\n\n\t/**\n\t * Initializes the inline editor toolbar and its panel.\n\t */\n\tprivate _initToolbar(): void {\n\t\tconst editor = this.editor;\n\t\tconst view = this.view;\n\t\tconst editableElement = view.editable.element!;\n\t\tconst toolbar = view.toolbar;\n\n\t\t// Set–up the view#panel.\n\t\tview.panel.bind( 'isVisible' ).to( this.focusTracker, 'isFocused' );\n\n\t\tview.bind( 'viewportTopOffset' ).to( this, 'viewportOffset', ( { top } ) => top || 0 );\n\n\t\t// https://github.com/ckeditor/ckeditor5-editor-inline/issues/4\n\t\tview.listenTo<EditorUIUpdateEvent>( editor.ui, 'update', () => {\n\t\t\t// Don't pin if the panel is not already visible. It prevents the panel\n\t\t\t// showing up when there's no focus in the UI.\n\t\t\tif ( view.panel.isVisible ) {\n\t\t\t\tview.panel.pin( {\n\t\t\t\t\ttarget: editableElement,\n\t\t\t\t\tpositions: view.panelPositions\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\ttoolbar.fillFromConfig( this._toolbarConfig, this.componentFactory );\n\n\t\t// Register the toolbar so it becomes available for Alt+F10 and Esc navigation.\n\t\tthis.addToolbar( toolbar );\n\t}\n\n\t/**\n\t * Enable the placeholder text on the editing root.\n\t */\n\tprivate _initPlaceholder(): void {\n\t\tconst editor = this.editor;\n\t\tconst editingView = editor.editing.view;\n\t\tconst editingRoot = editingView.document.getRoot()!;\n\t\tconst placeholder = editor.config.get( 'placeholder' );\n\n\t\tif ( placeholder ) {\n\t\t\tconst placeholderText = typeof placeholder === 'string' ? placeholder : placeholder[ editingRoot.rootName ];\n\n\t\t\tif ( placeholderText ) {\n\t\t\t\teditingRoot.placeholder = placeholderText;\n\t\t\t}\n\t\t}\n\n\t\tenablePlaceholder( {\n\t\t\tview: editingView,\n\t\t\telement: editingRoot,\n\t\t\tisDirectHost: false,\n\t\t\tkeepOnFocus: true\n\t\t} );\n\t}\n}\n","/**\n * @license 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/**\n * @module editor-inline/inlineeditoruiview\n */\n\nimport {\n\tBalloonPanelView,\n\tEditorUIView,\n\tInlineEditableUIView,\n\tMenuBarView,\n\tToolbarView\n} from 'ckeditor5/src/ui.js';\nimport {\n\tRect,\n\tResizeObserver,\n\ttoUnit,\n\ttype PositioningFunction,\n\ttype Locale\n} from 'ckeditor5/src/utils.js';\nimport type { EditingView } from 'ckeditor5/src/engine.js';\n\nimport '../theme/inlineeditor.css';\n\nconst toPx = /* #__PURE__ */ toUnit( 'px' );\n\n/**\n * Inline editor UI view. Uses an nline editable and a floating toolbar.\n */\nexport default class InlineEditorUIView extends EditorUIView {\n\t/**\n\t * A floating toolbar view instance.\n\t */\n\tpublic readonly toolbar: ToolbarView;\n\n\t/**\n\t * The offset from the top edge of the web browser's viewport which makes the\n\t * UI become sticky. The default value is `0`, which means that the UI becomes\n\t * sticky when its upper edge touches the top of the page viewport.\n\t *\n\t * This attribute is useful when the web page has UI elements positioned to the top\n\t * either using `position: fixed` or `position: sticky`, which would cover the\n\t * UI or vice–versa (depending on the `z-index` hierarchy).\n\t *\n\t * Bound to {@link module:ui/editorui/editorui~EditorUI#viewportOffset `EditorUI#viewportOffset`}.\n\t *\n\t * If {@link module:core/editor/editorconfig~EditorConfig#ui `EditorConfig#ui.viewportOffset.top`} is defined, then\n\t * it will override the default value.\n\t *\n\t * @observable\n\t * @default 0\n\t */\n\tdeclare public viewportTopOffset: number;\n\n\t/**\n\t * A balloon panel view instance.\n\t */\n\tpublic readonly panel: BalloonPanelView;\n\n\t/**\n\t * A set of positioning functions used by the {@link #panel} to float around\n\t * {@link #element editableElement}.\n\t *\n\t * The positioning functions are as follows:\n\t *\n\t * * West:\n\t *\n\t * ```\n\t * [ Panel ]\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * |[ Panel ] |\n\t * | |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t * [ Panel ]\n\t * ```\n\t *\n\t * * East:\n\t *\n\t * ```\n\t * [ Panel ]\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * | [ Panel ]|\n\t * | |\n\t * +------------------+\n\t *\n\t * +------------------+\n\t * | #editableElement |\n\t * +------------------+\n\t * [ Panel ]\n\t * ```\n\t *\n\t * See: {@link module:utils/dom/position~Options#positions}.\n\t */\n\tpublic readonly panelPositions: Array<PositioningFunction>;\n\n\t/**\n\t * Editable UI view.\n\t */\n\tpublic readonly editable: InlineEditableUIView;\n\n\t/**\n\t * An instance of the resize observer that helps dynamically determine the geometry of the toolbar\n\t * and manage items that do not fit into a single row.\n\t *\n\t * **Note:** Created in {@link #render}.\n\t */\n\tprivate _resizeObserver: ResizeObserver | null;\n\n\t/**\n\t * Creates an instance of the inline editor UI view.\n\t *\n\t * @param locale The {@link module:core/editor/editor~Editor#locale} instance.\n\t * @param editingView The editing view instance this view is related to.\n\t * @param editableElement The editable element. If not specified, it will be automatically created by\n\t * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.\n\t * @param options Configuration options for the view instance.\n\t * @param options.shouldToolbarGroupWhenFull When set `true` enables automatic items grouping\n\t * in the main {@link module:editor-inline/inlineeditoruiview~InlineEditorUIView#toolbar toolbar}.\n\t * See {@link module:ui/toolbar/toolbarview~ToolbarOptions#shouldGroupWhenFull} to learn more.\n\t * @param options.label When set, this value will be used as an accessible `aria-label` of the\n\t * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.\n\t */\n\tconstructor(\n\t\tlocale: Locale,\n\t\teditingView: EditingView,\n\t\teditableElement?: HTMLElement,\n\t\toptions: {\n\t\t\tshouldToolbarGroupWhenFull?: boolean;\n\t\t\tuseMenuBar?: boolean;\n\t\t\tlabel?: string | Record<string, string>;\n\t\t} = {}\n\t) {\n\t\tsuper( locale );\n\n\t\tthis.toolbar = new ToolbarView( locale, {\n\t\t\tshouldGroupWhenFull: options.shouldToolbarGroupWhenFull,\n\t\t\tisFloating: true\n\t\t} );\n\n\t\tif ( options.useMenuBar ) {\n\t\t\tthis.menuBarView = new MenuBarView( locale );\n\t\t}\n\n\t\tthis.set( 'viewportTopOffset', 0 );\n\n\t\tthis.panel = new BalloonPanelView( locale );\n\t\tthis.panelPositions = this._getPanelPositions();\n\n\t\tthis.panel.extendTemplate( {\n\t\t\tattributes: {\n\t\t\t\tclass: 'ck-toolbar-container'\n\t\t\t}\n\t\t} );\n\n\t\tthis.editable = new InlineEditableUIView( locale, editingView, editableElement, {\n\t\t\tlabel: options.label\n\t\t} );\n\n\t\tthis._resizeObserver = null;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override render(): void {\n\t\tsuper.render();\n\n\t\tthis.body.add( this.panel );\n\t\tthis.registerChild( this.editable );\n\n\t\tif ( this.menuBarView ) {\n\t\t\t// Set toolbar as a child of a stickyPanel and makes toolbar sticky.\n\t\t\tthis.panel.content.addMany( [ this.menuBarView, this.toolbar ] );\n\t\t} else {\n\t\t\tthis.panel.content.add( this.toolbar );\n\t\t}\n\n\t\tconst options = this.toolbar.options;\n\n\t\t// Set toolbar's max-width on the initialization and update it on the editable resize,\n\t\t// if 'shouldToolbarGroupWhenFull' in config is set to 'true'.\n\t\tif ( options.shouldGroupWhenFull ) {\n\t\t\tconst editableElement = this.editable.element!;\n\n\t\t\tthis._resizeObserver = new ResizeObserver( editableElement, () => {\n\t\t\t\tthis.toolbar.maxWidth = toPx( new Rect( editableElement ).width );\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override destroy(): void {\n\t\tsuper.destroy();\n\n\t\tif ( this._resizeObserver ) {\n\t\t\tthis._resizeObserver.destroy();\n\t\t}\n\t}\n\n\t/**\n\t * Determines the panel top position of the {@link #panel} in {@link #panelPositions}.\n\t *\n\t * @param editableRect Rect of the {@link #element}.\n\t * @param panelRect Rect of the {@link #panel}.\n\t */\n\tprivate _getPanelPositionTop( editableRect: Rect, panelRect: Rect ): number {\n\t\tlet top;\n\n\t\tif ( editableRect.top > panelRect.height + this.viewportTopOffset ) {\n\t\t\ttop = editableRect.top - panelRect.height;\n\t\t} else if ( editableRect.bottom > panelRect.height + this.viewportTopOffset + 50 ) {\n\t\t\ttop = this.viewportTopOffset;\n\t\t} else {\n\t\t\ttop = editableRect.bottom;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\t/**\n\t * Returns the positions for {@link #panelPositions}.\n\t *\n\t * See: {@link module:utils/dom/position~Options#positions}.\n\t */\n\tprivate _getPanelPositions(): Array<PositioningFunction> {\n\t\tconst positions: Array<PositioningFunction> = [\n\t\t\t( editableRect, panelRect ) => {\n\t\t\t\treturn {\n\t\t\t\t\ttop: this._getPanelPositionTop( editableRect, panelRect ),\n\t\t\t\t\tleft: editableRect.left,\n\t\t\t\t\tname: 'toolbar_west',\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\twithArrow: false\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\t( editableRect, panelRect ) => {\n\t\t\t\treturn {\n\t\t\t\t\ttop: this._getPanelPositionTop( editableRect, panelRect ),\n\t\t\t\t\tleft: editableRect.left + editableRect.width - panelRect.width,\n\t\t\t\t\tname: 'toolbar_east',\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\twithArrow: false\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t];\n\n\t\tif ( this.locale.uiLanguageDirection === 'ltr' ) {\n\t\t\treturn positions;\n\t\t} else {\n\t\t\treturn positions.reverse();\n\t\t}\n\t}\n}\n","/**\n * @license 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/**\n * @module editor-inline/inlineeditor\n */\n\nimport {\n\tEditor,\n\tElementApiMixin,\n\tattachToForm,\n\tsecureSourceElement,\n\ttype EditorConfig,\n\ttype EditorReadyEvent\n} from 'ckeditor5/src/core.js';\nimport { getDataFromElement, CKEditorError } from 'ckeditor5/src/utils.js';\n\nimport InlineEditorUI from './inlineeditorui.js';\nimport InlineEditorUIView from './inlineeditoruiview.js';\n\nimport { isElement as _isElement } from 'lodash-es';\n\n/**\n * The inline editor implementation. It uses an inline editable and a floating toolbar.\n * See the {@glink examples/builds/inline-editor demo}.\n *\n * In order to create a inline editor instance, use the static\n * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method.\n */\nexport default class InlineEditor extends /* #__PURE__ */ ElementApiMixin( Editor ) {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get editorName(): 'InlineEditor' {\n\t\treturn 'InlineEditor';\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic readonly ui: InlineEditorUI;\n\n\t/**\n\t * Creates an instance of the inline editor.\n\t *\n\t * **Note:** Do not use the constructor to create editor instances. Use the static\n\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method instead.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * (on which the editor will be initialized) or initial data for the editor. For more information see\n\t * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`}.\n\t * @param config The editor configuration.\n\t */\n\tprotected constructor( sourceElementOrData: HTMLElement | string, config: EditorConfig = {} ) {\n\t\t// If both `config.initialData` and initial data parameter in `create()` are set, then throw.\n\t\tif ( !isElement( sourceElementOrData ) && config.initialData !== undefined ) {\n\t\t\t// Documented in core/editor/editorconfig.jsdoc.\n\t\t\t// eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n\t\t\tthrow new CKEditorError( 'editor-create-initial-data', null );\n\t\t}\n\n\t\tsuper( config );\n\n\t\tthis.config.define( 'menuBar.isVisible', false );\n\n\t\tif ( this.config.get( 'initialData' ) === undefined ) {\n\t\t\tthis.config.set( 'initialData', getInitialData( sourceElementOrData ) );\n\t\t}\n\n\t\tthis.model.document.createRoot();\n\n\t\tif ( isElement( sourceElementOrData ) ) {\n\t\t\tthis.sourceElement = sourceElementOrData;\n\t\t\tsecureSourceElement( this, sourceElementOrData );\n\t\t}\n\n\t\tconst shouldToolbarGroupWhenFull = !this.config.get( 'toolbar.shouldNotGroupWhenFull' );\n\n\t\tconst menuBarConfig = this.config.get( 'menuBar' )!;\n\n\t\tconst view = new InlineEditorUIView( this.locale, this.editing.view, this.sourceElement, {\n\t\t\tshouldToolbarGroupWhenFull,\n\t\t\tuseMenuBar: menuBarConfig.isVisible,\n\t\t\tlabel: this.config.get( 'label' )\n\t\t} );\n\t\tthis.ui = new InlineEditorUI( this, view );\n\n\t\tattachToForm( this );\n\t}\n\n\t/**\n\t * Destroys the editor instance, releasing all resources used by it.\n\t *\n\t * Updates the original editor element with the data if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}\n\t * configuration option is set to `true`.\n\t */\n\tpublic override destroy(): Promise<unknown> {\n\t\t// Cache the data, then destroy.\n\t\t// It's safe to assume that the model->view conversion will not work after super.destroy().\n\t\tconst data = this.getData();\n\n\t\tthis.ui.destroy();\n\n\t\treturn super.destroy()\n\t\t\t.then( () => {\n\t\t\t\tif ( this.sourceElement ) {\n\t\t\t\t\tthis.updateSourceElement( data );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\t/**\n\t * Creates a new inline editor instance.\n\t *\n\t * There are three general ways how the editor can be initialized.\n\t *\n\t * # Using an existing DOM element (and loading data from it)\n\t *\n\t * You can initialize the editor using an existing DOM element:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( document.querySelector( '#editor' ) )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * The element's content will be used as the editor data and the element will become the editable element.\n\t *\n\t * # Creating a detached editor\n\t *\n\t * Alternatively, you can initialize the editor by passing the initial data directly as a `String`.\n\t * In this case, the editor will render an element that must be inserted into the DOM for the editor to work properly:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( '<p>Hello world!</p>' )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t *\n\t * \t\t// Initial data was provided so the editor UI element needs to be added manually to the DOM.\n\t * \t\tdocument.body.appendChild( editor.ui.element );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This lets you dynamically append the editor to your web page whenever it is convenient for you. You may use this method if your\n\t * web page content is generated on the client side and the DOM structure is not ready at the moment when you initialize the editor.\n\t *\n\t * # Using an existing DOM element (and data provided in `config.initialData`)\n\t *\n\t * You can also mix these two ways by providing a DOM element to be used and passing the initial data through the configuration:\n\t *\n\t * ```ts\n\t * InlineEditor\n\t * \t.create( document.querySelector( '#editor' ), {\n\t * \t\tinitialData: '<h2>Initial data</h2><p>Foo bar.</p>'\n\t * \t} )\n\t * \t.then( editor => {\n\t * \t\tconsole.log( 'Editor was initialized', editor );\n\t * \t} )\n\t * \t.catch( err => {\n\t * \t\tconsole.error( err.stack );\n\t * \t} );\n\t * ```\n\t *\n\t * This method can be used to initialize the editor on an existing element with the specified content in case if your integration\n\t * makes it difficult to set the content of the source element.\n\t *\n\t * Note that an error will be thrown if you pass the initial data both as the first parameter and also in the configuration.\n\t *\n\t * # Configuring the editor\n\t *\n\t * See the {@link module:core/editor/editorconfig~EditorConfig editor configuration documentation} to learn more about\n\t * customizing plugins, toolbar and more.\n\t *\n\t * @param sourceElementOrData The DOM element that will be the source for the created editor\n\t * or the editor's initial data.\n\t *\n\t * If a DOM element is passed, its content will be automatically loaded to the editor upon initialization.\n\t * The editor data will be set back to the original element once the editor is destroyed only if the\n\t * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy updateSourceElementOnDestroy}\n\t * option is set to `true`.\n\t *\n\t * If the initial data is passed, a detached editor will be created. In this case you need to insert it into the DOM manually.\n\t * It is available under the {@link module:editor-inline/inlineeditorui~InlineEditorUI#element `editor.ui.element`} property.\n\t *\n\t * @param config The editor configuration.\n\t * @returns A promise resolved once the editor is ready. The promise resolves with the created editor instance.\n\t */\n\tpublic static override create( sourceElementOrData: HTMLElement | string, config: EditorConfig = {} ): Promise<InlineEditor> {\n\t\treturn new Promise( resolve => {\n\t\t\tif ( isElement( sourceElementOrData ) && sourceElementOrData.tagName === 'TEXTAREA' ) {\n\t\t\t\t// Documented in core/editor/editor.js\n\t\t\t\t// eslint-disable-next-line ckeditor5-rules/ckeditor-error-message\n\t\t\t\tthrow new CKEditorError( 'editor-wrong-element', null );\n\t\t\t}\n\n\t\t\tconst editor = new this( sourceElementOrData, config );\n\n\t\t\tresolve(\n\t\t\t\teditor.initPlugins()\n\t\t\t\t\t.then( () => editor.ui.init() )\n\t\t\t\t\t.then( () => editor.data.init( editor.config.get( 'initialData' )! ) )\n\t\t\t\t\t.then( () => editor.fire<EditorReadyEvent>( 'ready' ) )\n\t\t\t\t\t.then( () => editor )\n\t\t\t);\n\t\t} );\n\t}\n}\n\nfunction getInitialData( sourceElementOrData: HTMLElement | string ): string {\n\treturn isElement( sourceElementOrData ) ? getDataFromElement( sourceElementOrData ) : sourceElementOrData;\n}\n\nfunction isElement( value: any ): value is Element {\n\treturn _isElement( value );\n}\n"]}
@@ -20,6 +20,10 @@ declare const InlineEditor_base: import("ckeditor5/src/utils.js").Mixed<typeof E
20
20
  * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method.
21
21
  */
22
22
  export default class InlineEditor extends /* #__PURE__ */ InlineEditor_base {
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ static get editorName(): 'InlineEditor';
23
27
  /**
24
28
  * @inheritDoc
25
29
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckeditor/ckeditor5-editor-inline",
3
- "version": "43.3.1",
3
+ "version": "44.0.0-alpha.1",
4
4
  "description": "Inline editor implementation for CKEditor 5.",
5
5
  "keywords": [
6
6
  "ckeditor",
@@ -12,11 +12,11 @@
12
12
  "type": "module",
13
13
  "main": "src/index.js",
14
14
  "dependencies": {
15
- "@ckeditor/ckeditor5-core": "43.3.1",
16
- "@ckeditor/ckeditor5-engine": "43.3.1",
17
- "@ckeditor/ckeditor5-ui": "43.3.1",
18
- "@ckeditor/ckeditor5-utils": "43.3.1",
19
- "ckeditor5": "43.3.1",
15
+ "@ckeditor/ckeditor5-core": "44.0.0-alpha.1",
16
+ "@ckeditor/ckeditor5-engine": "44.0.0-alpha.1",
17
+ "@ckeditor/ckeditor5-ui": "44.0.0-alpha.1",
18
+ "@ckeditor/ckeditor5-utils": "44.0.0-alpha.1",
19
+ "ckeditor5": "44.0.0-alpha.1",
20
20
  "lodash-es": "4.17.21"
21
21
  },
22
22
  "author": "CKSource (http://cksource.com/)",
@@ -16,6 +16,10 @@ declare const InlineEditor_base: import("ckeditor5/src/utils.js").Mixed<typeof E
16
16
  * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method.
17
17
  */
18
18
  export default class InlineEditor extends /* #__PURE__ */ InlineEditor_base {
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ static get editorName(): 'InlineEditor';
19
23
  /**
20
24
  * @inheritDoc
21
25
  */
@@ -18,6 +18,12 @@ import { isElement as _isElement } from 'lodash-es';
18
18
  * {@link module:editor-inline/inlineeditor~InlineEditor.create `InlineEditor.create()`} method.
19
19
  */
20
20
  export default class InlineEditor extends /* #__PURE__ */ ElementApiMixin(Editor) {
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ static get editorName() {
25
+ return 'InlineEditor';
26
+ }
21
27
  /**
22
28
  * Creates an instance of the inline editor.
23
29
  *