@ckeditor/ckeditor5-engine 48.2.0 → 48.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/controller/datacontroller.d.ts +329 -328
  2. package/dist/controller/editingcontroller.d.ts +95 -94
  3. package/dist/conversion/comparemarkers.d.ts +45 -45
  4. package/dist/conversion/conversion.d.ts +474 -474
  5. package/dist/conversion/conversionhelpers.d.ts +21 -21
  6. package/dist/conversion/downcastdispatcher.d.ts +539 -538
  7. package/dist/conversion/downcasthelpers.d.ts +1129 -1129
  8. package/dist/conversion/mapper.d.ts +692 -697
  9. package/dist/conversion/modelconsumable.d.ts +196 -196
  10. package/dist/conversion/upcastdispatcher.d.ts +483 -482
  11. package/dist/conversion/upcasthelpers.d.ts +491 -491
  12. package/dist/conversion/viewconsumable.d.ts +330 -330
  13. package/dist/dataprocessor/basichtmlwriter.d.ts +15 -15
  14. package/dist/dataprocessor/dataprocessor.d.ts +57 -57
  15. package/dist/dataprocessor/htmldataprocessor.d.ts +72 -72
  16. package/dist/dataprocessor/htmlwriter.d.ts +11 -11
  17. package/dist/dataprocessor/xmldataprocessor.d.ts +86 -86
  18. package/dist/dev-utils/model.d.ts +128 -123
  19. package/dist/dev-utils/operationreplayer.d.ts +49 -49
  20. package/dist/dev-utils/utils.d.ts +33 -33
  21. package/dist/dev-utils/view.d.ts +314 -309
  22. package/dist/engineconfig.d.ts +39 -39
  23. package/dist/index.css.map +1 -1
  24. package/dist/index.d.ts +150 -150
  25. package/dist/index.js +34026 -40107
  26. package/dist/index.js.map +1 -1
  27. package/dist/legacyerrors.d.ts +0 -4
  28. package/dist/model/batch.d.ts +86 -86
  29. package/dist/model/differ.d.ts +504 -504
  30. package/dist/model/document.d.ts +265 -268
  31. package/dist/model/documentfragment.d.ts +214 -214
  32. package/dist/model/documentselection.d.ts +406 -410
  33. package/dist/model/element.d.ts +182 -182
  34. package/dist/model/history.d.ts +109 -109
  35. package/dist/model/item.d.ts +9 -9
  36. package/dist/model/liveposition.d.ts +70 -69
  37. package/dist/model/liverange.d.ts +93 -92
  38. package/dist/model/markercollection.d.ts +317 -324
  39. package/dist/model/model.d.ts +889 -909
  40. package/dist/model/node.d.ts +254 -254
  41. package/dist/model/nodelist.d.ts +110 -110
  42. package/dist/model/operation/attributeoperation.d.ts +98 -98
  43. package/dist/model/operation/detachoperation.d.ts +57 -57
  44. package/dist/model/operation/insertoperation.d.ts +85 -85
  45. package/dist/model/operation/markeroperation.d.ts +87 -87
  46. package/dist/model/operation/mergeoperation.d.ts +95 -95
  47. package/dist/model/operation/moveoperation.d.ts +97 -97
  48. package/dist/model/operation/nooperation.d.ts +33 -33
  49. package/dist/model/operation/operation.d.ts +94 -94
  50. package/dist/model/operation/operationfactory.d.ts +14 -14
  51. package/dist/model/operation/renameoperation.d.ts +78 -78
  52. package/dist/model/operation/rootattributeoperation.d.ts +93 -93
  53. package/dist/model/operation/rootoperation.d.ts +71 -71
  54. package/dist/model/operation/splitoperation.d.ts +104 -104
  55. package/dist/model/operation/transform.d.ts +91 -91
  56. package/dist/model/operation/utils.d.ts +58 -58
  57. package/dist/model/position.d.ts +535 -535
  58. package/dist/model/range.d.ts +458 -453
  59. package/dist/model/rootelement.d.ts +55 -55
  60. package/dist/model/schema.d.ts +1325 -1327
  61. package/dist/model/selection.d.ts +452 -471
  62. package/dist/model/text.d.ts +62 -62
  63. package/dist/model/textproxy.d.ts +140 -140
  64. package/dist/model/treewalker.d.ts +190 -190
  65. package/dist/model/typecheckable.d.ts +281 -281
  66. package/dist/model/utils/autoparagraphing.d.ts +29 -29
  67. package/dist/model/utils/deletecontent.d.ts +68 -68
  68. package/dist/model/utils/getselectedcontent.d.ts +27 -27
  69. package/dist/model/utils/insertcontent.d.ts +42 -42
  70. package/dist/model/utils/insertobject.d.ts +41 -41
  71. package/dist/model/utils/modifyselection.d.ts +44 -44
  72. package/dist/model/utils/selection-post-fixer.d.ts +71 -71
  73. package/dist/model/writer.d.ts +854 -854
  74. package/dist/view/attributeelement.d.ts +123 -123
  75. package/dist/view/containerelement.d.ts +49 -49
  76. package/dist/view/datatransfer.d.ts +70 -70
  77. package/dist/view/document.d.ts +175 -177
  78. package/dist/view/documentfragment.d.ts +158 -157
  79. package/dist/view/documentselection.d.ts +308 -307
  80. package/dist/view/domconverter.d.ts +612 -657
  81. package/dist/view/downcastwriter.d.ts +1006 -1006
  82. package/dist/view/editableelement.d.ts +64 -63
  83. package/dist/view/element.d.ts +754 -754
  84. package/dist/view/elementdefinition.d.ts +79 -79
  85. package/dist/view/emptyelement.d.ts +42 -42
  86. package/dist/view/filler.d.ts +75 -75
  87. package/dist/view/item.d.ts +9 -9
  88. package/dist/view/matcher.d.ts +412 -487
  89. package/dist/view/node.d.ts +164 -163
  90. package/dist/view/observer/arrowkeysobserver.d.ts +37 -37
  91. package/dist/view/observer/bubblingemittermixin.d.ts +163 -153
  92. package/dist/view/observer/bubblingeventinfo.d.ts +45 -42
  93. package/dist/view/observer/clickobserver.d.ts +36 -36
  94. package/dist/view/observer/compositionobserver.d.ts +67 -67
  95. package/dist/view/observer/domeventdata.d.ts +46 -46
  96. package/dist/view/observer/domeventobserver.d.ts +77 -74
  97. package/dist/view/observer/fakeselectionobserver.d.ts +42 -42
  98. package/dist/view/observer/focusobserver.d.ts +84 -84
  99. package/dist/view/observer/inputobserver.d.ts +76 -76
  100. package/dist/view/observer/keyobserver.d.ts +53 -53
  101. package/dist/view/observer/mouseobserver.d.ts +73 -73
  102. package/dist/view/observer/mutationobserver.d.ts +101 -101
  103. package/dist/view/observer/observer.d.ts +84 -83
  104. package/dist/view/observer/pointerobserver.d.ts +63 -63
  105. package/dist/view/observer/selectionobserver.d.ts +136 -136
  106. package/dist/view/observer/tabobserver.d.ts +38 -38
  107. package/dist/view/observer/touchobserver.d.ts +60 -60
  108. package/dist/view/placeholder.d.ts +80 -80
  109. package/dist/view/position.d.ts +187 -187
  110. package/dist/view/range.d.ts +282 -282
  111. package/dist/view/rawelement.d.ts +72 -72
  112. package/dist/view/renderer.d.ts +270 -272
  113. package/dist/view/rooteditableelement.d.ts +43 -43
  114. package/dist/view/selection.d.ts +356 -369
  115. package/dist/view/styles/background.d.ts +15 -15
  116. package/dist/view/styles/border.d.ts +27 -27
  117. package/dist/view/styles/margin.d.ts +12 -12
  118. package/dist/view/styles/padding.d.ts +12 -12
  119. package/dist/view/styles/utils.d.ts +72 -72
  120. package/dist/view/stylesmap.d.ts +715 -715
  121. package/dist/view/text.d.ts +75 -75
  122. package/dist/view/textproxy.d.ts +92 -92
  123. package/dist/view/tokenlist.d.ts +104 -104
  124. package/dist/view/treewalker.d.ts +201 -201
  125. package/dist/view/typecheckable.d.ts +445 -445
  126. package/dist/view/uielement.d.ts +93 -93
  127. package/dist/view/upcastwriter.d.ts +412 -412
  128. package/dist/view/view.d.ts +466 -469
  129. package/package.json +2 -2
@@ -1,188 +1,186 @@
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 engine/view/document
7
- */
8
- import { ViewDocumentSelection } from './documentselection.js';
9
- import { Collection } from '@ckeditor/ckeditor5-utils';
10
- import type { StylesProcessor } from './stylesmap.js';
11
- import { type ViewRootEditableElement } from './rooteditableelement.js';
12
- import { type ViewDowncastWriter } from './downcastwriter.js';
13
- declare const ViewDocument_base: import("@ckeditor/ckeditor5-utils").Mixed<{
14
- new (): import("@ckeditor/ckeditor5-utils").Observable;
15
- prototype: import("@ckeditor/ckeditor5-utils").Observable;
16
- }, import("@ckeditor/ckeditor5-utils").Emitter>;
6
+ * @module engine/view/document
7
+ */
8
+ import { ViewDocumentSelection } from "./documentselection.js";
9
+ import { type BubblingEmitterMixinConstructor } from "./observer/bubblingemittermixin.js";
10
+ import { Collection, type ObservableMixinConstructor } from "@ckeditor/ckeditor5-utils";
11
+ import type { StylesProcessor } from "./stylesmap.js";
12
+ import { type ViewRootEditableElement } from "./rooteditableelement.js";
13
+ import { type ViewDowncastWriter } from "./downcastwriter.js";
14
+ declare const ViewDocumentBase: BubblingEmitterMixinConstructor<ObservableMixinConstructor>;
17
15
  /**
18
- * Document class creates an abstract layer over the content editable area, contains a tree of view elements and
19
- * {@link module:engine/view/documentselection~ViewDocumentSelection view selection} associated with this document.
20
- */
21
- export declare class ViewDocument extends /* #__PURE__ */ ViewDocument_base {
22
- /**
23
- * Selection done on this document.
24
- */
25
- readonly selection: ViewDocumentSelection;
26
- /**
27
- * Roots of the view tree. Collection of the {@link module:engine/view/element~ViewElement view elements}.
28
- *
29
- * View roots are created as a result of binding between {@link module:engine/view/document~ViewDocument#roots} and
30
- * {@link module:engine/model/document~ModelDocument#roots} and this is handled by
31
- * {@link module:engine/controller/editingcontroller~EditingController}, so to create view root we need to create
32
- * model root using {@link module:engine/model/document~ModelDocument#createRoot}.
33
- */
34
- readonly roots: Collection<ViewRootEditableElement>;
35
- /**
36
- * The styles processor instance used by this document when normalizing styles.
37
- */
38
- readonly stylesProcessor: StylesProcessor;
39
- /**
40
- * Defines whether document is in read-only mode.
41
- *
42
- * When document is read-ony then all roots are read-only as well and caret placed inside this root is hidden.
43
- *
44
- * @observable
45
- */
46
- isReadOnly: boolean;
47
- /**
48
- * True if document is focused.
49
- *
50
- * This property is updated by the {@link module:engine/view/observer/focusobserver~FocusObserver}.
51
- * If the {@link module:engine/view/observer/focusobserver~FocusObserver} is disabled this property will not change.
52
- *
53
- * @readonly
54
- * @observable
55
- */
56
- isFocused: boolean;
57
- /**
58
- * `true` while the user is making a selection in the document (e.g. holding the mouse button and moving the cursor).
59
- * When they stop selecting, the property goes back to `false`.
60
- *
61
- * This property is updated by the {@link module:engine/view/observer/selectionobserver~SelectionObserver}.
62
- *
63
- * @readonly
64
- * @observable
65
- */
66
- isSelecting: boolean;
67
- /**
68
- * True if composition is in progress inside the document.
69
- *
70
- * This property is updated by the {@link module:engine/view/observer/compositionobserver~CompositionObserver}.
71
- * If the {@link module:engine/view/observer/compositionobserver~CompositionObserver} is disabled this property will not change.
72
- *
73
- * @readonly
74
- * @observable
75
- */
76
- isComposing: boolean;
77
- /**
78
- * Post-fixer callbacks registered to the view document.
79
- */
80
- private readonly _postFixers;
81
- /**
82
- * Creates a Document instance.
83
- *
84
- * @param stylesProcessor The styles processor instance.
85
- */
86
- constructor(stylesProcessor: StylesProcessor);
87
- /**
88
- * Gets a {@link module:engine/view/document~ViewDocument#roots view root element} with the specified name. If the name is not
89
- * specific "main" root is returned.
90
- *
91
- * @param name Name of the root.
92
- * @returns The view root element with the specified name or null when there is no root of given name.
93
- */
94
- getRoot(name?: string): ViewRootEditableElement | null;
95
- /**
96
- * Returns an array with all roots added to the document.
97
- */
98
- getRoots(): Array<ViewRootEditableElement>;
99
- /**
100
- * Allows registering post-fixer callbacks. A post-fixers mechanism allows to update the view tree just before it is rendered
101
- * to the DOM.
102
- *
103
- * Post-fixers are executed right after all changes from the outermost change block were applied but
104
- * before the {@link module:engine/view/view~EditingView#event:render render event} is fired. If a post-fixer callback made
105
- * a change, it should return `true`. When this happens, all post-fixers are fired again to check if something else should
106
- * not be fixed in the new document tree state.
107
- *
108
- * View post-fixers are useful when you want to apply some fixes whenever the view structure changes. Keep in mind that
109
- * changes executed in a view post-fixer should not break model-view mapping.
110
- *
111
- * The types of changes which should be safe:
112
- *
113
- * * adding or removing attribute from elements,
114
- * * changes inside of {@link module:engine/view/uielement~ViewUIElement UI elements},
115
- * * {@link module:engine/controller/editingcontroller~EditingController#reconvertItem marking some of the model elements to be
116
- * re-converted}.
117
- *
118
- * Try to avoid changes which touch view structure:
119
- *
120
- * * you should not add or remove nor wrap or unwrap any view elements,
121
- * * you should not change the editor data model in a view post-fixer.
122
- *
123
- * As a parameter, a post-fixer callback receives a {@link module:engine/view/downcastwriter~ViewDowncastWriter downcast writer}.
124
- *
125
- * Typically, a post-fixer will look like this:
126
- *
127
- * ```ts
128
- * editor.editing.view.document.registerPostFixer( writer => {
129
- * if ( checkSomeCondition() ) {
130
- * writer.doSomething();
131
- *
132
- * // Let other post-fixers know that something changed.
133
- * return true;
134
- * }
135
- *
136
- * return false;
137
- * } );
138
- * ```
139
- *
140
- * Note that nothing happens right after you register a post-fixer (e.g. execute such a code in the console).
141
- * That is because adding a post-fixer does not execute it.
142
- * The post-fixer will be executed as soon as any change in the document needs to cause its rendering.
143
- * If you want to re-render the editor's view after registering the post-fixer then you should do it manually by calling
144
- * {@link module:engine/view/view~EditingView#forceRender `view.forceRender()`}.
145
- *
146
- * If you need to register a callback which is executed when DOM elements are already updated,
147
- * use {@link module:engine/view/view~EditingView#event:render render event}.
148
- */
149
- registerPostFixer(postFixer: ViewDocumentPostFixer): void;
150
- /**
151
- * Destroys this instance. Makes sure that all observers are destroyed and listeners removed.
152
- */
153
- destroy(): void;
154
- /**
155
- * Performs post-fixer loops. Executes post-fixer callbacks as long as none of them has done any changes to the model.
156
- *
157
- * @internal
158
- */
159
- _callPostFixers(writer: ViewDowncastWriter): void;
16
+ * Document class creates an abstract layer over the content editable area, contains a tree of view elements and
17
+ * {@link module:engine/view/documentselection~ViewDocumentSelection view selection} associated with this document.
18
+ */
19
+ export declare class ViewDocument extends ViewDocumentBase {
20
+ /**
21
+ * Selection done on this document.
22
+ */
23
+ readonly selection: ViewDocumentSelection;
24
+ /**
25
+ * Roots of the view tree. Collection of the {@link module:engine/view/element~ViewElement view elements}.
26
+ *
27
+ * View roots are created as a result of binding between {@link module:engine/view/document~ViewDocument#roots} and
28
+ * {@link module:engine/model/document~ModelDocument#roots} and this is handled by
29
+ * {@link module:engine/controller/editingcontroller~EditingController}, so to create view root we need to create
30
+ * model root using {@link module:engine/model/document~ModelDocument#createRoot}.
31
+ */
32
+ readonly roots: Collection<ViewRootEditableElement>;
33
+ /**
34
+ * The styles processor instance used by this document when normalizing styles.
35
+ */
36
+ readonly stylesProcessor: StylesProcessor;
37
+ /**
38
+ * Defines whether document is in read-only mode.
39
+ *
40
+ * When document is read-ony then all roots are read-only as well and caret placed inside this root is hidden.
41
+ *
42
+ * @observable
43
+ */
44
+ isReadOnly: boolean;
45
+ /**
46
+ * True if document is focused.
47
+ *
48
+ * This property is updated by the {@link module:engine/view/observer/focusobserver~FocusObserver}.
49
+ * If the {@link module:engine/view/observer/focusobserver~FocusObserver} is disabled this property will not change.
50
+ *
51
+ * @readonly
52
+ * @observable
53
+ */
54
+ isFocused: boolean;
55
+ /**
56
+ * `true` while the user is making a selection in the document (e.g. holding the mouse button and moving the cursor).
57
+ * When they stop selecting, the property goes back to `false`.
58
+ *
59
+ * This property is updated by the {@link module:engine/view/observer/selectionobserver~SelectionObserver}.
60
+ *
61
+ * @readonly
62
+ * @observable
63
+ */
64
+ isSelecting: boolean;
65
+ /**
66
+ * True if composition is in progress inside the document.
67
+ *
68
+ * This property is updated by the {@link module:engine/view/observer/compositionobserver~CompositionObserver}.
69
+ * If the {@link module:engine/view/observer/compositionobserver~CompositionObserver} is disabled this property will not change.
70
+ *
71
+ * @readonly
72
+ * @observable
73
+ */
74
+ isComposing: boolean;
75
+ /**
76
+ * Post-fixer callbacks registered to the view document.
77
+ */
78
+ private readonly _postFixers;
79
+ /**
80
+ * Creates a Document instance.
81
+ *
82
+ * @param stylesProcessor The styles processor instance.
83
+ */
84
+ constructor(stylesProcessor: StylesProcessor);
85
+ /**
86
+ * Gets a {@link module:engine/view/document~ViewDocument#roots view root element} with the specified name. If the name is not
87
+ * specific "main" root is returned.
88
+ *
89
+ * @param name Name of the root.
90
+ * @returns The view root element with the specified name or null when there is no root of given name.
91
+ */
92
+ getRoot(name?: string): ViewRootEditableElement | null;
93
+ /**
94
+ * Returns an array with all roots added to the document.
95
+ */
96
+ getRoots(): Array<ViewRootEditableElement>;
97
+ /**
98
+ * Allows registering post-fixer callbacks. A post-fixers mechanism allows to update the view tree just before it is rendered
99
+ * to the DOM.
100
+ *
101
+ * Post-fixers are executed right after all changes from the outermost change block were applied but
102
+ * before the {@link module:engine/view/view~EditingView#event:render render event} is fired. If a post-fixer callback made
103
+ * a change, it should return `true`. When this happens, all post-fixers are fired again to check if something else should
104
+ * not be fixed in the new document tree state.
105
+ *
106
+ * View post-fixers are useful when you want to apply some fixes whenever the view structure changes. Keep in mind that
107
+ * changes executed in a view post-fixer should not break model-view mapping.
108
+ *
109
+ * The types of changes which should be safe:
110
+ *
111
+ * * adding or removing attribute from elements,
112
+ * * changes inside of {@link module:engine/view/uielement~ViewUIElement UI elements},
113
+ * * {@link module:engine/controller/editingcontroller~EditingController#reconvertItem marking some of the model elements to be
114
+ * re-converted}.
115
+ *
116
+ * Try to avoid changes which touch view structure:
117
+ *
118
+ * * you should not add or remove nor wrap or unwrap any view elements,
119
+ * * you should not change the editor data model in a view post-fixer.
120
+ *
121
+ * As a parameter, a post-fixer callback receives a {@link module:engine/view/downcastwriter~ViewDowncastWriter downcast writer}.
122
+ *
123
+ * Typically, a post-fixer will look like this:
124
+ *
125
+ * ```ts
126
+ * editor.editing.view.document.registerPostFixer( writer => {
127
+ * if ( checkSomeCondition() ) {
128
+ * writer.doSomething();
129
+ *
130
+ * // Let other post-fixers know that something changed.
131
+ * return true;
132
+ * }
133
+ *
134
+ * return false;
135
+ * } );
136
+ * ```
137
+ *
138
+ * Note that nothing happens right after you register a post-fixer (e.g. execute such a code in the console).
139
+ * That is because adding a post-fixer does not execute it.
140
+ * The post-fixer will be executed as soon as any change in the document needs to cause its rendering.
141
+ * If you want to re-render the editor's view after registering the post-fixer then you should do it manually by calling
142
+ * {@link module:engine/view/view~EditingView#forceRender `view.forceRender()`}.
143
+ *
144
+ * If you need to register a callback which is executed when DOM elements are already updated,
145
+ * use {@link module:engine/view/view~EditingView#event:render render event}.
146
+ */
147
+ registerPostFixer(postFixer: ViewDocumentPostFixer): void;
148
+ /**
149
+ * Destroys this instance. Makes sure that all observers are destroyed and listeners removed.
150
+ */
151
+ destroy(): void;
152
+ /**
153
+ * Performs post-fixer loops. Executes post-fixer callbacks as long as none of them has done any changes to the model.
154
+ *
155
+ * @internal
156
+ */
157
+ _callPostFixers(writer: ViewDowncastWriter): void;
160
158
  }
161
159
  /**
162
- * Document PostFixer.
163
- *
164
- * @see module:engine/view/document~ViewDocument#registerPostFixer
165
- */
160
+ * Document PostFixer.
161
+ *
162
+ * @see module:engine/view/document~ViewDocument#registerPostFixer
163
+ */
166
164
  export type ViewDocumentPostFixer = (writer: ViewDowncastWriter) => boolean;
167
165
  /**
168
- * Enum representing type of the change.
169
- *
170
- * Possible values:
171
- *
172
- * * `children` - for child list changes,
173
- * * `attributes` - for element attributes changes,
174
- * * `text` - for text nodes changes.
175
- */
176
- export type ViewDocumentChangeType = 'children' | 'attributes' | 'text';
166
+ * Enum representing type of the change.
167
+ *
168
+ * Possible values:
169
+ *
170
+ * * `children` - for child list changes,
171
+ * * `attributes` - for element attributes changes,
172
+ * * `text` - for text nodes changes.
173
+ */
174
+ export type ViewDocumentChangeType = "children" | "attributes" | "text";
177
175
  /**
178
- * Event fired whenever document content layout changes. It is fired whenever content is
179
- * {@link module:engine/view/view~EditingView#event:render rendered}, but should be also fired by observers in case of
180
- * other actions which may change layout, for instance when image loads.
181
- *
182
- * @eventName ~ViewDocument#layoutChanged
183
- */
176
+ * Event fired whenever document content layout changes. It is fired whenever content is
177
+ * {@link module:engine/view/view~EditingView#event:render rendered}, but should be also fired by observers in case of
178
+ * other actions which may change layout, for instance when image loads.
179
+ *
180
+ * @eventName ~ViewDocument#layoutChanged
181
+ */
184
182
  export type ViewDocumentLayoutChangedEvent = {
185
- name: 'layoutChanged';
186
- args: [];
183
+ name: "layoutChanged";
184
+ args: [];
187
185
  };
188
186
  export {};