@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,15 +5,15 @@
5
5
  /**
6
6
  * @module engine/view/domconverter
7
7
  */
8
- import ViewText from './text.js';
9
- import ViewElement from './element.js';
10
- import ViewUIElement from './uielement.js';
11
- import ViewPosition from './position.js';
12
- import ViewRange from './range.js';
13
- import ViewSelection from './selection.js';
14
- import ViewDocumentFragment from './documentfragment.js';
15
- import ViewTreeWalker from './treewalker.js';
16
- import { default as Matcher } from './matcher.js';
8
+ import { ViewText } from './text.js';
9
+ import { ViewElement } from './element.js';
10
+ import { ViewUIElement } from './uielement.js';
11
+ import { ViewPosition } from './position.js';
12
+ import { ViewRange } from './range.js';
13
+ import { ViewSelection } from './selection.js';
14
+ import { ViewDocumentFragment } from './documentfragment.js';
15
+ import { ViewTreeWalker } from './treewalker.js';
16
+ import { Matcher } from './matcher.js';
17
17
  import { BR_FILLER, INLINE_FILLER_LENGTH, NBSP_FILLER, MARKED_NBSP_FILLER, getDataWithoutFiller, isInlineFiller, startsWithFiller } from './filler.js';
18
18
  import { global, logWarning, indexOf, getAncestors, isText, isComment, isValidAttributeName, first, env } from '@ckeditor/ckeditor5-utils';
19
19
  const BR_FILLER_REF = BR_FILLER(global.document); // eslint-disable-line new-cap
@@ -22,19 +22,20 @@ const MARKED_NBSP_FILLER_REF = MARKED_NBSP_FILLER(global.document); // eslint-di
22
22
  const UNSAFE_ATTRIBUTE_NAME_PREFIX = 'data-ck-unsafe-attribute-';
23
23
  const UNSAFE_ELEMENT_REPLACEMENT_ATTRIBUTE = 'data-ck-unsafe-element';
24
24
  /**
25
- * `DomConverter` is a set of tools to do transformations between DOM nodes and view nodes. It also handles
26
- * {@link module:engine/view/domconverter~DomConverter#bindElements bindings} between these nodes.
25
+ * `ViewDomConverter` is a set of tools to do transformations between DOM nodes and view nodes. It also handles
26
+ * {@link module:engine/view/domconverter~ViewDomConverter#bindElements bindings} between these nodes.
27
27
  *
28
28
  * An instance of the DOM converter is available under
29
- * {@link module:engine/view/view~View#domConverter `editor.editing.view.domConverter`}.
29
+ * {@link module:engine/view/view~EditingView#domConverter `editor.editing.view.domConverter`}.
30
30
  *
31
- * The DOM converter does not check which nodes should be rendered (use {@link module:engine/view/renderer~Renderer}), does not keep the
32
- * state of a tree nor keeps the synchronization between the tree view and the DOM tree (use {@link module:engine/view/document~Document}).
31
+ * The DOM converter does not check which nodes should be rendered (use {@link module:engine/view/renderer~ViewRenderer}), does not keep the
32
+ * state of a tree nor keeps the synchronization between the tree view and
33
+ * the DOM tree (use {@link module:engine/view/document~ViewDocument}).
33
34
  *
34
35
  * The DOM converter keeps DOM elements to view element bindings, so when the converter gets destroyed, the bindings are lost.
35
36
  * Two converters will keep separate binding maps, so one tree view can be bound with two DOM trees.
36
37
  */
37
- export default class DomConverter {
38
+ export class ViewDomConverter {
38
39
  document;
39
40
  /**
40
41
  * Whether to leave the View-to-DOM conversion result unchanged or improve editing experience by filtering out interactive data.
@@ -74,7 +75,7 @@ export default class DomConverter {
74
75
  */
75
76
  unsafeElements;
76
77
  /**
77
- * The DOM Document used by `DomConverter` to create DOM nodes.
78
+ * The DOM Document used by `ViewDomConverter` to create DOM nodes.
78
79
  */
79
80
  _domDocument;
80
81
  /**
@@ -132,22 +133,22 @@ export default class DomConverter {
132
133
  this._domDocument = this.renderingMode === 'editing' ? global.document : global.document.implementation.createHTMLDocument('');
133
134
  }
134
135
  /**
135
- * The DOM Document used by `DomConverter` to create DOM nodes.
136
+ * The DOM Document used by `ViewDomConverter` to create DOM nodes.
136
137
  */
137
138
  get domDocument() {
138
139
  return this._domDocument;
139
140
  }
140
141
  /**
141
142
  * Binds a given DOM element that represents fake selection to a **position** of a
142
- * {@link module:engine/view/documentselection~DocumentSelection document selection}.
143
+ * {@link module:engine/view/documentselection~ViewDocumentSelection document selection}.
143
144
  * Document selection copy is stored and can be retrieved by the
144
- * {@link module:engine/view/domconverter~DomConverter#fakeSelectionToView} method.
145
+ * {@link module:engine/view/domconverter~ViewDomConverter#fakeSelectionToView} method.
145
146
  */
146
147
  bindFakeSelection(domElement, viewDocumentSelection) {
147
148
  this._fakeSelectionMapping.set(domElement, new ViewSelection(viewDocumentSelection));
148
149
  }
149
150
  /**
150
- * Returns a {@link module:engine/view/selection~Selection view selection} instance corresponding to a given
151
+ * Returns a {@link module:engine/view/selection~ViewSelection view selection} instance corresponding to a given
151
152
  * DOM element that represents fake selection. Returns `undefined` if binding to the given DOM element does not exist.
152
153
  */
153
154
  fakeSelectionToView(domElement) {
@@ -155,8 +156,8 @@ export default class DomConverter {
155
156
  }
156
157
  /**
157
158
  * Binds DOM and view elements, so it will be possible to get corresponding elements using
158
- * {@link module:engine/view/domconverter~DomConverter#mapDomToView} and
159
- * {@link module:engine/view/domconverter~DomConverter#mapViewToDom}.
159
+ * {@link module:engine/view/domconverter~ViewDomConverter#mapDomToView} and
160
+ * {@link module:engine/view/domconverter~ViewDomConverter#mapViewToDom}.
160
161
  *
161
162
  * @param domElement The DOM element to bind.
162
163
  * @param viewElement The view element to bind.
@@ -183,8 +184,8 @@ export default class DomConverter {
183
184
  }
184
185
  /**
185
186
  * Binds DOM and view document fragments, so it will be possible to get corresponding document fragments using
186
- * {@link module:engine/view/domconverter~DomConverter#mapDomToView} and
187
- * {@link module:engine/view/domconverter~DomConverter#mapViewToDom}.
187
+ * {@link module:engine/view/domconverter~ViewDomConverter#mapDomToView} and
188
+ * {@link module:engine/view/domconverter~ViewDomConverter#mapViewToDom}.
188
189
  *
189
190
  * @param domFragment The DOM document fragment to bind.
190
191
  * @param viewFragment The view document fragment to bind.
@@ -361,7 +362,8 @@ export default class DomConverter {
361
362
  * @param value The value of the attribute.
362
363
  * @param relatedViewElement The view element related to the `domElement` (if there is any).
363
364
  * It helps decide whether the attribute set is unsafe. For instance, view elements created via the
364
- * {@link module:engine/view/downcastwriter~DowncastWriter} methods can allow certain attributes that would normally be filtered out.
365
+ * {@link module:engine/view/downcastwriter~ViewDowncastWriter} methods can allow certain attributes
366
+ * that would normally be filtered out.
365
367
  */
366
368
  setDomElementAttribute(domElement, key, value, relatedViewElement) {
367
369
  const shouldRenderAttribute = this.shouldRenderAttribute(key, value, domElement.tagName.toLowerCase()) ||
@@ -409,11 +411,11 @@ export default class DomConverter {
409
411
  }
410
412
  /**
411
413
  * Converts children of the view element to DOM using the
412
- * {@link module:engine/view/domconverter~DomConverter#viewToDom} method.
414
+ * {@link module:engine/view/domconverter~ViewDomConverter#viewToDom} method.
413
415
  * Additionally, this method adds block {@link module:engine/view/filler filler} to the list of children, if needed.
414
416
  *
415
417
  * @param viewElement Parent view element.
416
- * @param options See {@link module:engine/view/domconverter~DomConverter#viewToDom} options parameter.
418
+ * @param options See {@link module:engine/view/domconverter~ViewDomConverter#viewToDom} options parameter.
417
419
  * @returns DOM nodes.
418
420
  */
419
421
  *viewChildrenToDom(viewElement, options = {}) {
@@ -456,7 +458,7 @@ export default class DomConverter {
456
458
  }
457
459
  }
458
460
  /**
459
- * Converts view {@link module:engine/view/range~Range} to DOM range.
461
+ * Converts view {@link module:engine/view/range~ViewRange} to DOM range.
460
462
  * Inline and block {@link module:engine/view/filler fillers} are handled during the conversion.
461
463
  *
462
464
  * @param viewRange View range.
@@ -471,7 +473,7 @@ export default class DomConverter {
471
473
  return domRange;
472
474
  }
473
475
  /**
474
- * Converts view {@link module:engine/view/position~Position} to DOM parent and offset.
476
+ * Converts view {@link module:engine/view/position~ViewPosition} to DOM parent and offset.
475
477
  *
476
478
  * Inline and block {@link module:engine/view/filler fillers} are handled during the conversion.
477
479
  * If the converted position is directly before inline filler it is moved inside the filler.
@@ -539,7 +541,7 @@ export default class DomConverter {
539
541
  * Converts DOM to view. For all text nodes, not bound elements and document fragments new items will
540
542
  * be created. For bound elements and document fragments function will return corresponding items. For
541
543
  * {@link module:engine/view/filler fillers} `null` will be returned.
542
- * For all DOM elements rendered by {@link module:engine/view/uielement~UIElement} that UIElement will be returned.
544
+ * For all DOM elements rendered by {@link module:engine/view/uielement~ViewUIElement} that UIElement will be returned.
543
545
  *
544
546
  * @param domNode DOM node or document fragment to transform.
545
547
  * @param options Conversion options.
@@ -547,7 +549,7 @@ export default class DomConverter {
547
549
  * @param options.withChildren If `true`, node's and document fragment's children will be converted too. True by default.
548
550
  * @param options.keepOriginalCase If `false`, node's tag name will be converted to lower case. False by default.
549
551
  * @param options.skipComments If `false`, comment nodes will be converted to `$comment`
550
- * {@link module:engine/view/uielement~UIElement view UI elements}. False by default.
552
+ * {@link module:engine/view/uielement~ViewUIElement view UI elements}. False by default.
551
553
  * @returns Converted node or document fragment or `null` if DOM node is a {@link module:engine/view/filler filler}
552
554
  * or the given node is an empty text node.
553
555
  */
@@ -575,11 +577,11 @@ export default class DomConverter {
575
577
  }
576
578
  /**
577
579
  * Converts children of the DOM element to view nodes using
578
- * the {@link module:engine/view/domconverter~DomConverter#domToView} method.
580
+ * the {@link module:engine/view/domconverter~ViewDomConverter#domToView} method.
579
581
  * Additionally this method omits block {@link module:engine/view/filler filler}, if it exists in the DOM parent.
580
582
  *
581
583
  * @param domElement Parent DOM element.
582
- * @param options See {@link module:engine/view/domconverter~DomConverter#domToView} options parameter.
584
+ * @param options See {@link module:engine/view/domconverter~ViewDomConverter#domToView} options parameter.
583
585
  * @param inlineNodes An array that will be populated with inline nodes. It's used internally for whitespace processing.
584
586
  * @returns View nodes.
585
587
  */
@@ -614,7 +616,7 @@ export default class DomConverter {
614
616
  this._processDomInlineNodes(domElement, inlineNodes, options);
615
617
  }
616
618
  /**
617
- * Converts DOM selection to view {@link module:engine/view/selection~Selection}.
619
+ * Converts DOM selection to view {@link module:engine/view/selection~ViewSelection}.
618
620
  * Ranges which cannot be converted will be omitted.
619
621
  *
620
622
  * @param domSelection DOM selection.
@@ -651,7 +653,7 @@ export default class DomConverter {
651
653
  return new ViewSelection(viewRanges, { backward: isBackward });
652
654
  }
653
655
  /**
654
- * Converts DOM Range to view {@link module:engine/view/range~Range}.
656
+ * Converts DOM Range to view {@link module:engine/view/range~ViewRange}.
655
657
  * If the start or end position cannot be converted `null` is returned.
656
658
  *
657
659
  * @param domRange DOM range.
@@ -666,12 +668,12 @@ export default class DomConverter {
666
668
  return null;
667
669
  }
668
670
  /**
669
- * Converts DOM parent and offset to view {@link module:engine/view/position~Position}.
671
+ * Converts DOM parent and offset to view {@link module:engine/view/position~ViewPosition}.
670
672
  *
671
673
  * If the position is inside a {@link module:engine/view/filler filler} which has no corresponding view node,
672
674
  * position of the filler will be converted and returned.
673
675
  *
674
- * If the position is inside DOM element rendered by {@link module:engine/view/uielement~UIElement}
676
+ * If the position is inside DOM element rendered by {@link module:engine/view/uielement~ViewUIElement}
675
677
  * that position will be converted to view position before that UIElement.
676
678
  *
677
679
  * If structures are too different and it is not possible to find corresponding position then `null` will be returned.
@@ -730,13 +732,13 @@ export default class DomConverter {
730
732
  }
731
733
  }
732
734
  /**
733
- * Returns corresponding view {@link module:engine/view/element~Element Element} or
734
- * {@link module:engine/view/documentfragment~DocumentFragment} for provided DOM element or
735
- * document fragment. If there is no view item {@link module:engine/view/domconverter~DomConverter#bindElements bound}
735
+ * Returns corresponding view {@link module:engine/view/element~ViewElement Element} or
736
+ * {@link module:engine/view/documentfragment~ViewDocumentFragment} for provided DOM element or
737
+ * document fragment. If there is no view item {@link module:engine/view/domconverter~ViewDomConverter#bindElements bound}
736
738
  * to the given DOM - `undefined` is returned.
737
739
  *
738
- * For all DOM elements rendered by a {@link module:engine/view/uielement~UIElement} or
739
- * a {@link module:engine/view/rawelement~RawElement}, the parent `UIElement` or `RawElement` will be returned.
740
+ * For all DOM elements rendered by a {@link module:engine/view/uielement~ViewUIElement} or
741
+ * a {@link module:engine/view/rawelement~ViewRawElement}, the parent `UIElement` or `RawElement` will be returned.
740
742
  *
741
743
  * @param domElementOrDocumentFragment DOM element or document fragment.
742
744
  * @returns Corresponding view element, document fragment or `undefined` if no element was bound.
@@ -746,17 +748,18 @@ export default class DomConverter {
746
748
  return hostElement || this._domToViewMapping.get(domElementOrDocumentFragment);
747
749
  }
748
750
  /**
749
- * Finds corresponding text node. Text nodes are not {@link module:engine/view/domconverter~DomConverter#bindElements bound},
751
+ * Finds corresponding text node. Text nodes are not {@link module:engine/view/domconverter~ViewDomConverter#bindElements bound},
750
752
  * corresponding text node is returned based on the sibling or parent.
751
753
  *
752
- * If the directly previous sibling is a {@link module:engine/view/domconverter~DomConverter#bindElements bound} element, it is used
754
+ * If the directly previous sibling is a {@link module:engine/view/domconverter~ViewDomConverter#bindElements bound} element, it is used
753
755
  * to find the corresponding text node.
754
756
  *
755
- * If this is a first child in the parent and the parent is a {@link module:engine/view/domconverter~DomConverter#bindElements bound}
757
+ * If this is a first child in the parent and the parent is a
758
+ * {@link module:engine/view/domconverter~ViewDomConverter#bindElements bound}
756
759
  * element, it is used to find the corresponding text node.
757
760
  *
758
- * For all text nodes rendered by a {@link module:engine/view/uielement~UIElement} or
759
- * a {@link module:engine/view/rawelement~RawElement}, the parent `UIElement` or `RawElement` will be returned.
761
+ * For all text nodes rendered by a {@link module:engine/view/uielement~ViewUIElement} or
762
+ * a {@link module:engine/view/rawelement~ViewRawElement}, the parent `UIElement` or `RawElement` will be returned.
760
763
  *
761
764
  * Otherwise `null` is returned.
762
765
  *
@@ -813,13 +816,14 @@ export default class DomConverter {
813
816
  return this._viewToDomMapping.get(documentFragmentOrElement);
814
817
  }
815
818
  /**
816
- * Finds corresponding text node. Text nodes are not {@link module:engine/view/domconverter~DomConverter#bindElements bound},
819
+ * Finds corresponding text node. Text nodes are not {@link module:engine/view/domconverter~ViewDomConverter#bindElements bound},
817
820
  * corresponding text node is returned based on the sibling or parent.
818
821
  *
819
- * If the directly previous sibling is a {@link module:engine/view/domconverter~DomConverter#bindElements bound} element, it is used
822
+ * If the directly previous sibling is a {@link module:engine/view/domconverter~ViewDomConverter#bindElements bound} element, it is used
820
823
  * to find the corresponding text node.
821
824
  *
822
- * If this is a first child in the parent and the parent is a {@link module:engine/view/domconverter~DomConverter#bindElements bound}
825
+ * If this is a first child in the parent and the parent is a
826
+ * {@link module:engine/view/domconverter~ViewDomConverter#bindElements bound}
823
827
  * element, it is used to find the corresponding text node.
824
828
  *
825
829
  * Otherwise `null` is returned.
@@ -840,13 +844,13 @@ export default class DomConverter {
840
844
  return null;
841
845
  }
842
846
  /**
843
- * Focuses DOM editable that is corresponding to provided {@link module:engine/view/editableelement~EditableElement}.
847
+ * Focuses DOM editable that is corresponding to provided {@link module:engine/view/editableelement~ViewEditableElement}.
844
848
  */
845
849
  focus(viewEditable) {
846
850
  const domEditable = this.mapViewToDom(viewEditable);
847
851
  if (!domEditable || domEditable.ownerDocument.activeElement === domEditable) {
848
852
  // @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {
849
- // @if CK_DEBUG_TYPING // console.info( ..._buildLogMessage( this, 'DomConverter',
853
+ // @if CK_DEBUG_TYPING // console.info( ..._buildLogMessage( this, 'ViewDomConverter',
850
854
  // @if CK_DEBUG_TYPING // '%cDOM editable is already active or does not exist',
851
855
  // @if CK_DEBUG_TYPING // 'font-style: italic'
852
856
  // @if CK_DEBUG_TYPING // ) );
@@ -854,7 +858,7 @@ export default class DomConverter {
854
858
  return;
855
859
  }
856
860
  // @if CK_DEBUG_TYPING // if ( ( window as any ).logCKETyping ) {
857
- // @if CK_DEBUG_TYPING // console.info( ..._buildLogMessage( this, 'DomConverter',
861
+ // @if CK_DEBUG_TYPING // console.info( ..._buildLogMessage( this, 'ViewDomConverter',
858
862
  // @if CK_DEBUG_TYPING // 'Focus DOM editable:',
859
863
  // @if CK_DEBUG_TYPING // { domEditable }
860
864
  // @if CK_DEBUG_TYPING // ) );
@@ -920,7 +924,7 @@ export default class DomConverter {
920
924
  * Checks if the node is an instance of the block filler for this DOM converter.
921
925
  *
922
926
  * ```ts
923
- * const converter = new DomConverter( viewDocument, { blockFillerMode: 'br' } );
927
+ * const converter = new ViewDomConverter( viewDocument, { blockFillerMode: 'br' } );
924
928
  *
925
929
  * converter.isBlockFiller( BR_FILLER( document ) ); // true
926
930
  * converter.isBlockFiller( NBSP_FILLER( document ) ); // false
@@ -971,7 +975,7 @@ export default class DomConverter {
971
975
  return backward;
972
976
  }
973
977
  /**
974
- * Returns a parent {@link module:engine/view/uielement~UIElement} or {@link module:engine/view/rawelement~RawElement}
978
+ * Returns a parent {@link module:engine/view/uielement~ViewUIElement} or {@link module:engine/view/rawelement~ViewRawElement}
975
979
  * that hosts the provided DOM node. Returns `null` if there is no such parent.
976
980
  */
977
981
  getHostViewElement(domNode) {
@@ -993,8 +997,8 @@ export default class DomConverter {
993
997
  * The following places are considered as incorrect for selection boundaries:
994
998
  *
995
999
  * * before or in the middle of an inline filler sequence,
996
- * * inside a DOM element which represents {@link module:engine/view/uielement~UIElement a view UI element},
997
- * * inside a DOM element which represents {@link module:engine/view/rawelement~RawElement a view raw element}.
1000
+ * * inside a DOM element which represents {@link module:engine/view/uielement~ViewUIElement a view UI element},
1001
+ * * inside a DOM element which represents {@link module:engine/view/rawelement~ViewRawElement a view raw element}.
998
1002
  *
999
1003
  * @param domSelection The DOM selection object to be checked.
1000
1004
  * @returns `true` if the given selection is at a correct place, `false` otherwise.
@@ -1007,11 +1011,11 @@ export default class DomConverter {
1007
1011
  * Registers a {@link module:engine/view/matcher~MatcherPattern} for view elements whose content should be treated as raw data
1008
1012
  * and not processed during the conversion from DOM nodes to view elements.
1009
1013
  *
1010
- * This is affecting how {@link module:engine/view/domconverter~DomConverter#domToView} and
1011
- * {@link module:engine/view/domconverter~DomConverter#domChildrenToView} process DOM nodes.
1014
+ * This is affecting how {@link module:engine/view/domconverter~ViewDomConverter#domToView} and
1015
+ * {@link module:engine/view/domconverter~ViewDomConverter#domChildrenToView} process DOM nodes.
1012
1016
  *
1013
1017
  * The raw data can be later accessed by a
1014
- * {@link module:engine/view/element~Element#getCustomProperty custom property of a view element} called `"$rawContent"`.
1018
+ * {@link module:engine/view/element~ViewElement#getCustomProperty custom property of a view element} called `"$rawContent"`.
1015
1019
  *
1016
1020
  * @param pattern Pattern matching a view element whose content should
1017
1021
  * be treated as raw data.
@@ -1022,8 +1026,8 @@ export default class DomConverter {
1022
1026
  /**
1023
1027
  * Registers a {@link module:engine/view/matcher~MatcherPattern} for inline object view elements.
1024
1028
  *
1025
- * This is affecting how {@link module:engine/view/domconverter~DomConverter#domToView} and
1026
- * {@link module:engine/view/domconverter~DomConverter#domChildrenToView} process DOM nodes.
1029
+ * This is affecting how {@link module:engine/view/domconverter~ViewDomConverter#domToView} and
1030
+ * {@link module:engine/view/domconverter~ViewDomConverter#domChildrenToView} process DOM nodes.
1027
1031
  *
1028
1032
  * This is an extension of a simple {@link #inlineObjectElements} array of element names.
1029
1033
  *
@@ -1290,7 +1294,7 @@ export default class DomConverter {
1290
1294
  inlineNodes.length = 0;
1291
1295
  }
1292
1296
  /**
1293
- * Takes text data from a given {@link module:engine/view/text~Text#data} and processes it so
1297
+ * Takes text data from a given {@link module:engine/view/text~ViewText#data} and processes it so
1294
1298
  * it is correctly displayed in the DOM.
1295
1299
  *
1296
1300
  * Following changes are done:
@@ -1377,7 +1381,7 @@ export default class DomConverter {
1377
1381
  return false;
1378
1382
  }
1379
1383
  /**
1380
- * Helper function. For given {@link module:engine/view/text~Text view text node}, it finds previous or next sibling
1384
+ * Helper function. For given {@link module:engine/view/text~ViewText view text node}, it finds previous or next sibling
1381
1385
  * that is contained in the same container element. If there is no such sibling, `null` is returned.
1382
1386
  *
1383
1387
  * @param node Reference node.
@@ -1441,7 +1445,7 @@ export default class DomConverter {
1441
1445
  * Creates view element basing on the node type.
1442
1446
  *
1443
1447
  * @param node DOM node to check.
1444
- * @param options Conversion options. See {@link module:engine/view/domconverter~DomConverter#domToView} options parameter.
1448
+ * @param options Conversion options. See {@link module:engine/view/domconverter~ViewDomConverter#domToView} options parameter.
1445
1449
  */
1446
1450
  _createViewElement(node, options) {
1447
1451
  if (isComment(node)) {
@@ -1454,7 +1458,7 @@ export default class DomConverter {
1454
1458
  * Checks if view element's content should be treated as a raw data.
1455
1459
  *
1456
1460
  * @param viewElement View element to check.
1457
- * @param options Conversion options. See {@link module:engine/view/domconverter~DomConverter#domToView} options parameter.
1461
+ * @param options Conversion options. See {@link module:engine/view/domconverter~ViewDomConverter#domToView} options parameter.
1458
1462
  */
1459
1463
  _isViewElementWithRawContent(viewElement, options) {
1460
1464
  return options.withChildren !== false && viewElement.is('element') && !!this._rawContentElementMatcher.match(viewElement);
@@ -1610,29 +1614,30 @@ function isGeckoRestrictedDomSelection(domSelection) {
1610
1614
  return false;
1611
1615
  }
1612
1616
  /**
1613
- * While rendering the editor content, the {@link module:engine/view/domconverter~DomConverter} detected a `<script>` element that may
1617
+ * While rendering the editor content, the {@link module:engine/view/domconverter~ViewDomConverter} detected a `<script>` element that may
1614
1618
  * disrupt the editing experience. To avoid this, the `<script>` element was replaced with `<span data-ck-unsafe-element="script"></span>`.
1615
1619
  *
1616
1620
  * @error domconverter-unsafe-script-element-detected
1617
1621
  */
1618
1622
  /**
1619
- * While rendering the editor content, the {@link module:engine/view/domconverter~DomConverter} detected a `<style>` element that may affect
1623
+ * While rendering the editor content, the
1624
+ * {@link module:engine/view/domconverter~ViewDomConverter} detected a `<style>` element that may affect
1620
1625
  * the editing experience. To avoid this, the `<style>` element was replaced with `<span data-ck-unsafe-element="style"></span>`.
1621
1626
  *
1622
1627
  * @error domconverter-unsafe-style-element-detected
1623
1628
  */
1624
1629
  /**
1625
- * The {@link module:engine/view/domconverter~DomConverter} detected an interactive attribute in the
1630
+ * The {@link module:engine/view/domconverter~ViewDomConverter} detected an interactive attribute in the
1626
1631
  * {@glink framework/architecture/editing-engine#editing-pipeline editing pipeline}. For the best
1627
1632
  * editing experience, the attribute was renamed to `data-ck-unsafe-attribute-[original attribute name]`.
1628
1633
  *
1629
1634
  * If you are the author of the plugin that generated this attribute and you want it to be preserved
1630
1635
  * in the editing pipeline, you can configure this when creating the element
1631
- * using {@link module:engine/view/downcastwriter~DowncastWriter} during the
1636
+ * using {@link module:engine/view/downcastwriter~ViewDowncastWriter} during the
1632
1637
  * {@glink framework/architecture/editing-engine#conversion model–view conversion}. Methods such as
1633
- * {@link module:engine/view/downcastwriter~DowncastWriter#createContainerElement},
1634
- * {@link module:engine/view/downcastwriter~DowncastWriter#createAttributeElement}, or
1635
- * {@link module:engine/view/downcastwriter~DowncastWriter#createEmptyElement}
1638
+ * {@link module:engine/view/downcastwriter~ViewDowncastWriter#createContainerElement},
1639
+ * {@link module:engine/view/downcastwriter~ViewDowncastWriter#createAttributeElement}, or
1640
+ * {@link module:engine/view/downcastwriter~ViewDowncastWriter#createEmptyElement}
1636
1641
  * accept an option that will disable filtering of specific attributes:
1637
1642
  *
1638
1643
  * ```ts