@ckeditor/ckeditor5-engine 40.2.0 → 41.1.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 +17 -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 +35 -52
  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 +6 -6
  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 +2 -2
  227. package/src/view/stylesmap.js +4 -4
  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,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
  */
@@ -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/model/differ
7
7
  */
8
- import Position from './position';
9
- import Range from './range';
8
+ import Position from './position.js';
9
+ import Range from './range.js';
10
10
  /**
11
11
  * Calculates the difference between two model states.
12
12
  *
@@ -916,7 +916,8 @@ export default class Differ {
916
916
  name: elementSnapshot.name,
917
917
  attributes: new Map(elementSnapshot.attributes),
918
918
  length: 1,
919
- changeCount: this._changeCount++
919
+ changeCount: this._changeCount++,
920
+ _element: elementSnapshot.element
920
921
  };
921
922
  }
922
923
  /**
@@ -934,7 +935,8 @@ export default class Differ {
934
935
  name: elementSnapshot.name,
935
936
  attributes: new Map(elementSnapshot.attributes),
936
937
  length: 1,
937
- changeCount: this._changeCount++
938
+ changeCount: this._changeCount++,
939
+ _element: elementSnapshot.element
938
940
  };
939
941
  }
940
942
  /**
@@ -1039,7 +1041,8 @@ function _getChildrenSnapshot(children) {
1039
1041
  else {
1040
1042
  snapshot.push({
1041
1043
  name: child.name,
1042
- attributes: new Map(child.getAttributes())
1044
+ attributes: new Map(child.getAttributes()),
1045
+ element: child
1043
1046
  });
1044
1047
  }
1045
1048
  }
@@ -1,22 +1,24 @@
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/document
7
7
  */
8
- import Differ from './differ';
9
- import DocumentSelection from './documentselection';
10
- import History from './history';
11
- import RootElement from './rootelement';
12
- import type { default as Model } from './model';
13
- import type Batch from './batch';
14
- import type Range from './range';
15
- import type Writer from './writer';
8
+ import Differ from './differ.js';
9
+ import DocumentSelection from './documentselection.js';
10
+ import History from './history.js';
11
+ import RootElement from './rootelement.js';
12
+ import type { default as Model } from './model.js';
13
+ import type Batch from './batch.js';
14
+ import type Range from './range.js';
15
+ import type Writer from './writer.js';
16
16
  import { Collection } from '@ckeditor/ckeditor5-utils';
17
17
  declare const Document_base: {
18
18
  new (): import("@ckeditor/ckeditor5-utils").Emitter;
19
- prototype: import("@ckeditor/ckeditor5-utils").Emitter;
19
+ prototype: import("@ckeditor/ckeditor5-utils").Emitter; /**
20
+ * The model differ object. Its role is to buffer changes done on the model document and then calculate a diff of those changes.
21
+ */
20
22
  };
21
23
  /**
22
24
  * Data model's document. It contains the model's structure, its selection and the history of changes.
@@ -1,14 +1,14 @@
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/document
7
7
  */
8
- import Differ from './differ';
9
- import DocumentSelection from './documentselection';
10
- import History from './history';
11
- import RootElement from './rootelement';
8
+ import Differ from './differ.js';
9
+ import DocumentSelection from './documentselection.js';
10
+ import History from './history.js';
11
+ import RootElement from './rootelement.js';
12
12
  import { CKEditorError, Collection, EmitterMixin, isInsideSurrogatePair, isInsideCombinedSymbol } from '@ckeditor/ckeditor5-utils';
13
13
  import { clone } from 'lodash-es';
14
14
  // @if CK_DEBUG_ENGINE // const { logDocument } = require( '../dev-utils/utils' );
@@ -1,14 +1,14 @@
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/documentfragment
7
7
  */
8
- import TypeCheckable from './typecheckable';
9
- import type Item from './item';
10
- import type Node from './node';
11
- import type Range from './range';
8
+ import TypeCheckable from './typecheckable.js';
9
+ import type Item from './item.js';
10
+ import type Node from './node.js';
11
+ import type Range from './range.js';
12
12
  /**
13
13
  * DocumentFragment represents a part of model which does not have a common root but its top-level nodes
14
14
  * can be seen as siblings. In other words, it is a detached part of model tree, without a root.
@@ -1,15 +1,15 @@
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/documentfragment
7
7
  */
8
- import TypeCheckable from './typecheckable';
9
- import Element from './element';
10
- import NodeList from './nodelist';
11
- import Text from './text';
12
- import TextProxy from './textproxy';
8
+ import TypeCheckable from './typecheckable.js';
9
+ import Element from './element.js';
10
+ import NodeList from './nodelist.js';
11
+ import Text from './text.js';
12
+ import TextProxy from './textproxy.js';
13
13
  import { isIterable } from '@ckeditor/ckeditor5-utils';
14
14
  // @if CK_DEBUG_ENGINE // const { stringifyMap } = require( '../dev-utils/utils' );
15
15
  /**
@@ -1,18 +1,18 @@
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/documentselection
7
7
  */
8
- import TypeCheckable from './typecheckable';
9
- import Selection, { type SelectionChangeAttributeEvent, type SelectionChangeRangeEvent } from './selection';
10
- import type { default as Document } from './document';
11
- import type { Marker } from './markercollection';
12
- import type Element from './element';
13
- import type Item from './item';
14
- import type { default as Position, PositionOffset } from './position';
15
- import type Range from './range';
8
+ import TypeCheckable from './typecheckable.js';
9
+ import Selection, { type SelectionChangeAttributeEvent, type SelectionChangeRangeEvent } from './selection.js';
10
+ import type { default as Document } from './document.js';
11
+ import type { Marker } from './markercollection.js';
12
+ import type Element from './element.js';
13
+ import type Item from './item.js';
14
+ import type { default as Position, PositionOffset } from './position.js';
15
+ import type Range from './range.js';
16
16
  import { Collection } from '@ckeditor/ckeditor5-utils';
17
17
  declare const DocumentSelection_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof TypeCheckable, import("@ckeditor/ckeditor5-utils").Emitter>;
18
18
  /**
@@ -1,15 +1,15 @@
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/documentselection
7
7
  */
8
- import TypeCheckable from './typecheckable';
9
- import LiveRange from './liverange';
10
- import Selection from './selection';
11
- import Text from './text';
12
- import TextProxy from './textproxy';
8
+ import TypeCheckable from './typecheckable.js';
9
+ import LiveRange from './liverange.js';
10
+ import Selection from './selection.js';
11
+ import Text from './text.js';
12
+ import TextProxy from './textproxy.js';
13
13
  import { CKEditorError, Collection, EmitterMixin, toMap, uid } from '@ckeditor/ckeditor5-utils';
14
14
  const storePrefix = 'selection:';
15
15
  /**
@@ -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/model/element
7
7
  */
8
- import Node, { type NodeAttributes } from './node';
9
- import type Item from './item';
8
+ import Node, { type NodeAttributes } from './node.js';
9
+ import type Item from './item.js';
10
10
  /**
11
11
  * Model element. Type of {@link module:engine/model/node~Node node} that has a {@link module:engine/model/element~Element#name name} and
12
12
  * {@link module:engine/model/element~Element#getChildren child nodes}.
@@ -1,14 +1,14 @@
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/element
7
7
  */
8
- import Node from './node';
9
- import NodeList from './nodelist';
10
- import Text from './text';
11
- import TextProxy from './textproxy';
8
+ import Node from './node.js';
9
+ import NodeList from './nodelist.js';
10
+ import Text from './text.js';
11
+ import TextProxy from './textproxy.js';
12
12
  import { isIterable } from '@ckeditor/ckeditor5-utils';
13
13
  // @if CK_DEBUG_ENGINE // const { stringifyMap, convertMapToStringifiedObject, convertMapToTags } = require( '../dev-utils/utils' );
14
14
  /**
@@ -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
  * @module engine/model/history
8
8
  */
@@ -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
  import { CKEditorError } from '@ckeditor/ckeditor5-utils';
@@ -1,9 +1,9 @@
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 Node from './node';
6
- import type TextProxy from './textproxy';
5
+ import type Node from './node.js';
6
+ import type TextProxy from './textproxy.js';
7
7
  /**
8
8
  * @module engine/model/item
9
9
  */
package/src/model/item.js CHANGED
@@ -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
  export {};
@@ -1,14 +1,14 @@
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/liveposition
7
7
  */
8
- import Position, { type PositionOffset, type PositionStickiness } from './position';
9
- import type DocumentFragment from './documentfragment';
10
- import type Item from './item';
11
- import type RootElement from './rootelement';
8
+ import Position, { type PositionOffset, type PositionStickiness } from './position.js';
9
+ import type DocumentFragment from './documentfragment.js';
10
+ import type Item from './item.js';
11
+ import type RootElement from './rootelement.js';
12
12
  declare const LivePosition_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof Position, import("@ckeditor/ckeditor5-utils").Emitter>;
13
13
  /**
14
14
  * `LivePosition` is a type of {@link module:engine/model/position~Position Position}
@@ -1,11 +1,11 @@
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/liveposition
7
7
  */
8
- import Position from './position';
8
+ import Position from './position.js';
9
9
  import { CKEditorError, EmitterMixin } from '@ckeditor/ckeditor5-utils';
10
10
  /**
11
11
  * `LivePosition` is a type of {@link module:engine/model/position~Position Position}
@@ -1,15 +1,15 @@
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/liverange
7
7
  */
8
- import Range from './range';
9
- import type DocumentFragment from './documentfragment';
10
- import type Element from './element';
11
- import type Item from './item';
12
- import type Position from './position';
8
+ import Range from './range.js';
9
+ import type DocumentFragment from './documentfragment.js';
10
+ import type Element from './element.js';
11
+ import type Item from './item.js';
12
+ import type Position from './position.js';
13
13
  declare const LiveRange_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof Range, import("@ckeditor/ckeditor5-utils").Emitter>;
14
14
  /**
15
15
  * `LiveRange` is a type of {@link module:engine/model/range~Range Range}
@@ -1,11 +1,11 @@
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/liverange
7
7
  */
8
- import Range from './range';
8
+ import Range from './range.js';
9
9
  import { EmitterMixin } from '@ckeditor/ckeditor5-utils';
10
10
  /**
11
11
  * `LiveRange` is a type of {@link module:engine/model/range~Range Range}
@@ -1,14 +1,14 @@
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/markercollection
7
7
  */
8
- import TypeCheckable from './typecheckable';
9
- import LiveRange, { type LiveRangeChangeContentEvent, type LiveRangeChangeRangeEvent, type LiveRangeChangeEvent } from './liverange';
10
- import type Position from './position';
11
- import type Range from './range';
8
+ import TypeCheckable from './typecheckable.js';
9
+ import LiveRange, { type LiveRangeChangeContentEvent, type LiveRangeChangeRangeEvent, type LiveRangeChangeEvent } from './liverange.js';
10
+ import type Position from './position.js';
11
+ import type Range from './range.js';
12
12
  declare const MarkerCollection_base: {
13
13
  new (): import("@ckeditor/ckeditor5-utils").Emitter;
14
14
  prototype: import("@ckeditor/ckeditor5-utils").Emitter;
@@ -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/model/markercollection
7
7
  */
8
- import TypeCheckable from './typecheckable';
9
- import LiveRange from './liverange';
8
+ import TypeCheckable from './typecheckable.js';
9
+ import LiveRange from './liverange.js';
10
10
  import { CKEditorError, EmitterMixin } from '@ckeditor/ckeditor5-utils';
11
11
  /**
12
12
  * The collection of all {@link module:engine/model/markercollection~Marker markers} attached to the document.
@@ -1,24 +1,24 @@
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/model
7
7
  */
8
- import Batch, { type BatchType } from './batch';
9
- import Document from './document';
10
- import MarkerCollection from './markercollection';
11
- import ModelPosition, { type PositionOffset, type PositionStickiness } from './position';
12
- import ModelRange from './range';
13
- import ModelSelection, { type PlaceOrOffset, type Selectable } from './selection';
14
- import DocumentSelection from './documentselection';
15
- import Schema from './schema';
16
- import Writer from './writer';
17
- import Node from './node';
18
- import type ModelDocumentFragment from './documentfragment';
19
- import type Item from './item';
20
- import type ModelElement from './element';
21
- import type Operation from './operation/operation';
8
+ import Batch, { type BatchType } from './batch.js';
9
+ import Document from './document.js';
10
+ import MarkerCollection from './markercollection.js';
11
+ import ModelPosition, { type PositionOffset, type PositionStickiness } from './position.js';
12
+ import ModelRange from './range.js';
13
+ import ModelSelection, { type PlaceOrOffset, type Selectable } from './selection.js';
14
+ import DocumentSelection from './documentselection.js';
15
+ import Schema from './schema.js';
16
+ import Writer from './writer.js';
17
+ import Node from './node.js';
18
+ import type ModelDocumentFragment from './documentfragment.js';
19
+ import type Item from './item.js';
20
+ import type ModelElement from './element.js';
21
+ import type Operation from './operation/operation.js';
22
22
  import { type DecoratedMethodEvent } from '@ckeditor/ckeditor5-utils';
23
23
  declare const Model_base: {
24
24
  new (): import("@ckeditor/ckeditor5-utils").Observable;
@@ -1,28 +1,28 @@
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/model
7
7
  */
8
- import Batch from './batch';
9
- import Document from './document';
10
- import MarkerCollection from './markercollection';
11
- import ModelPosition from './position';
12
- import ModelRange from './range';
13
- import ModelSelection from './selection';
14
- import OperationFactory from './operation/operationfactory';
15
- import DocumentSelection from './documentselection';
16
- import Schema from './schema';
17
- import Writer from './writer';
18
- import Node from './node';
19
- import { autoParagraphEmptyRoots } from './utils/autoparagraphing';
20
- import { injectSelectionPostFixer } from './utils/selection-post-fixer';
21
- import deleteContent from './utils/deletecontent';
22
- import getSelectedContent from './utils/getselectedcontent';
23
- import insertContent from './utils/insertcontent';
24
- import insertObject from './utils/insertobject';
25
- import modifySelection from './utils/modifyselection';
8
+ import Batch from './batch.js';
9
+ import Document from './document.js';
10
+ import MarkerCollection from './markercollection.js';
11
+ import ModelPosition from './position.js';
12
+ import ModelRange from './range.js';
13
+ import ModelSelection from './selection.js';
14
+ import OperationFactory from './operation/operationfactory.js';
15
+ import DocumentSelection from './documentselection.js';
16
+ import Schema from './schema.js';
17
+ import Writer from './writer.js';
18
+ import Node from './node.js';
19
+ import { autoParagraphEmptyRoots } from './utils/autoparagraphing.js';
20
+ import { injectSelectionPostFixer } from './utils/selection-post-fixer.js';
21
+ import deleteContent from './utils/deletecontent.js';
22
+ import getSelectedContent from './utils/getselectedcontent.js';
23
+ import insertContent from './utils/insertcontent.js';
24
+ import insertObject from './utils/insertobject.js';
25
+ import modifySelection from './utils/modifyselection.js';
26
26
  import { CKEditorError, ObservableMixin } from '@ckeditor/ckeditor5-utils';
27
27
  // @if CK_DEBUG_ENGINE // const { dumpTrees, initDocumentDumping } = require( '../dev-utils/utils' );
28
28
  // @if CK_DEBUG_ENGINE // const { OperationReplayer } = require( '../dev-utils/operationreplayer' ).default;
@@ -1,15 +1,15 @@
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/node
7
7
  */
8
- import TypeCheckable from './typecheckable';
9
- import type Document from './document';
10
- import type DocumentFragment from './documentfragment';
11
- import type Element from './element';
12
- import '@ckeditor/ckeditor5-utils/src/version';
8
+ import TypeCheckable from './typecheckable.js';
9
+ import type Document from './document.js';
10
+ import type DocumentFragment from './documentfragment.js';
11
+ import type Element from './element.js';
12
+ import '@ckeditor/ckeditor5-utils/src/version.js';
13
13
  /**
14
14
  * Model node. Most basic structure of model tree.
15
15
  *
package/src/model/node.js CHANGED
@@ -1,15 +1,15 @@
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
  /* eslint-disable @typescript-eslint/no-unused-vars */
6
6
  /**
7
7
  * @module engine/model/node
8
8
  */
9
- import TypeCheckable from './typecheckable';
9
+ import TypeCheckable from './typecheckable.js';
10
10
  import { CKEditorError, compareArrays, toMap } from '@ckeditor/ckeditor5-utils';
11
11
  // To check if component is loaded more than once.
12
- import '@ckeditor/ckeditor5-utils/src/version';
12
+ import '@ckeditor/ckeditor5-utils/src/version.js';
13
13
  /**
14
14
  * Model node. Most basic structure of model tree.
15
15
  *
@@ -1,11 +1,11 @@
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/nodelist
7
7
  */
8
- import Node from './node';
8
+ import Node from './node.js';
9
9
  /**
10
10
  * Provides an interface to operate on a list of {@link module:engine/model/node~Node nodes}. `NodeList` is used internally
11
11
  * in classes like {@link module:engine/model/element~Element Element}
@@ -1,11 +1,11 @@
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/nodelist
7
7
  */
8
- import Node from './node';
8
+ import Node from './node.js';
9
9
  import { CKEditorError, spliceArray } from '@ckeditor/ckeditor5-utils';
10
10
  /**
11
11
  * Provides an interface to operate on a list of {@link module:engine/model/node~Node nodes}. `NodeList` is used internally