@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,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/view/treewalker
7
7
  */
8
- import Element from './element';
9
- import Text from './text';
10
- import TextProxy from './textproxy';
11
- import Position from './position';
8
+ import Element from './element.js';
9
+ import Text from './text.js';
10
+ import TextProxy from './textproxy.js';
11
+ import Position from './position.js';
12
12
  import { CKEditorError } from '@ckeditor/ckeditor5-utils';
13
13
  /**
14
14
  * Position iterator class. It allows to iterate forward and backward over the document.
@@ -1,23 +1,23 @@
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 AttributeElement from './attributeelement';
6
- import type ContainerElement from './containerelement';
7
- import type DocumentFragment from './documentfragment';
8
- import type DocumentSelection from './documentselection';
9
- import type EditableElement from './editableelement';
10
- import type Element from './element';
11
- import type EmptyElement from './emptyelement';
12
- import type Node from './node';
13
- import type Position from './position';
14
- import type Range from './range';
15
- import type RawElement from './rawelement';
16
- import type RootEditableElement from './rooteditableelement';
17
- import type Selection from './selection';
18
- import type Text from './text';
19
- import type TextProxy from './textproxy';
20
- import type UIElement from './uielement';
5
+ import type AttributeElement from './attributeelement.js';
6
+ import type ContainerElement from './containerelement.js';
7
+ import type DocumentFragment from './documentfragment.js';
8
+ import type DocumentSelection from './documentselection.js';
9
+ import type EditableElement from './editableelement.js';
10
+ import type Element from './element.js';
11
+ import type EmptyElement from './emptyelement.js';
12
+ import type Node from './node.js';
13
+ import type Position from './position.js';
14
+ import type Range from './range.js';
15
+ import type RawElement from './rawelement.js';
16
+ import type RootEditableElement from './rooteditableelement.js';
17
+ import type Selection from './selection.js';
18
+ import type Text from './text.js';
19
+ import type TextProxy from './textproxy.js';
20
+ import type UIElement from './uielement.js';
21
21
  /**
22
22
  * @module engine/view/typecheckable
23
23
  */
@@ -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,16 @@
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/view/uielement
7
7
  */
8
- import Element, { type ElementAttributes } from './element';
9
- import Node from './node';
10
- import type View from './view';
11
- import type Document from './document';
12
- import type DomConverter from './domconverter';
13
- import type Item from './item';
8
+ import Element, { type ElementAttributes } from './element.js';
9
+ import Node from './node.js';
10
+ import type View from './view.js';
11
+ import type Document from './document.js';
12
+ import type DomConverter from './domconverter.js';
13
+ import type Item from './item.js';
14
14
  type DomDocument = globalThis.Document;
15
15
  type DomElement = globalThis.HTMLElement;
16
16
  /**
@@ -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/view/uielement
7
7
  */
8
- import Element from './element';
9
- import Node from './node';
8
+ import Element from './element.js';
9
+ import Node from './node.js';
10
10
  import { CKEditorError, keyCodes } from '@ckeditor/ckeditor5-utils';
11
11
  /**
12
12
  * UI element class. It should be used to represent editing UI which needs to be injected into the editing view
@@ -1,19 +1,19 @@
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/view/upcastwriter
7
7
  */
8
- import DocumentFragment from './documentfragment';
9
- import Element, { type ElementAttributes } from './element';
10
- import Text from './text';
11
- import Position, { type PositionOffset } from './position';
12
- import Range from './range';
13
- import Selection, { type PlaceOrOffset, type Selectable, type SelectionOptions } from './selection';
14
- import type Document from './document';
15
- import type Item from './item';
16
- import type Node from './node';
8
+ import DocumentFragment from './documentfragment.js';
9
+ import Element, { type ElementAttributes } from './element.js';
10
+ import Text from './text.js';
11
+ import Position, { type PositionOffset } from './position.js';
12
+ import Range from './range.js';
13
+ import Selection, { type PlaceOrOffset, type Selectable, type SelectionOptions } from './selection.js';
14
+ import type Document from './document.js';
15
+ import type Item from './item.js';
16
+ import type Node from './node.js';
17
17
  /**
18
18
  * View upcast writer. It provides a set of methods used to manipulate non-semantic view trees.
19
19
  *
@@ -1,17 +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/view/upcastwriter
7
7
  */
8
- import DocumentFragment from './documentfragment';
9
- import Element from './element';
10
- import Text from './text';
8
+ import DocumentFragment from './documentfragment.js';
9
+ import Element from './element.js';
10
+ import Text from './text.js';
11
11
  import { isPlainObject } from 'lodash-es';
12
- import Position from './position';
13
- import Range from './range';
14
- import Selection from './selection';
12
+ import Position from './position.js';
13
+ import Range from './range.js';
14
+ import Selection from './selection.js';
15
15
  /**
16
16
  * View upcast writer. It provides a set of methods used to manipulate non-semantic view trees.
17
17
  *
@@ -1,31 +1,31 @@
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/view/view
7
7
  */
8
- import Document from './document';
9
- import DowncastWriter from './downcastwriter';
10
- import Renderer from './renderer';
11
- import DomConverter from './domconverter';
12
- import Position, { type PositionOffset } from './position';
13
- import Range from './range';
14
- import Selection, { type PlaceOrOffset, type Selectable, type SelectionOptions } from './selection';
15
- import type { default as Observer, ObserverConstructor } from './observer/observer';
16
- import type { StylesProcessor } from './stylesmap';
17
- import type Element from './element';
18
- import type { default as Node } from './node';
19
- import type Item from './item';
20
- import KeyObserver from './observer/keyobserver';
21
- import FakeSelectionObserver from './observer/fakeselectionobserver';
22
- import MutationObserver from './observer/mutationobserver';
23
- import SelectionObserver from './observer/selectionobserver';
24
- import FocusObserver from './observer/focusobserver';
25
- import CompositionObserver from './observer/compositionobserver';
26
- import InputObserver from './observer/inputobserver';
27
- import ArrowKeysObserver from './observer/arrowkeysobserver';
28
- import TabObserver from './observer/tabobserver';
8
+ import Document from './document.js';
9
+ import DowncastWriter from './downcastwriter.js';
10
+ import Renderer from './renderer.js';
11
+ import DomConverter from './domconverter.js';
12
+ import Position, { type PositionOffset } from './position.js';
13
+ import Range from './range.js';
14
+ import Selection, { type PlaceOrOffset, type Selectable, type SelectionOptions } from './selection.js';
15
+ import type { default as Observer, ObserverConstructor } from './observer/observer.js';
16
+ import type { StylesProcessor } from './stylesmap.js';
17
+ import type Element from './element.js';
18
+ import type { default as Node } from './node.js';
19
+ import type Item from './item.js';
20
+ import KeyObserver from './observer/keyobserver.js';
21
+ import FakeSelectionObserver from './observer/fakeselectionobserver.js';
22
+ import MutationObserver from './observer/mutationobserver.js';
23
+ import SelectionObserver from './observer/selectionobserver.js';
24
+ import FocusObserver from './observer/focusobserver.js';
25
+ import CompositionObserver from './observer/compositionobserver.js';
26
+ import InputObserver from './observer/inputobserver.js';
27
+ import ArrowKeysObserver from './observer/arrowkeysobserver.js';
28
+ import TabObserver from './observer/tabobserver.js';
29
29
  type IfTrue<T> = T extends true ? true : never;
30
30
  type DomRange = globalThis.Range;
31
31
  declare const View_base: {
package/src/view/view.js CHANGED
@@ -1,29 +1,29 @@
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/view/view
7
7
  */
8
- import Document from './document';
9
- import DowncastWriter from './downcastwriter';
10
- import Renderer from './renderer';
11
- import DomConverter from './domconverter';
12
- import Position from './position';
13
- import Range from './range';
14
- import Selection from './selection';
15
- import KeyObserver from './observer/keyobserver';
16
- import FakeSelectionObserver from './observer/fakeselectionobserver';
17
- import MutationObserver from './observer/mutationobserver';
18
- import SelectionObserver from './observer/selectionobserver';
19
- import FocusObserver from './observer/focusobserver';
20
- import CompositionObserver from './observer/compositionobserver';
21
- import InputObserver from './observer/inputobserver';
22
- import ArrowKeysObserver from './observer/arrowkeysobserver';
23
- import TabObserver from './observer/tabobserver';
8
+ import Document from './document.js';
9
+ import DowncastWriter from './downcastwriter.js';
10
+ import Renderer from './renderer.js';
11
+ import DomConverter from './domconverter.js';
12
+ import Position from './position.js';
13
+ import Range from './range.js';
14
+ import Selection from './selection.js';
15
+ import KeyObserver from './observer/keyobserver.js';
16
+ import FakeSelectionObserver from './observer/fakeselectionobserver.js';
17
+ import MutationObserver from './observer/mutationobserver.js';
18
+ import SelectionObserver from './observer/selectionobserver.js';
19
+ import FocusObserver from './observer/focusobserver.js';
20
+ import CompositionObserver from './observer/compositionobserver.js';
21
+ import InputObserver from './observer/inputobserver.js';
22
+ import ArrowKeysObserver from './observer/arrowkeysobserver.js';
23
+ import TabObserver from './observer/tabobserver.js';
24
24
  import { CKEditorError, env, ObservableMixin, scrollViewportToShowTarget } from '@ckeditor/ckeditor5-utils';
25
- import { injectUiElementHandling } from './uielement';
26
- import { injectQuirksHandling } from './filler';
25
+ import { injectUiElementHandling } from './uielement.js';
26
+ import { injectQuirksHandling } from './filler.js';
27
27
  import { cloneDeep } from 'lodash-es';
28
28
  /**
29
29
  * Editor's view controller class. Its main responsibility is DOM - View management for editing purposes, to provide
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * 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
- * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
2
+ * 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,32 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- import type DocumentSelection from '../documentselection';
6
- import type Model from '../model';
7
- import type Range from '../range';
8
- import type Selection from '../selection';
9
- /**
10
- * Returns a model range which is optimal (in terms of UX) for inserting a widget block.
11
- *
12
- * For instance, if a selection is in the middle of a paragraph, the collapsed range before this paragraph
13
- * will be returned so that it is not split. If the selection is at the end of a paragraph,
14
- * the collapsed range after this paragraph will be returned.
15
- *
16
- * Note: If the selection is placed in an empty block, the range in that block will be returned. If that range
17
- * is then passed to {@link module:engine/model/model~Model#insertContent}, the block will be fully replaced
18
- * by the inserted widget block.
19
- *
20
- * **Note:** Use {@link module:widget/utils#findOptimalInsertionRange} instead of this function outside engine.
21
- * This function is only exposed to be used by {@link module:widget/utils#findOptimalInsertionRange findOptimalInsertionRange()}
22
- * in the `widget` package and inside the `engine` package.
23
- *
24
- * @param selection The selection based on which the insertion position should be calculated.
25
- * @param model Model instance.
26
- * @param place The place where to look for optimal insertion range.
27
- * The default `auto` value will determine itself the best position for insertion.
28
- * The `before` value will try to find a position before selection.
29
- * The `after` value will try to find a position after selection.
30
- * @returns The optimal range.
31
- */
32
- export declare function findOptimalInsertionRange(selection: Selection | DocumentSelection, model: Model, place?: 'auto' | 'before' | 'after'): Range;
@@ -1,57 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- /**
6
- * @module engine/model/utils/findoptimalinsertionrange
7
- */
8
- import { first } from '@ckeditor/ckeditor5-utils';
9
- /**
10
- * Returns a model range which is optimal (in terms of UX) for inserting a widget block.
11
- *
12
- * For instance, if a selection is in the middle of a paragraph, the collapsed range before this paragraph
13
- * will be returned so that it is not split. If the selection is at the end of a paragraph,
14
- * the collapsed range after this paragraph will be returned.
15
- *
16
- * Note: If the selection is placed in an empty block, the range in that block will be returned. If that range
17
- * is then passed to {@link module:engine/model/model~Model#insertContent}, the block will be fully replaced
18
- * by the inserted widget block.
19
- *
20
- * **Note:** Use {@link module:widget/utils#findOptimalInsertionRange} instead of this function outside engine.
21
- * This function is only exposed to be used by {@link module:widget/utils#findOptimalInsertionRange findOptimalInsertionRange()}
22
- * in the `widget` package and inside the `engine` package.
23
- *
24
- * @param selection The selection based on which the insertion position should be calculated.
25
- * @param model Model instance.
26
- * @param place The place where to look for optimal insertion range.
27
- * The default `auto` value will determine itself the best position for insertion.
28
- * The `before` value will try to find a position before selection.
29
- * The `after` value will try to find a position after selection.
30
- * @returns The optimal range.
31
- */
32
- export function findOptimalInsertionRange(selection, model, place = 'auto') {
33
- const selectedElement = selection.getSelectedElement();
34
- if (selectedElement && model.schema.isObject(selectedElement) && !model.schema.isInline(selectedElement)) {
35
- if (place == 'before' || place == 'after') {
36
- return model.createRange(model.createPositionAt(selectedElement, place));
37
- }
38
- return model.createRangeOn(selectedElement);
39
- }
40
- const firstBlock = first(selection.getSelectedBlocks());
41
- // There are no block elements within ancestors (in the current limit element).
42
- if (!firstBlock) {
43
- return model.createRange(selection.focus);
44
- }
45
- // If inserting into an empty block – return position in that block. It will get
46
- // replaced with the image by insertContent(). #42.
47
- if (firstBlock.isEmpty) {
48
- return model.createRange(model.createPositionAt(firstBlock, 0));
49
- }
50
- const positionAfter = model.createPositionAfter(firstBlock);
51
- // If selection is at the end of the block - return position after the block.
52
- if (selection.focus.isTouching(positionAfter)) {
53
- return model.createRange(positionAfter);
54
- }
55
- // Otherwise, return position before the block.
56
- return model.createRange(model.createPositionBefore(firstBlock));
57
- }