@ckeditor/ckeditor5-engine 40.2.0 → 41.0.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 (245) hide show
  1. package/CHANGELOG.md +34 -34
  2. package/LICENSE.md +1 -1
  3. package/package.json +3 -2
  4. package/src/controller/datacontroller.d.ts +16 -16
  5. package/src/controller/datacontroller.js +12 -12
  6. package/src/controller/editingcontroller.d.ts +8 -8
  7. package/src/controller/editingcontroller.js +8 -8
  8. package/src/conversion/conversion.d.ts +7 -7
  9. package/src/conversion/conversion.js +3 -3
  10. package/src/conversion/conversionhelpers.d.ts +1 -1
  11. package/src/conversion/conversionhelpers.js +1 -1
  12. package/src/conversion/downcastdispatcher.d.ts +14 -14
  13. package/src/conversion/downcastdispatcher.js +3 -3
  14. package/src/conversion/downcasthelpers.d.ts +18 -54
  15. package/src/conversion/downcasthelpers.js +8 -44
  16. package/src/conversion/mapper.d.ts +10 -10
  17. package/src/conversion/mapper.js +6 -6
  18. package/src/conversion/modelconsumable.d.ts +6 -6
  19. package/src/conversion/modelconsumable.js +2 -2
  20. package/src/conversion/upcastdispatcher.d.ts +13 -13
  21. package/src/conversion/upcastdispatcher.js +6 -6
  22. package/src/conversion/upcasthelpers.d.ts +10 -10
  23. package/src/conversion/upcasthelpers.js +4 -4
  24. package/src/conversion/viewconsumable.d.ts +6 -6
  25. package/src/conversion/viewconsumable.js +1 -1
  26. package/src/dataprocessor/basichtmlwriter.d.ts +2 -2
  27. package/src/dataprocessor/basichtmlwriter.js +1 -1
  28. package/src/dataprocessor/dataprocessor.d.ts +3 -3
  29. package/src/dataprocessor/dataprocessor.js +1 -1
  30. package/src/dataprocessor/htmldataprocessor.d.ts +7 -7
  31. package/src/dataprocessor/htmldataprocessor.js +3 -3
  32. package/src/dataprocessor/htmlwriter.d.ts +1 -1
  33. package/src/dataprocessor/htmlwriter.js +1 -1
  34. package/src/dataprocessor/xmldataprocessor.d.ts +7 -7
  35. package/src/dataprocessor/xmldataprocessor.js +3 -3
  36. package/src/dev-utils/model.d.ts +11 -11
  37. package/src/dev-utils/model.js +17 -17
  38. package/src/dev-utils/operationreplayer.d.ts +3 -3
  39. package/src/dev-utils/operationreplayer.js +2 -2
  40. package/src/dev-utils/utils.d.ts +1 -1
  41. package/src/dev-utils/utils.js +1 -1
  42. package/src/dev-utils/view.d.ts +9 -9
  43. package/src/dev-utils/view.js +15 -15
  44. package/src/index.d.ts +107 -108
  45. package/src/index.js +65 -66
  46. package/src/model/batch.d.ts +2 -2
  47. package/src/model/batch.js +1 -1
  48. package/src/model/differ.d.ts +35 -7
  49. package/src/model/differ.js +9 -6
  50. package/src/model/document.d.ts +12 -10
  51. package/src/model/document.js +5 -5
  52. package/src/model/documentfragment.d.ts +5 -5
  53. package/src/model/documentfragment.js +6 -6
  54. package/src/model/documentselection.d.ts +9 -9
  55. package/src/model/documentselection.js +6 -6
  56. package/src/model/element.d.ts +3 -3
  57. package/src/model/element.js +5 -5
  58. package/src/model/history.d.ts +2 -2
  59. package/src/model/history.js +1 -1
  60. package/src/model/item.d.ts +3 -3
  61. package/src/model/item.js +1 -1
  62. package/src/model/liveposition.d.ts +5 -5
  63. package/src/model/liveposition.js +2 -2
  64. package/src/model/liverange.d.ts +6 -6
  65. package/src/model/liverange.js +2 -2
  66. package/src/model/markercollection.d.ts +5 -5
  67. package/src/model/markercollection.js +3 -3
  68. package/src/model/model.d.ts +15 -15
  69. package/src/model/model.js +19 -19
  70. package/src/model/node.d.ts +6 -6
  71. package/src/model/node.js +3 -3
  72. package/src/model/nodelist.d.ts +2 -2
  73. package/src/model/nodelist.js +2 -2
  74. package/src/model/operation/attributeoperation.d.ts +5 -5
  75. package/src/model/operation/attributeoperation.js +4 -4
  76. package/src/model/operation/detachoperation.d.ts +4 -4
  77. package/src/model/operation/detachoperation.js +4 -4
  78. package/src/model/operation/insertoperation.d.ts +7 -7
  79. package/src/model/operation/insertoperation.js +8 -8
  80. package/src/model/operation/markeroperation.d.ts +6 -6
  81. package/src/model/operation/markeroperation.js +3 -3
  82. package/src/model/operation/mergeoperation.d.ts +6 -6
  83. package/src/model/operation/mergeoperation.js +6 -6
  84. package/src/model/operation/moveoperation.d.ts +5 -5
  85. package/src/model/operation/moveoperation.js +5 -5
  86. package/src/model/operation/nooperation.d.ts +3 -3
  87. package/src/model/operation/nooperation.js +2 -2
  88. package/src/model/operation/operation.d.ts +4 -4
  89. package/src/model/operation/operation.js +1 -1
  90. package/src/model/operation/operationfactory.d.ts +3 -3
  91. package/src/model/operation/operationfactory.js +12 -12
  92. package/src/model/operation/renameoperation.d.ts +5 -5
  93. package/src/model/operation/renameoperation.js +4 -4
  94. package/src/model/operation/rootattributeoperation.d.ts +5 -5
  95. package/src/model/operation/rootattributeoperation.js +2 -2
  96. package/src/model/operation/rootoperation.d.ts +4 -4
  97. package/src/model/operation/rootoperation.js +2 -2
  98. package/src/model/operation/splitoperation.d.ts +6 -6
  99. package/src/model/operation/splitoperation.js +6 -6
  100. package/src/model/operation/transform.d.ts +3 -3
  101. package/src/model/operation/transform.js +13 -13
  102. package/src/model/operation/utils.d.ts +7 -7
  103. package/src/model/operation/utils.js +5 -5
  104. package/src/model/position.d.ts +15 -15
  105. package/src/model/position.js +4 -4
  106. package/src/model/range.d.ts +13 -13
  107. package/src/model/range.js +4 -4
  108. package/src/model/rootelement.d.ts +3 -3
  109. package/src/model/rootelement.js +2 -2
  110. package/src/model/schema.d.ts +32 -12
  111. package/src/model/schema.js +52 -7
  112. package/src/model/selection.d.ts +8 -8
  113. package/src/model/selection.js +5 -5
  114. package/src/model/text.d.ts +2 -2
  115. package/src/model/text.js +2 -2
  116. package/src/model/textproxy.d.ts +6 -6
  117. package/src/model/textproxy.js +2 -2
  118. package/src/model/treewalker.d.ts +4 -4
  119. package/src/model/treewalker.js +5 -5
  120. package/src/model/typecheckable.d.ts +14 -14
  121. package/src/model/typecheckable.js +1 -1
  122. package/src/model/utils/autoparagraphing.d.ts +5 -5
  123. package/src/model/utils/autoparagraphing.js +1 -1
  124. package/src/model/utils/deletecontent.d.ts +4 -4
  125. package/src/model/utils/deletecontent.js +4 -4
  126. package/src/model/utils/getselectedcontent.d.ts +5 -5
  127. package/src/model/utils/getselectedcontent.js +1 -1
  128. package/src/model/utils/insertcontent.d.ts +7 -7
  129. package/src/model/utils/insertcontent.js +7 -7
  130. package/src/model/utils/insertobject.d.ts +9 -6
  131. package/src/model/utils/insertobject.js +2 -6
  132. package/src/model/utils/modifyselection.d.ts +4 -4
  133. package/src/model/utils/modifyselection.js +5 -5
  134. package/src/model/utils/selection-post-fixer.d.ts +4 -4
  135. package/src/model/utils/selection-post-fixer.js +3 -3
  136. package/src/model/writer.d.ts +13 -13
  137. package/src/model/writer.js +18 -18
  138. package/src/view/attributeelement.d.ts +4 -4
  139. package/src/view/attributeelement.js +4 -3
  140. package/src/view/containerelement.d.ts +4 -4
  141. package/src/view/containerelement.js +2 -2
  142. package/src/view/datatransfer.d.ts +1 -1
  143. package/src/view/datatransfer.js +1 -1
  144. package/src/view/document.d.ts +5 -5
  145. package/src/view/document.js +3 -3
  146. package/src/view/documentfragment.d.ts +5 -5
  147. package/src/view/documentfragment.js +4 -4
  148. package/src/view/documentselection.d.ts +9 -9
  149. package/src/view/documentselection.js +3 -3
  150. package/src/view/domconverter.d.ts +14 -14
  151. package/src/view/domconverter.js +11 -11
  152. package/src/view/downcastwriter.d.ts +18 -18
  153. package/src/view/downcastwriter.js +12 -12
  154. package/src/view/editableelement.d.ts +5 -5
  155. package/src/view/editableelement.js +2 -2
  156. package/src/view/element.d.ts +6 -6
  157. package/src/view/element.js +6 -6
  158. package/src/view/elementdefinition.d.ts +1 -1
  159. package/src/view/elementdefinition.js +1 -1
  160. package/src/view/emptyelement.d.ts +5 -5
  161. package/src/view/emptyelement.js +3 -3
  162. package/src/view/filler.d.ts +2 -2
  163. package/src/view/filler.js +1 -1
  164. package/src/view/item.d.ts +3 -3
  165. package/src/view/item.js +1 -1
  166. package/src/view/matcher.d.ts +2 -2
  167. package/src/view/matcher.js +1 -1
  168. package/src/view/node.d.ts +6 -6
  169. package/src/view/node.js +3 -3
  170. package/src/view/observer/arrowkeysobserver.d.ts +5 -5
  171. package/src/view/observer/arrowkeysobserver.js +3 -3
  172. package/src/view/observer/bubblingemittermixin.d.ts +3 -3
  173. package/src/view/observer/bubblingemittermixin.js +2 -2
  174. package/src/view/observer/bubblingeventinfo.d.ts +4 -4
  175. package/src/view/observer/bubblingeventinfo.js +1 -1
  176. package/src/view/observer/clickobserver.d.ts +4 -4
  177. package/src/view/observer/clickobserver.js +2 -2
  178. package/src/view/observer/compositionobserver.d.ts +4 -4
  179. package/src/view/observer/compositionobserver.js +2 -2
  180. package/src/view/observer/domeventdata.d.ts +4 -4
  181. package/src/view/observer/domeventdata.js +1 -1
  182. package/src/view/observer/domeventobserver.d.ts +2 -2
  183. package/src/view/observer/domeventobserver.js +3 -3
  184. package/src/view/observer/fakeselectionobserver.d.ts +3 -3
  185. package/src/view/observer/fakeselectionobserver.js +3 -3
  186. package/src/view/observer/focusobserver.d.ts +4 -4
  187. package/src/view/observer/focusobserver.js +2 -2
  188. package/src/view/observer/inputobserver.d.ts +5 -5
  189. package/src/view/observer/inputobserver.js +3 -3
  190. package/src/view/observer/keyobserver.d.ts +3 -3
  191. package/src/view/observer/keyobserver.js +2 -2
  192. package/src/view/observer/mouseobserver.d.ts +3 -3
  193. package/src/view/observer/mouseobserver.js +2 -2
  194. package/src/view/observer/mutationobserver.d.ts +5 -5
  195. package/src/view/observer/mutationobserver.js +3 -3
  196. package/src/view/observer/observer.d.ts +3 -3
  197. package/src/view/observer/observer.js +1 -1
  198. package/src/view/observer/selectionobserver.d.ts +8 -8
  199. package/src/view/observer/selectionobserver.js +4 -4
  200. package/src/view/observer/tabobserver.d.ts +5 -5
  201. package/src/view/observer/tabobserver.js +3 -3
  202. package/src/view/placeholder.d.ts +5 -5
  203. package/src/view/placeholder.js +1 -1
  204. package/src/view/position.d.ts +8 -8
  205. package/src/view/position.js +5 -5
  206. package/src/view/range.d.ts +8 -8
  207. package/src/view/range.js +4 -4
  208. package/src/view/rawelement.d.ts +6 -6
  209. package/src/view/rawelement.js +3 -3
  210. package/src/view/renderer.d.ts +6 -6
  211. package/src/view/renderer.js +4 -4
  212. package/src/view/rooteditableelement.d.ts +3 -3
  213. package/src/view/rooteditableelement.js +2 -2
  214. package/src/view/selection.d.ts +9 -9
  215. package/src/view/selection.js +6 -6
  216. package/src/view/styles/background.d.ts +2 -2
  217. package/src/view/styles/background.js +2 -2
  218. package/src/view/styles/border.d.ts +2 -2
  219. package/src/view/styles/border.js +2 -2
  220. package/src/view/styles/margin.d.ts +2 -2
  221. package/src/view/styles/margin.js +2 -2
  222. package/src/view/styles/padding.d.ts +2 -2
  223. package/src/view/styles/padding.js +2 -2
  224. package/src/view/styles/utils.d.ts +2 -2
  225. package/src/view/styles/utils.js +1 -1
  226. package/src/view/stylesmap.d.ts +1 -1
  227. package/src/view/stylesmap.js +1 -1
  228. package/src/view/text.d.ts +3 -3
  229. package/src/view/text.js +2 -2
  230. package/src/view/textproxy.d.ts +7 -7
  231. package/src/view/textproxy.js +2 -2
  232. package/src/view/treewalker.d.ts +4 -4
  233. package/src/view/treewalker.js +5 -5
  234. package/src/view/typecheckable.d.ts +17 -17
  235. package/src/view/typecheckable.js +1 -1
  236. package/src/view/uielement.d.ts +7 -7
  237. package/src/view/uielement.js +3 -3
  238. package/src/view/upcastwriter.d.ts +10 -10
  239. package/src/view/upcastwriter.js +7 -7
  240. package/src/view/view.d.ts +22 -22
  241. package/src/view/view.js +19 -19
  242. package/theme/placeholder.css +1 -1
  243. package/theme/renderer.css +1 -1
  244. package/src/model/utils/findoptimalinsertionrange.d.ts +0 -32
  245. package/src/model/utils/findoptimalinsertionrange.js +0 -57
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module engine/dev-utils/operationreplayer
7
7
  */
8
8
  /* global setTimeout */
9
- import OperationFactory from '../model/operation/operationfactory';
9
+ import OperationFactory from '../model/operation/operationfactory.js';
10
10
  /**
11
11
  * Operation replayer is a development tool created for easy replaying of operations on the document from stringified operations.
12
12
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
@@ -8,14 +8,14 @@
8
8
  /**
9
9
  * Collection of methods for manipulating the {@link module:engine/view/view view} for testing purposes.
10
10
  */
11
- import View from '../view/view';
12
- import ViewDocumentFragment from '../view/documentfragment';
13
- import ViewElement from '../view/element';
14
- import DocumentSelection from '../view/documentselection';
15
- import Range from '../view/range';
16
- import Position from '../view/position';
17
- import type ViewNode from '../view/node';
18
- import type DomConverter from '../view/domconverter';
11
+ import View from '../view/view.js';
12
+ import ViewDocumentFragment from '../view/documentfragment.js';
13
+ import ViewElement from '../view/element.js';
14
+ import DocumentSelection from '../view/documentselection.js';
15
+ import Range from '../view/range.js';
16
+ import Position from '../view/position.js';
17
+ import type ViewNode from '../view/node.js';
18
+ import type DomConverter from '../view/domconverter.js';
19
19
  /**
20
20
  * Writes the content of the {@link module:engine/view/document~Document document} to an HTML-like string.
21
21
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
@@ -9,20 +9,20 @@
9
9
  /**
10
10
  * Collection of methods for manipulating the {@link module:engine/view/view view} for testing purposes.
11
11
  */
12
- import View from '../view/view';
13
- import ViewDocument from '../view/document';
14
- import ViewDocumentFragment from '../view/documentfragment';
15
- import XmlDataProcessor from '../dataprocessor/xmldataprocessor';
16
- import ViewElement from '../view/element';
17
- import DocumentSelection from '../view/documentselection';
18
- import Range from '../view/range';
19
- import Position from '../view/position';
20
- import AttributeElement from '../view/attributeelement';
21
- import ContainerElement from '../view/containerelement';
22
- import EmptyElement from '../view/emptyelement';
23
- import UIElement from '../view/uielement';
24
- import RawElement from '../view/rawelement';
25
- import { StylesProcessor } from '../view/stylesmap';
12
+ import View from '../view/view.js';
13
+ import ViewDocument from '../view/document.js';
14
+ import ViewDocumentFragment from '../view/documentfragment.js';
15
+ import XmlDataProcessor from '../dataprocessor/xmldataprocessor.js';
16
+ import ViewElement from '../view/element.js';
17
+ import DocumentSelection from '../view/documentselection.js';
18
+ import Range from '../view/range.js';
19
+ import Position from '../view/position.js';
20
+ import AttributeElement from '../view/attributeelement.js';
21
+ import ContainerElement from '../view/containerelement.js';
22
+ import EmptyElement from '../view/emptyelement.js';
23
+ import UIElement from '../view/uielement.js';
24
+ import RawElement from '../view/rawelement.js';
25
+ import { StylesProcessor } from '../view/stylesmap.js';
26
26
  const ELEMENT_RANGE_START_TOKEN = '[';
27
27
  const ELEMENT_RANGE_END_TOKEN = ']';
28
28
  const TEXT_RANGE_START_TOKEN = '{';
package/src/index.d.ts CHANGED
@@ -1,114 +1,113 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module engine
7
7
  */
8
- export * from './view/placeholder';
9
- export { default as EditingController } from './controller/editingcontroller';
10
- export { default as DataController, type DataControllerInitEvent, type DataControllerSetEvent, type DataControllerToModelEvent, type DataControllerToViewEvent } from './controller/datacontroller';
11
- export { default as Conversion } from './conversion/conversion';
12
- export type { default as DowncastDispatcher, DowncastAddMarkerEvent, DowncastAttributeEvent, DowncastConversionApi, DowncastInsertEvent, DowncastRemoveEvent, DowncastRemoveMarkerEvent, DowncastSelectionEvent } from './conversion/downcastdispatcher';
13
- export type { default as UpcastDispatcher, UpcastConversionApi, UpcastConversionData, UpcastElementEvent, UpcastTextEvent } from './conversion/upcastdispatcher';
14
- export type { AddHighlightCallback, AttributeDescriptor, ElementCreatorFunction, HighlightDescriptor, RemoveHighlightCallback, MarkerElementCreatorFunction, SlotFilter } from './conversion/downcasthelpers';
15
- export type { default as Mapper, MapperModelToViewPositionEvent, MapperViewToModelPositionEvent } from './conversion/mapper';
16
- export type { default as ModelConsumable } from './conversion/modelconsumable';
17
- export type { Consumables, default as ViewConsumable } from './conversion/viewconsumable';
18
- export type { default as DataProcessor } from './dataprocessor/dataprocessor';
19
- export { default as HtmlDataProcessor } from './dataprocessor/htmldataprocessor';
20
- export type { default as Operation } from './model/operation/operation';
21
- export { default as InsertOperation } from './model/operation/insertoperation';
22
- export { default as MoveOperation } from './model/operation/moveoperation';
23
- export { default as MergeOperation } from './model/operation/mergeoperation';
24
- export { default as SplitOperation } from './model/operation/splitoperation';
25
- export { default as MarkerOperation } from './model/operation/markeroperation';
26
- export { default as OperationFactory } from './model/operation/operationfactory';
27
- export { default as AttributeOperation } from './model/operation/attributeoperation';
28
- export { default as RenameOperation } from './model/operation/renameoperation';
29
- export { default as RootAttributeOperation } from './model/operation/rootattributeoperation';
30
- export { default as RootOperation } from './model/operation/rootoperation';
31
- export { default as NoOperation } from './model/operation/nooperation';
32
- export { transformSets } from './model/operation/transform';
33
- export { default as DocumentSelection, type DocumentSelectionChangeRangeEvent, type DocumentSelectionChangeMarkerEvent, type DocumentSelectionChangeAttributeEvent } from './model/documentselection';
34
- export { default as Range } from './model/range';
35
- export { default as LiveRange, type LiveRangeChangeRangeEvent } from './model/liverange';
36
- export { default as LivePosition } from './model/liveposition';
37
- export { default as Model } from './model/model';
38
- export { default as TreeWalker, type TreeWalkerValue } from './model/treewalker';
39
- export { default as Element } from './model/element';
40
- export { default as Position, type PositionOffset } from './model/position';
41
- export { default as DocumentFragment } from './model/documentfragment';
42
- export { default as History } from './model/history';
43
- export { default as Text } from './model/text';
44
- export { default as TextProxy } from './model/textproxy';
45
- export type { default as Document, ModelPostFixer } from './model/document';
46
- export type { Marker } from './model/markercollection';
47
- export type { default as Batch } from './model/batch';
48
- export type { default as Differ, DiffItem, DiffItemAttribute, DiffItemInsert, DiffItemRemove } from './model/differ';
49
- export type { default as Item } from './model/item';
50
- export type { default as Node, NodeAttributes } from './model/node';
51
- export type { default as RootElement } from './model/rootelement';
52
- export type { default as Schema, SchemaAttributeCheckCallback, SchemaChildCheckCallback, AttributeProperties, SchemaItemDefinition } from './model/schema';
53
- export type { default as Selection, Selectable } from './model/selection';
54
- export type { default as TypeCheckable } from './model/typecheckable';
55
- export type { default as Writer } from './model/writer';
56
- export { findOptimalInsertionRange } from './model/utils/findoptimalinsertionrange';
57
- export type { DocumentChangeEvent } from './model/document';
58
- export type { DocumentSelectionChangeEvent } from './model/documentselection';
59
- export type { ModelApplyOperationEvent, ModelDeleteContentEvent, ModelGetSelectedContentEvent, ModelInsertContentEvent, ModelInsertObjectEvent, ModelModifySelectionEvent, ModelCanEditAtEvent } from './model/model';
60
- export type { SelectionChangeRangeEvent } from './model/selection';
61
- export { default as DataTransfer } from './view/datatransfer';
62
- export { default as DomConverter } from './view/domconverter';
63
- export { default as Renderer } from './view/renderer';
64
- export { default as View } from './view/view';
65
- export { default as ViewDocument } from './view/document';
66
- export { default as ViewText } from './view/text';
67
- export { default as ViewElement, type ElementAttributes as ViewElementAttributes } from './view/element';
68
- export { default as ViewContainerElement } from './view/containerelement';
69
- export { default as ViewEditableElement } from './view/editableelement';
70
- export { default as ViewRootEditableElement } from './view/rooteditableelement';
71
- export { default as ViewAttributeElement } from './view/attributeelement';
72
- export { default as ViewEmptyElement } from './view/emptyelement';
73
- export { default as ViewRawElement } from './view/rawelement';
74
- export { default as ViewUIElement } from './view/uielement';
75
- export { default as ViewDocumentFragment } from './view/documentfragment';
76
- export { default as ViewTreeWalker, type TreeWalkerValue as ViewTreeWalkerValue } from './view/treewalker';
77
- export type { default as ViewElementDefinition, ElementObjectDefinition } from './view/elementdefinition';
78
- export type { default as ViewDocumentSelection } from './view/documentselection';
79
- export { default as AttributeElement } from './view/attributeelement';
80
- export type { default as ViewItem } from './view/item';
81
- export type { default as ViewNode } from './view/node';
82
- export type { default as ViewPosition, PositionOffset as ViewPositionOffset } from './view/position';
83
- export type { default as ViewRange } from './view/range';
84
- export type { default as ViewSelection, ViewSelectionChangeEvent, Selectable as ViewSelectable } from './view/selection';
85
- export type { default as ViewTypeCheckable } from './view/typecheckable';
86
- export { getFillerOffset } from './view/containerelement';
87
- export { default as Observer } from './view/observer/observer';
88
- export { default as ClickObserver } from './view/observer/clickobserver';
89
- export { default as DomEventObserver } from './view/observer/domeventobserver';
90
- export { default as MouseObserver } from './view/observer/mouseobserver';
91
- export { default as TabObserver } from './view/observer/tabobserver';
92
- export { default as FocusObserver } from './view/observer/focusobserver';
93
- export { default as DowncastWriter } from './view/downcastwriter';
94
- export { default as UpcastWriter } from './view/upcastwriter';
95
- export { default as Matcher, type MatcherPattern, type MatcherObjectPattern, type Match, type MatchResult } from './view/matcher';
96
- export { default as BubblingEventInfo } from './view/observer/bubblingeventinfo';
97
- export { default as DomEventData } from './view/observer/domeventdata';
98
- export type { BubblingEvent } from './view/observer/bubblingemittermixin';
99
- export type { ViewDocumentArrowKeyEvent } from './view/observer/arrowkeysobserver';
100
- export type { ViewDocumentCompositionStartEvent, ViewDocumentCompositionUpdateEvent, ViewDocumentCompositionEndEvent } from './view/observer/compositionobserver';
101
- export type { ViewDocumentInputEvent } from './view/observer/inputobserver';
102
- export type { ViewDocumentKeyDownEvent, ViewDocumentKeyUpEvent, KeyEventData } from './view/observer/keyobserver';
103
- export type { ViewDocumentLayoutChangedEvent } from './view/document';
104
- export type { ViewDocumentMouseDownEvent, ViewDocumentMouseUpEvent, ViewDocumentMouseOverEvent, ViewDocumentMouseOutEvent } from './view/observer/mouseobserver';
105
- export type { ViewDocumentTabEvent } from './view/observer/tabobserver';
106
- export type { ViewDocumentClickEvent } from './view/observer/clickobserver';
107
- export type { ViewDocumentSelectionChangeEvent } from './view/observer/selectionobserver';
108
- export type { ViewRenderEvent, ViewScrollToTheSelectionEvent } from './view/view';
109
- export { StylesProcessor, type BoxSides } from './view/stylesmap';
110
- export * from './view/styles/background';
111
- export * from './view/styles/border';
112
- export * from './view/styles/margin';
113
- export * from './view/styles/padding';
114
- export * from './view/styles/utils';
8
+ export * from './view/placeholder.js';
9
+ export { default as EditingController } from './controller/editingcontroller.js';
10
+ export { default as DataController, type DataControllerInitEvent, type DataControllerSetEvent, type DataControllerToModelEvent, type DataControllerToViewEvent } from './controller/datacontroller.js';
11
+ export { default as Conversion } from './conversion/conversion.js';
12
+ export type { default as DowncastDispatcher, DowncastAddMarkerEvent, DowncastAttributeEvent, DowncastConversionApi, DowncastInsertEvent, DowncastRemoveEvent, DowncastRemoveMarkerEvent, DowncastSelectionEvent } from './conversion/downcastdispatcher.js';
13
+ export type { default as UpcastDispatcher, UpcastConversionApi, UpcastConversionData, UpcastElementEvent, UpcastTextEvent } from './conversion/upcastdispatcher.js';
14
+ export type { AddHighlightCallback, AttributeDescriptor, ElementCreatorFunction, HighlightDescriptor, RemoveHighlightCallback, MarkerElementCreatorFunction, SlotFilter } from './conversion/downcasthelpers.js';
15
+ export type { default as Mapper, MapperModelToViewPositionEvent, MapperViewToModelPositionEvent } from './conversion/mapper.js';
16
+ export type { default as ModelConsumable } from './conversion/modelconsumable.js';
17
+ export type { Consumables, default as ViewConsumable } from './conversion/viewconsumable.js';
18
+ export type { default as DataProcessor } from './dataprocessor/dataprocessor.js';
19
+ export { default as HtmlDataProcessor } from './dataprocessor/htmldataprocessor.js';
20
+ export type { default as Operation } from './model/operation/operation.js';
21
+ export { default as InsertOperation } from './model/operation/insertoperation.js';
22
+ export { default as MoveOperation } from './model/operation/moveoperation.js';
23
+ export { default as MergeOperation } from './model/operation/mergeoperation.js';
24
+ export { default as SplitOperation } from './model/operation/splitoperation.js';
25
+ export { default as MarkerOperation } from './model/operation/markeroperation.js';
26
+ export { default as OperationFactory } from './model/operation/operationfactory.js';
27
+ export { default as AttributeOperation } from './model/operation/attributeoperation.js';
28
+ export { default as RenameOperation } from './model/operation/renameoperation.js';
29
+ export { default as RootAttributeOperation } from './model/operation/rootattributeoperation.js';
30
+ export { default as RootOperation } from './model/operation/rootoperation.js';
31
+ export { default as NoOperation } from './model/operation/nooperation.js';
32
+ export { transformSets } from './model/operation/transform.js';
33
+ export { default as DocumentSelection, type DocumentSelectionChangeRangeEvent, type DocumentSelectionChangeMarkerEvent, type DocumentSelectionChangeAttributeEvent } from './model/documentselection.js';
34
+ export { default as Range } from './model/range.js';
35
+ export { default as LiveRange, type LiveRangeChangeRangeEvent } from './model/liverange.js';
36
+ export { default as LivePosition } from './model/liveposition.js';
37
+ export { default as Model } from './model/model.js';
38
+ export { default as TreeWalker, type TreeWalkerValue } from './model/treewalker.js';
39
+ export { default as Element } from './model/element.js';
40
+ export { default as Position, type PositionOffset } from './model/position.js';
41
+ export { default as DocumentFragment } from './model/documentfragment.js';
42
+ export { default as History } from './model/history.js';
43
+ export { default as Text } from './model/text.js';
44
+ export { default as TextProxy } from './model/textproxy.js';
45
+ export type { default as Document, ModelPostFixer } from './model/document.js';
46
+ export type { Marker } from './model/markercollection.js';
47
+ export type { default as Batch } from './model/batch.js';
48
+ export type { default as Differ, DiffItem, DiffItemAttribute, DiffItemInsert, DiffItemRemove } from './model/differ.js';
49
+ export type { default as Item } from './model/item.js';
50
+ export type { default as Node, NodeAttributes } from './model/node.js';
51
+ export type { default as RootElement } from './model/rootelement.js';
52
+ export type { default as Schema, SchemaAttributeCheckCallback, SchemaChildCheckCallback, AttributeProperties, SchemaItemDefinition } from './model/schema.js';
53
+ export type { default as Selection, Selectable } from './model/selection.js';
54
+ export type { default as TypeCheckable } from './model/typecheckable.js';
55
+ export type { default as Writer } from './model/writer.js';
56
+ export type { DocumentChangeEvent } from './model/document.js';
57
+ export type { DocumentSelectionChangeEvent } from './model/documentselection.js';
58
+ export type { ModelApplyOperationEvent, ModelDeleteContentEvent, ModelGetSelectedContentEvent, ModelInsertContentEvent, ModelInsertObjectEvent, ModelModifySelectionEvent, ModelCanEditAtEvent } from './model/model.js';
59
+ export type { SelectionChangeRangeEvent } from './model/selection.js';
60
+ export { default as DataTransfer } from './view/datatransfer.js';
61
+ export { default as DomConverter } from './view/domconverter.js';
62
+ export { default as Renderer } from './view/renderer.js';
63
+ export { default as EditingView } from './view/view.js';
64
+ export { default as ViewDocument } from './view/document.js';
65
+ export { default as ViewText } from './view/text.js';
66
+ export { default as ViewElement, type ElementAttributes as ViewElementAttributes } from './view/element.js';
67
+ export { default as ViewContainerElement } from './view/containerelement.js';
68
+ export { default as ViewEditableElement } from './view/editableelement.js';
69
+ export { default as ViewRootEditableElement } from './view/rooteditableelement.js';
70
+ export { default as ViewAttributeElement } from './view/attributeelement.js';
71
+ export { default as ViewEmptyElement } from './view/emptyelement.js';
72
+ export { default as ViewRawElement } from './view/rawelement.js';
73
+ export { default as ViewUIElement } from './view/uielement.js';
74
+ export { default as ViewDocumentFragment } from './view/documentfragment.js';
75
+ export { default as ViewTreeWalker, type TreeWalkerValue as ViewTreeWalkerValue } from './view/treewalker.js';
76
+ export type { default as ViewElementDefinition, ElementObjectDefinition } from './view/elementdefinition.js';
77
+ export type { default as ViewDocumentSelection } from './view/documentselection.js';
78
+ export { default as AttributeElement } from './view/attributeelement.js';
79
+ export type { default as ViewItem } from './view/item.js';
80
+ export type { default as ViewNode } from './view/node.js';
81
+ export type { default as ViewPosition, PositionOffset as ViewPositionOffset } from './view/position.js';
82
+ export type { default as ViewRange } from './view/range.js';
83
+ export type { default as ViewSelection, ViewSelectionChangeEvent, Selectable as ViewSelectable } from './view/selection.js';
84
+ export type { default as ViewTypeCheckable } from './view/typecheckable.js';
85
+ export { getFillerOffset } from './view/containerelement.js';
86
+ export { default as Observer } from './view/observer/observer.js';
87
+ export { default as ClickObserver } from './view/observer/clickobserver.js';
88
+ export { default as DomEventObserver } from './view/observer/domeventobserver.js';
89
+ export { default as MouseObserver } from './view/observer/mouseobserver.js';
90
+ export { default as TabObserver } from './view/observer/tabobserver.js';
91
+ export { default as FocusObserver } from './view/observer/focusobserver.js';
92
+ export { default as DowncastWriter } from './view/downcastwriter.js';
93
+ export { default as UpcastWriter } from './view/upcastwriter.js';
94
+ export { default as Matcher, type MatcherPattern, type MatcherObjectPattern, type Match, type MatchResult } from './view/matcher.js';
95
+ export { default as BubblingEventInfo } from './view/observer/bubblingeventinfo.js';
96
+ export { default as DomEventData } from './view/observer/domeventdata.js';
97
+ export type { BubblingEvent } from './view/observer/bubblingemittermixin.js';
98
+ export type { ViewDocumentArrowKeyEvent } from './view/observer/arrowkeysobserver.js';
99
+ export type { ViewDocumentCompositionStartEvent, ViewDocumentCompositionUpdateEvent, ViewDocumentCompositionEndEvent } from './view/observer/compositionobserver.js';
100
+ export type { ViewDocumentInputEvent } from './view/observer/inputobserver.js';
101
+ export type { ViewDocumentKeyDownEvent, ViewDocumentKeyUpEvent, KeyEventData } from './view/observer/keyobserver.js';
102
+ export type { ViewDocumentLayoutChangedEvent } from './view/document.js';
103
+ export type { ViewDocumentMouseDownEvent, ViewDocumentMouseUpEvent, ViewDocumentMouseOverEvent, ViewDocumentMouseOutEvent } from './view/observer/mouseobserver.js';
104
+ export type { ViewDocumentTabEvent } from './view/observer/tabobserver.js';
105
+ export type { ViewDocumentClickEvent } from './view/observer/clickobserver.js';
106
+ export type { ViewDocumentSelectionChangeEvent } from './view/observer/selectionobserver.js';
107
+ export type { ViewRenderEvent, ViewScrollToTheSelectionEvent } from './view/view.js';
108
+ export { StylesProcessor, type BoxSides } from './view/stylesmap.js';
109
+ export * from './view/styles/background.js';
110
+ export * from './view/styles/border.js';
111
+ export * from './view/styles/margin.js';
112
+ export * from './view/styles/padding.js';
113
+ export * from './view/styles/utils.js';
package/src/index.js CHANGED
@@ -1,78 +1,77 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module engine
7
7
  */
8
- export * from './view/placeholder';
8
+ export * from './view/placeholder.js';
9
9
  // Controller.
10
- export { default as EditingController } from './controller/editingcontroller';
11
- export { default as DataController } from './controller/datacontroller';
10
+ export { default as EditingController } from './controller/editingcontroller.js';
11
+ export { default as DataController } from './controller/datacontroller.js';
12
12
  // Conversion.
13
- export { default as Conversion } from './conversion/conversion';
14
- export { default as HtmlDataProcessor } from './dataprocessor/htmldataprocessor';
15
- export { default as InsertOperation } from './model/operation/insertoperation';
16
- export { default as MoveOperation } from './model/operation/moveoperation';
17
- export { default as MergeOperation } from './model/operation/mergeoperation';
18
- export { default as SplitOperation } from './model/operation/splitoperation';
19
- export { default as MarkerOperation } from './model/operation/markeroperation';
20
- export { default as OperationFactory } from './model/operation/operationfactory';
21
- export { default as AttributeOperation } from './model/operation/attributeoperation';
22
- export { default as RenameOperation } from './model/operation/renameoperation';
23
- export { default as RootAttributeOperation } from './model/operation/rootattributeoperation';
24
- export { default as RootOperation } from './model/operation/rootoperation';
25
- export { default as NoOperation } from './model/operation/nooperation';
26
- export { transformSets } from './model/operation/transform';
13
+ export { default as Conversion } from './conversion/conversion.js';
14
+ export { default as HtmlDataProcessor } from './dataprocessor/htmldataprocessor.js';
15
+ export { default as InsertOperation } from './model/operation/insertoperation.js';
16
+ export { default as MoveOperation } from './model/operation/moveoperation.js';
17
+ export { default as MergeOperation } from './model/operation/mergeoperation.js';
18
+ export { default as SplitOperation } from './model/operation/splitoperation.js';
19
+ export { default as MarkerOperation } from './model/operation/markeroperation.js';
20
+ export { default as OperationFactory } from './model/operation/operationfactory.js';
21
+ export { default as AttributeOperation } from './model/operation/attributeoperation.js';
22
+ export { default as RenameOperation } from './model/operation/renameoperation.js';
23
+ export { default as RootAttributeOperation } from './model/operation/rootattributeoperation.js';
24
+ export { default as RootOperation } from './model/operation/rootoperation.js';
25
+ export { default as NoOperation } from './model/operation/nooperation.js';
26
+ export { transformSets } from './model/operation/transform.js';
27
27
  // Model.
28
- export { default as DocumentSelection } from './model/documentselection';
29
- export { default as Range } from './model/range';
30
- export { default as LiveRange } from './model/liverange';
31
- export { default as LivePosition } from './model/liveposition';
32
- export { default as Model } from './model/model';
33
- export { default as TreeWalker } from './model/treewalker';
34
- export { default as Element } from './model/element';
35
- export { default as Position } from './model/position';
36
- export { default as DocumentFragment } from './model/documentfragment';
37
- export { default as History } from './model/history';
38
- export { default as Text } from './model/text';
39
- export { default as TextProxy } from './model/textproxy';
40
- export { findOptimalInsertionRange } from './model/utils/findoptimalinsertionrange';
28
+ export { default as DocumentSelection } from './model/documentselection.js';
29
+ export { default as Range } from './model/range.js';
30
+ export { default as LiveRange } from './model/liverange.js';
31
+ export { default as LivePosition } from './model/liveposition.js';
32
+ export { default as Model } from './model/model.js';
33
+ export { default as TreeWalker } from './model/treewalker.js';
34
+ export { default as Element } from './model/element.js';
35
+ export { default as Position } from './model/position.js';
36
+ export { default as DocumentFragment } from './model/documentfragment.js';
37
+ export { default as History } from './model/history.js';
38
+ export { default as Text } from './model/text.js';
39
+ export { default as TextProxy } from './model/textproxy.js';
41
40
  // View.
42
- export { default as DataTransfer } from './view/datatransfer';
43
- export { default as DomConverter } from './view/domconverter';
44
- export { default as Renderer } from './view/renderer';
45
- export { default as View } from './view/view';
46
- export { default as ViewDocument } from './view/document';
47
- export { default as ViewText } from './view/text';
48
- export { default as ViewElement } from './view/element';
49
- export { default as ViewContainerElement } from './view/containerelement';
50
- export { default as ViewEditableElement } from './view/editableelement';
51
- export { default as ViewRootEditableElement } from './view/rooteditableelement';
52
- export { default as ViewAttributeElement } from './view/attributeelement';
53
- export { default as ViewEmptyElement } from './view/emptyelement';
54
- export { default as ViewRawElement } from './view/rawelement';
55
- export { default as ViewUIElement } from './view/uielement';
56
- export { default as ViewDocumentFragment } from './view/documentfragment';
57
- export { default as ViewTreeWalker } from './view/treewalker';
58
- export { default as AttributeElement } from './view/attributeelement';
59
- export { getFillerOffset } from './view/containerelement';
41
+ export { default as DataTransfer } from './view/datatransfer.js';
42
+ export { default as DomConverter } from './view/domconverter.js';
43
+ export { default as Renderer } from './view/renderer.js';
44
+ export { default as EditingView } from './view/view.js';
45
+ export { default as ViewDocument } from './view/document.js';
46
+ export { default as ViewText } from './view/text.js';
47
+ export { default as ViewElement } from './view/element.js';
48
+ export { default as ViewContainerElement } from './view/containerelement.js';
49
+ export { default as ViewEditableElement } from './view/editableelement.js';
50
+ export { default as ViewRootEditableElement } from './view/rooteditableelement.js';
51
+ export { default as ViewAttributeElement } from './view/attributeelement.js';
52
+ export { default as ViewEmptyElement } from './view/emptyelement.js';
53
+ export { default as ViewRawElement } from './view/rawelement.js';
54
+ export { default as ViewUIElement } from './view/uielement.js';
55
+ export { default as ViewDocumentFragment } from './view/documentfragment.js';
56
+ export { default as ViewTreeWalker } from './view/treewalker.js';
57
+ export { default as AttributeElement } from './view/attributeelement.js';
58
+ export { getFillerOffset } from './view/containerelement.js';
60
59
  // View / Observer.
61
- export { default as Observer } from './view/observer/observer';
62
- export { default as ClickObserver } from './view/observer/clickobserver';
63
- export { default as DomEventObserver } from './view/observer/domeventobserver';
64
- export { default as MouseObserver } from './view/observer/mouseobserver';
65
- export { default as TabObserver } from './view/observer/tabobserver';
66
- export { default as FocusObserver } from './view/observer/focusobserver';
67
- export { default as DowncastWriter } from './view/downcastwriter';
68
- export { default as UpcastWriter } from './view/upcastwriter';
69
- export { default as Matcher } from './view/matcher';
70
- export { default as BubblingEventInfo } from './view/observer/bubblingeventinfo';
71
- export { default as DomEventData } from './view/observer/domeventdata';
60
+ export { default as Observer } from './view/observer/observer.js';
61
+ export { default as ClickObserver } from './view/observer/clickobserver.js';
62
+ export { default as DomEventObserver } from './view/observer/domeventobserver.js';
63
+ export { default as MouseObserver } from './view/observer/mouseobserver.js';
64
+ export { default as TabObserver } from './view/observer/tabobserver.js';
65
+ export { default as FocusObserver } from './view/observer/focusobserver.js';
66
+ export { default as DowncastWriter } from './view/downcastwriter.js';
67
+ export { default as UpcastWriter } from './view/upcastwriter.js';
68
+ export { default as Matcher } from './view/matcher.js';
69
+ export { default as BubblingEventInfo } from './view/observer/bubblingeventinfo.js';
70
+ export { default as DomEventData } from './view/observer/domeventdata.js';
72
71
  // View / Styles.
73
- export { StylesProcessor } from './view/stylesmap';
74
- export * from './view/styles/background';
75
- export * from './view/styles/border';
76
- export * from './view/styles/margin';
77
- export * from './view/styles/padding';
78
- export * from './view/styles/utils';
72
+ export { StylesProcessor } from './view/stylesmap.js';
73
+ export * from './view/styles/background.js';
74
+ export * from './view/styles/border.js';
75
+ export * from './view/styles/margin.js';
76
+ export * from './view/styles/padding.js';
77
+ export * from './view/styles/utils.js';
@@ -1,8 +1,8 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
- import type Operation from './operation/operation';
5
+ import type Operation from './operation/operation.js';
6
6
  /**
7
7
  * A batch instance groups model changes ({@link module:engine/model/operation/operation~Operation operations}). All operations
8
8
  * grouped in a single batch can be reverted together, so you can also think about a batch as of a single undo step. If you want
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
@@ -1,16 +1,17 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
4
  */
5
5
  /**
6
6
  * @module engine/model/differ
7
7
  */
8
- import Position from './position';
9
- import Range from './range';
10
- import type { default as MarkerCollection, MarkerData } from './markercollection';
11
- import type Item from './item';
12
- import type RootElement from './rootelement';
13
- import type Operation from './operation/operation';
8
+ import Position from './position.js';
9
+ import Range from './range.js';
10
+ import type { default as MarkerCollection, MarkerData } from './markercollection.js';
11
+ import type Element from './element.js';
12
+ import type Item from './item.js';
13
+ import type RootElement from './rootelement.js';
14
+ import type Operation from './operation/operation.js';
14
15
  /**
15
16
  * Calculates the difference between two model states.
16
17
  *
@@ -292,6 +293,14 @@ export interface DiffItemInsert {
292
293
  * The type of diff item.
293
294
  */
294
295
  type: 'insert';
296
+ /**
297
+ * Reference to the model element that was inserted.
298
+ *
299
+ * Undefined if the diff item is related to text node insertion.
300
+ *
301
+ * @internal
302
+ */
303
+ _element?: Element;
295
304
  /**
296
305
  * The name of the inserted elements or `'$text'` for a text node.
297
306
  */
@@ -317,6 +326,25 @@ export interface DiffItemRemove {
317
326
  * The type of diff item.
318
327
  */
319
328
  type: 'remove';
329
+ /**
330
+ * Reference to the model element that was removed.
331
+ *
332
+ * Undefined if the diff item is related to text node deletion.
333
+ *
334
+ * Note that this element will have the state after all changes has been performed on the model, not before. For example, if a paragraph
335
+ * was first renamed to `heading1`, and then removed, `element.name` will be `heading1`. Similarly, with attributes. Also, you should
336
+ * not read the element's position, as it will no longer point to the original element position.
337
+ *
338
+ * Instead, you should use {@link ~DiffItemRemove#name `DiffItemRemove#name`},
339
+ * {@link ~DiffItemRemove#attributes `DiffItemRemove#attributes`}, and {@link ~DiffItemRemove#position `DiffItemRemove#position`}.
340
+ *
341
+ * This property should be only used to check instance reference equality. For example, if you want to detect that some particular
342
+ * element was removed, you can check `_element` property. You can use it together with {@link ~DiffItemInsert#_element `#_element`} on
343
+ * insert diff items to detect move, refresh, or rename changes.
344
+ *
345
+ * @internal
346
+ */
347
+ _element?: Element;
320
348
  /**
321
349
  * The name of the removed element or `'$text'` for a text node.
322
350
  */