@ckeditor/ckeditor5-engine 45.2.1 → 46.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.
Files changed (241) hide show
  1. package/dist/index.js +2563 -2257
  2. package/dist/index.js.map +1 -1
  3. package/package.json +3 -3
  4. package/src/controller/datacontroller.d.ts +33 -32
  5. package/src/controller/datacontroller.js +29 -28
  6. package/src/controller/editingcontroller.d.ts +8 -8
  7. package/src/controller/editingcontroller.js +10 -10
  8. package/src/conversion/conversion.d.ts +18 -19
  9. package/src/conversion/conversion.js +4 -4
  10. package/src/conversion/conversionhelpers.d.ts +1 -1
  11. package/src/conversion/conversionhelpers.js +1 -1
  12. package/src/conversion/downcastdispatcher.d.ts +63 -69
  13. package/src/conversion/downcastdispatcher.js +16 -16
  14. package/src/conversion/downcasthelpers.d.ts +94 -83
  15. package/src/conversion/downcasthelpers.js +63 -53
  16. package/src/conversion/mapper.d.ts +27 -27
  17. package/src/conversion/mapper.js +15 -15
  18. package/src/conversion/modelconsumable.d.ts +26 -26
  19. package/src/conversion/modelconsumable.js +23 -23
  20. package/src/conversion/upcastdispatcher.d.ts +33 -32
  21. package/src/conversion/upcastdispatcher.js +19 -19
  22. package/src/conversion/upcasthelpers.d.ts +46 -38
  23. package/src/conversion/upcasthelpers.js +33 -24
  24. package/src/conversion/viewconsumable.d.ts +50 -45
  25. package/src/conversion/viewconsumable.js +32 -27
  26. package/src/dataprocessor/basichtmlwriter.d.ts +4 -2
  27. package/src/dataprocessor/basichtmlwriter.js +3 -1
  28. package/src/dataprocessor/dataprocessor.d.ts +7 -6
  29. package/src/dataprocessor/htmldataprocessor.d.ts +10 -10
  30. package/src/dataprocessor/htmldataprocessor.js +6 -6
  31. package/src/dataprocessor/htmlwriter.d.ts +1 -1
  32. package/src/dataprocessor/xmldataprocessor.d.ts +10 -10
  33. package/src/dataprocessor/xmldataprocessor.js +6 -6
  34. package/src/dev-utils/model.d.ts +25 -26
  35. package/src/dev-utils/model.js +35 -36
  36. package/src/dev-utils/operationreplayer.d.ts +5 -3
  37. package/src/dev-utils/operationreplayer.js +4 -2
  38. package/src/dev-utils/utils.d.ts +8 -0
  39. package/src/dev-utils/utils.js +8 -0
  40. package/src/dev-utils/view.d.ts +66 -63
  41. package/src/dev-utils/view.js +144 -134
  42. package/src/index.d.ts +135 -106
  43. package/src/index.js +120 -71
  44. package/src/legacyerrors.d.ts +5 -0
  45. package/src/legacyerrors.js +17 -0
  46. package/src/model/batch.d.ts +2 -15
  47. package/src/model/batch.js +1 -23
  48. package/src/model/differ.d.ts +54 -31
  49. package/src/model/differ.js +15 -15
  50. package/src/model/document.d.ts +31 -31
  51. package/src/model/document.js +13 -13
  52. package/src/model/documentfragment.d.ts +45 -45
  53. package/src/model/documentfragment.js +40 -40
  54. package/src/model/documentselection.d.ts +92 -92
  55. package/src/model/documentselection.js +71 -70
  56. package/src/model/element.d.ts +31 -31
  57. package/src/model/element.js +29 -29
  58. package/src/model/history.d.ts +3 -3
  59. package/src/model/history.js +2 -2
  60. package/src/model/item.d.ts +4 -5
  61. package/src/model/liveposition.d.ts +31 -31
  62. package/src/model/liveposition.js +18 -18
  63. package/src/model/liverange.d.ts +42 -38
  64. package/src/model/liverange.js +17 -16
  65. package/src/model/markercollection.d.ts +41 -40
  66. package/src/model/markercollection.js +22 -20
  67. package/src/model/model.d.ts +82 -81
  68. package/src/model/model.js +54 -54
  69. package/src/model/node.d.ts +48 -48
  70. package/src/model/node.js +31 -31
  71. package/src/model/nodelist.d.ts +17 -17
  72. package/src/model/nodelist.js +11 -11
  73. package/src/model/operation/attributeoperation.d.ts +10 -10
  74. package/src/model/operation/attributeoperation.js +7 -7
  75. package/src/model/operation/detachoperation.d.ts +11 -9
  76. package/src/model/operation/detachoperation.js +8 -6
  77. package/src/model/operation/insertoperation.d.ts +13 -13
  78. package/src/model/operation/insertoperation.js +15 -15
  79. package/src/model/operation/markeroperation.d.ts +12 -12
  80. package/src/model/operation/markeroperation.js +5 -5
  81. package/src/model/operation/mergeoperation.d.ts +16 -16
  82. package/src/model/operation/mergeoperation.js +18 -18
  83. package/src/model/operation/moveoperation.d.ts +16 -16
  84. package/src/model/operation/moveoperation.js +18 -15
  85. package/src/model/operation/nooperation.d.ts +4 -4
  86. package/src/model/operation/nooperation.js +2 -2
  87. package/src/model/operation/operation.d.ts +10 -10
  88. package/src/model/operation/operation.js +5 -5
  89. package/src/model/operation/operationfactory.d.ts +4 -4
  90. package/src/model/operation/operationfactory.js +12 -12
  91. package/src/model/operation/renameoperation.d.ts +10 -10
  92. package/src/model/operation/renameoperation.js +7 -7
  93. package/src/model/operation/rootattributeoperation.d.ts +12 -12
  94. package/src/model/operation/rootattributeoperation.js +8 -8
  95. package/src/model/operation/rootoperation.d.ts +8 -8
  96. package/src/model/operation/rootoperation.js +3 -3
  97. package/src/model/operation/splitoperation.d.ts +17 -17
  98. package/src/model/operation/splitoperation.js +19 -19
  99. package/src/model/operation/transform.d.ts +11 -8
  100. package/src/model/operation/transform.js +66 -49
  101. package/src/model/operation/utils.d.ts +24 -23
  102. package/src/model/operation/utils.js +20 -20
  103. package/src/model/position.d.ts +101 -97
  104. package/src/model/position.js +69 -64
  105. package/src/model/range.d.ts +90 -90
  106. package/src/model/range.js +87 -87
  107. package/src/model/rootelement.d.ts +11 -11
  108. package/src/model/rootelement.js +9 -9
  109. package/src/model/schema.d.ts +158 -154
  110. package/src/model/schema.js +93 -90
  111. package/src/model/selection.d.ts +73 -73
  112. package/src/model/selection.js +62 -62
  113. package/src/model/text.d.ts +11 -10
  114. package/src/model/text.js +11 -10
  115. package/src/model/textproxy.d.ts +39 -38
  116. package/src/model/textproxy.js +31 -30
  117. package/src/model/treewalker.d.ts +37 -37
  118. package/src/model/treewalker.js +14 -14
  119. package/src/model/typecheckable.d.ts +45 -45
  120. package/src/model/typecheckable.js +1 -1
  121. package/src/model/utils/autoparagraphing.d.ts +7 -7
  122. package/src/model/utils/deletecontent.d.ts +7 -5
  123. package/src/model/utils/deletecontent.js +13 -11
  124. package/src/model/utils/getselectedcontent.d.ts +6 -5
  125. package/src/model/utils/getselectedcontent.js +2 -1
  126. package/src/model/utils/insertcontent.d.ts +9 -8
  127. package/src/model/utils/insertcontent.js +41 -40
  128. package/src/model/utils/insertobject.d.ts +9 -9
  129. package/src/model/utils/insertobject.js +4 -4
  130. package/src/model/utils/modifyselection.d.ts +5 -4
  131. package/src/model/utils/modifyselection.js +12 -11
  132. package/src/model/utils/selection-post-fixer.d.ts +12 -8
  133. package/src/model/utils/selection-post-fixer.js +15 -11
  134. package/src/model/writer.d.ts +102 -101
  135. package/src/model/writer.js +99 -98
  136. package/src/view/attributeelement.d.ts +29 -29
  137. package/src/view/attributeelement.js +25 -25
  138. package/src/view/containerelement.d.ts +16 -15
  139. package/src/view/containerelement.js +15 -14
  140. package/src/view/datatransfer.d.ts +7 -7
  141. package/src/view/datatransfer.js +1 -1
  142. package/src/view/document.d.ts +25 -25
  143. package/src/view/document.js +15 -15
  144. package/src/view/documentfragment.d.ts +21 -21
  145. package/src/view/documentfragment.js +14 -14
  146. package/src/view/documentselection.d.ts +65 -63
  147. package/src/view/documentselection.js +27 -25
  148. package/src/view/domconverter.d.ts +94 -89
  149. package/src/view/domconverter.js +78 -73
  150. package/src/view/downcastwriter.d.ts +185 -181
  151. package/src/view/downcastwriter.js +222 -210
  152. package/src/view/editableelement.d.ts +13 -13
  153. package/src/view/editableelement.js +8 -8
  154. package/src/view/element.d.ts +75 -74
  155. package/src/view/element.js +58 -58
  156. package/src/view/elementdefinition.d.ts +3 -4
  157. package/src/view/emptyelement.d.ts +13 -13
  158. package/src/view/emptyelement.js +13 -13
  159. package/src/view/filler.d.ts +14 -3
  160. package/src/view/filler.js +12 -1
  161. package/src/view/item.d.ts +4 -5
  162. package/src/view/matcher.d.ts +22 -19
  163. package/src/view/matcher.js +6 -6
  164. package/src/view/node.d.ts +33 -33
  165. package/src/view/node.js +9 -9
  166. package/src/view/observer/arrowkeysobserver.d.ts +10 -10
  167. package/src/view/observer/arrowkeysobserver.js +5 -5
  168. package/src/view/observer/bubblingemittermixin.d.ts +5 -5
  169. package/src/view/observer/bubblingemittermixin.js +2 -9
  170. package/src/view/observer/bubblingeventinfo.d.ts +9 -9
  171. package/src/view/observer/bubblingeventinfo.js +1 -1
  172. package/src/view/observer/clickobserver.d.ts +8 -8
  173. package/src/view/observer/clickobserver.js +4 -4
  174. package/src/view/observer/compositionobserver.d.ts +19 -19
  175. package/src/view/observer/compositionobserver.js +6 -6
  176. package/src/view/observer/domeventdata.d.ts +9 -9
  177. package/src/view/observer/domeventdata.js +2 -2
  178. package/src/view/observer/domeventobserver.d.ts +3 -3
  179. package/src/view/observer/domeventobserver.js +5 -5
  180. package/src/view/observer/fakeselectionobserver.d.ts +9 -9
  181. package/src/view/observer/fakeselectionobserver.js +8 -8
  182. package/src/view/observer/focusobserver.d.ts +16 -16
  183. package/src/view/observer/focusobserver.js +7 -7
  184. package/src/view/observer/inputobserver.d.ts +18 -18
  185. package/src/view/observer/inputobserver.js +5 -5
  186. package/src/view/observer/keyobserver.d.ts +11 -11
  187. package/src/view/observer/keyobserver.js +3 -3
  188. package/src/view/observer/mouseobserver.d.ts +16 -16
  189. package/src/view/observer/mouseobserver.js +3 -3
  190. package/src/view/observer/mutationobserver.d.ts +21 -21
  191. package/src/view/observer/mutationobserver.js +7 -7
  192. package/src/view/observer/observer.d.ts +12 -12
  193. package/src/view/observer/observer.js +6 -6
  194. package/src/view/observer/selectionobserver.d.ts +33 -33
  195. package/src/view/observer/selectionobserver.js +14 -14
  196. package/src/view/observer/tabobserver.d.ts +10 -10
  197. package/src/view/observer/tabobserver.js +5 -5
  198. package/src/view/observer/touchobserver.d.ts +13 -13
  199. package/src/view/observer/touchobserver.js +3 -3
  200. package/src/view/placeholder.d.ts +21 -21
  201. package/src/view/placeholder.js +23 -23
  202. package/src/view/position.d.ts +49 -49
  203. package/src/view/position.js +42 -42
  204. package/src/view/range.d.ts +76 -74
  205. package/src/view/range.js +67 -65
  206. package/src/view/rawelement.d.ts +19 -19
  207. package/src/view/rawelement.js +16 -16
  208. package/src/view/renderer.d.ts +14 -14
  209. package/src/view/renderer.js +7 -7
  210. package/src/view/rooteditableelement.d.ts +8 -7
  211. package/src/view/rooteditableelement.js +7 -6
  212. package/src/view/selection.d.ts +66 -64
  213. package/src/view/selection.js +50 -48
  214. package/src/view/styles/background.d.ts +2 -2
  215. package/src/view/styles/background.js +9 -9
  216. package/src/view/styles/border.d.ts +2 -2
  217. package/src/view/styles/border.js +13 -13
  218. package/src/view/styles/margin.d.ts +2 -2
  219. package/src/view/styles/margin.js +5 -5
  220. package/src/view/styles/padding.d.ts +2 -2
  221. package/src/view/styles/padding.js +5 -5
  222. package/src/view/styles/utils.d.ts +24 -24
  223. package/src/view/styles/utils.js +25 -25
  224. package/src/view/stylesmap.d.ts +28 -32
  225. package/src/view/stylesmap.js +52 -39
  226. package/src/view/text.d.ts +11 -11
  227. package/src/view/text.js +10 -10
  228. package/src/view/textproxy.d.ts +33 -32
  229. package/src/view/textproxy.js +23 -22
  230. package/src/view/tokenlist.d.ts +14 -14
  231. package/src/view/tokenlist.js +10 -10
  232. package/src/view/treewalker.d.ts +42 -40
  233. package/src/view/treewalker.js +36 -35
  234. package/src/view/typecheckable.d.ts +76 -75
  235. package/src/view/typecheckable.js +1 -1
  236. package/src/view/uielement.d.ts +22 -21
  237. package/src/view/uielement.js +17 -16
  238. package/src/view/upcastwriter.d.ts +70 -70
  239. package/src/view/upcastwriter.js +42 -42
  240. package/src/view/view.d.ts +70 -69
  241. package/src/view/view.js +56 -55
@@ -5,20 +5,20 @@
5
5
  /**
6
6
  * @module engine/model/model
7
7
  */
8
- import Batch, { type BatchType } from './batch.js';
9
- import Document from './document.js';
10
- import MarkerCollection from './markercollection.js';
11
- import ModelPosition, { type PositionOffset, type PositionStickiness } from './position.js';
12
- import ModelRange from './range.js';
13
- import ModelSelection, { type PlaceOrOffset, type Selectable } from './selection.js';
14
- import DocumentSelection from './documentselection.js';
15
- import Schema from './schema.js';
16
- import Writer from './writer.js';
17
- import Node from './node.js';
18
- import type ModelDocumentFragment from './documentfragment.js';
19
- import type Item from './item.js';
20
- import type ModelElement from './element.js';
21
- import type Operation from './operation/operation.js';
8
+ import { Batch, type BatchType } from './batch.js';
9
+ import { ModelDocument } from './document.js';
10
+ import { MarkerCollection } from './markercollection.js';
11
+ import { ModelPosition, type ModelPositionOffset, type ModelPositionStickiness } from './position.js';
12
+ import { ModelRange } from './range.js';
13
+ import { ModelSelection, type ModelPlaceOrOffset, type ModelSelectable } from './selection.js';
14
+ import { ModelDocumentSelection } from './documentselection.js';
15
+ import { ModelSchema } from './schema.js';
16
+ import { ModelWriter } from './writer.js';
17
+ import { ModelNode } from './node.js';
18
+ import { type ModelDocumentFragment } from './documentfragment.js';
19
+ import { type ModelItem } from './item.js';
20
+ import { type ModelElement } from './element.js';
21
+ import { type Operation } from './operation/operation.js';
22
22
  import { type DecoratedMethodEvent } from '@ckeditor/ckeditor5-utils';
23
23
  declare const Model_base: {
24
24
  new (): import("@ckeditor/ckeditor5-utils").Observable;
@@ -28,7 +28,7 @@ declare const Model_base: {
28
28
  * Editor's data model. Read about the model in the
29
29
  * {@glink framework/architecture/editing-engine engine architecture} guide.
30
30
  */
31
- export default class Model extends /* #__PURE__ */ Model_base {
31
+ export declare class Model extends /* #__PURE__ */ Model_base {
32
32
  /**
33
33
  * Model's marker collection.
34
34
  */
@@ -36,11 +36,11 @@ export default class Model extends /* #__PURE__ */ Model_base {
36
36
  /**
37
37
  * Model's document.
38
38
  */
39
- readonly document: Document;
39
+ readonly document: ModelDocument;
40
40
  /**
41
41
  * Model's schema.
42
42
  */
43
- readonly schema: Schema;
43
+ readonly schema: ModelSchema;
44
44
  /**
45
45
  * All callbacks added by {@link module:engine/model/model~Model#change} or
46
46
  * {@link module:engine/model/model~Model#enqueueChange} methods waiting to be executed.
@@ -54,7 +54,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
54
54
  /**
55
55
  * The `change()` method is the primary way of changing the model. You should use it to modify all document nodes
56
56
  * (including detached nodes – i.e. nodes not added to the {@link module:engine/model/model~Model#document model document}),
57
- * the {@link module:engine/model/document~Document#selection document's selection}, and
57
+ * the {@link module:engine/model/document~ModelDocument#selection document's selection}, and
58
58
  * {@link module:engine/model/model~Model#markers model markers}.
59
59
  *
60
60
  * ```ts
@@ -92,7 +92,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
92
92
  * @typeParam TReturn The return type of the provided callback.
93
93
  * @param callback Callback function which may modify the model.
94
94
  */
95
- change<TReturn>(callback: (writer: Writer) => TReturn): TReturn;
95
+ change<TReturn>(callback: (writer: ModelWriter) => TReturn): TReturn;
96
96
  /**
97
97
  * The `enqueueChange()` method performs similar task as the {@link #change `change()` method}, with two major differences.
98
98
  *
@@ -122,7 +122,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
122
122
  * @label DEFAULT_BATCH
123
123
  * @param callback Callback function which may modify the model.
124
124
  */
125
- enqueueChange(callback: (writer: Writer) => unknown): void;
125
+ enqueueChange(callback: (writer: ModelWriter) => unknown): void;
126
126
  /**
127
127
  * The `enqueueChange()` method performs similar task as the {@link #change `change()` method}, with two major differences.
128
128
  *
@@ -164,20 +164,20 @@ export default class Model extends /* #__PURE__ */ Model_base {
164
164
  * ```
165
165
  *
166
166
  * In order to make a nested `enqueueChange()` create a single undo step together with the changes done in the outer `change()`
167
- * block, you can obtain the batch instance from the {@link module:engine/model/writer~Writer#batch writer} of the outer block.
167
+ * block, you can obtain the batch instance from the {@link module:engine/model/writer~ModelWriter#batch writer} of the outer block.
168
168
  *
169
169
  * @label CUSTOM_BATCH
170
170
  * @param batchOrType A batch or a {@link module:engine/model/batch~Batch#constructor batch type} that should be used in the callback.
171
171
  * If not defined, a new batch with the default type will be created.
172
172
  * @param callback Callback function which may modify the model.
173
173
  */
174
- enqueueChange(batchOrType: Batch | BatchType | undefined, callback: (writer: Writer) => unknown): void;
174
+ enqueueChange(batchOrType: Batch | BatchType | undefined, callback: (writer: ModelWriter) => unknown): void;
175
175
  /**
176
176
  * {@link module:utils/observablemixin~Observable#decorate Decorated} function for applying
177
177
  * {@link module:engine/model/operation/operation~Operation operations} to the model.
178
178
  *
179
179
  * This is a low-level way of changing the model. It is exposed for very specific use cases (like the undo feature).
180
- * Normally, to modify the model, you will want to use {@link module:engine/model/writer~Writer `Writer`}.
180
+ * Normally, to modify the model, you will want to use {@link module:engine/model/writer~ModelWriter `Writer`}.
181
181
  * See also {@glink framework/architecture/editing-engine#changing-the-model Changing the model} section
182
182
  * of the {@glink framework/architecture/editing-engine Editing architecture} guide.
183
183
  *
@@ -197,9 +197,9 @@ export default class Model extends /* #__PURE__ */ Model_base {
197
197
  * It can split elements, merge them, wrap bare text nodes with paragraphs, etc. &ndash; just like the
198
198
  * pasting feature should do.
199
199
  *
200
- * For lower-level methods see {@link module:engine/model/writer~Writer `Writer`}.
200
+ * For lower-level methods see {@link module:engine/model/writer~ModelWriter `Writer`}.
201
201
  *
202
- * This method, unlike {@link module:engine/model/writer~Writer `Writer`}'s methods, does not have to be used
202
+ * This method, unlike {@link module:engine/model/writer~ModelWriter `Writer`}'s methods, does not have to be used
203
203
  * inside a {@link #change `change()` block}.
204
204
  *
205
205
  * # Conversion and schema
@@ -286,7 +286,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
286
286
  * ```
287
287
  *
288
288
  * If you want the document selection to be moved to the inserted content, use the
289
- * {@link module:engine/model/writer~Writer#setSelection `setSelection()`} method of the writer after inserting
289
+ * {@link module:engine/model/writer~ModelWriter#setSelection `setSelection()`} method of the writer after inserting
290
290
  * the content:
291
291
  *
292
292
  * ```ts
@@ -301,7 +301,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
301
301
  * } );
302
302
  * ```
303
303
  *
304
- * If an instance of the {@link module:engine/model/selection~Selection model selection} is passed as `selectable`,
304
+ * If an instance of the {@link module:engine/model/selection~ModelSelection model selection} is passed as `selectable`,
305
305
  * the new content will be inserted at the passed selection (instead of document selection):
306
306
  *
307
307
  * ```ts
@@ -326,7 +326,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
326
326
  * This param defines a position in relation to that item.
327
327
  * at the insertion position.
328
328
  */
329
- insertContent(content: Item | ModelDocumentFragment, selectable?: Selectable, placeOrOffset?: PlaceOrOffset, ...rest: Array<unknown>): ModelRange;
329
+ insertContent(content: ModelItem | ModelDocumentFragment, selectable?: ModelSelectable, placeOrOffset?: ModelPlaceOrOffset, ...rest: Array<unknown>): ModelRange;
330
330
  /**
331
331
  * Inserts an {@glink framework/deep-dive/schema#object-elements object element} at a specific position in the editor content.
332
332
  *
@@ -341,8 +341,8 @@ export default class Model extends /* #__PURE__ */ Model_base {
341
341
  * # Notes
342
342
  *
343
343
  * * If you want to insert a non-object content, see {@link #insertContent} instead.
344
- * * For lower-level API, see {@link module:engine/model/writer~Writer `Writer`}.
345
- * * Unlike {@link module:engine/model/writer~Writer `Writer`}, this method does not have to be used inside
344
+ * * For lower-level API, see {@link module:engine/model/writer~ModelWriter `Writer`}.
345
+ * * Unlike {@link module:engine/model/writer~ModelWriter `Writer`}, this method does not have to be used inside
346
346
  * a {@link #change `change()` block}.
347
347
  * * Inserting object into the model is not enough to make CKEditor 5 render that content to the user.
348
348
  * CKEditor 5 implements a model-view-controller architecture and what `model.insertObject()` does
@@ -393,7 +393,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
393
393
  *
394
394
  * @param element An object to be inserted into the model document.
395
395
  * @param selectable A selectable where the content should be inserted. If not specified, the current
396
- * {@link module:engine/model/document~Document#selection document selection} will be used instead.
396
+ * {@link module:engine/model/document~ModelDocument#selection document selection} will be used instead.
397
397
  * @param placeOrOffset Specifies the exact place or offset for the insertion to take place, relative to `selectable`.
398
398
  * @param options Additional options.
399
399
  * @param options.findOptimalPosition An option that, when set, adjusts the insertion position (relative to
@@ -404,13 +404,13 @@ export default class Model extends /* #__PURE__ */ Model_base {
404
404
  *
405
405
  * Note that this option only works for block objects. Inline objects are inserted into text and do not split blocks.
406
406
  * @param options.setSelection An option that, when set, moves the
407
- * {@link module:engine/model/document~Document#selection document selection} after inserting the object.
407
+ * {@link module:engine/model/document~ModelDocument#selection document selection} after inserting the object.
408
408
  * * When `'on'`, the document selection will be set on the inserted object.
409
409
  * * When `'after'`, the document selection will move to the closest text node after the inserted object. If there is no
410
410
  * such text node, a paragraph will be created and the document selection will be moved inside it.
411
411
  * at the insertion position.
412
412
  */
413
- insertObject(element: ModelElement, selectable?: Selectable, placeOrOffset?: PlaceOrOffset | null, options?: {
413
+ insertObject(element: ModelElement, selectable?: ModelSelectable, placeOrOffset?: ModelPlaceOrOffset | null, options?: {
414
414
  findOptimalPosition?: 'auto' | 'before' | 'after';
415
415
  setSelection?: 'on' | 'after';
416
416
  }, ...rest: Array<unknown>): ModelRange;
@@ -434,7 +434,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
434
434
  * * `<heading1>x^y</heading1>` with the option disabled (`leaveUnmerged == false`)
435
435
  * * `<heading1>x^</heading1><paragraph>y</paragraph>` with enabled (`leaveUnmerged == true`).
436
436
  *
437
- * Note: {@link module:engine/model/schema~Schema#isObject object} and {@link module:engine/model/schema~Schema#isLimit limit}
437
+ * Note: {@link module:engine/model/schema~ModelSchema#isObject object} and {@link module:engine/model/schema~ModelSchema#isLimit limit}
438
438
  * elements will not be merged.
439
439
  *
440
440
  * @param options.doNotResetEntireContent Whether to skip replacing the entire content with a
@@ -461,7 +461,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
461
461
  * Deleting backward corresponds to using the <kbd>Backspace</kbd> key, while deleting content forward corresponds to
462
462
  * the <kbd>Shift</kbd>+<kbd>Backspace</kbd> keystroke.
463
463
  */
464
- deleteContent(selection: ModelSelection | DocumentSelection, options?: {
464
+ deleteContent(selection: ModelSelection | ModelDocumentSelection, options?: {
465
465
  leaveUnmerged?: boolean;
466
466
  doNotResetEntireContent?: boolean;
467
467
  doNotAutoparagraph?: boolean;
@@ -496,7 +496,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
496
496
  * @param options.unit The unit by which selection should be modified.
497
497
  * @param options.treatEmojiAsSingleUnit Whether multi-characer emoji sequences should be handled as single unit.
498
498
  */
499
- modifySelection(selection: ModelSelection | DocumentSelection, options?: {
499
+ modifySelection(selection: ModelSelection | ModelDocumentSelection, options?: {
500
500
  direction?: 'forward' | 'backward';
501
501
  unit?: 'character' | 'codePoint' | 'word';
502
502
  treatEmojiAsSingleUnit?: boolean;
@@ -528,16 +528,16 @@ export default class Model extends /* #__PURE__ */ Model_base {
528
528
  * @fires getSelectedContent
529
529
  * @param selection The selection of which content will be returned.
530
530
  */
531
- getSelectedContent(selection: ModelSelection | DocumentSelection): ModelDocumentFragment;
531
+ getSelectedContent(selection: ModelSelection | ModelDocumentSelection): ModelDocumentFragment;
532
532
  /**
533
- * Checks whether the given {@link module:engine/model/range~Range range} or
534
- * {@link module:engine/model/element~Element element} has any meaningful content.
533
+ * Checks whether the given {@link module:engine/model/range~ModelRange range} or
534
+ * {@link module:engine/model/element~ModelElement element} has any meaningful content.
535
535
  *
536
536
  * Meaningful content is:
537
537
  *
538
538
  * * any text node (`options.ignoreWhitespaces` allows controlling whether this text node must also contain
539
539
  * any non-whitespace characters),
540
- * * or any {@link module:engine/model/schema~Schema#isContent content element},
540
+ * * or any {@link module:engine/model/schema~ModelSchema#isContent content element},
541
541
  * * or any {@link module:engine/model/markercollection~Marker marker} which
542
542
  * {@link module:engine/model/markercollection~Marker#_affectsData affects data}.
543
543
  *
@@ -562,29 +562,29 @@ export default class Model extends /* #__PURE__ */ Model_base {
562
562
  *
563
563
  * This method is decorated. Although this method accepts any parameter of `Selectable` type, the
564
564
  * {@link ~Model#event:canEditAt `canEditAt` event} is fired with `selectable` normalized to an instance of
565
- * {@link module:engine/model/selection~Selection} or {@link module:engine/model/documentselection~DocumentSelection}
565
+ * {@link module:engine/model/selection~ModelSelection} or {@link module:engine/model/documentselection~ModelDocumentSelection}
566
566
  *
567
567
  * @fires canEditAt
568
568
  */
569
- canEditAt(selectable: Selectable): boolean;
569
+ canEditAt(selectable: ModelSelectable): boolean;
570
570
  /**
571
571
  * Creates a position from the given root and path in that root.
572
572
  *
573
573
  * Note: This method is also available as
574
- * {@link module:engine/model/writer~Writer#createPositionFromPath `Writer#createPositionFromPath()`}.
574
+ * {@link module:engine/model/writer~ModelWriter#createPositionFromPath `Writer#createPositionFromPath()`}.
575
575
  *
576
576
  * @param root Root of the position.
577
- * @param path Position path. See {@link module:engine/model/position~Position#path}.
578
- * @param stickiness Position stickiness. See {@link module:engine/model/position~PositionStickiness}.
577
+ * @param path Position path. See {@link module:engine/model/position~ModelPosition#path}.
578
+ * @param stickiness Position stickiness. See {@link module:engine/model/position~ModelPositionStickiness}.
579
579
  */
580
- createPositionFromPath(root: ModelElement | ModelDocumentFragment, path: ReadonlyArray<number>, stickiness?: PositionStickiness): ModelPosition;
580
+ createPositionFromPath(root: ModelElement | ModelDocumentFragment, path: ReadonlyArray<number>, stickiness?: ModelPositionStickiness): ModelPosition;
581
581
  /**
582
582
  * Creates position at the given location. The location can be specified as:
583
583
  *
584
- * * a {@link module:engine/model/position~Position position},
584
+ * * a {@link module:engine/model/position~ModelPosition position},
585
585
  * * a parent element and offset in that element,
586
586
  * * a parent element and `'end'` (the position will be set at the end of that element),
587
- * * a {@link module:engine/model/item~Item model item} and `'before'` or `'after'`
587
+ * * a {@link module:engine/model/item~ModelItem model item} and `'before'` or `'after'`
588
588
  * (the position will be set before or after the given model item).
589
589
  *
590
590
  * This method is a shortcut to other factory methods such as:
@@ -593,35 +593,35 @@ export default class Model extends /* #__PURE__ */ Model_base {
593
593
  * * {@link module:engine/model/model~Model#createPositionAfter `createPositionAfter()`}.
594
594
  *
595
595
  * Note: This method is also available as
596
- * {@link module:engine/model/writer~Writer#createPositionAt `Writer#createPositionAt()`},
596
+ * {@link module:engine/model/writer~ModelWriter#createPositionAt `Writer#createPositionAt()`},
597
597
  *
598
598
  * @param itemOrPosition
599
- * @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/model/item~Item model item}.
599
+ * @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/model/item~ModelItem model item}.
600
600
  */
601
- createPositionAt(itemOrPosition: Item | ModelPosition | ModelDocumentFragment, offset?: PositionOffset): ModelPosition;
601
+ createPositionAt(itemOrPosition: ModelItem | ModelPosition | ModelDocumentFragment, offset?: ModelPositionOffset): ModelPosition;
602
602
  /**
603
- * Creates a new position after the given {@link module:engine/model/item~Item model item}.
603
+ * Creates a new position after the given {@link module:engine/model/item~ModelItem model item}.
604
604
  *
605
605
  * Note: This method is also available as
606
- * {@link module:engine/model/writer~Writer#createPositionAfter `Writer#createPositionAfter()`}.
606
+ * {@link module:engine/model/writer~ModelWriter#createPositionAfter `Writer#createPositionAfter()`}.
607
607
  *
608
608
  * @param item Item after which the position should be placed.
609
609
  */
610
- createPositionAfter(item: Item): ModelPosition;
610
+ createPositionAfter(item: ModelItem): ModelPosition;
611
611
  /**
612
- * Creates a new position before the given {@link module:engine/model/item~Item model item}.
612
+ * Creates a new position before the given {@link module:engine/model/item~ModelItem model item}.
613
613
  *
614
614
  * Note: This method is also available as
615
- * {@link module:engine/model/writer~Writer#createPositionBefore `Writer#createPositionBefore()`}.
615
+ * {@link module:engine/model/writer~ModelWriter#createPositionBefore `Writer#createPositionBefore()`}.
616
616
  *
617
617
  * @param item Item before which the position should be placed.
618
618
  */
619
- createPositionBefore(item: Item): ModelPosition;
619
+ createPositionBefore(item: ModelItem): ModelPosition;
620
620
  /**
621
621
  * Creates a range spanning from the `start` position to the `end` position.
622
622
  *
623
623
  * Note: This method is also available as
624
- * {@link module:engine/model/writer~Writer#createRange `Writer#createRange()`}:
624
+ * {@link module:engine/model/writer~ModelWriter#createRange `Writer#createRange()`}:
625
625
  *
626
626
  * ```ts
627
627
  * model.change( writer => {
@@ -638,7 +638,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
638
638
  * that element and ends after the last child of that element.
639
639
  *
640
640
  * Note: This method is also available as
641
- * {@link module:engine/model/writer~Writer#createRangeIn `Writer#createRangeIn()`}:
641
+ * {@link module:engine/model/writer~ModelWriter#createRangeIn `Writer#createRangeIn()`}:
642
642
  *
643
643
  * ```ts
644
644
  * model.change( writer => {
@@ -650,10 +650,10 @@ export default class Model extends /* #__PURE__ */ Model_base {
650
650
  */
651
651
  createRangeIn(element: ModelElement | ModelDocumentFragment): ModelRange;
652
652
  /**
653
- * Creates a range that starts before the given {@link module:engine/model/item~Item model item} and ends after it.
653
+ * Creates a range that starts before the given {@link module:engine/model/item~ModelItem model item} and ends after it.
654
654
  *
655
655
  * Note: This method is also available on `writer` instance as
656
- * {@link module:engine/model/writer~Writer#createRangeOn `Writer.createRangeOn()`}:
656
+ * {@link module:engine/model/writer~ModelWriter#createRangeOn `Writer.createRangeOn()`}:
657
657
  *
658
658
  * ```ts
659
659
  * model.change( writer => {
@@ -663,24 +663,24 @@ export default class Model extends /* #__PURE__ */ Model_base {
663
663
  *
664
664
  * @param item
665
665
  */
666
- createRangeOn(item: Item): ModelRange;
666
+ createRangeOn(item: ModelItem): ModelRange;
667
667
  /**
668
- * Creates a new selection instance based on the given {@link module:engine/model/selection~Selectable selectable}
668
+ * Creates a new selection instance based on the given {@link module:engine/model/selection~ModelSelectable selectable}
669
669
  * or creates an empty selection if no arguments were passed.
670
670
  *
671
671
  * Note: This method is also available as
672
- * {@link module:engine/model/writer~Writer#createSelection `Writer#createSelection()`}.
672
+ * {@link module:engine/model/writer~ModelWriter#createSelection `Writer#createSelection()`}.
673
673
  *
674
674
  * ```ts
675
675
  * // Creates selection at the given offset in the given element.
676
676
  * const paragraph = writer.createElement( 'paragraph' );
677
677
  * const selection = writer.createSelection( paragraph, offset );
678
678
  *
679
- * // Creates a range inside an {@link module:engine/model/element~Element element} which starts before the
679
+ * // Creates a range inside an {@link module:engine/model/element~ModelElement element} which starts before the
680
680
  * // first child of that element and ends after the last child of that element.
681
681
  * const selection = writer.createSelection( paragraph, 'in' );
682
682
  *
683
- * // Creates a range on an {@link module:engine/model/item~Item item} which starts before the item and ends
683
+ * // Creates a range on an {@link module:engine/model/item~ModelItem item} which starts before the item and ends
684
684
  * // just after the item.
685
685
  * const selection = writer.createSelection( paragraph, 'on' );
686
686
  *
@@ -694,15 +694,15 @@ export default class Model extends /* #__PURE__ */ Model_base {
694
694
  *
695
695
  * @label NODE_OFFSET
696
696
  */
697
- createSelection(selectable: Node, placeOrOffset: PlaceOrOffset, options?: {
697
+ createSelection(selectable: ModelNode, placeOrOffset: ModelPlaceOrOffset, options?: {
698
698
  backward?: boolean;
699
699
  }): ModelSelection;
700
700
  /**
701
- * Creates a new selection instance based on the given {@link module:engine/model/selection~Selectable selectable}
701
+ * Creates a new selection instance based on the given {@link module:engine/model/selection~ModelSelectable selectable}
702
702
  * or creates an empty selection if no arguments were passed.
703
703
  *
704
704
  * Note: This method is also available as
705
- * {@link module:engine/model/writer~Writer#createSelection `Writer#createSelection()`}.
705
+ * {@link module:engine/model/writer~ModelWriter#createSelection `Writer#createSelection()`}.
706
706
  *
707
707
  * ```ts
708
708
  * // Creates empty selection without ranges.
@@ -740,7 +740,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
740
740
  *
741
741
  * @label SELECTABLE
742
742
  */
743
- createSelection(selectable?: Exclude<Selectable, Node>, options?: {
743
+ createSelection(selectable?: Exclude<ModelSelectable, ModelNode>, options?: {
744
744
  backward?: boolean;
745
745
  }): ModelSelection;
746
746
  /**
@@ -763,7 +763,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
763
763
  */
764
764
  createOperationFromJSON(json: unknown): Operation;
765
765
  /**
766
- * Removes all events listeners set by model instance and destroys {@link module:engine/model/document~Document}.
766
+ * Removes all events listeners set by model instance and destroys {@link module:engine/model/document~ModelDocument}.
767
767
  */
768
768
  destroy(): void;
769
769
  /**
@@ -799,15 +799,15 @@ export type AfterChangesEvent = {
799
799
  * using {@link ~Model#applyOperation}.
800
800
  *
801
801
  * Note that this event is suitable only for very specific use-cases. Use it if you need to listen to every single operation
802
- * applied on the document. However, in most cases {@link module:engine/model/document~Document#event:change} should
802
+ * applied on the document. However, in most cases {@link module:engine/model/document~ModelDocument#event:change} should
803
803
  * be used.
804
804
  *
805
805
  * A few callbacks are already added to this event by engine internal classes:
806
806
  *
807
807
  * * with `highest` priority operation is validated,
808
808
  * * with `normal` priority operation is executed,
809
- * * with `low` priority the {@link module:engine/model/document~Document} updates its version,
810
- * * with `low` priority {@link module:engine/model/liveposition~LivePosition} and {@link module:engine/model/liverange~LiveRange}
809
+ * * with `low` priority the {@link module:engine/model/document~ModelDocument} updates its version,
810
+ * * with `low` priority {@link module:engine/model/liveposition~ModelLivePosition} and {@link module:engine/model/liverange~ModelLiveRange}
811
811
  * update themselves.
812
812
  *
813
813
  * @eventName ~Model#applyOperation
@@ -822,7 +822,7 @@ export type ModelApplyOperationEvent = DecoratedMethodEvent<Model, 'applyOperati
822
822
  * listener to this event so it can be fully customized by the features.
823
823
  *
824
824
  * **Note** The `selectable` parameter for the {@link ~Model#insertContent} is optional. When `undefined` value is passed the method uses
825
- * {@link module:engine/model/document~Document#selection document selection}.
825
+ * {@link module:engine/model/document~ModelDocument#selection document selection}.
826
826
  *
827
827
  * @eventName ~Model#insertContent
828
828
  * @param args The arguments passed to the original method.
@@ -831,8 +831,8 @@ export type ModelInsertContentEvent = {
831
831
  name: 'insertContent';
832
832
  args: [
833
833
  [
834
- content: Item | ModelDocumentFragment,
835
- selectable?: ModelSelection | DocumentSelection,
834
+ content: ModelItem | ModelDocumentFragment,
835
+ selectable?: ModelSelection | ModelDocumentSelection,
836
836
  ...rest: Array<unknown>
837
837
  ]
838
838
  ];
@@ -845,7 +845,7 @@ export type ModelInsertContentEvent = {
845
845
  * listener to this event so it can be fully customized by the features.
846
846
  *
847
847
  * **Note** The `selectable` parameter for the {@link ~Model#insertObject} is optional. When `undefined` value is passed the method uses
848
- * {@link module:engine/model/document~Document#selection document selection}.
848
+ * {@link module:engine/model/document~ModelDocument#selection document selection}.
849
849
  *
850
850
  * @eventName ~Model#insertObject
851
851
  * @param args The arguments passed to the original method.
@@ -855,7 +855,7 @@ export type ModelInsertObjectEvent = {
855
855
  args: [
856
856
  [
857
857
  element: ModelElement,
858
- selectable?: ModelSelection | DocumentSelection | null,
858
+ selectable?: ModelSelection | ModelDocumentSelection | null,
859
859
  options?: {
860
860
  findOptimalPosition?: 'auto' | 'before' | 'after';
861
861
  setSelection?: 'on' | 'after';
@@ -902,7 +902,8 @@ export type ModelGetSelectedContentEvent = DecoratedMethodEvent<Model, 'getSelec
902
902
  * listener to this event, so it can be fully customized by the features.
903
903
  *
904
904
  * Although the original method accepts any parameter of `Selectable` type, this event is fired with `selectable` normalized
905
- * to an instance of {@link module:engine/model/selection~Selection} or {@link module:engine/model/documentselection~DocumentSelection}.
905
+ * to an instance of {@link module:engine/model/selection~ModelSelection} or
906
+ * {@link module:engine/model/documentselection~ModelDocumentSelection}.
906
907
  *
907
908
  * @eventName ~Model#canEditAt
908
909
  * @param args The arguments passed to the original method.
@@ -911,7 +912,7 @@ export type ModelCanEditAtEvent = {
911
912
  name: 'canEditAt';
912
913
  args: [
913
914
  [
914
- selectable?: ModelSelection | DocumentSelection
915
+ selectable?: ModelSelection | ModelDocumentSelection
915
916
  ]
916
917
  ];
917
918
  return: boolean;