@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,25 +5,25 @@
5
5
  /**
6
6
  * @module engine/model/documentfragment
7
7
  */
8
- import TypeCheckable from './typecheckable.js';
9
- import type Item from './item.js';
10
- import type Node from './node.js';
11
- import type Range from './range.js';
8
+ import { ModelTypeCheckable } from './typecheckable.js';
9
+ import { type ModelItem } from './item.js';
10
+ import { type ModelNode } from './node.js';
11
+ import { type ModelRange } from './range.js';
12
12
  /**
13
- * DocumentFragment represents a part of model which does not have a common root but its top-level nodes
13
+ * ModelDocumentFragment represents a part of model which does not have a common root but its top-level nodes
14
14
  * can be seen as siblings. In other words, it is a detached part of model tree, without a root.
15
15
  *
16
- * DocumentFragment has own {@link module:engine/model/markercollection~MarkerCollection}. Markers from this collection
16
+ * ModelDocumentFragment has own {@link module:engine/model/markercollection~MarkerCollection}. Markers from this collection
17
17
  * will be set to the {@link module:engine/model/model~Model#markers model markers} by a
18
- * {@link module:engine/model/writer~Writer#insert} function.
18
+ * {@link module:engine/model/writer~ModelWriter#insert} function.
19
19
  */
20
- export default class DocumentFragment extends TypeCheckable implements Iterable<Node> {
20
+ export declare class ModelDocumentFragment extends ModelTypeCheckable implements Iterable<ModelNode> {
21
21
  /**
22
- * DocumentFragment static markers map. This is a list of names and {@link module:engine/model/range~Range ranges}
22
+ * ModelDocumentFragment static markers map. This is a list of names and {@link module:engine/model/range~ModelRange ranges}
23
23
  * which will be set as Markers to {@link module:engine/model/model~Model#markers model markers collection}
24
- * when DocumentFragment will be inserted to the document.
24
+ * when ModelDocumentFragment will be inserted to the document.
25
25
  */
26
- readonly markers: Map<string, Range>;
26
+ readonly markers: Map<string, ModelRange>;
27
27
  /**
28
28
  * Artificial element name. Returns `undefined`. Added for compatibility reasons.
29
29
  */
@@ -37,25 +37,25 @@ export default class DocumentFragment extends TypeCheckable implements Iterable<
37
37
  */
38
38
  private readonly _children;
39
39
  /**
40
- * Creates an empty `DocumentFragment`.
40
+ * Creates an empty `ModelDocumentFragment`.
41
41
  *
42
42
  * **Note:** Constructor of this class shouldn't be used directly in the code.
43
- * Use the {@link module:engine/model/writer~Writer#createDocumentFragment} method instead.
43
+ * Use the {@link module:engine/model/writer~ModelWriter#createDocumentFragment} method instead.
44
44
  *
45
45
  * @internal
46
- * @param children Nodes to be contained inside the `DocumentFragment`.
46
+ * @param children Nodes to be contained inside the `ModelDocumentFragment`.
47
47
  */
48
- constructor(children?: Node | Iterable<Node>);
48
+ constructor(children?: ModelNode | Iterable<ModelNode>);
49
49
  /**
50
50
  * Returns an iterator that iterates over all nodes contained inside this document fragment.
51
51
  */
52
- [Symbol.iterator](): IterableIterator<Node>;
52
+ [Symbol.iterator](): IterableIterator<ModelNode>;
53
53
  /**
54
54
  * Number of this document fragment's children.
55
55
  */
56
56
  get childCount(): number;
57
57
  /**
58
- * Sum of {@link module:engine/model/node~Node#offsetSize offset sizes} of all of this document fragment's children.
58
+ * Sum of {@link module:engine/model/node~ModelNode#offsetSize offset sizes} of all of this document fragment's children.
59
59
  */
60
60
  get maxOffset(): number;
61
61
  /**
@@ -71,19 +71,19 @@ export default class DocumentFragment extends TypeCheckable implements Iterable<
71
71
  */
72
72
  get previousSibling(): null;
73
73
  /**
74
- * Artificial root of `DocumentFragment`. Returns itself. Added for compatibility reasons.
74
+ * Artificial root of `ModelDocumentFragment`. Returns itself. Added for compatibility reasons.
75
75
  */
76
- get root(): DocumentFragment;
76
+ get root(): ModelDocumentFragment;
77
77
  /**
78
- * Artificial parent of `DocumentFragment`. Returns `null`. Added for compatibility reasons.
78
+ * Artificial parent of `ModelDocumentFragment`. Returns `null`. Added for compatibility reasons.
79
79
  */
80
80
  get parent(): null;
81
81
  /**
82
- * Artificial owner of `DocumentFragment`. Returns `null`. Added for compatibility reasons.
82
+ * Artificial owner of `ModelDocumentFragment`. Returns `null`. Added for compatibility reasons.
83
83
  */
84
84
  get document(): null;
85
85
  /**
86
- * Returns `false` as `DocumentFragment` by definition is not attached to a document. Added for compatibility reasons.
86
+ * Returns `false` as `ModelDocumentFragment` by definition is not attached to a document. Added for compatibility reasons.
87
87
  */
88
88
  isAttached(): false;
89
89
  /**
@@ -96,36 +96,36 @@ export default class DocumentFragment extends TypeCheckable implements Iterable<
96
96
  * @param index Index in this document fragment.
97
97
  * @returns Child node.
98
98
  */
99
- getChild(index: number): Node | null;
99
+ getChild(index: number): ModelNode | null;
100
100
  /**
101
101
  * Gets the child at the given offset. Returns `null` if incorrect index was passed.
102
102
  *
103
103
  * @param offset Offset in this document fragment.
104
104
  * @returns Child node.
105
105
  */
106
- getChildAtOffset(offset: number): Node | null;
106
+ getChildAtOffset(offset: number): ModelNode | null;
107
107
  /**
108
108
  * Returns an iterator that iterates over all of this document fragment's children.
109
109
  */
110
- getChildren(): IterableIterator<Node>;
110
+ getChildren(): IterableIterator<ModelNode>;
111
111
  /**
112
112
  * Returns an index of the given child node. Returns `null` if given node is not a child of this document fragment.
113
113
  *
114
114
  * @param node Child node to look for.
115
115
  * @returns Child node's index.
116
116
  */
117
- getChildIndex(node: Node): number | null;
117
+ getChildIndex(node: ModelNode): number | null;
118
118
  /**
119
119
  * Returns the starting offset of given child. Starting offset is equal to the sum of
120
- * {@link module:engine/model/node~Node#offsetSize offset sizes} of all node's siblings that are before it. Returns `null` if
120
+ * {@link module:engine/model/node~ModelNode#offsetSize offset sizes} of all node's siblings that are before it. Returns `null` if
121
121
  * given node is not a child of this document fragment.
122
122
  *
123
123
  * @param node Child node to look for.
124
124
  * @returns Child node's starting offset.
125
125
  */
126
- getChildStartOffset(node: Node): number | null;
126
+ getChildStartOffset(node: ModelNode): number | null;
127
127
  /**
128
- * Returns path to a `DocumentFragment`, which is an empty array. Added for compatibility reasons.
128
+ * Returns path to a `ModelDocumentFragment`, which is an empty array. Added for compatibility reasons.
129
129
  */
130
130
  getPath(): Array<number>;
131
131
  /**
@@ -140,7 +140,7 @@ export default class DocumentFragment extends TypeCheckable implements Iterable<
140
140
  *
141
141
  * @param relativePath Path of the node to find, relative to this element.
142
142
  */
143
- getNodeByPath(relativePath: Array<number>): Node | DocumentFragment;
143
+ getNodeByPath(relativePath: Array<number>): ModelNode | ModelDocumentFragment;
144
144
  /**
145
145
  * Converts offset "position" to index "position".
146
146
  *
@@ -150,7 +150,7 @@ export default class DocumentFragment extends TypeCheckable implements Iterable<
150
150
  * ```ts
151
151
  * const textNode = new Text( 'foo' );
152
152
  * const pElement = new Element( 'p' );
153
- * const docFrag = new DocumentFragment( [ textNode, pElement ] );
153
+ * const docFrag = new ModelDocumentFragment( [ textNode, pElement ] );
154
154
  * docFrag.offsetToIndex( -1 ); // Returns 0, because offset is too low.
155
155
  * docFrag.offsetToIndex( 0 ); // Returns 0, because offset 0 is taken by `textNode` which is at index 0.
156
156
  * docFrag.offsetToIndex( 1 ); // Returns 0, because `textNode` has `offsetSize` equal to 3, so it occupies offset 1 too.
@@ -164,49 +164,49 @@ export default class DocumentFragment extends TypeCheckable implements Iterable<
164
164
  */
165
165
  offsetToIndex(offset: number): number;
166
166
  /**
167
- * Converts `DocumentFragment` instance to plain object and returns it.
167
+ * Converts `ModelDocumentFragment` instance to plain object and returns it.
168
168
  * Takes care of converting all of this document fragment's children.
169
169
  *
170
- * @returns `DocumentFragment` instance converted to plain object.
170
+ * @returns `ModelDocumentFragment` instance converted to plain object.
171
171
  */
172
172
  toJSON(): unknown;
173
173
  /**
174
- * Creates a `DocumentFragment` instance from given plain object (i.e. parsed JSON string).
175
- * Converts `DocumentFragment` children to proper nodes.
174
+ * Creates a `ModelDocumentFragment` instance from given plain object (i.e. parsed JSON string).
175
+ * Converts `ModelDocumentFragment` children to proper nodes.
176
176
  *
177
- * @param json Plain object to be converted to `DocumentFragment`.
178
- * @returns `DocumentFragment` instance created using given plain object.
177
+ * @param json Plain object to be converted to `ModelDocumentFragment`.
178
+ * @returns `ModelDocumentFragment` instance created using given plain object.
179
179
  */
180
- static fromJSON(json: any): DocumentFragment;
180
+ static fromJSON(json: any): ModelDocumentFragment;
181
181
  /**
182
182
  * {@link #_insertChild Inserts} one or more nodes at the end of this document fragment.
183
183
  *
184
184
  * @internal
185
185
  * @param items Items to be inserted.
186
186
  */
187
- _appendChild(items: string | Item | Iterable<string | Item>): void;
187
+ _appendChild(items: string | ModelItem | Iterable<string | ModelItem>): void;
188
188
  /**
189
- * Inserts one or more nodes at the given index and sets {@link module:engine/model/node~Node#parent parent} of these nodes
189
+ * Inserts one or more nodes at the given index and sets {@link module:engine/model/node~ModelNode#parent parent} of these nodes
190
190
  * to this document fragment.
191
191
  *
192
192
  * @internal
193
193
  * @param index Index at which nodes should be inserted.
194
194
  * @param items Items to be inserted.
195
195
  */
196
- _insertChild(index: number, items: string | Item | Iterable<string | Item>): void;
196
+ _insertChild(index: number, items: string | ModelItem | Iterable<string | ModelItem>): void;
197
197
  /**
198
198
  * Removes one or more nodes starting at the given index
199
- * and sets {@link module:engine/model/node~Node#parent parent} of these nodes to `null`.
199
+ * and sets {@link module:engine/model/node~ModelNode#parent parent} of these nodes to `null`.
200
200
  *
201
201
  * @internal
202
202
  * @param index Index of the first node to remove.
203
203
  * @param howMany Number of nodes to remove.
204
204
  * @returns Array containing removed nodes.
205
205
  */
206
- _removeChildren(index: number, howMany?: number): Array<Node>;
206
+ _removeChildren(index: number, howMany?: number): Array<ModelNode>;
207
207
  /**
208
208
  * Removes children nodes provided as an array and sets
209
- * the {@link module:engine/model/node~Node#parent parent} of these nodes to `null`.
209
+ * the {@link module:engine/model/node~ModelNode#parent parent} of these nodes to `null`.
210
210
  *
211
211
  * These nodes do not need to be direct siblings.
212
212
  *
@@ -215,5 +215,5 @@ export default class DocumentFragment extends TypeCheckable implements Iterable<
215
215
  * @internal
216
216
  * @param nodes Array of nodes.
217
217
  */
218
- _removeChildrenArray(nodes: Array<Node>): void;
218
+ _removeChildrenArray(nodes: Array<ModelNode>): void;
219
219
  }
@@ -5,40 +5,40 @@
5
5
  /**
6
6
  * @module engine/model/documentfragment
7
7
  */
8
- import TypeCheckable from './typecheckable.js';
9
- import Element from './element.js';
10
- import NodeList from './nodelist.js';
11
- import Text from './text.js';
12
- import TextProxy from './textproxy.js';
8
+ import { ModelTypeCheckable } from './typecheckable.js';
9
+ import { ModelElement } from './element.js';
10
+ import { ModelNodeList } from './nodelist.js';
11
+ import { ModelText } from './text.js';
12
+ import { ModelTextProxy } from './textproxy.js';
13
13
  import { isIterable } from '@ckeditor/ckeditor5-utils';
14
14
  // @if CK_DEBUG_ENGINE // const { stringifyMap } = require( '../dev-utils/utils' );
15
15
  /**
16
- * DocumentFragment represents a part of model which does not have a common root but its top-level nodes
16
+ * ModelDocumentFragment represents a part of model which does not have a common root but its top-level nodes
17
17
  * can be seen as siblings. In other words, it is a detached part of model tree, without a root.
18
18
  *
19
- * DocumentFragment has own {@link module:engine/model/markercollection~MarkerCollection}. Markers from this collection
19
+ * ModelDocumentFragment has own {@link module:engine/model/markercollection~MarkerCollection}. Markers from this collection
20
20
  * will be set to the {@link module:engine/model/model~Model#markers model markers} by a
21
- * {@link module:engine/model/writer~Writer#insert} function.
21
+ * {@link module:engine/model/writer~ModelWriter#insert} function.
22
22
  */
23
- export default class DocumentFragment extends TypeCheckable {
23
+ export class ModelDocumentFragment extends ModelTypeCheckable {
24
24
  /**
25
- * DocumentFragment static markers map. This is a list of names and {@link module:engine/model/range~Range ranges}
25
+ * ModelDocumentFragment static markers map. This is a list of names and {@link module:engine/model/range~ModelRange ranges}
26
26
  * which will be set as Markers to {@link module:engine/model/model~Model#markers model markers collection}
27
- * when DocumentFragment will be inserted to the document.
27
+ * when ModelDocumentFragment will be inserted to the document.
28
28
  */
29
29
  markers = new Map();
30
30
  /**
31
31
  * List of nodes contained inside the document fragment.
32
32
  */
33
- _children = new NodeList();
33
+ _children = new ModelNodeList();
34
34
  /**
35
- * Creates an empty `DocumentFragment`.
35
+ * Creates an empty `ModelDocumentFragment`.
36
36
  *
37
37
  * **Note:** Constructor of this class shouldn't be used directly in the code.
38
- * Use the {@link module:engine/model/writer~Writer#createDocumentFragment} method instead.
38
+ * Use the {@link module:engine/model/writer~ModelWriter#createDocumentFragment} method instead.
39
39
  *
40
40
  * @internal
41
- * @param children Nodes to be contained inside the `DocumentFragment`.
41
+ * @param children Nodes to be contained inside the `ModelDocumentFragment`.
42
42
  */
43
43
  constructor(children) {
44
44
  super();
@@ -59,7 +59,7 @@ export default class DocumentFragment extends TypeCheckable {
59
59
  return this._children.length;
60
60
  }
61
61
  /**
62
- * Sum of {@link module:engine/model/node~Node#offsetSize offset sizes} of all of this document fragment's children.
62
+ * Sum of {@link module:engine/model/node~ModelNode#offsetSize offset sizes} of all of this document fragment's children.
63
63
  */
64
64
  get maxOffset() {
65
65
  return this._children.maxOffset;
@@ -83,25 +83,25 @@ export default class DocumentFragment extends TypeCheckable {
83
83
  return null;
84
84
  }
85
85
  /**
86
- * Artificial root of `DocumentFragment`. Returns itself. Added for compatibility reasons.
86
+ * Artificial root of `ModelDocumentFragment`. Returns itself. Added for compatibility reasons.
87
87
  */
88
88
  get root() {
89
89
  return this;
90
90
  }
91
91
  /**
92
- * Artificial parent of `DocumentFragment`. Returns `null`. Added for compatibility reasons.
92
+ * Artificial parent of `ModelDocumentFragment`. Returns `null`. Added for compatibility reasons.
93
93
  */
94
94
  get parent() {
95
95
  return null;
96
96
  }
97
97
  /**
98
- * Artificial owner of `DocumentFragment`. Returns `null`. Added for compatibility reasons.
98
+ * Artificial owner of `ModelDocumentFragment`. Returns `null`. Added for compatibility reasons.
99
99
  */
100
100
  get document() {
101
101
  return null;
102
102
  }
103
103
  /**
104
- * Returns `false` as `DocumentFragment` by definition is not attached to a document. Added for compatibility reasons.
104
+ * Returns `false` as `ModelDocumentFragment` by definition is not attached to a document. Added for compatibility reasons.
105
105
  */
106
106
  isAttached() {
107
107
  return false;
@@ -147,7 +147,7 @@ export default class DocumentFragment extends TypeCheckable {
147
147
  }
148
148
  /**
149
149
  * Returns the starting offset of given child. Starting offset is equal to the sum of
150
- * {@link module:engine/model/node~Node#offsetSize offset sizes} of all node's siblings that are before it. Returns `null` if
150
+ * {@link module:engine/model/node~ModelNode#offsetSize offset sizes} of all node's siblings that are before it. Returns `null` if
151
151
  * given node is not a child of this document fragment.
152
152
  *
153
153
  * @param node Child node to look for.
@@ -157,7 +157,7 @@ export default class DocumentFragment extends TypeCheckable {
157
157
  return this._children.getNodeStartOffset(node);
158
158
  }
159
159
  /**
160
- * Returns path to a `DocumentFragment`, which is an empty array. Added for compatibility reasons.
160
+ * Returns path to a `ModelDocumentFragment`, which is an empty array. Added for compatibility reasons.
161
161
  */
162
162
  getPath() {
163
163
  return [];
@@ -191,7 +191,7 @@ export default class DocumentFragment extends TypeCheckable {
191
191
  * ```ts
192
192
  * const textNode = new Text( 'foo' );
193
193
  * const pElement = new Element( 'p' );
194
- * const docFrag = new DocumentFragment( [ textNode, pElement ] );
194
+ * const docFrag = new ModelDocumentFragment( [ textNode, pElement ] );
195
195
  * docFrag.offsetToIndex( -1 ); // Returns 0, because offset is too low.
196
196
  * docFrag.offsetToIndex( 0 ); // Returns 0, because offset 0 is taken by `textNode` which is at index 0.
197
197
  * docFrag.offsetToIndex( 1 ); // Returns 0, because `textNode` has `offsetSize` equal to 3, so it occupies offset 1 too.
@@ -207,10 +207,10 @@ export default class DocumentFragment extends TypeCheckable {
207
207
  return this._children.offsetToIndex(offset);
208
208
  }
209
209
  /**
210
- * Converts `DocumentFragment` instance to plain object and returns it.
210
+ * Converts `ModelDocumentFragment` instance to plain object and returns it.
211
211
  * Takes care of converting all of this document fragment's children.
212
212
  *
213
- * @returns `DocumentFragment` instance converted to plain object.
213
+ * @returns `ModelDocumentFragment` instance converted to plain object.
214
214
  */
215
215
  toJSON() {
216
216
  const json = [];
@@ -220,25 +220,25 @@ export default class DocumentFragment extends TypeCheckable {
220
220
  return json;
221
221
  }
222
222
  /**
223
- * Creates a `DocumentFragment` instance from given plain object (i.e. parsed JSON string).
224
- * Converts `DocumentFragment` children to proper nodes.
223
+ * Creates a `ModelDocumentFragment` instance from given plain object (i.e. parsed JSON string).
224
+ * Converts `ModelDocumentFragment` children to proper nodes.
225
225
  *
226
- * @param json Plain object to be converted to `DocumentFragment`.
227
- * @returns `DocumentFragment` instance created using given plain object.
226
+ * @param json Plain object to be converted to `ModelDocumentFragment`.
227
+ * @returns `ModelDocumentFragment` instance created using given plain object.
228
228
  */
229
229
  static fromJSON(json) {
230
230
  const children = [];
231
231
  for (const child of json) {
232
232
  if (child.name) {
233
233
  // If child has name property, it is an Element.
234
- children.push(Element.fromJSON(child));
234
+ children.push(ModelElement.fromJSON(child));
235
235
  }
236
236
  else {
237
237
  // Otherwise, it is a Text node.
238
- children.push(Text.fromJSON(child));
238
+ children.push(ModelText.fromJSON(child));
239
239
  }
240
240
  }
241
- return new DocumentFragment(children);
241
+ return new ModelDocumentFragment(children);
242
242
  }
243
243
  /**
244
244
  * {@link #_insertChild Inserts} one or more nodes at the end of this document fragment.
@@ -250,7 +250,7 @@ export default class DocumentFragment extends TypeCheckable {
250
250
  this._insertChild(this.childCount, items);
251
251
  }
252
252
  /**
253
- * Inserts one or more nodes at the given index and sets {@link module:engine/model/node~Node#parent parent} of these nodes
253
+ * Inserts one or more nodes at the given index and sets {@link module:engine/model/node~ModelNode#parent parent} of these nodes
254
254
  * to this document fragment.
255
255
  *
256
256
  * @internal
@@ -270,7 +270,7 @@ export default class DocumentFragment extends TypeCheckable {
270
270
  }
271
271
  /**
272
272
  * Removes one or more nodes starting at the given index
273
- * and sets {@link module:engine/model/node~Node#parent parent} of these nodes to `null`.
273
+ * and sets {@link module:engine/model/node~ModelNode#parent parent} of these nodes to `null`.
274
274
  *
275
275
  * @internal
276
276
  * @param index Index of the first node to remove.
@@ -286,7 +286,7 @@ export default class DocumentFragment extends TypeCheckable {
286
286
  }
287
287
  /**
288
288
  * Removes children nodes provided as an array and sets
289
- * the {@link module:engine/model/node~Node#parent parent} of these nodes to `null`.
289
+ * the {@link module:engine/model/node~ModelNode#parent parent} of these nodes to `null`.
290
290
  *
291
291
  * These nodes do not need to be direct siblings.
292
292
  *
@@ -304,7 +304,7 @@ export default class DocumentFragment extends TypeCheckable {
304
304
  }
305
305
  // The magic of type inference using `is` method is centralized in `TypeCheckable` class.
306
306
  // Proper overload would interfere with that.
307
- DocumentFragment.prototype.is = function (type) {
307
+ ModelDocumentFragment.prototype.is = function (type) {
308
308
  return type === 'documentFragment' || type === 'model:documentFragment';
309
309
  };
310
310
  /**
@@ -313,7 +313,7 @@ DocumentFragment.prototype.is = function (type) {
313
313
  function normalize(nodes) {
314
314
  // Separate condition because string is iterable.
315
315
  if (typeof nodes == 'string') {
316
- return [new Text(nodes)];
316
+ return [new ModelText(nodes)];
317
317
  }
318
318
  if (!isIterable(nodes)) {
319
319
  nodes = [nodes];
@@ -322,10 +322,10 @@ function normalize(nodes) {
322
322
  return Array.from(nodes)
323
323
  .map(node => {
324
324
  if (typeof node == 'string') {
325
- return new Text(node);
325
+ return new ModelText(node);
326
326
  }
327
- if (node instanceof TextProxy) {
328
- return new Text(node.data, node.getAttributes());
327
+ if (node instanceof ModelTextProxy) {
328
+ return new ModelText(node.data, node.getAttributes());
329
329
  }
330
330
  return node;
331
331
  });