@ckeditor/ckeditor5-engine 45.2.1 → 46.0.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 (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 +96 -91
  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,10 +5,10 @@
5
5
  /**
6
6
  * @module engine/model/markercollection
7
7
  */
8
- import TypeCheckable from './typecheckable.js';
9
- import LiveRange, { type LiveRangeChangeContentEvent, type LiveRangeChangeRangeEvent, type LiveRangeChangeEvent } from './liverange.js';
10
- import type Position from './position.js';
11
- import type Range from './range.js';
8
+ import { ModelTypeCheckable } from './typecheckable.js';
9
+ import { ModelLiveRange, type ModelLiveRangeChangeContentEvent, type ModelLiveRangeChangeRangeEvent, type ModelLiveRangeChangeEvent } from './liverange.js';
10
+ import { type ModelPosition } from './position.js';
11
+ import { type ModelRange } from './range.js';
12
12
  declare const MarkerCollection_base: {
13
13
  new (): import("@ckeditor/ckeditor5-utils").Emitter;
14
14
  prototype: import("@ckeditor/ckeditor5-utils").Emitter;
@@ -18,8 +18,8 @@ declare const MarkerCollection_base: {
18
18
  * It lets you {@link module:engine/model/markercollection~MarkerCollection#get get} markers or track them using
19
19
  * {@link module:engine/model/markercollection~MarkerCollection#event:update} event.
20
20
  *
21
- * To create, change or remove makers use {@link module:engine/model/writer~Writer model writers'} methods:
22
- * {@link module:engine/model/writer~Writer#addMarker} or {@link module:engine/model/writer~Writer#removeMarker}. Since
21
+ * To create, change or remove makers use {@link module:engine/model/writer~ModelWriter model writers'} methods:
22
+ * {@link module:engine/model/writer~ModelWriter#addMarker} or {@link module:engine/model/writer~ModelWriter#removeMarker}. Since
23
23
  * the writer is the only proper way to change the data model it is not possible to change markers directly using this
24
24
  * collection. All markers created by the writer will be automatically added to this collection.
25
25
  *
@@ -27,7 +27,7 @@ declare const MarkerCollection_base: {
27
27
  *
28
28
  * @see module:engine/model/markercollection~Marker
29
29
  */
30
- export default class MarkerCollection extends /* #__PURE__ */ MarkerCollection_base implements Iterable<Marker> {
30
+ export declare class MarkerCollection extends /* #__PURE__ */ MarkerCollection_base implements Iterable<Marker> {
31
31
  /**
32
32
  * Stores {@link ~Marker markers} added to the collection.
33
33
  */
@@ -55,7 +55,7 @@ export default class MarkerCollection extends /* #__PURE__ */ MarkerCollection_b
55
55
  get(markerName: string): Marker | null;
56
56
  /**
57
57
  * Creates and adds a {@link ~Marker marker} to the `MarkerCollection` with given name on given
58
- * {@link module:engine/model/range~Range range}.
58
+ * {@link module:engine/model/range~ModelRange range}.
59
59
  *
60
60
  * If `MarkerCollection` already had a marker with given name (or {@link ~Marker marker} was passed), the marker in
61
61
  * collection is updated and {@link module:engine/model/markercollection~MarkerCollection#event:update} event is fired
@@ -71,7 +71,7 @@ export default class MarkerCollection extends /* #__PURE__ */ MarkerCollection_b
71
71
  * (is persisted in the editor's data).
72
72
  * @returns `Marker` instance which was added or updated.
73
73
  */
74
- _set(markerOrName: string | Marker, range: Range, managedUsingOperations?: boolean, affectsData?: boolean): Marker;
74
+ _set(markerOrName: string | Marker, range: ModelRange, managedUsingOperations?: boolean, affectsData?: boolean): Marker;
75
75
  /**
76
76
  * Removes given {@link ~Marker marker} or a marker with given name from the `MarkerCollection`.
77
77
  *
@@ -92,13 +92,14 @@ export default class MarkerCollection extends /* #__PURE__ */ MarkerCollection_b
92
92
  */
93
93
  _refresh(markerOrName: string | Marker): void;
94
94
  /**
95
- * Returns iterator that iterates over all markers, which ranges contain given {@link module:engine/model/position~Position position}.
95
+ * Returns iterator that iterates over all markers, which ranges
96
+ * contain given {@link module:engine/model/position~ModelPosition position}.
96
97
  */
97
- getMarkersAtPosition(position: Position): IterableIterator<Marker>;
98
+ getMarkersAtPosition(position: ModelPosition): IterableIterator<Marker>;
98
99
  /**
99
- * Returns iterator that iterates over all markers, which intersects with given {@link module:engine/model/range~Range range}.
100
+ * Returns iterator that iterates over all markers, which intersects with given {@link module:engine/model/range~ModelRange range}.
100
101
  */
101
- getMarkersIntersectingRange(range: Range): Iterable<Marker>;
102
+ getMarkersIntersectingRange(range: ModelRange): Iterable<Marker>;
102
103
  /**
103
104
  * Destroys marker collection and all markers inside it.
104
105
  */
@@ -125,7 +126,7 @@ export interface MarkerData {
125
126
  /**
126
127
  * Marker range. `null` if the marker was removed.
127
128
  */
128
- range: Range | null;
129
+ range: ModelRange | null;
129
130
  /**
130
131
  * A property defining if the marker affects data.
131
132
  */
@@ -135,10 +136,10 @@ export interface MarkerData {
135
136
  */
136
137
  managedUsingOperations: boolean;
137
138
  }
138
- declare const Marker_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof TypeCheckable, import("@ckeditor/ckeditor5-utils").Emitter>;
139
+ declare const Marker_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof ModelTypeCheckable, import("@ckeditor/ckeditor5-utils").Emitter>;
139
140
  /**
140
141
  * `Marker` is a continuous part of the model (like a range), is named and represents some kind of information about the
141
- * marked part of the model document. In contrary to {@link module:engine/model/node~Node nodes}, which are building blocks of
142
+ * marked part of the model document. In contrary to {@link module:engine/model/node~ModelNode nodes}, which are building blocks of
142
143
  * the model document tree, markers are not stored directly in the document tree but in the
143
144
  * {@link module:engine/model/model~Model#markers model markers' collection}. Still, they are document data, by giving
144
145
  * additional meaning to the part of a model document between marker start and marker end.
@@ -157,7 +158,7 @@ declare const Marker_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof Type
157
158
  * Markers are built from a name and a range.
158
159
  *
159
160
  * Range of the marker is updated automatically when document changes, using
160
- * {@link module:engine/model/liverange~LiveRange live range} mechanism.
161
+ * {@link module:engine/model/liverange~ModelLiveRange live range} mechanism.
161
162
  *
162
163
  * Name is used to group and identify markers. Names have to be unique, but markers can be grouped by
163
164
  * using common prefixes, separated with `:`, for example: `user:john` or `search:3`. That's useful in term of creating
@@ -167,7 +168,7 @@ declare const Marker_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof Type
167
168
  *
168
169
  * There are two types of markers.
169
170
  *
170
- * 1. Markers managed directly, without using operations. They are added directly by {@link module:engine/model/writer~Writer}
171
+ * 1. Markers managed directly, without using operations. They are added directly by {@link module:engine/model/writer~ModelWriter}
171
172
  * to the {@link module:engine/model/markercollection~MarkerCollection} without any additional mechanism. They can be used
172
173
  * as bookmarks or visual markers. They are great for showing results of the find, or select link when the focus is in the input.
173
174
  *
@@ -176,8 +177,8 @@ declare const Marker_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof Type
176
177
  * Therefore, they are handled in the undo stack and synchronized between clients if the collaboration plugin is enabled.
177
178
  * This type of markers is useful for solutions like spell checking or comments.
178
179
  *
179
- * Both type of them should be added / updated by {@link module:engine/model/writer~Writer#addMarker}
180
- * and removed by {@link module:engine/model/writer~Writer#removeMarker} methods.
180
+ * Both type of them should be added / updated by {@link module:engine/model/writer~ModelWriter#addMarker}
181
+ * and removed by {@link module:engine/model/writer~ModelWriter#removeMarker} methods.
181
182
  *
182
183
  * ```ts
183
184
  * model.change( ( writer ) => {
@@ -189,7 +190,7 @@ declare const Marker_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof Type
189
190
  * } );
190
191
  * ```
191
192
  *
192
- * See {@link module:engine/model/writer~Writer} to find more examples.
193
+ * See {@link module:engine/model/writer~ModelWriter} to find more examples.
193
194
  *
194
195
  * Since markers need to track change in the document, for efficiency reasons, it is best to create and keep as little
195
196
  * markers as possible and remove them as soon as they are not needed anymore.
@@ -235,11 +236,11 @@ declare class Marker extends /* #__PURE__ */ Marker_base {
235
236
  * @param managedUsingOperations Specifies whether the marker is managed using operations.
236
237
  * @param affectsData Specifies whether the marker affects the data produced by the data pipeline (is persisted in the editor's data).
237
238
  */
238
- constructor(name: string, liveRange: LiveRange, managedUsingOperations: boolean, affectsData: boolean);
239
+ constructor(name: string, liveRange: ModelLiveRange, managedUsingOperations: boolean, affectsData: boolean);
239
240
  /**
240
241
  * A value indicating if the marker is managed using operations.
241
242
  * See {@link ~Marker marker class description} to learn more about marker types.
242
- * See {@link module:engine/model/writer~Writer#addMarker}.
243
+ * See {@link module:engine/model/writer~ModelWriter#addMarker}.
243
244
  */
244
245
  get managedUsingOperations(): boolean;
245
246
  /**
@@ -253,22 +254,22 @@ declare class Marker extends /* #__PURE__ */ Marker_base {
253
254
  /**
254
255
  * Returns current marker start position.
255
256
  */
256
- getStart(): Position;
257
+ getStart(): ModelPosition;
257
258
  /**
258
259
  * Returns current marker end position.
259
260
  */
260
- getEnd(): Position;
261
+ getEnd(): ModelPosition;
261
262
  /**
262
263
  * Returns a range that represents the current state of the marker.
263
264
  *
264
- * Keep in mind that returned value is a {@link module:engine/model/range~Range Range}, not a
265
- * {@link module:engine/model/liverange~LiveRange LiveRange}. This means that it is up-to-date and relevant only
265
+ * Keep in mind that returned value is a {@link module:engine/model/range~ModelRange Range}, not a
266
+ * {@link module:engine/model/liverange~ModelLiveRange ModelLiveRange}. This means that it is up-to-date and relevant only
266
267
  * until next model document change. Do not store values returned by this method. Instead, store {@link ~Marker#name}
267
268
  * and get `Marker` instance from {@link module:engine/model/markercollection~MarkerCollection MarkerCollection} every
268
269
  * time there is a need to read marker properties. This will guarantee that the marker has not been removed and
269
270
  * that it's data is up-to-date.
270
271
  */
271
- getRange(): Range;
272
+ getRange(): ModelRange;
272
273
  /**
273
274
  * Binds new live range to the marker and detach the old one if is attached.
274
275
  *
@@ -276,7 +277,7 @@ declare class Marker extends /* #__PURE__ */ Marker_base {
276
277
  * @param liveRange Live range to attach
277
278
  * @returns Attached live range.
278
279
  */
279
- _attachLiveRange(liveRange: LiveRange): LiveRange;
280
+ _attachLiveRange(liveRange: ModelLiveRange): ModelLiveRange;
280
281
  /**
281
282
  * Unbinds and destroys currently attached live range.
282
283
  *
@@ -284,35 +285,35 @@ declare class Marker extends /* #__PURE__ */ Marker_base {
284
285
  */
285
286
  _detachLiveRange(): void;
286
287
  }
287
- export type { Marker };
288
+ export { Marker };
288
289
  /**
289
- * Fired whenever {@link ~Marker#_liveRange marker range} is changed due to changes on {@link module:engine/model/document~Document}.
290
- * This is a delegated {@link module:engine/model/liverange~LiveRange#event:change:range LiveRange change:range event}.
290
+ * Fired whenever {@link ~Marker#_liveRange marker range} is changed due to changes on {@link module:engine/model/document~ModelDocument}.
291
+ * This is a delegated {@link module:engine/model/liverange~ModelLiveRange#event:change:range ModelLiveRange change:range event}.
291
292
  *
292
293
  * When marker is removed from {@link module:engine/model/markercollection~MarkerCollection MarkerCollection},
293
294
  * all event listeners listening to it should be removed. It is best to do it on
294
295
  * {@link module:engine/model/markercollection~MarkerCollection#event:update MarkerCollection update event}.
295
296
  *
296
- * @see module:engine/model/liverange~LiveRange#event:change:range
297
+ * @see module:engine/model/liverange~ModelLiveRange#event:change:range
297
298
  * @eventName ~Marker#change:range
298
299
  */
299
- export type MarkerChangeRangeEvent = LiveRangeChangeRangeEvent;
300
+ export type MarkerChangeRangeEvent = ModelLiveRangeChangeRangeEvent;
300
301
  /**
301
- * Fired whenever change on {@link module:engine/model/document~Document} is done inside {@link ~Marker#_liveRange marker range}.
302
- * This is a delegated {@link module:engine/model/liverange~LiveRange#event:change:content LiveRange change:content event}.
302
+ * Fired whenever change on {@link module:engine/model/document~ModelDocument} is done inside {@link ~Marker#_liveRange marker range}.
303
+ * This is a delegated {@link module:engine/model/liverange~ModelLiveRange#event:change:content ModelLiveRange change:content event}.
303
304
  *
304
305
  * When marker is removed from {@link module:engine/model/markercollection~MarkerCollection MarkerCollection},
305
306
  * all event listeners listening to it should be removed. It is best to do it on
306
307
  * {@link module:engine/model/markercollection~MarkerCollection#event:update MarkerCollection update event}.
307
308
  *
308
- * @see module:engine/model/liverange~LiveRange#event:change:content
309
+ * @see module:engine/model/liverange~ModelLiveRange#event:change:content
309
310
  * @eventName ~Marker#change:content
310
311
  */
311
- export type MarkerCollectionChangeContentEvent = LiveRangeChangeContentEvent;
312
+ export type MarkerCollectionChangeContentEvent = ModelLiveRangeChangeContentEvent;
312
313
  /**
313
314
  * Describes `change:range` or `change:content` event.
314
315
  */
315
- export type MarkerChangeEvent = LiveRangeChangeEvent;
316
+ export type MarkerChangeEvent = ModelLiveRangeChangeEvent;
316
317
  /**
317
318
  * Fired whenever marker is added, updated or removed from `MarkerCollection`.
318
319
  *
@@ -326,7 +327,7 @@ export type MarkerChangeEvent = LiveRangeChangeEvent;
326
327
  */
327
328
  export type MarkerCollectionUpdateEvent = {
328
329
  name: 'update' | `update:${string}`;
329
- args: [marker: Marker, oldRange: Range | null, newRange: Range | null, oldMarkerData: MarkerData];
330
+ args: [marker: Marker, oldRange: ModelRange | null, newRange: ModelRange | null, oldMarkerData: MarkerData];
330
331
  };
331
332
  /**
332
333
  * Cannot use a {@link module:engine/model/markercollection~MarkerCollection#destroy destroyed marker} instance.
@@ -5,16 +5,16 @@
5
5
  /**
6
6
  * @module engine/model/markercollection
7
7
  */
8
- import TypeCheckable from './typecheckable.js';
9
- import LiveRange from './liverange.js';
8
+ import { ModelTypeCheckable } from './typecheckable.js';
9
+ import { ModelLiveRange } from './liverange.js';
10
10
  import { CKEditorError, EmitterMixin } from '@ckeditor/ckeditor5-utils';
11
11
  /**
12
12
  * The collection of all {@link module:engine/model/markercollection~Marker markers} attached to the document.
13
13
  * It lets you {@link module:engine/model/markercollection~MarkerCollection#get get} markers or track them using
14
14
  * {@link module:engine/model/markercollection~MarkerCollection#event:update} event.
15
15
  *
16
- * To create, change or remove makers use {@link module:engine/model/writer~Writer model writers'} methods:
17
- * {@link module:engine/model/writer~Writer#addMarker} or {@link module:engine/model/writer~Writer#removeMarker}. Since
16
+ * To create, change or remove makers use {@link module:engine/model/writer~ModelWriter model writers'} methods:
17
+ * {@link module:engine/model/writer~ModelWriter#addMarker} or {@link module:engine/model/writer~ModelWriter#removeMarker}. Since
18
18
  * the writer is the only proper way to change the data model it is not possible to change markers directly using this
19
19
  * collection. All markers created by the writer will be automatically added to this collection.
20
20
  *
@@ -22,7 +22,7 @@ import { CKEditorError, EmitterMixin } from '@ckeditor/ckeditor5-utils';
22
22
  *
23
23
  * @see module:engine/model/markercollection~Marker
24
24
  */
25
- export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
25
+ export class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
26
26
  /**
27
27
  * Stores {@link ~Marker markers} added to the collection.
28
28
  */
@@ -57,7 +57,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
57
57
  }
58
58
  /**
59
59
  * Creates and adds a {@link ~Marker marker} to the `MarkerCollection` with given name on given
60
- * {@link module:engine/model/range~Range range}.
60
+ * {@link module:engine/model/range~ModelRange range}.
61
61
  *
62
62
  * If `MarkerCollection` already had a marker with given name (or {@link ~Marker marker} was passed), the marker in
63
63
  * collection is updated and {@link module:engine/model/markercollection~MarkerCollection#event:update} event is fired
@@ -89,7 +89,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
89
89
  const oldRange = oldMarker.getRange();
90
90
  let hasChanged = false;
91
91
  if (!oldRange.isEqual(range)) {
92
- oldMarker._attachLiveRange(LiveRange.fromRange(range));
92
+ oldMarker._attachLiveRange(ModelLiveRange.fromRange(range));
93
93
  hasChanged = true;
94
94
  }
95
95
  if (managedUsingOperations != oldMarker.managedUsingOperations) {
@@ -105,7 +105,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
105
105
  }
106
106
  return oldMarker;
107
107
  }
108
- const liveRange = LiveRange.fromRange(range);
108
+ const liveRange = ModelLiveRange.fromRange(range);
109
109
  const marker = new Marker(markerName, liveRange, managedUsingOperations, affectsData);
110
110
  this._markers.set(markerName, marker);
111
111
  this.fire(`update:${markerName}`, marker, null, range, { ...marker.getData(), range: null });
@@ -154,7 +154,8 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
154
154
  this.fire(`update:${markerName}`, marker, range, range, marker.getData());
155
155
  }
156
156
  /**
157
- * Returns iterator that iterates over all markers, which ranges contain given {@link module:engine/model/position~Position position}.
157
+ * Returns iterator that iterates over all markers, which ranges
158
+ * contain given {@link module:engine/model/position~ModelPosition position}.
158
159
  */
159
160
  *getMarkersAtPosition(position) {
160
161
  for (const marker of this) {
@@ -164,7 +165,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
164
165
  }
165
166
  }
166
167
  /**
167
- * Returns iterator that iterates over all markers, which intersects with given {@link module:engine/model/range~Range range}.
168
+ * Returns iterator that iterates over all markers, which intersects with given {@link module:engine/model/range~ModelRange range}.
168
169
  */
169
170
  *getMarkersIntersectingRange(range) {
170
171
  for (const marker of this) {
@@ -212,7 +213,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
212
213
  }
213
214
  /**
214
215
  * `Marker` is a continuous part of the model (like a range), is named and represents some kind of information about the
215
- * marked part of the model document. In contrary to {@link module:engine/model/node~Node nodes}, which are building blocks of
216
+ * marked part of the model document. In contrary to {@link module:engine/model/node~ModelNode nodes}, which are building blocks of
216
217
  * the model document tree, markers are not stored directly in the document tree but in the
217
218
  * {@link module:engine/model/model~Model#markers model markers' collection}. Still, they are document data, by giving
218
219
  * additional meaning to the part of a model document between marker start and marker end.
@@ -231,7 +232,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
231
232
  * Markers are built from a name and a range.
232
233
  *
233
234
  * Range of the marker is updated automatically when document changes, using
234
- * {@link module:engine/model/liverange~LiveRange live range} mechanism.
235
+ * {@link module:engine/model/liverange~ModelLiveRange live range} mechanism.
235
236
  *
236
237
  * Name is used to group and identify markers. Names have to be unique, but markers can be grouped by
237
238
  * using common prefixes, separated with `:`, for example: `user:john` or `search:3`. That's useful in term of creating
@@ -241,7 +242,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
241
242
  *
242
243
  * There are two types of markers.
243
244
  *
244
- * 1. Markers managed directly, without using operations. They are added directly by {@link module:engine/model/writer~Writer}
245
+ * 1. Markers managed directly, without using operations. They are added directly by {@link module:engine/model/writer~ModelWriter}
245
246
  * to the {@link module:engine/model/markercollection~MarkerCollection} without any additional mechanism. They can be used
246
247
  * as bookmarks or visual markers. They are great for showing results of the find, or select link when the focus is in the input.
247
248
  *
@@ -250,8 +251,8 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
250
251
  * Therefore, they are handled in the undo stack and synchronized between clients if the collaboration plugin is enabled.
251
252
  * This type of markers is useful for solutions like spell checking or comments.
252
253
  *
253
- * Both type of them should be added / updated by {@link module:engine/model/writer~Writer#addMarker}
254
- * and removed by {@link module:engine/model/writer~Writer#removeMarker} methods.
254
+ * Both type of them should be added / updated by {@link module:engine/model/writer~ModelWriter#addMarker}
255
+ * and removed by {@link module:engine/model/writer~ModelWriter#removeMarker} methods.
255
256
  *
256
257
  * ```ts
257
258
  * model.change( ( writer ) => {
@@ -263,7 +264,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
263
264
  * } );
264
265
  * ```
265
266
  *
266
- * See {@link module:engine/model/writer~Writer} to find more examples.
267
+ * See {@link module:engine/model/writer~ModelWriter} to find more examples.
267
268
  *
268
269
  * Since markers need to track change in the document, for efficiency reasons, it is best to create and keep as little
269
270
  * markers as possible and remove them as soon as they are not needed anymore.
@@ -279,7 +280,7 @@ export default class MarkerCollection extends /* #__PURE__ */ EmitterMixin() {
279
280
  *
280
281
  * `Marker` instances are created and destroyed only by {@link ~MarkerCollection MarkerCollection}.
281
282
  */
282
- class Marker extends /* #__PURE__ */ EmitterMixin(TypeCheckable) {
283
+ class Marker extends /* #__PURE__ */ EmitterMixin(ModelTypeCheckable) {
283
284
  /**
284
285
  * Marker's name.
285
286
  */
@@ -319,7 +320,7 @@ class Marker extends /* #__PURE__ */ EmitterMixin(TypeCheckable) {
319
320
  /**
320
321
  * A value indicating if the marker is managed using operations.
321
322
  * See {@link ~Marker marker class description} to learn more about marker types.
322
- * See {@link module:engine/model/writer~Writer#addMarker}.
323
+ * See {@link module:engine/model/writer~ModelWriter#addMarker}.
323
324
  */
324
325
  get managedUsingOperations() {
325
326
  if (!this._liveRange) {
@@ -367,8 +368,8 @@ class Marker extends /* #__PURE__ */ EmitterMixin(TypeCheckable) {
367
368
  /**
368
369
  * Returns a range that represents the current state of the marker.
369
370
  *
370
- * Keep in mind that returned value is a {@link module:engine/model/range~Range Range}, not a
371
- * {@link module:engine/model/liverange~LiveRange LiveRange}. This means that it is up-to-date and relevant only
371
+ * Keep in mind that returned value is a {@link module:engine/model/range~ModelRange Range}, not a
372
+ * {@link module:engine/model/liverange~ModelLiveRange ModelLiveRange}. This means that it is up-to-date and relevant only
372
373
  * until next model document change. Do not store values returned by this method. Instead, store {@link ~Marker#name}
373
374
  * and get `Marker` instance from {@link module:engine/model/markercollection~MarkerCollection MarkerCollection} every
374
375
  * time there is a need to read marker properties. This will guarantee that the marker has not been removed and
@@ -414,6 +415,7 @@ class Marker extends /* #__PURE__ */ EmitterMixin(TypeCheckable) {
414
415
  Marker.prototype.is = function (type) {
415
416
  return type === 'marker' || type === 'model:marker';
416
417
  };
418
+ export { Marker };
417
419
  /**
418
420
  * Cannot use a {@link module:engine/model/markercollection~MarkerCollection#destroy destroyed marker} instance.
419
421
  *