@ckeditor/ckeditor5-editor-inline 38.2.0-alpha.1 → 39.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/build/editor-inline.js +1 -1
- package/package.json +3 -4
- package/src/index.d.ts +1 -1
- package/src/index.js +1 -1
- package/src/inlineeditor.d.ts +4 -4
- package/src/inlineeditor.js +5 -5
- package/src/inlineeditorui.d.ts +4 -4
- package/src/inlineeditorui.js +10 -11
- package/src/inlineeditoruiview.d.ts +3 -3
- package/src/inlineeditoruiview.js +2 -2
package/README.md
CHANGED
|
@@ -4,7 +4,6 @@ CKEditor 5 inline editor implementation
|
|
|
4
4
|
[](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-inline)
|
|
5
5
|
[](https://coveralls.io/github/ckeditor/ckeditor5?branch=master)
|
|
6
6
|
[](https://app.travis-ci.com/github/ckeditor/ckeditor5)
|
|
7
|
-

|
|
8
7
|
|
|
9
8
|
The inline editor implementation for CKEditor 5.
|
|
10
9
|
|
package/build/editor-inline.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md.
|
|
4
|
-
*/(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},492:(t,e,o)=>{t.exports=o(79)("./src/engine.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},209:(t,e,o)=>{t.exports=o(79)("./src/utils.js")},434:(t,e,o)=>{t.exports=o(79)("./src/watchdog.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(i){var r=e[i];if(void 0!==r)return r.exports;var n=e[i]={exports:{}};return t[i](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},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 i={};(()=>{"use strict";o.r(i),o.d(i,{InlineEditor:()=>D});var t=o(704),e=o(209),r=o(434),n=o(273),s=o(492);class l 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,i=e.editable,r=o.document.getRoot();i.name=r.rootName,e.render();const n=i.element;this.setEditableElement(i.name,n),i.bind("isFocused").to(this.focusTracker),o.attachDomRoot(n),this._initPlaceholder(),this._initToolbar(),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,i=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})})),i.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(i)}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),i=
|
|
4
|
+
*/(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},492:(t,e,o)=>{t.exports=o(79)("./src/engine.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},209:(t,e,o)=>{t.exports=o(79)("./src/utils.js")},434:(t,e,o)=>{t.exports=o(79)("./src/watchdog.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(i){var r=e[i];if(void 0!==r)return r.exports;var n=e[i]={exports:{}};return t[i](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var i in e)o.o(e,i)&&!o.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},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 i={};(()=>{"use strict";o.r(i),o.d(i,{InlineEditor:()=>D});var t=o(704),e=o(209),r=o(434),n=o(273),s=o(492);class l 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,i=e.editable,r=o.document.getRoot();i.name=r.rootName,e.render();const n=i.element;this.setEditableElement(i.name,n),i.bind("isFocused").to(this.focusTracker),o.attachDomRoot(n),this._initPlaceholder(),this._initToolbar(),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,i=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})})),i.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(i)}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),i=t.config.get("placeholder");if(i){const t="string"==typeof i?i:i[o.rootName];t&&(o.placeholder=t)}(0,s.enablePlaceholder)({view:e,element:o,isDirectHost:!1,keepOnFocus:!0})}}const a=(0,e.toUnit)("px");class c extends n.EditorUIView{constructor(t,e,o,i={}){super(t);const r=t.t;this.toolbar=new n.ToolbarView(t,{shouldGroupWhenFull:i.shouldToolbarGroupWhenFull,isFloating:!0}),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:t=>r("Rich Text Editor. Editing area: %0",t.name)}),this._resizeObserver=null}render(){super.render(),this.body.add(this.panel),this.registerChild(this.editable),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=a(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 d=function(t){return null!=t&&"object"==typeof t};const h="object"==typeof global&&global&&global.Object===Object&&global;var u="object"==typeof self&&self&&self.Object===Object&&self;const p=(h||u||Function("return this")()).Symbol;var b=Object.prototype,f=b.hasOwnProperty,g=b.toString,w=p?p.toStringTag:void 0;const v=function(t){var e=f.call(t,w),o=t[w];try{t[w]=void 0;var i=!0}catch(t){}var r=g.call(t);return i&&(e?t[w]=o:delete t[w]),r};var m=Object.prototype.toString;const y=function(t){return m.call(t)};var O=p?p.toStringTag:void 0;const T=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":O&&O in Object(t)?v(t):y(t)};const j=function(t,e){return function(o){return t(e(o))}}(Object.getPrototypeOf,Object);var E=Function.prototype,P=Object.prototype,x=E.toString,_=P.hasOwnProperty,F=x.call(Object);const C=function(t){if(!d(t)||"[object Object]"!=T(t))return!1;var e=j(t);if(null===e)return!0;var o=_.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&x.call(o)==F};const S=function(t){return d(t)&&1===t.nodeType&&!C(t)};class D extends((0,t.DataApiMixin)((0,t.ElementApiMixin)(t.Editor))){constructor(o,i={}){if(!W(o)&&void 0!==i.initialData)throw new e.CKEditorError("editor-create-initial-data",null);super(i),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return W(t)?(0,e.getDataFromElement)(t):t}(o)),this.model.document.createRoot(),W(o)&&(this.sourceElement=o,(0,t.secureSourceElement)(this,o));const r=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new c(this.locale,this.editing.view,this.sourceElement,{shouldToolbarGroupWhenFull:r});this.ui=new l(this,n),(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((i=>{if(W(t)&&"TEXTAREA"===t.tagName)throw new e.CKEditorError("editor-wrong-element",null);const r=new this(t,o);i(r.initPlugins().then((()=>r.ui.init())).then((()=>r.data.init(r.config.get("initialData")))).then((()=>r.fire("ready"))).then((()=>r)))}))}}function W(t){return S(t)}D.Context=t.Context,D.EditorWatchdog=r.EditorWatchdog,D.ContextWatchdog=r.ContextWatchdog})(),(window.CKEditor5=window.CKEditor5||{}).editorInline=i})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-editor-inline",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "39.0.0",
|
|
4
4
|
"description": "Inline editor implementation for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -10,10 +10,9 @@
|
|
|
10
10
|
"ckeditor5-dll"
|
|
11
11
|
],
|
|
12
12
|
"main": "src/index.js",
|
|
13
|
-
"type": "module",
|
|
14
13
|
"dependencies": {
|
|
15
|
-
"ckeditor5": "
|
|
16
|
-
"lodash-es": "
|
|
14
|
+
"ckeditor5": "39.0.0",
|
|
15
|
+
"lodash-es": "4.17.21"
|
|
17
16
|
},
|
|
18
17
|
"engines": {
|
|
19
18
|
"node": ">=16.0.0",
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
package/src/inlineeditor.d.ts
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module editor-inline/inlineeditor
|
|
7
7
|
*/
|
|
8
|
-
import { Editor, Context, type EditorConfig } from 'ckeditor5/src/core
|
|
9
|
-
import { ContextWatchdog, EditorWatchdog } from 'ckeditor5/src/watchdog
|
|
10
|
-
import InlineEditorUI from './inlineeditorui
|
|
11
|
-
declare const InlineEditor_base: import("ckeditor5/src/utils
|
|
8
|
+
import { Editor, Context, type EditorConfig } from 'ckeditor5/src/core';
|
|
9
|
+
import { ContextWatchdog, EditorWatchdog } from 'ckeditor5/src/watchdog';
|
|
10
|
+
import InlineEditorUI from './inlineeditorui';
|
|
11
|
+
declare const InlineEditor_base: import("ckeditor5/src/utils").Mixed<import("ckeditor5/src/utils").Mixed<typeof Editor, import("ckeditor5/src/core").ElementApi>, import("ckeditor5/src/core").DataApi>;
|
|
12
12
|
/**
|
|
13
13
|
* The {@glink installation/getting-started/predefined-builds#inline-editor inline editor} implementation.
|
|
14
14
|
* It uses an inline editable and a floating toolbar.
|
package/src/inlineeditor.js
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module editor-inline/inlineeditor
|
|
7
7
|
*/
|
|
8
|
-
import { Editor, Context, DataApiMixin, ElementApiMixin, attachToForm, secureSourceElement } from 'ckeditor5/src/core
|
|
9
|
-
import { getDataFromElement, CKEditorError } from 'ckeditor5/src/utils
|
|
10
|
-
import { ContextWatchdog, EditorWatchdog } from 'ckeditor5/src/watchdog
|
|
11
|
-
import InlineEditorUI from './inlineeditorui
|
|
12
|
-
import InlineEditorUIView from './inlineeditoruiview
|
|
8
|
+
import { Editor, Context, DataApiMixin, ElementApiMixin, attachToForm, secureSourceElement } from 'ckeditor5/src/core';
|
|
9
|
+
import { getDataFromElement, CKEditorError } from 'ckeditor5/src/utils';
|
|
10
|
+
import { ContextWatchdog, EditorWatchdog } from 'ckeditor5/src/watchdog';
|
|
11
|
+
import InlineEditorUI from './inlineeditorui';
|
|
12
|
+
import InlineEditorUIView from './inlineeditoruiview';
|
|
13
13
|
import { isElement as _isElement } from 'lodash-es';
|
|
14
14
|
/**
|
|
15
15
|
* The {@glink installation/getting-started/predefined-builds#inline-editor inline editor} implementation.
|
package/src/inlineeditorui.d.ts
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module editor-inline/inlineeditorui
|
|
7
7
|
*/
|
|
8
|
-
import { type Editor } from 'ckeditor5/src/core
|
|
9
|
-
import { EditorUI } from 'ckeditor5/src/ui
|
|
10
|
-
import type InlineEditorUIView from './inlineeditoruiview
|
|
8
|
+
import { type Editor } from 'ckeditor5/src/core';
|
|
9
|
+
import { EditorUI } from 'ckeditor5/src/ui';
|
|
10
|
+
import type InlineEditorUIView from './inlineeditoruiview';
|
|
11
11
|
/**
|
|
12
12
|
* The inline editor UI class.
|
|
13
13
|
*
|
|
@@ -46,7 +46,7 @@ export default class InlineEditorUI extends EditorUI {
|
|
|
46
46
|
*/
|
|
47
47
|
private _initToolbar;
|
|
48
48
|
/**
|
|
49
|
-
* Enable the placeholder text on the editing root
|
|
49
|
+
* Enable the placeholder text on the editing root.
|
|
50
50
|
*/
|
|
51
51
|
private _initPlaceholder;
|
|
52
52
|
}
|
package/src/inlineeditorui.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
4
|
*/
|
|
5
|
-
import { EditorUI, normalizeToolbarConfig } from 'ckeditor5/src/ui
|
|
6
|
-
import { enablePlaceholder } from 'ckeditor5/src/engine
|
|
5
|
+
import { EditorUI, normalizeToolbarConfig } from 'ckeditor5/src/ui';
|
|
6
|
+
import { enablePlaceholder } from 'ckeditor5/src/engine';
|
|
7
7
|
/**
|
|
8
8
|
* The inline editor UI class.
|
|
9
9
|
*
|
|
@@ -98,25 +98,24 @@ export default class InlineEditorUI extends EditorUI {
|
|
|
98
98
|
this.addToolbar(toolbar);
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
|
-
* Enable the placeholder text on the editing root
|
|
101
|
+
* Enable the placeholder text on the editing root.
|
|
102
102
|
*/
|
|
103
103
|
_initPlaceholder() {
|
|
104
104
|
const editor = this.editor;
|
|
105
105
|
const editingView = editor.editing.view;
|
|
106
106
|
const editingRoot = editingView.document.getRoot();
|
|
107
|
-
const sourceElement = editor.sourceElement;
|
|
108
107
|
const placeholder = editor.config.get('placeholder');
|
|
109
108
|
if (placeholder) {
|
|
110
109
|
const placeholderText = typeof placeholder === 'string' ? placeholder : placeholder[editingRoot.rootName];
|
|
111
110
|
if (placeholderText) {
|
|
112
|
-
|
|
113
|
-
view: editingView,
|
|
114
|
-
element: editingRoot,
|
|
115
|
-
text: placeholderText,
|
|
116
|
-
isDirectHost: false,
|
|
117
|
-
keepOnFocus: true
|
|
118
|
-
});
|
|
111
|
+
editingRoot.placeholder = placeholderText;
|
|
119
112
|
}
|
|
120
113
|
}
|
|
114
|
+
enablePlaceholder({
|
|
115
|
+
view: editingView,
|
|
116
|
+
element: editingRoot,
|
|
117
|
+
isDirectHost: false,
|
|
118
|
+
keepOnFocus: true
|
|
119
|
+
});
|
|
121
120
|
}
|
|
122
121
|
}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module editor-inline/inlineeditoruiview
|
|
7
7
|
*/
|
|
8
|
-
import { BalloonPanelView, EditorUIView, InlineEditableUIView, ToolbarView } from 'ckeditor5/src/ui
|
|
9
|
-
import { type PositioningFunction, type Locale } from 'ckeditor5/src/utils
|
|
10
|
-
import type { View } from 'ckeditor5/src/engine
|
|
8
|
+
import { BalloonPanelView, EditorUIView, InlineEditableUIView, ToolbarView } from 'ckeditor5/src/ui';
|
|
9
|
+
import { type PositioningFunction, type Locale } from 'ckeditor5/src/utils';
|
|
10
|
+
import type { View } from 'ckeditor5/src/engine';
|
|
11
11
|
/**
|
|
12
12
|
* Inline editor UI view. Uses an nline editable and a floating toolbar.
|
|
13
13
|
*/
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module editor-inline/inlineeditoruiview
|
|
7
7
|
*/
|
|
8
|
-
import { BalloonPanelView, EditorUIView, InlineEditableUIView, ToolbarView } from 'ckeditor5/src/ui
|
|
9
|
-
import { Rect, ResizeObserver, toUnit } from 'ckeditor5/src/utils
|
|
8
|
+
import { BalloonPanelView, EditorUIView, InlineEditableUIView, ToolbarView } from 'ckeditor5/src/ui';
|
|
9
|
+
import { Rect, ResizeObserver, toUnit } from 'ckeditor5/src/utils';
|
|
10
10
|
const toPx = toUnit('px');
|
|
11
11
|
/**
|
|
12
12
|
* Inline editor UI view. Uses an nline editable and a floating toolbar.
|