@ckeditor/ckeditor5-engine 45.2.1-alpha.9 → 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,35 +5,35 @@
5
5
  /**
6
6
  * @module engine/view/upcastwriter
7
7
  */
8
- import DocumentFragment from './documentfragment.js';
9
- import Element from './element.js';
10
- import Text from './text.js';
8
+ import { ViewDocumentFragment } from './documentfragment.js';
9
+ import { ViewElement } from './element.js';
10
+ import { ViewText } from './text.js';
11
11
  import { isPlainObject } from 'es-toolkit/compat';
12
- import Position from './position.js';
13
- import Range from './range.js';
14
- import Selection from './selection.js';
12
+ import { ViewPosition } from './position.js';
13
+ import { ViewRange } from './range.js';
14
+ import { ViewSelection } from './selection.js';
15
15
  /**
16
16
  * View upcast writer. It provides a set of methods used to manipulate non-semantic view trees.
17
17
  *
18
18
  * It should be used only while working on a non-semantic view
19
19
  * (e.g. a view created from HTML string on paste).
20
20
  * To manipulate a view which was or is being downcasted from the the model use the
21
- * {@link module:engine/view/downcastwriter~DowncastWriter downcast writer}.
21
+ * {@link module:engine/view/downcastwriter~ViewDowncastWriter downcast writer}.
22
22
  *
23
23
  * Read more about changing the view in the {@glink framework/architecture/editing-engine#changing-the-view Changing the view}
24
24
  * section of the {@glink framework/architecture/editing-engine Editing engine architecture} guide.
25
25
  *
26
- * Unlike `DowncastWriter`, which is available in the {@link module:engine/view/view~View#change `View#change()`} block,
27
- * `UpcastWriter` can be created wherever you need it:
26
+ * Unlike `ViewDowncastWriter`, which is available in the {@link module:engine/view/view~EditingView#change `View#change()`} block,
27
+ * `ViewUpcastWriter` can be created wherever you need it:
28
28
  *
29
29
  * ```ts
30
- * const writer = new UpcastWriter( viewDocument );
30
+ * const writer = new ViewUpcastWriter( viewDocument );
31
31
  * const text = writer.createText( 'foo!' );
32
32
  *
33
33
  * writer.appendChild( text, someViewElement );
34
34
  * ```
35
35
  */
36
- export default class UpcastWriter {
36
+ export class ViewUpcastWriter {
37
37
  /**
38
38
  * The view document instance in which this upcast writer operates.
39
39
  */
@@ -45,16 +45,16 @@ export default class UpcastWriter {
45
45
  this.document = document;
46
46
  }
47
47
  /**
48
- * Creates a new {@link module:engine/view/documentfragment~DocumentFragment} instance.
48
+ * Creates a new {@link module:engine/view/documentfragment~ViewDocumentFragment} instance.
49
49
  *
50
50
  * @param children A list of nodes to be inserted into the created document fragment.
51
51
  * @returns The created document fragment.
52
52
  */
53
53
  createDocumentFragment(children) {
54
- return new DocumentFragment(this.document, children);
54
+ return new ViewDocumentFragment(this.document, children);
55
55
  }
56
56
  /**
57
- * Creates a new {@link module:engine/view/element~Element} instance.
57
+ * Creates a new {@link module:engine/view/element~ViewElement} instance.
58
58
  *
59
59
  * Attributes can be passed in various formats:
60
60
  *
@@ -70,21 +70,21 @@ export default class UpcastWriter {
70
70
  * @returns Created element.
71
71
  */
72
72
  createElement(name, attrs, children) {
73
- return new Element(this.document, name, attrs, children);
73
+ return new ViewElement(this.document, name, attrs, children);
74
74
  }
75
75
  /**
76
- * Creates a new {@link module:engine/view/text~Text} instance.
76
+ * Creates a new {@link module:engine/view/text~ViewText} instance.
77
77
  *
78
78
  * @param data The text's data.
79
79
  * @returns The created text node.
80
80
  */
81
81
  createText(data) {
82
- return new Text(this.document, data);
82
+ return new ViewText(this.document, data);
83
83
  }
84
84
  /**
85
85
  * Clones the provided element.
86
86
  *
87
- * @see module:engine/view/element~Element#_clone
87
+ * @see module:engine/view/element~ViewElement#_clone
88
88
  * @param element Element to be cloned.
89
89
  * @param deep If set to `true` clones element and all its children recursively. When set to `false`,
90
90
  * element will be cloned without any children.
@@ -97,7 +97,7 @@ export default class UpcastWriter {
97
97
  * Appends a child node or a list of child nodes at the end of this node
98
98
  * and sets the parent of these nodes to this element.
99
99
  *
100
- * @see module:engine/view/element~Element#_appendChild
100
+ * @see module:engine/view/element~ViewElement#_appendChild
101
101
  * @param items Items to be inserted.
102
102
  * @param element Element to which items will be appended.
103
103
  * @returns Number of appended nodes.
@@ -109,7 +109,7 @@ export default class UpcastWriter {
109
109
  * Inserts a child node or a list of child nodes on the given index and sets the parent of these nodes to
110
110
  * this element.
111
111
  *
112
- * @see module:engine/view/element~Element#_insertChild
112
+ * @see module:engine/view/element~ViewElement#_insertChild
113
113
  * @param index Offset at which nodes should be inserted.
114
114
  * @param items Items to be inserted.
115
115
  * @param element Element to which items will be inserted.
@@ -121,7 +121,7 @@ export default class UpcastWriter {
121
121
  /**
122
122
  * Removes the given number of child nodes starting at the given index and set the parent of these nodes to `null`.
123
123
  *
124
- * @see module:engine/view/element~Element#_removeChildren
124
+ * @see module:engine/view/element~ViewElement#_removeChildren
125
125
  * @param index Offset from which nodes will be removed.
126
126
  * @param howMany Number of nodes to remove.
127
127
  * @param element Element which children will be removed.
@@ -185,7 +185,7 @@ export default class UpcastWriter {
185
185
  * @returns New element or null if the old element was not replaced (happens for detached elements).
186
186
  */
187
187
  rename(newName, element) {
188
- const newElement = new Element(this.document, newName, element.getAttributes(), element.getChildren());
188
+ const newElement = new ViewElement(this.document, newName, element.getAttributes(), element.getChildren());
189
189
  return this.replace(element, newElement) ? newElement : null;
190
190
  }
191
191
  /**
@@ -195,7 +195,7 @@ export default class UpcastWriter {
195
195
  * writer.setAttribute( 'href', 'http://ckeditor.com', linkElement );
196
196
  * ```
197
197
  *
198
- * @see module:engine/view/element~Element#_setAttribute
198
+ * @see module:engine/view/element~ViewElement#_setAttribute
199
199
  * @param key Attribute key.
200
200
  * @param value Attribute value.
201
201
  * @param element Element for which attribute will be set.
@@ -210,7 +210,7 @@ export default class UpcastWriter {
210
210
  * writer.removeAttribute( 'href', linkElement );
211
211
  * ```
212
212
  *
213
- * @see module:engine/view/element~Element#_removeAttribute
213
+ * @see module:engine/view/element~ViewElement#_removeAttribute
214
214
  * @param key Attribute key.
215
215
  * @param element Element from which attribute will be removed.
216
216
  */
@@ -225,7 +225,7 @@ export default class UpcastWriter {
225
225
  * writer.addClass( [ 'foo', 'bar' ], linkElement );
226
226
  * ```
227
227
  *
228
- * @see module:engine/view/element~Element#_addClass
228
+ * @see module:engine/view/element~ViewElement#_addClass
229
229
  * @param className Single class name or array of class names which will be added.
230
230
  * @param element Element for which class will be added.
231
231
  */
@@ -240,7 +240,7 @@ export default class UpcastWriter {
240
240
  * writer.removeClass( [ 'foo', 'bar' ], linkElement );
241
241
  * ```
242
242
  *
243
- * @see module:engine/view/element~Element#_removeClass
243
+ * @see module:engine/view/element~ViewElement#_removeClass
244
244
  * @param className Single class name or array of class names which will be removed.
245
245
  * @param element Element from which class will be removed.
246
246
  */
@@ -267,7 +267,7 @@ export default class UpcastWriter {
267
267
  * {@link module:engine/controller/datacontroller~DataController#addStyleProcessorRules a particular style processor rule is enabled}.
268
268
  * See {@link module:engine/view/stylesmap~StylesMap#remove `StylesMap#remove()`} for details.
269
269
  *
270
- * @see module:engine/view/element~Element#_removeStyle
270
+ * @see module:engine/view/element~ViewElement#_removeStyle
271
271
  * @param property Style property name or names to be removed.
272
272
  * @param element Element from which style will be removed.
273
273
  */
@@ -278,7 +278,7 @@ export default class UpcastWriter {
278
278
  * Sets a custom property on element. Unlike attributes, custom properties are not rendered to the DOM,
279
279
  * so they can be used to add special data to elements.
280
280
  *
281
- * @see module:engine/view/element~Element#_setCustomProperty
281
+ * @see module:engine/view/element~ViewElement#_setCustomProperty
282
282
  * @param key Custom property name/key.
283
283
  * @param value Custom property value to be stored.
284
284
  * @param element Element for which custom property will be set.
@@ -289,7 +289,7 @@ export default class UpcastWriter {
289
289
  /**
290
290
  * Removes a custom property stored under the given key.
291
291
  *
292
- * @see module:engine/view/element~Element#_removeCustomProperty
292
+ * @see module:engine/view/element~ViewElement#_removeCustomProperty
293
293
  * @param key Name/key of the custom property to be removed.
294
294
  * @param element Element from which the custom property will be removed.
295
295
  * @returns Returns true if property was removed.
@@ -300,20 +300,20 @@ export default class UpcastWriter {
300
300
  /**
301
301
  * Creates position at the given location. The location can be specified as:
302
302
  *
303
- * * a {@link module:engine/view/position~Position position},
303
+ * * a {@link module:engine/view/position~ViewPosition position},
304
304
  * * parent element and offset (offset defaults to `0`),
305
305
  * * parent element and `'end'` (sets position at the end of that element),
306
- * * {@link module:engine/view/item~Item view item} and `'before'` or `'after'` (sets position before or after given view item).
306
+ * * {@link module:engine/view/item~ViewItem view item} and `'before'` or `'after'` (sets position before or after given view item).
307
307
  *
308
308
  * This method is a shortcut to other constructors such as:
309
309
  *
310
310
  * * {@link #createPositionBefore},
311
311
  * * {@link #createPositionAfter},
312
312
  *
313
- * @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~Item view item}.
313
+ * @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~ViewItem view item}.
314
314
  */
315
315
  createPositionAt(itemOrPosition, offset) {
316
- return Position._createAt(itemOrPosition, offset);
316
+ return ViewPosition._createAt(itemOrPosition, offset);
317
317
  }
318
318
  /**
319
319
  * Creates a new position after given view item.
@@ -321,7 +321,7 @@ export default class UpcastWriter {
321
321
  * @param item View item after which the position should be located.
322
322
  */
323
323
  createPositionAfter(item) {
324
- return Position._createAfter(item);
324
+ return ViewPosition._createAfter(item);
325
325
  }
326
326
  /**
327
327
  * Creates a new position before given view item.
@@ -329,35 +329,35 @@ export default class UpcastWriter {
329
329
  * @param item View item before which the position should be located.
330
330
  */
331
331
  createPositionBefore(item) {
332
- return Position._createBefore(item);
332
+ return ViewPosition._createBefore(item);
333
333
  }
334
334
  /**
335
335
  * Creates a range spanning from `start` position to `end` position.
336
336
  *
337
- * **Note:** This factory method creates it's own {@link module:engine/view/position~Position} instances basing on passed values.
337
+ * **Note:** This factory method creates it's own {@link module:engine/view/position~ViewPosition} instances basing on passed values.
338
338
  *
339
339
  * @param start Start position.
340
340
  * @param end End position. If not set, range will be collapsed at `start` position.
341
341
  */
342
342
  createRange(start, end) {
343
- return new Range(start, end);
343
+ return new ViewRange(start, end);
344
344
  }
345
345
  /**
346
- * Creates a range that starts before given {@link module:engine/view/item~Item view item} and ends after it.
346
+ * Creates a range that starts before given {@link module:engine/view/item~ViewItem view item} and ends after it.
347
347
  */
348
348
  createRangeOn(item) {
349
- return Range._createOn(item);
349
+ return ViewRange._createOn(item);
350
350
  }
351
351
  /**
352
- * Creates a range inside an {@link module:engine/view/element~Element element} which starts before the first child of
352
+ * Creates a range inside an {@link module:engine/view/element~ViewElement element} which starts before the first child of
353
353
  * that element and ends after the last child of that element.
354
354
  *
355
355
  * @param element Element which is a parent for the range.
356
356
  */
357
357
  createRangeIn(element) {
358
- return Range._createIn(element);
358
+ return ViewRange._createIn(element);
359
359
  }
360
360
  createSelection(...args) {
361
- return new Selection(...args);
361
+ return new ViewSelection(...args);
362
362
  }
363
363
  }
@@ -5,29 +5,29 @@
5
5
  /**
6
6
  * @module engine/view/view
7
7
  */
8
- import Document from './document.js';
9
- import DowncastWriter from './downcastwriter.js';
10
- import DomConverter from './domconverter.js';
11
- import Position, { type PositionOffset } from './position.js';
12
- import Range from './range.js';
13
- import Selection, { type PlaceOrOffset, type Selectable, type SelectionOptions } from './selection.js';
14
- import type { default as Observer, ObserverConstructor } from './observer/observer.js';
8
+ import { ViewDocument } from './document.js';
9
+ import { ViewDowncastWriter } from './downcastwriter.js';
10
+ import { ViewDomConverter } from './domconverter.js';
11
+ import { ViewPosition, type ViewPositionOffset } from './position.js';
12
+ import { ViewRange } from './range.js';
13
+ import { ViewSelection, type ViewPlaceOrOffset, type ViewSelectable, type ViewSelectionOptions } from './selection.js';
14
+ import type { Observer, ObserverConstructor } from './observer/observer.js';
15
15
  import type { StylesProcessor } from './stylesmap.js';
16
- import type Element from './element.js';
17
- import type { default as Node } from './node.js';
18
- import type Item from './item.js';
19
- import KeyObserver from './observer/keyobserver.js';
20
- import FakeSelectionObserver from './observer/fakeselectionobserver.js';
21
- import MutationObserver from './observer/mutationobserver.js';
22
- import SelectionObserver from './observer/selectionobserver.js';
23
- import FocusObserver from './observer/focusobserver.js';
24
- import CompositionObserver from './observer/compositionobserver.js';
25
- import InputObserver from './observer/inputobserver.js';
26
- import ArrowKeysObserver from './observer/arrowkeysobserver.js';
27
- import TabObserver from './observer/tabobserver.js';
28
- type IfTrue<T> = T extends true ? true : never;
16
+ import { type ViewElement } from './element.js';
17
+ import type { ViewNode } from './node.js';
18
+ import { type ViewItem } from './item.js';
19
+ import { KeyObserver } from './observer/keyobserver.js';
20
+ import { FakeSelectionObserver } from './observer/fakeselectionobserver.js';
21
+ import { MutationObserver } from './observer/mutationobserver.js';
22
+ import { SelectionObserver } from './observer/selectionobserver.js';
23
+ import { FocusObserver } from './observer/focusobserver.js';
24
+ import { CompositionObserver } from './observer/compositionobserver.js';
25
+ import { InputObserver } from './observer/inputobserver.js';
26
+ import { ArrowKeysObserver } from './observer/arrowkeysobserver.js';
27
+ import { TabObserver } from './observer/tabobserver.js';
28
+ import { type IfTrue } from '@ckeditor/ckeditor5-utils';
29
29
  type DomRange = globalThis.Range;
30
- declare const View_base: {
30
+ declare const EditingView_base: {
31
31
  new (): import("@ckeditor/ckeditor5-utils").Observable;
32
32
  prototype: import("@ckeditor/ckeditor5-utils").Observable;
33
33
  };
@@ -36,8 +36,8 @@ declare const View_base: {
36
36
  * abstraction over the DOM structure and events and hide all browsers quirks.
37
37
  *
38
38
  * View controller renders view document to DOM whenever view structure changes. To determine when view can be rendered,
39
- * all changes need to be done using the {@link module:engine/view/view~View#change} method, using
40
- * {@link module:engine/view/downcastwriter~DowncastWriter}:
39
+ * all changes need to be done using the {@link module:engine/view/view~EditingView#change} method, using
40
+ * {@link module:engine/view/downcastwriter~ViewDowncastWriter}:
41
41
  *
42
42
  * ```ts
43
43
  * view.change( writer => {
@@ -46,7 +46,7 @@ declare const View_base: {
46
46
  * ```
47
47
  *
48
48
  * View controller also register {@link module:engine/view/observer/observer~Observer observers} which observes changes
49
- * on DOM and fire events on the {@link module:engine/view/document~Document Document}.
49
+ * on DOM and fire events on the {@link module:engine/view/document~ViewDocument Document}.
50
50
  * Note that the following observers are added by the class constructor and are always available:
51
51
  *
52
52
  * * {@link module:engine/view/observer/selectionobserver~SelectionObserver},
@@ -58,22 +58,23 @@ declare const View_base: {
58
58
  * * {@link module:engine/view/observer/arrowkeysobserver~ArrowKeysObserver}.
59
59
  * * {@link module:engine/view/observer/tabobserver~TabObserver}.
60
60
  *
61
- * This class also {@link module:engine/view/view~View#attachDomRoot binds the DOM and the view elements}.
61
+ * This class also {@link module:engine/view/view~EditingView#attachDomRoot binds the DOM and the view elements}.
62
62
  *
63
63
  * If you do not need full a DOM - view management, and only want to transform a tree of view elements to a tree of DOM
64
- * elements you do not need this controller. You can use the {@link module:engine/view/domconverter~DomConverter DomConverter} instead.
64
+ * elements you do not need this controller. You can use the {@link module:engine/view/domconverter~ViewDomConverter ViewDomConverter}
65
+ * instead.
65
66
  */
66
- export default class View extends /* #__PURE__ */ View_base {
67
+ export declare class EditingView extends /* #__PURE__ */ EditingView_base {
67
68
  /**
68
- * Instance of the {@link module:engine/view/document~Document} associated with this view controller.
69
+ * Instance of the {@link module:engine/view/document~ViewDocument} associated with this view controller.
69
70
  */
70
- readonly document: Document;
71
+ readonly document: ViewDocument;
71
72
  /**
72
- * Instance of the {@link module:engine/view/domconverter~DomConverter domConverter} used by
73
- * {@link module:engine/view/view~View#_renderer renderer}
73
+ * Instance of the {@link module:engine/view/domconverter~ViewDomConverter domConverter} used by
74
+ * {@link module:engine/view/view~EditingView#_renderer renderer}
74
75
  * and {@link module:engine/view/observer/observer~Observer observers}.
75
76
  */
76
- readonly domConverter: DomConverter;
77
+ readonly domConverter: ViewDomConverter;
77
78
  /**
78
79
  * Roots of the DOM tree. Map on the `HTMLElement`s with roots names as keys.
79
80
  */
@@ -93,13 +94,13 @@ export default class View extends /* #__PURE__ */ View_base {
93
94
  */
94
95
  hasDomSelection: boolean;
95
96
  /**
96
- * Instance of the {@link module:engine/view/renderer~Renderer renderer}.
97
+ * Instance of the {@link module:engine/view/renderer~ViewRenderer renderer}.
97
98
  */
98
99
  private readonly _renderer;
99
100
  /**
100
101
  * A DOM root attributes cache. It saves the initial values of DOM root attributes before the DOM element
101
- * is {@link module:engine/view/view~View#attachDomRoot attached} to the view so later on, when
102
- * the view is destroyed ({@link module:engine/view/view~View#detachDomRoot}), they can be easily restored.
102
+ * is {@link module:engine/view/view~EditingView#attachDomRoot attached} to the view so later on, when
103
+ * the view is destroyed ({@link module:engine/view/view~EditingView#detachDomRoot}), they can be easily restored.
103
104
  * This way, the DOM element can go back to the (clean) state as if the editing view never used it.
104
105
  */
105
106
  private readonly _initialDomRootAttributes;
@@ -108,7 +109,7 @@ export default class View extends /* #__PURE__ */ View_base {
108
109
  */
109
110
  private readonly _observers;
110
111
  /**
111
- * DowncastWriter instance used in {@link #change change method} callbacks.
112
+ * ViewDowncastWriter instance used in {@link #change change method} callbacks.
112
113
  */
113
114
  private readonly _writer;
114
115
  /**
@@ -134,7 +135,7 @@ export default class View extends /* #__PURE__ */ View_base {
134
135
  constructor(stylesProcessor: StylesProcessor);
135
136
  /**
136
137
  * Attaches a DOM root element to the view element and enable all observers on that element.
137
- * Also {@link module:engine/view/renderer~Renderer#markToSync mark element} to be synchronized
138
+ * Also {@link module:engine/view/renderer~ViewRenderer#markToSync mark element} to be synchronized
138
139
  * with the view what means that all child nodes will be removed and replaced with content of the view root.
139
140
  *
140
141
  * This method also will change view element name as the same as tag name of given dom root.
@@ -174,7 +175,7 @@ export default class View extends /* #__PURE__ */ View_base {
174
175
  * @returns Added observer instance.
175
176
  */
176
177
  addObserver(ObserverConstructor: ObserverConstructor): Observer;
177
- getObserver<T extends ObserverConstructor>(ObserverConstructor: T): T extends AlwaysRegisteredObservers ? InstanceType<T> : InstanceType<T> | undefined;
178
+ getObserver<T extends ObserverConstructor>(ObserverConstructor: T): T extends AlwaysRegisteredViewObservers ? InstanceType<T> : InstanceType<T> | undefined;
178
179
  /**
179
180
  * Disables all added observers.
180
181
  */
@@ -214,7 +215,7 @@ export default class View extends /* #__PURE__ */ View_base {
214
215
  readonly forceScroll?: U;
215
216
  }): void;
216
217
  /**
217
- * It will focus DOM element representing {@link module:engine/view/editableelement~EditableElement EditableElement}
218
+ * It will focus DOM element representing {@link module:engine/view/editableelement~ViewEditableElement ViewEditableElement}
218
219
  * that is currently having selection inside.
219
220
  */
220
221
  focus(): void;
@@ -241,7 +242,7 @@ export default class View extends /* #__PURE__ */ View_base {
241
242
  * ```
242
243
  *
243
244
  * When the outermost change block is done and rendering to the DOM is over the
244
- * {@link module:engine/view/view~View#event:render `View#render`} event is fired.
245
+ * {@link module:engine/view/view~EditingView#event:render `View#render`} event is fired.
245
246
  *
246
247
  * This method throws a `applying-view-changes-on-rendering` error when
247
248
  * the change block is used after rendering to the DOM has started.
@@ -249,9 +250,9 @@ export default class View extends /* #__PURE__ */ View_base {
249
250
  * @param callback Callback function which may modify the view.
250
251
  * @returns Value returned by the callback.
251
252
  */
252
- change<TReturn>(callback: (writer: DowncastWriter) => TReturn): TReturn;
253
+ change<TReturn>(callback: (writer: ViewDowncastWriter) => TReturn): TReturn;
253
254
  /**
254
- * Forces rendering {@link module:engine/view/document~Document view document} to DOM. If any view changes are
255
+ * Forces rendering {@link module:engine/view/document~ViewDocument view document} to DOM. If any view changes are
255
256
  * currently in progress, rendering will start after all {@link #change change blocks} are processed.
256
257
  *
257
258
  * Note that this method is dedicated for special cases. All view changes should be wrapped in the {@link #change}
@@ -268,64 +269,64 @@ export default class View extends /* #__PURE__ */ View_base {
268
269
  /**
269
270
  * Creates position at the given location. The location can be specified as:
270
271
  *
271
- * * a {@link module:engine/view/position~Position position},
272
+ * * a {@link module:engine/view/position~ViewPosition position},
272
273
  * * parent element and offset (offset defaults to `0`),
273
274
  * * parent element and `'end'` (sets position at the end of that element),
274
- * * {@link module:engine/view/item~Item view item} and `'before'` or `'after'` (sets position before or after given view item).
275
+ * * {@link module:engine/view/item~ViewItem view item} and `'before'` or `'after'` (sets position before or after given view item).
275
276
  *
276
277
  * This method is a shortcut to other constructors such as:
277
278
  *
278
279
  * * {@link #createPositionBefore},
279
280
  * * {@link #createPositionAfter},
280
281
  *
281
- * @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~Item view item}.
282
+ * @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~ViewItem view item}.
282
283
  */
283
- createPositionAt(itemOrPosition: Item | Position, offset?: PositionOffset): Position;
284
+ createPositionAt(itemOrPosition: ViewItem | ViewPosition, offset?: ViewPositionOffset): ViewPosition;
284
285
  /**
285
286
  * Creates a new position after given view item.
286
287
  *
287
288
  * @param item View item after which the position should be located.
288
289
  */
289
- createPositionAfter(item: Item): Position;
290
+ createPositionAfter(item: ViewItem): ViewPosition;
290
291
  /**
291
292
  * Creates a new position before given view item.
292
293
  *
293
294
  * @param item View item before which the position should be located.
294
295
  */
295
- createPositionBefore(item: Item): Position;
296
+ createPositionBefore(item: ViewItem): ViewPosition;
296
297
  /**
297
298
  * Creates a range spanning from `start` position to `end` position.
298
299
  *
299
- * **Note:** This factory method creates it's own {@link module:engine/view/position~Position} instances basing on passed values.
300
+ * **Note:** This factory method creates it's own {@link module:engine/view/position~ViewPosition} instances basing on passed values.
300
301
  *
301
302
  * @param start Start position.
302
303
  * @param end End position. If not set, range will be collapsed at `start` position.
303
304
  */
304
- createRange(start: Position, end?: Position | null): Range;
305
+ createRange(start: ViewPosition, end?: ViewPosition | null): ViewRange;
305
306
  /**
306
- * Creates a range that starts before given {@link module:engine/view/item~Item view item} and ends after it.
307
+ * Creates a range that starts before given {@link module:engine/view/item~ViewItem view item} and ends after it.
307
308
  */
308
- createRangeOn(item: Item): Range;
309
+ createRangeOn(item: ViewItem): ViewRange;
309
310
  /**
310
- * Creates a range inside an {@link module:engine/view/element~Element element} which starts before the first child of
311
+ * Creates a range inside an {@link module:engine/view/element~ViewElement element} which starts before the first child of
311
312
  * that element and ends after the last child of that element.
312
313
  *
313
314
  * @param element Element which is a parent for the range.
314
315
  */
315
- createRangeIn(element: Element): Range;
316
+ createRangeIn(element: ViewElement): ViewRange;
316
317
  /**
317
- * Creates new {@link module:engine/view/selection~Selection} instance.
318
+ * Creates new {@link module:engine/view/selection~ViewSelection} instance.
318
319
  *
319
320
  * ```ts
320
321
  * // Creates collapsed selection at the position of given item and offset.
321
322
  * const paragraph = view.createContainerElement( 'paragraph' );
322
323
  * const selection = view.createSelection( paragraph, offset );
323
324
  *
324
- * // Creates a range inside an {@link module:engine/view/element~Element element} which starts before the
325
+ * // Creates a range inside an {@link module:engine/view/element~ViewElement element} which starts before the
325
326
  * // first child of that element and ends after the last child of that element.
326
327
  * const selection = view.createSelection( paragraph, 'in' );
327
328
  *
328
- * // Creates a range on an {@link module:engine/view/item~Item item} which starts before the item and ends
329
+ * // Creates a range on an {@link module:engine/view/item~ViewItem item} which starts before the item and ends
329
330
  * // just after the item.
330
331
  * const selection = view.createSelection( paragraph, 'on' );
331
332
  * ```
@@ -353,9 +354,9 @@ export default class View extends /* #__PURE__ */ View_base {
353
354
  *
354
355
  * @label NODE_OFFSET
355
356
  */
356
- createSelection(selectable: Node, placeOrOffset: PlaceOrOffset, options?: SelectionOptions): Selection;
357
+ createSelection(selectable: ViewNode, placeOrOffset: ViewPlaceOrOffset, options?: ViewSelectionOptions): ViewSelection;
357
358
  /**
358
- * Creates new {@link module:engine/view/selection~Selection} instance.
359
+ * Creates new {@link module:engine/view/selection~ViewSelection} instance.
359
360
  *
360
361
  * ```ts
361
362
  * // Creates empty selection without ranges.
@@ -404,7 +405,7 @@ export default class View extends /* #__PURE__ */ View_base {
404
405
  *
405
406
  * @label SELECTABLE
406
407
  */
407
- createSelection(selectable?: Exclude<Selectable, Node>, options?: SelectionOptions): Selection;
408
+ createSelection(selectable?: Exclude<ViewSelectable, ViewNode>, options?: ViewSelectionOptions): ViewSelection;
408
409
  /**
409
410
  * Disables or enables rendering. If the flag is set to `true` then the rendering will be disabled.
410
411
  * If the flag is set to `false` and if there was some change in the meantime, then the rendering action will be performed.
@@ -420,8 +421,8 @@ export default class View extends /* #__PURE__ */ View_base {
420
421
  private _render;
421
422
  }
422
423
  /**
423
- * Fired after a topmost {@link module:engine/view/view~View#change change block} and all
424
- * {@link module:engine/view/document~Document#registerPostFixer post-fixers} are executed.
424
+ * Fired after a topmost {@link module:engine/view/view~EditingView#change change block} and all
425
+ * {@link module:engine/view/document~ViewDocument#registerPostFixer post-fixers} are executed.
425
426
  *
426
427
  * Actual rendering is performed as a first listener on 'normal' priority.
427
428
  *
@@ -433,16 +434,16 @@ export default class View extends /* #__PURE__ */ View_base {
433
434
  *
434
435
  * This event is useful when you want to update interface elements after the rendering, e.g. position of the
435
436
  * balloon panel. If you wants to change view structure use
436
- * {@link module:engine/view/document~Document#registerPostFixer post-fixers}.
437
+ * {@link module:engine/view/document~ViewDocument#registerPostFixer post-fixers}.
437
438
  *
438
- * @eventName ~View#render
439
+ * @eventName ~EditingView#render
439
440
  */
440
441
  export type ViewRenderEvent = {
441
442
  name: 'render';
442
443
  args: [];
443
444
  };
444
445
  /**
445
- * An event fired at the moment of {@link module:engine/view/view~View#scrollToTheSelection} being called. It
446
+ * An event fired at the moment of {@link module:engine/view/view~EditingView#scrollToTheSelection} being called. It
446
447
  * carries two objects in its payload (`args`):
447
448
  *
448
449
  * * The first argument is the {@link module:engine/view/view~ViewScrollToTheSelectionEventData object containing data} that gets
@@ -452,18 +453,18 @@ export type ViewRenderEvent = {
452
453
  * It allows listeners to re-execute the `scrollViewportToShowTarget()` method with its original arguments if there is such a need,
453
454
  * for instance, if the integration requires re–scrolling after certain interaction.
454
455
  *
455
- * @eventName ~View#scrollToTheSelection
456
+ * @eventName ~EditingView#scrollToTheSelection
456
457
  */
457
458
  export type ViewScrollToTheSelectionEvent = {
458
459
  name: 'scrollToTheSelection';
459
460
  args: [
460
461
  ViewScrollToTheSelectionEventData,
461
- Parameters<View['scrollToTheSelection']>[0]
462
+ Parameters<EditingView['scrollToTheSelection']>[0]
462
463
  ];
463
464
  };
464
465
  /**
465
466
  * An object passed down to the {@link module:utils/dom/scroll~scrollViewportToShowTarget} helper while calling
466
- * {@link module:engine/view/view~View#scrollToTheSelection}.
467
+ * {@link module:engine/view/view~EditingView#scrollToTheSelection}.
467
468
  */
468
469
  export type ViewScrollToTheSelectionEventData = {
469
470
  target: DomRange;
@@ -480,5 +481,5 @@ export type ViewScrollToTheSelectionEventData = {
480
481
  /**
481
482
  * Observers that are always registered.
482
483
  */
483
- export type AlwaysRegisteredObservers = typeof MutationObserver | typeof FocusObserver | typeof SelectionObserver | typeof KeyObserver | typeof FakeSelectionObserver | typeof CompositionObserver | typeof ArrowKeysObserver | typeof InputObserver | typeof TabObserver;
484
+ export type AlwaysRegisteredViewObservers = typeof MutationObserver | typeof FocusObserver | typeof SelectionObserver | typeof KeyObserver | typeof FakeSelectionObserver | typeof CompositionObserver | typeof ArrowKeysObserver | typeof InputObserver | typeof TabObserver;
484
485
  export {};