@ckeditor/ckeditor5-editor-balloon 48.8.1-alpha.3 → 49.0.0-alpha.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.
@@ -1,38 +1,39 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module editor-balloon/ballooneditoruiview
7
- */
8
- import { EditorUIView, InlineEditableUIView, MenuBarView } from '@ckeditor/ckeditor5-ui';
9
- import type { Locale } from '@ckeditor/ckeditor5-utils';
10
- import type { EditingView } from '@ckeditor/ckeditor5-engine';
6
+ * @module editor-balloon/ballooneditoruiview
7
+ */
8
+ import { EditorUIView, InlineEditableUIView, MenuBarView } from "@ckeditor/ckeditor5-ui";
9
+ import type { Locale } from "@ckeditor/ckeditor5-utils";
10
+ import type { EditingView } from "@ckeditor/ckeditor5-engine";
11
+ import type { ViewRootElementDefinition } from "@ckeditor/ckeditor5-core";
11
12
  /**
12
- * Contextual editor UI view. Uses the {@link module:ui/editableui/inline/inlineeditableuiview~InlineEditableUIView}.
13
- */
13
+ * Contextual editor UI view. Uses the {@link module:ui/editableui/inline/inlineeditableuiview~InlineEditableUIView}.
14
+ */
14
15
  export declare class BalloonEditorUIView extends EditorUIView {
15
- /**
16
- * Editable UI view.
17
- */
18
- readonly editable: InlineEditableUIView;
19
- /**
20
- * Menu bar view instance.
21
- */
22
- menuBarView: MenuBarView;
23
- /**
24
- * Creates an instance of the balloon editor UI view.
25
- *
26
- * @param locale The {@link module:core/editor/editor~Editor#locale} instance.
27
- * @param editingView The editing view instance this view is related to.
28
- * @param editableElement The editable element. If not specified, it will be automatically created by
29
- * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.
30
- * @param label When set, this value will be used as an accessible `aria-label` of the
31
- * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.
32
- */
33
- constructor(locale: Locale, editingView: EditingView, editableElement?: HTMLElement, label?: string | Record<string, string>);
34
- /**
35
- * @inheritDoc
36
- */
37
- render(): void;
16
+ /**
17
+ * Editable UI view.
18
+ */
19
+ readonly editable: InlineEditableUIView;
20
+ /**
21
+ * Menu bar view instance.
22
+ */
23
+ override menuBarView: MenuBarView;
24
+ /**
25
+ * Creates an instance of the balloon editor UI view.
26
+ *
27
+ * @param locale The {@link module:core/editor/editor~Editor#locale} instance.
28
+ * @param editingView The editing view instance this view is related to.
29
+ * @param editableElement The editable element. If not specified, it will be automatically created by
30
+ * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.
31
+ * @param label When set, this value will be used as an accessible `aria-label` of the
32
+ * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.
33
+ */
34
+ constructor(locale: Locale, editingView: EditingView, editableElement?: HTMLElement | ViewRootElementDefinition, label?: string | Record<string, string>);
35
+ /**
36
+ * @inheritDoc
37
+ */
38
+ override render(): void;
38
39
  }
@@ -2,3 +2,6 @@
2
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
+
6
+
7
+ /*# sourceMappingURL=index-content.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index-content.css"],"names":[],"mappings":";;;;;;AAEA,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC","file":"index-content.css.map","sourcesContent":["\n\n/*# sourceMappingURL=index-content.css.map */"]}
@@ -2,3 +2,6 @@
2
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
+
6
+
7
+ /*# sourceMappingURL=index-editor.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index-editor.css"],"names":[],"mappings":";;;;;;AAEA,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC","file":"index-editor.css.map","sourcesContent":["\n\n/*# sourceMappingURL=index-editor.css.map */"]}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module editor-balloon
7
- */
8
- export { BalloonEditor } from './ballooneditor.js';
9
- export { BalloonEditorUI } from './ballooneditorui.js';
10
- export { BalloonEditorUIView } from './ballooneditoruiview.js';
6
+ * @module editor-balloon
7
+ */
8
+ export { BalloonEditor } from "./ballooneditor.js";
9
+ export { BalloonEditorUI } from "./ballooneditorui.js";
10
+ export { BalloonEditorUIView } from "./ballooneditoruiview.js";
package/dist/index.js CHANGED
@@ -2,214 +2,215 @@
2
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
- import { ElementApiMixin, Editor, normalizeSingleRootEditorConstructorParams, normalizeRootsConfig, secureSourceElement, registerAndInitializeRootConfigAttributes, attachToForm, verifyRootElements } from '@ckeditor/ckeditor5-core/dist/index.js';
6
- import { EditorUI, EditorUIView, InlineEditableUIView, MenuBarView, BalloonToolbar } from '@ckeditor/ckeditor5-ui/dist/index.js';
7
- import { CKEditorError } from '@ckeditor/ckeditor5-utils/dist/index.js';
8
- import { enableViewPlaceholder } from '@ckeditor/ckeditor5-engine/dist/index.js';
9
- import { isElement as isElement$1 } from 'es-toolkit/compat';
5
+ import { Editor, ElementApiMixin, attachToForm, normalizeRootsConfig, normalizeSingleRootEditorConstructorParams, registerAndInitializeRootConfigAttributes, rootAcceptsBlocks, secureSourceElement, verifyRootElements } from "@ckeditor/ckeditor5-core";
6
+ import { BalloonToolbar, EditorUI, EditorUIView, InlineEditableUIView, MenuBarView } from "@ckeditor/ckeditor5-ui";
7
+ import { enableViewPlaceholder } from "@ckeditor/ckeditor5-engine";
8
+ import { isElement } from "es-toolkit/compat";
10
9
 
11
10
  /**
12
- * The balloon editor UI class.
13
- */ class BalloonEditorUI extends EditorUI {
14
- /**
15
- * The main (top–most) view of the editor UI.
16
- */ view;
17
- /**
18
- * Creates an instance of the balloon editor UI class.
19
- *
20
- * @param editor The editor instance.
21
- * @param view The view of the UI.
22
- */ constructor(editor, view){
23
- super(editor);
24
- this.view = view;
25
- }
26
- /**
27
- * @inheritDoc
28
- */ get element() {
29
- return this.view.editable.element;
30
- }
31
- /**
32
- * Initializes the UI.
33
- */ init() {
34
- const editor = this.editor;
35
- const view = this.view;
36
- const editingView = editor.editing.view;
37
- const editable = view.editable;
38
- const editingRoot = editingView.document.getRoot();
39
- // The editable UI and editing root should share the same name. Then name is used
40
- // to recognize the particular editable, for instance in ARIA attributes.
41
- editable.name = editingRoot.rootName;
42
- view.render();
43
- // The editable UI element in DOM is available for sure only after the editor UI view has been rendered.
44
- // But it can be available earlier if a DOM element has been passed to BalloonEditor.create().
45
- const editableElement = editable.element;
46
- // Register the editable UI view in the editor. A single editor instance can aggregate multiple
47
- // editable areas (roots) but the balloon editor has only one.
48
- this.setEditableElement(editable.name, editableElement);
49
- // Let the editable UI element respond to the changes in the global editor focus
50
- // tracker. It has been added to the same tracker a few lines above but, in reality, there are
51
- // many focusable areas in the editor, like balloons, toolbars or dropdowns and as long
52
- // as they have focus, the editable should act like it is focused too (although technically
53
- // it isn't), e.g. by setting the proper CSS class, visually announcing focus to the user.
54
- // Doing otherwise will result in editable focus styles disappearing, once e.g. the
55
- // toolbar gets focused.
56
- editable.bind('isFocused').to(this.focusTracker);
57
- // Bind the editable UI element to the editing view, making it an end– and entry–point
58
- // of the editor's engine. This is where the engine meets the UI.
59
- editingView.attachDomRoot(editableElement);
60
- this._initPlaceholder();
61
- this.initMenuBar(this.view.menuBarView);
62
- this.fire('ready');
63
- }
64
- /**
65
- * @inheritDoc
66
- */ destroy() {
67
- super.destroy();
68
- const view = this.view;
69
- const editingView = this.editor.editing.view;
70
- if (editingView.getDomRoot(view.editable.name)) {
71
- editingView.detachDomRoot(view.editable.name);
72
- }
73
- view.destroy();
74
- }
75
- /**
76
- * Enable the placeholder text on the editing root.
77
- */ _initPlaceholder() {
78
- const editor = this.editor;
79
- const editingView = editor.editing.view;
80
- const editingRoot = editingView.document.getRoot();
81
- const placeholder = editor.config.get('roots')[editingRoot.rootName].placeholder;
82
- if (placeholder) {
83
- editingRoot.placeholder = placeholder;
84
- }
85
- enableViewPlaceholder({
86
- view: editingView,
87
- element: editingRoot,
88
- isDirectHost: false,
89
- keepOnFocus: true
90
- });
91
- }
92
- }
11
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
12
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
13
+ */
14
+ /**
15
+ * @module editor-balloon/ballooneditorui
16
+ */
17
+ /**
18
+ * The balloon editor UI class.
19
+ */
20
+ var BalloonEditorUI = class extends EditorUI {
21
+ /**
22
+ * The main (top–most) view of the editor UI.
23
+ */
24
+ view;
25
+ /**
26
+ * Creates an instance of the balloon editor UI class.
27
+ *
28
+ * @param editor The editor instance.
29
+ * @param view The view of the UI.
30
+ */
31
+ constructor(editor, view) {
32
+ super(editor);
33
+ this.view = view;
34
+ }
35
+ /**
36
+ * @inheritDoc
37
+ */
38
+ get element() {
39
+ return this.view.editable.element;
40
+ }
41
+ /**
42
+ * Initializes the UI.
43
+ */
44
+ init() {
45
+ const editor = this.editor;
46
+ const view = this.view;
47
+ const editingView = editor.editing.view;
48
+ const editable = view.editable;
49
+ const editingRoot = editingView.document.getRoot();
50
+ editable.name = editingRoot.rootName;
51
+ editable.isInlineRoot = !rootAcceptsBlocks(editor, editingRoot.rootName);
52
+ view.render();
53
+ const editableElement = editable.element;
54
+ this.setEditableElement(editable.name, editableElement);
55
+ editable.bind("isFocused").to(this.focusTracker);
56
+ editingView.attachDomRoot(editableElement);
57
+ this._initPlaceholder();
58
+ this.initMenuBar(this.view.menuBarView);
59
+ this.fire("ready");
60
+ }
61
+ /**
62
+ * @inheritDoc
63
+ */
64
+ destroy() {
65
+ super.destroy();
66
+ const view = this.view;
67
+ const editingView = this.editor.editing.view;
68
+ if (editingView.getDomRoot(view.editable.name)) editingView.detachDomRoot(view.editable.name);
69
+ view.destroy();
70
+ }
71
+ /**
72
+ * Enable the placeholder text on the editing root.
73
+ */
74
+ _initPlaceholder() {
75
+ const editor = this.editor;
76
+ const editingView = editor.editing.view;
77
+ const editingRoot = editingView.document.getRoot();
78
+ const placeholder = editor.config.get("roots")[editingRoot.rootName].placeholder;
79
+ if (placeholder) editingRoot.placeholder = placeholder;
80
+ enableViewPlaceholder({
81
+ view: editingView,
82
+ element: editingRoot,
83
+ isDirectHost: this.view.editable.isInlineRoot,
84
+ keepOnFocus: true
85
+ });
86
+ }
87
+ };
93
88
 
94
89
  /**
95
- * Contextual editor UI view. Uses the {@link module:ui/editableui/inline/inlineeditableuiview~InlineEditableUIView}.
96
- */ class BalloonEditorUIView extends EditorUIView {
97
- /**
98
- * Editable UI view.
99
- */ editable;
100
- /**
101
- * Menu bar view instance.
102
- */ menuBarView;
103
- /**
104
- * Creates an instance of the balloon editor UI view.
105
- *
106
- * @param locale The {@link module:core/editor/editor~Editor#locale} instance.
107
- * @param editingView The editing view instance this view is related to.
108
- * @param editableElement The editable element. If not specified, it will be automatically created by
109
- * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.
110
- * @param label When set, this value will be used as an accessible `aria-label` of the
111
- * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.
112
- */ constructor(locale, editingView, editableElement, label){
113
- super(locale);
114
- this.editable = new InlineEditableUIView(locale, editingView, editableElement, {
115
- label
116
- });
117
- this.menuBarView = new MenuBarView(locale);
118
- this.menuBarView.extendTemplate({
119
- attributes: {
120
- class: [
121
- 'ck-reset_all',
122
- 'ck-rounded-corners'
123
- ],
124
- dir: locale.uiLanguageDirection
125
- }
126
- });
127
- }
128
- /**
129
- * @inheritDoc
130
- */ render() {
131
- super.render();
132
- this.registerChild(this.editable);
133
- this.registerChild(this.menuBarView);
134
- }
135
- }
90
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
91
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
92
+ */
93
+ /**
94
+ * @module editor-balloon/ballooneditoruiview
95
+ */
96
+ /**
97
+ * Contextual editor UI view. Uses the {@link module:ui/editableui/inline/inlineeditableuiview~InlineEditableUIView}.
98
+ */
99
+ var BalloonEditorUIView = class extends EditorUIView {
100
+ /**
101
+ * Editable UI view.
102
+ */
103
+ editable;
104
+ /**
105
+ * Menu bar view instance.
106
+ */
107
+ menuBarView;
108
+ /**
109
+ * Creates an instance of the balloon editor UI view.
110
+ *
111
+ * @param locale The {@link module:core/editor/editor~Editor#locale} instance.
112
+ * @param editingView The editing view instance this view is related to.
113
+ * @param editableElement The editable element. If not specified, it will be automatically created by
114
+ * {@link module:ui/editableui/editableuiview~EditableUIView}. Otherwise, the given element will be used.
115
+ * @param label When set, this value will be used as an accessible `aria-label` of the
116
+ * {@link module:ui/editableui/editableuiview~EditableUIView editable view}.
117
+ */
118
+ constructor(locale, editingView, editableElement, label) {
119
+ super(locale);
120
+ this.editable = new InlineEditableUIView(locale, editingView, editableElement, { label });
121
+ this.menuBarView = new MenuBarView(locale);
122
+ this.menuBarView.extendTemplate({ attributes: {
123
+ class: ["ck-reset_all", "ck-rounded-corners"],
124
+ dir: locale.uiLanguageDirection
125
+ } });
126
+ }
127
+ /**
128
+ * @inheritDoc
129
+ */
130
+ render() {
131
+ super.render();
132
+ this.registerChild(this.editable);
133
+ this.registerChild(this.menuBarView);
134
+ }
135
+ };
136
136
 
137
137
  /**
138
- * The balloon editor implementation (Medium-like editor).
139
- * It uses an inline editable and a toolbar based on the {@link module:ui/toolbar/balloon/balloontoolbar~BalloonToolbar}.
140
- * See the {@glink examples/builds/balloon-editor demo}.
141
- *
142
- * In order to create a balloon editor instance, use the static
143
- * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`} method.
144
- */ class BalloonEditor extends /* #__PURE__ */ ElementApiMixin(Editor) {
145
- /**
146
- * @inheritDoc
147
- */ static get editorName() {
148
- return 'BalloonEditor';
149
- }
150
- /**
151
- * @inheritDoc
152
- */ ui;
153
- constructor(sourceElementOrDataOrConfig, config = {}){
154
- const { sourceElementOrData, editorConfig } = normalizeSingleRootEditorConstructorParams(sourceElementOrDataOrConfig, config);
155
- super(editorConfig);
156
- normalizeRootsConfig(sourceElementOrData, this.config);
157
- // From this point use only normalized `roots.main.element`.
158
- const sourceElement = this.config.get('roots').main.element;
159
- if (isElement(sourceElement)) {
160
- if (sourceElement.tagName === 'TEXTAREA') {
161
- // Documented in core/editor/editor.js
162
- // eslint-disable-next-line ckeditor5-rules/ckeditor-error-message
163
- throw new CKEditorError('editor-wrong-element', null);
164
- }
165
- this.sourceElement = sourceElement;
166
- secureSourceElement(this, sourceElement);
167
- }
168
- const plugins = this.config.get('plugins');
169
- plugins.push(BalloonToolbar);
170
- this.config.set('plugins', plugins);
171
- this.config.define('balloonToolbar', this.config.get('toolbar'));
172
- this.model.document.createRoot(this.config.get('roots').main.modelElement);
173
- registerAndInitializeRootConfigAttributes(this);
174
- const view = new BalloonEditorUIView(this.locale, this.editing.view, this.sourceElement, this.config.get('roots').main.label);
175
- this.ui = new BalloonEditorUI(this, view);
176
- attachToForm(this);
177
- }
178
- /**
179
- * Destroys the editor instance, releasing all resources used by it.
180
- *
181
- * Updates the original editor element with the data if the
182
- * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}
183
- * configuration option is set to `true`.
184
- */ async destroy() {
185
- // Cache the data, then destroy.
186
- // It's safe to assume that the model->view conversion will not work after super.destroy().
187
- const data = this.getData();
188
- this.ui.destroy();
189
- await super.destroy();
190
- if (this.sourceElement) {
191
- this.updateSourceElement(data);
192
- }
193
- // To satisfy the return type and to keep it backward compatible.
194
- // eslint-disable-next-line no-useless-return
195
- return;
196
- }
197
- static async create(sourceElementOrDataOrConfig, config = {}) {
198
- const editor = new this(sourceElementOrDataOrConfig, config);
199
- await editor.initPlugins();
200
- // Roots are created in the editor constructor (before plugins are loaded), but the schema is only fully
201
- // built after plugins register their items during init(). Custom root element names (e.g. registered by a
202
- // plugin) may not exist in the schema at construction time, so we defer this check until here.
203
- verifyRootElements(editor);
204
- await editor.ui.init();
205
- await editor.data.init(editor.config.get('roots').main.initialData);
206
- editor.fire('ready');
207
- return editor;
208
- }
209
- }
210
- function isElement(value) {
211
- return isElement$1(value);
138
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
139
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
140
+ */
141
+ /**
142
+ * @module editor-balloon/ballooneditor
143
+ */
144
+ const BalloonEditorBase = /* #__PURE__ */ ElementApiMixin(Editor);
145
+ /**
146
+ * The balloon editor implementation (Medium-like editor).
147
+ * It uses an inline editable and a toolbar based on the {@link module:ui/toolbar/balloon/balloontoolbar~BalloonToolbar}.
148
+ * See the {@glink examples/builds/balloon-editor demo}.
149
+ *
150
+ * In order to create a balloon editor instance, use the static
151
+ * {@link module:editor-balloon/ballooneditor~BalloonEditor.create `BalloonEditor.create()`} method.
152
+ */
153
+ var BalloonEditor = class extends BalloonEditorBase {
154
+ /**
155
+ * @inheritDoc
156
+ */
157
+ static get editorName() {
158
+ return "BalloonEditor";
159
+ }
160
+ /**
161
+ * @inheritDoc
162
+ */
163
+ ui;
164
+ constructor(sourceElementOrDataOrConfig, config = {}) {
165
+ const { sourceElementOrData, editorConfig } = normalizeSingleRootEditorConstructorParams(sourceElementOrDataOrConfig, config);
166
+ super(editorConfig);
167
+ normalizeRootsConfig(sourceElementOrData, this.config);
168
+ const editableElement = this.config.get("roots").main.element;
169
+ if (isElement$1(editableElement)) {
170
+ this.sourceElement = editableElement;
171
+ secureSourceElement(this, editableElement);
172
+ }
173
+ const plugins = this.config.get("plugins");
174
+ plugins.push(BalloonToolbar);
175
+ this.config.set("plugins", plugins);
176
+ this.config.define("balloonToolbar", this.config.get("toolbar"));
177
+ this.model.document.createRoot(this.config.get("roots").main.modelElement);
178
+ registerAndInitializeRootConfigAttributes(this);
179
+ const view = new BalloonEditorUIView(this.locale, this.editing.view, editableElement, this.config.get("roots").main.label);
180
+ this.ui = new BalloonEditorUI(this, view);
181
+ attachToForm(this);
182
+ }
183
+ /**
184
+ * Destroys the editor instance, releasing all resources used by it.
185
+ *
186
+ * Updates the original editor element with the data if the
187
+ * {@link module:core/editor/editorconfig~EditorConfig#updateSourceElementOnDestroy `updateSourceElementOnDestroy`}
188
+ * configuration option is set to `true`.
189
+ */
190
+ async destroy() {
191
+ const data = this.getData();
192
+ this.ui.destroy();
193
+ await super.destroy();
194
+ if (this.sourceElement) this.updateSourceElement(data);
195
+ }
196
+ static async create(sourceElementOrDataOrConfig, config = {}) {
197
+ const editor = new this(sourceElementOrDataOrConfig, config);
198
+ await editor.initPlugins();
199
+ verifyRootElements(editor);
200
+ await editor.ui.init();
201
+ await editor.data.init(editor.config.get("roots").main.initialData);
202
+ editor.fire("ready");
203
+ return editor;
204
+ }
205
+ };
206
+ function isElement$1(value) {
207
+ return isElement(value);
212
208
  }
213
209
 
210
+ /**
211
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
212
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
213
+ */
214
+
214
215
  export { BalloonEditor, BalloonEditorUI, BalloonEditorUIView };
215
- //# sourceMappingURL=index.js.map
216
+ //# sourceMappingURL=index.js.map