@ckeditor/ckeditor5-engine 44.1.0 → 44.2.0-alpha.1

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 (369) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/index-content.css +2 -2
  3. package/dist/index-editor.css +2 -2
  4. package/dist/index.css +4 -4
  5. package/dist/index.css.map +1 -1
  6. package/dist/index.js +646 -77
  7. package/dist/index.js.map +1 -1
  8. package/package.json +23 -3
  9. package/src/controller/datacontroller.d.ts +1 -1
  10. package/src/controller/datacontroller.js +1 -1
  11. package/src/controller/editingcontroller.d.ts +1 -1
  12. package/src/controller/editingcontroller.js +1 -1
  13. package/src/conversion/conversion.d.ts +1 -1
  14. package/src/conversion/conversion.js +1 -1
  15. package/src/conversion/conversionhelpers.d.ts +1 -1
  16. package/src/conversion/conversionhelpers.js +1 -1
  17. package/src/conversion/downcastdispatcher.d.ts +1 -1
  18. package/src/conversion/downcastdispatcher.js +1 -1
  19. package/src/conversion/downcasthelpers.d.ts +1 -1
  20. package/src/conversion/downcasthelpers.js +1 -1
  21. package/src/conversion/mapper.d.ts +249 -20
  22. package/src/conversion/mapper.js +524 -38
  23. package/src/conversion/modelconsumable.d.ts +1 -1
  24. package/src/conversion/modelconsumable.js +1 -1
  25. package/src/conversion/upcastdispatcher.d.ts +1 -1
  26. package/src/conversion/upcastdispatcher.js +1 -1
  27. package/src/conversion/upcasthelpers.d.ts +1 -1
  28. package/src/conversion/upcasthelpers.js +1 -1
  29. package/src/conversion/viewconsumable.d.ts +1 -1
  30. package/src/conversion/viewconsumable.js +1 -1
  31. package/src/dataprocessor/basichtmlwriter.d.ts +1 -1
  32. package/src/dataprocessor/basichtmlwriter.js +1 -1
  33. package/src/dataprocessor/dataprocessor.d.ts +1 -1
  34. package/src/dataprocessor/dataprocessor.js +1 -1
  35. package/src/dataprocessor/htmldataprocessor.d.ts +1 -1
  36. package/src/dataprocessor/htmldataprocessor.js +1 -1
  37. package/src/dataprocessor/htmlwriter.d.ts +1 -1
  38. package/src/dataprocessor/htmlwriter.js +1 -1
  39. package/src/dataprocessor/xmldataprocessor.d.ts +1 -1
  40. package/src/dataprocessor/xmldataprocessor.js +1 -1
  41. package/src/dev-utils/model.d.ts +1 -1
  42. package/src/dev-utils/model.js +1 -1
  43. package/src/dev-utils/operationreplayer.d.ts +1 -1
  44. package/src/dev-utils/operationreplayer.js +1 -1
  45. package/src/dev-utils/utils.d.ts +1 -1
  46. package/src/dev-utils/utils.js +1 -1
  47. package/src/dev-utils/view.d.ts +1 -1
  48. package/src/dev-utils/view.js +1 -1
  49. package/src/index.d.ts +4 -2
  50. package/src/index.js +2 -1
  51. package/src/model/batch.d.ts +1 -1
  52. package/src/model/batch.js +7 -3
  53. package/src/model/differ.d.ts +1 -1
  54. package/src/model/differ.js +1 -1
  55. package/src/model/document.d.ts +1 -1
  56. package/src/model/document.js +1 -1
  57. package/src/model/documentfragment.d.ts +1 -1
  58. package/src/model/documentfragment.js +1 -1
  59. package/src/model/documentselection.d.ts +1 -1
  60. package/src/model/documentselection.js +1 -1
  61. package/src/model/element.d.ts +1 -1
  62. package/src/model/element.js +1 -1
  63. package/src/model/history.d.ts +1 -1
  64. package/src/model/history.js +1 -1
  65. package/src/model/item.d.ts +1 -1
  66. package/src/model/item.js +1 -1
  67. package/src/model/liveposition.d.ts +1 -1
  68. package/src/model/liveposition.js +1 -1
  69. package/src/model/liverange.d.ts +1 -1
  70. package/src/model/liverange.js +1 -1
  71. package/src/model/markercollection.d.ts +1 -1
  72. package/src/model/markercollection.js +1 -1
  73. package/src/model/model.d.ts +1 -1
  74. package/src/model/model.js +1 -1
  75. package/src/model/node.d.ts +1 -1
  76. package/src/model/node.js +1 -1
  77. package/src/model/nodelist.d.ts +1 -1
  78. package/src/model/nodelist.js +1 -1
  79. package/src/model/operation/attributeoperation.d.ts +1 -1
  80. package/src/model/operation/attributeoperation.js +1 -1
  81. package/src/model/operation/detachoperation.d.ts +1 -1
  82. package/src/model/operation/detachoperation.js +1 -1
  83. package/src/model/operation/insertoperation.d.ts +1 -1
  84. package/src/model/operation/insertoperation.js +1 -1
  85. package/src/model/operation/markeroperation.d.ts +1 -1
  86. package/src/model/operation/markeroperation.js +1 -1
  87. package/src/model/operation/mergeoperation.d.ts +1 -1
  88. package/src/model/operation/mergeoperation.js +1 -1
  89. package/src/model/operation/moveoperation.d.ts +1 -1
  90. package/src/model/operation/moveoperation.js +1 -1
  91. package/src/model/operation/nooperation.d.ts +1 -1
  92. package/src/model/operation/nooperation.js +1 -1
  93. package/src/model/operation/operation.d.ts +4 -1
  94. package/src/model/operation/operation.js +2 -2
  95. package/src/model/operation/operationfactory.d.ts +1 -1
  96. package/src/model/operation/operationfactory.js +1 -1
  97. package/src/model/operation/renameoperation.d.ts +1 -1
  98. package/src/model/operation/renameoperation.js +1 -1
  99. package/src/model/operation/rootattributeoperation.d.ts +1 -1
  100. package/src/model/operation/rootattributeoperation.js +1 -1
  101. package/src/model/operation/rootoperation.d.ts +1 -1
  102. package/src/model/operation/rootoperation.js +1 -1
  103. package/src/model/operation/splitoperation.d.ts +1 -1
  104. package/src/model/operation/splitoperation.js +1 -1
  105. package/src/model/operation/transform.d.ts +1 -1
  106. package/src/model/operation/transform.js +1 -1
  107. package/src/model/operation/utils.d.ts +1 -1
  108. package/src/model/operation/utils.js +1 -1
  109. package/src/model/position.d.ts +1 -1
  110. package/src/model/position.js +1 -1
  111. package/src/model/range.d.ts +1 -1
  112. package/src/model/range.js +1 -1
  113. package/src/model/rootelement.d.ts +1 -1
  114. package/src/model/rootelement.js +1 -1
  115. package/src/model/schema.d.ts +1 -1
  116. package/src/model/schema.js +1 -1
  117. package/src/model/selection.d.ts +1 -1
  118. package/src/model/selection.js +9 -2
  119. package/src/model/text.d.ts +1 -1
  120. package/src/model/text.js +1 -1
  121. package/src/model/textproxy.d.ts +1 -1
  122. package/src/model/textproxy.js +1 -1
  123. package/src/model/treewalker.d.ts +17 -1
  124. package/src/model/treewalker.js +26 -1
  125. package/src/model/typecheckable.d.ts +1 -1
  126. package/src/model/typecheckable.js +1 -1
  127. package/src/model/utils/autoparagraphing.d.ts +1 -1
  128. package/src/model/utils/autoparagraphing.js +1 -1
  129. package/src/model/utils/deletecontent.d.ts +1 -1
  130. package/src/model/utils/deletecontent.js +1 -1
  131. package/src/model/utils/getselectedcontent.d.ts +1 -1
  132. package/src/model/utils/getselectedcontent.js +1 -1
  133. package/src/model/utils/insertcontent.d.ts +1 -1
  134. package/src/model/utils/insertcontent.js +1 -1
  135. package/src/model/utils/insertobject.d.ts +1 -1
  136. package/src/model/utils/insertobject.js +1 -1
  137. package/src/model/utils/modifyselection.d.ts +1 -1
  138. package/src/model/utils/modifyselection.js +1 -1
  139. package/src/model/utils/selection-post-fixer.d.ts +1 -1
  140. package/src/model/utils/selection-post-fixer.js +1 -1
  141. package/src/model/writer.d.ts +1 -1
  142. package/src/model/writer.js +1 -1
  143. package/src/view/attributeelement.d.ts +1 -1
  144. package/src/view/attributeelement.js +1 -1
  145. package/src/view/containerelement.d.ts +1 -1
  146. package/src/view/containerelement.js +1 -1
  147. package/src/view/datatransfer.d.ts +1 -1
  148. package/src/view/datatransfer.js +1 -1
  149. package/src/view/document.d.ts +1 -1
  150. package/src/view/document.js +1 -1
  151. package/src/view/documentfragment.d.ts +6 -4
  152. package/src/view/documentfragment.js +7 -7
  153. package/src/view/documentselection.d.ts +1 -1
  154. package/src/view/documentselection.js +1 -1
  155. package/src/view/domconverter.d.ts +1 -1
  156. package/src/view/domconverter.js +1 -1
  157. package/src/view/downcastwriter.d.ts +1 -1
  158. package/src/view/downcastwriter.js +1 -1
  159. package/src/view/editableelement.d.ts +1 -1
  160. package/src/view/editableelement.js +1 -1
  161. package/src/view/element.d.ts +1 -1
  162. package/src/view/element.js +3 -3
  163. package/src/view/elementdefinition.d.ts +1 -1
  164. package/src/view/elementdefinition.js +1 -1
  165. package/src/view/emptyelement.d.ts +1 -1
  166. package/src/view/emptyelement.js +1 -1
  167. package/src/view/filler.d.ts +1 -1
  168. package/src/view/filler.js +1 -1
  169. package/src/view/item.d.ts +1 -1
  170. package/src/view/item.js +1 -1
  171. package/src/view/matcher.d.ts +1 -1
  172. package/src/view/matcher.js +1 -1
  173. package/src/view/node.d.ts +13 -4
  174. package/src/view/node.js +5 -4
  175. package/src/view/observer/arrowkeysobserver.d.ts +1 -1
  176. package/src/view/observer/arrowkeysobserver.js +1 -1
  177. package/src/view/observer/bubblingemittermixin.d.ts +1 -1
  178. package/src/view/observer/bubblingemittermixin.js +1 -1
  179. package/src/view/observer/bubblingeventinfo.d.ts +1 -1
  180. package/src/view/observer/bubblingeventinfo.js +1 -1
  181. package/src/view/observer/clickobserver.d.ts +1 -1
  182. package/src/view/observer/clickobserver.js +1 -1
  183. package/src/view/observer/compositionobserver.d.ts +1 -1
  184. package/src/view/observer/compositionobserver.js +1 -1
  185. package/src/view/observer/domeventdata.d.ts +1 -1
  186. package/src/view/observer/domeventdata.js +1 -1
  187. package/src/view/observer/domeventobserver.d.ts +1 -1
  188. package/src/view/observer/domeventobserver.js +1 -1
  189. package/src/view/observer/fakeselectionobserver.d.ts +1 -1
  190. package/src/view/observer/fakeselectionobserver.js +1 -1
  191. package/src/view/observer/focusobserver.d.ts +1 -1
  192. package/src/view/observer/focusobserver.js +1 -1
  193. package/src/view/observer/inputobserver.d.ts +1 -1
  194. package/src/view/observer/inputobserver.js +1 -1
  195. package/src/view/observer/keyobserver.d.ts +1 -1
  196. package/src/view/observer/keyobserver.js +1 -1
  197. package/src/view/observer/mouseobserver.d.ts +1 -1
  198. package/src/view/observer/mouseobserver.js +1 -1
  199. package/src/view/observer/mutationobserver.d.ts +1 -1
  200. package/src/view/observer/mutationobserver.js +1 -1
  201. package/src/view/observer/observer.d.ts +1 -1
  202. package/src/view/observer/observer.js +1 -1
  203. package/src/view/observer/selectionobserver.d.ts +1 -1
  204. package/src/view/observer/selectionobserver.js +1 -1
  205. package/src/view/observer/tabobserver.d.ts +1 -1
  206. package/src/view/observer/tabobserver.js +1 -1
  207. package/src/view/observer/touchobserver.d.ts +73 -0
  208. package/src/view/observer/touchobserver.js +29 -0
  209. package/src/view/placeholder.d.ts +1 -1
  210. package/src/view/placeholder.js +23 -17
  211. package/src/view/position.d.ts +1 -1
  212. package/src/view/position.js +1 -1
  213. package/src/view/range.d.ts +1 -1
  214. package/src/view/range.js +1 -1
  215. package/src/view/rawelement.d.ts +1 -1
  216. package/src/view/rawelement.js +1 -1
  217. package/src/view/renderer.d.ts +1 -1
  218. package/src/view/renderer.js +1 -1
  219. package/src/view/rooteditableelement.d.ts +1 -1
  220. package/src/view/rooteditableelement.js +1 -1
  221. package/src/view/selection.d.ts +1 -1
  222. package/src/view/selection.js +1 -1
  223. package/src/view/styles/background.d.ts +1 -1
  224. package/src/view/styles/background.js +1 -1
  225. package/src/view/styles/border.d.ts +1 -1
  226. package/src/view/styles/border.js +1 -1
  227. package/src/view/styles/margin.d.ts +1 -1
  228. package/src/view/styles/margin.js +1 -1
  229. package/src/view/styles/padding.d.ts +1 -1
  230. package/src/view/styles/padding.js +1 -1
  231. package/src/view/styles/utils.d.ts +1 -1
  232. package/src/view/styles/utils.js +1 -1
  233. package/src/view/stylesmap.d.ts +1 -1
  234. package/src/view/stylesmap.js +1 -1
  235. package/src/view/text.d.ts +1 -1
  236. package/src/view/text.js +1 -1
  237. package/src/view/textproxy.d.ts +1 -1
  238. package/src/view/textproxy.js +1 -1
  239. package/src/view/treewalker.d.ts +17 -1
  240. package/src/view/treewalker.js +25 -1
  241. package/src/view/typecheckable.d.ts +1 -1
  242. package/src/view/typecheckable.js +1 -1
  243. package/src/view/uielement.d.ts +1 -1
  244. package/src/view/uielement.js +1 -1
  245. package/src/view/upcastwriter.d.ts +1 -1
  246. package/src/view/upcastwriter.js +1 -1
  247. package/src/view/view.d.ts +1 -1
  248. package/src/view/view.js +1 -1
  249. package/theme/placeholder.css +1 -1
  250. package/theme/renderer.css +1 -1
  251. package/dist/controller/datacontroller.d.ts +0 -339
  252. package/dist/controller/editingcontroller.d.ts +0 -102
  253. package/dist/conversion/conversion.d.ts +0 -482
  254. package/dist/conversion/conversionhelpers.d.ts +0 -30
  255. package/dist/conversion/downcastdispatcher.d.ts +0 -566
  256. package/dist/conversion/downcasthelpers.d.ts +0 -1194
  257. package/dist/conversion/mapper.d.ts +0 -507
  258. package/dist/conversion/modelconsumable.d.ts +0 -205
  259. package/dist/conversion/upcastdispatcher.d.ts +0 -496
  260. package/dist/conversion/upcasthelpers.d.ts +0 -503
  261. package/dist/conversion/viewconsumable.d.ts +0 -373
  262. package/dist/dataprocessor/basichtmlwriter.d.ts +0 -22
  263. package/dist/dataprocessor/dataprocessor.d.ts +0 -65
  264. package/dist/dataprocessor/htmldataprocessor.d.ts +0 -80
  265. package/dist/dataprocessor/htmlwriter.d.ts +0 -20
  266. package/dist/dataprocessor/xmldataprocessor.d.ts +0 -94
  267. package/dist/dev-utils/model.d.ts +0 -130
  268. package/dist/dev-utils/operationreplayer.d.ts +0 -55
  269. package/dist/dev-utils/utils.d.ts +0 -41
  270. package/dist/dev-utils/view.d.ts +0 -324
  271. package/dist/index.d.ts +0 -122
  272. package/dist/model/batch.d.ts +0 -110
  273. package/dist/model/differ.d.ts +0 -511
  274. package/dist/model/document.d.ts +0 -278
  275. package/dist/model/documentfragment.d.ts +0 -223
  276. package/dist/model/documentselection.d.ts +0 -424
  277. package/dist/model/element.d.ts +0 -191
  278. package/dist/model/history.d.ts +0 -118
  279. package/dist/model/item.d.ts +0 -18
  280. package/dist/model/liveposition.d.ts +0 -81
  281. package/dist/model/liverange.d.ts +0 -106
  282. package/dist/model/markercollection.d.ts +0 -339
  283. package/dist/model/model.d.ts +0 -923
  284. package/dist/model/node.d.ts +0 -262
  285. package/dist/model/nodelist.d.ts +0 -119
  286. package/dist/model/operation/attributeoperation.d.ts +0 -107
  287. package/dist/model/operation/detachoperation.d.ts +0 -64
  288. package/dist/model/operation/insertoperation.d.ts +0 -94
  289. package/dist/model/operation/markeroperation.d.ts +0 -95
  290. package/dist/model/operation/mergeoperation.d.ts +0 -104
  291. package/dist/model/operation/moveoperation.d.ts +0 -100
  292. package/dist/model/operation/nooperation.d.ts +0 -42
  293. package/dist/model/operation/operation.d.ts +0 -100
  294. package/dist/model/operation/operationfactory.d.ts +0 -22
  295. package/dist/model/operation/renameoperation.d.ts +0 -87
  296. package/dist/model/operation/rootattributeoperation.d.ts +0 -102
  297. package/dist/model/operation/rootoperation.d.ts +0 -80
  298. package/dist/model/operation/splitoperation.d.ts +0 -113
  299. package/dist/model/operation/transform.d.ts +0 -104
  300. package/dist/model/operation/utils.d.ts +0 -75
  301. package/dist/model/position.d.ts +0 -549
  302. package/dist/model/range.d.ts +0 -462
  303. package/dist/model/rootelement.d.ts +0 -64
  304. package/dist/model/schema.d.ts +0 -1334
  305. package/dist/model/selection.d.ts +0 -486
  306. package/dist/model/text.d.ts +0 -70
  307. package/dist/model/textproxy.d.ts +0 -148
  308. package/dist/model/treewalker.d.ts +0 -190
  309. package/dist/model/typecheckable.d.ts +0 -289
  310. package/dist/model/utils/autoparagraphing.d.ts +0 -41
  311. package/dist/model/utils/deletecontent.d.ts +0 -62
  312. package/dist/model/utils/getselectedcontent.d.ts +0 -34
  313. package/dist/model/utils/insertcontent.d.ts +0 -50
  314. package/dist/model/utils/insertobject.d.ts +0 -51
  315. package/dist/model/utils/modifyselection.d.ts +0 -52
  316. package/dist/model/utils/selection-post-fixer.d.ts +0 -78
  317. package/dist/model/writer.d.ts +0 -855
  318. package/dist/view/attributeelement.d.ts +0 -112
  319. package/dist/view/containerelement.d.ts +0 -53
  320. package/dist/view/datatransfer.d.ts +0 -83
  321. package/dist/view/document.d.ts +0 -188
  322. package/dist/view/documentfragment.d.ts +0 -157
  323. package/dist/view/documentselection.d.ts +0 -310
  324. package/dist/view/domconverter.d.ts +0 -665
  325. package/dist/view/downcastwriter.d.ts +0 -1000
  326. package/dist/view/editableelement.d.ts +0 -66
  327. package/dist/view/element.d.ts +0 -472
  328. package/dist/view/elementdefinition.d.ts +0 -91
  329. package/dist/view/emptyelement.d.ts +0 -45
  330. package/dist/view/filler.d.ts +0 -115
  331. package/dist/view/item.d.ts +0 -18
  332. package/dist/view/matcher.d.ts +0 -490
  333. package/dist/view/node.d.ts +0 -166
  334. package/dist/view/observer/arrowkeysobserver.d.ts +0 -49
  335. package/dist/view/observer/bubblingemittermixin.d.ts +0 -170
  336. package/dist/view/observer/bubblingeventinfo.d.ts +0 -51
  337. package/dist/view/observer/clickobserver.d.ts +0 -47
  338. package/dist/view/observer/compositionobserver.d.ts +0 -86
  339. package/dist/view/observer/domeventdata.d.ts +0 -54
  340. package/dist/view/observer/domeventobserver.d.ts +0 -82
  341. package/dist/view/observer/fakeselectionobserver.d.ts +0 -51
  342. package/dist/view/observer/focusobserver.d.ts +0 -98
  343. package/dist/view/observer/inputobserver.d.ts +0 -90
  344. package/dist/view/observer/keyobserver.d.ts +0 -70
  345. package/dist/view/observer/mouseobserver.d.ts +0 -93
  346. package/dist/view/observer/mutationobserver.d.ts +0 -119
  347. package/dist/view/observer/observer.d.ts +0 -93
  348. package/dist/view/observer/selectionobserver.d.ts +0 -151
  349. package/dist/view/observer/tabobserver.d.ts +0 -50
  350. package/dist/view/placeholder.d.ts +0 -100
  351. package/dist/view/position.d.ts +0 -192
  352. package/dist/view/range.d.ts +0 -283
  353. package/dist/view/rawelement.d.ts +0 -77
  354. package/dist/view/renderer.d.ts +0 -281
  355. package/dist/view/rooteditableelement.d.ts +0 -45
  356. package/dist/view/selection.d.ts +0 -379
  357. package/dist/view/styles/background.d.ts +0 -37
  358. package/dist/view/styles/border.d.ts +0 -47
  359. package/dist/view/styles/margin.d.ts +0 -33
  360. package/dist/view/styles/padding.d.ts +0 -33
  361. package/dist/view/styles/utils.d.ts +0 -97
  362. package/dist/view/stylesmap.d.ts +0 -685
  363. package/dist/view/text.d.ts +0 -78
  364. package/dist/view/textproxy.d.ts +0 -101
  365. package/dist/view/treewalker.d.ts +0 -199
  366. package/dist/view/typecheckable.d.ts +0 -452
  367. package/dist/view/uielement.d.ts +0 -100
  368. package/dist/view/upcastwriter.d.ts +0 -421
  369. package/dist/view/view.d.ts +0 -488
@@ -1,452 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2024, 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
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
- */
9
- import type AttributeElement from './attributeelement.js';
10
- import type ContainerElement from './containerelement.js';
11
- import type DocumentFragment from './documentfragment.js';
12
- import type DocumentSelection from './documentselection.js';
13
- import type EditableElement from './editableelement.js';
14
- import type Element from './element.js';
15
- import type EmptyElement from './emptyelement.js';
16
- import type Node from './node.js';
17
- import type Position from './position.js';
18
- import type Range from './range.js';
19
- import type RawElement from './rawelement.js';
20
- import type RootEditableElement from './rooteditableelement.js';
21
- import type Selection from './selection.js';
22
- import type Text from './text.js';
23
- import type TextProxy from './textproxy.js';
24
- import type UIElement from './uielement.js';
25
- /**
26
- * @module engine/view/typecheckable
27
- */
28
- export default abstract class TypeCheckable {
29
- /**
30
- * Checks whether this object is of type {@link module:engine/view/node~Node} or its subclass.
31
- *
32
- * This method is useful when processing view objects that are of unknown type. For example, a function
33
- * may return a {@link module:engine/view/documentfragment~DocumentFragment} or a {@link module:engine/view/node~Node}
34
- * that can be either a text node or an element. This method can be used to check what kind of object is returned.
35
- *
36
- * ```ts
37
- * someObject.is( 'element' ); // -> true if this is an element
38
- * someObject.is( 'node' ); // -> true if this is a node (a text node or an element)
39
- * someObject.is( 'documentFragment' ); // -> true if this is a document fragment
40
- * ```
41
- *
42
- * Since this method is also available on a range of model objects, you can prefix the type of the object with
43
- * `model:` or `view:` to check, for example, if this is the model's or view's element:
44
- *
45
- * ```ts
46
- * viewElement.is( 'view:element' ); // -> true
47
- * viewElement.is( 'model:element' ); // -> false
48
- * ```
49
- *
50
- * By using this method it is also possible to check a name of an element:
51
- *
52
- * ```ts
53
- * imgElement.is( 'element', 'img' ); // -> true
54
- * imgElement.is( 'view:element', 'img' ); // -> same as above, but more precise
55
- * ```
56
- * @label NODE
57
- */
58
- is(type: 'node' | 'view:node'): this is (Node | Text | Element | AttributeElement | ContainerElement | EditableElement | EmptyElement | RawElement | RootEditableElement | UIElement);
59
- /**
60
- * Checks whether this object is of type {@link module:engine/view/element~Element} or its subclass.
61
- *
62
- * ```ts
63
- * element.is( 'element' ); // -> true
64
- * element.is( 'node' ); // -> true
65
- * element.is( 'view:element' ); // -> true
66
- * element.is( 'view:node' ); // -> true
67
- *
68
- * element.is( 'model:element' ); // -> false
69
- * element.is( 'documentSelection' ); // -> false
70
- * ```
71
- *
72
- * Assuming that the object being checked is an element, you can also check its
73
- * {@link module:engine/view/element~Element#name name}:
74
- *
75
- * ```ts
76
- * element.is( 'element', 'img' ); // -> true if this is an <img> element
77
- * text.is( 'element', 'img' ); -> false
78
- * ```
79
- *
80
- * @label ELEMENT
81
- */
82
- is(type: 'element' | 'view:element'): this is (Element | AttributeElement | ContainerElement | EditableElement | EmptyElement | RawElement | RootEditableElement | UIElement);
83
- /**
84
- * Checks whether this object is of type {@link module:engine/view/attributeelement~AttributeElement}.
85
- *
86
- * ```ts
87
- * attributeElement.is( 'attributeElement' ); // -> true
88
- * attributeElement.is( 'element' ); // -> true
89
- * attributeElement.is( 'node' ); // -> true
90
- * attributeElement.is( 'view:attributeElement' ); // -> true
91
- * attributeElement.is( 'view:element' ); // -> true
92
- * attributeElement.is( 'view:node' ); // -> true
93
- *
94
- * attributeElement.is( 'model:element' ); // -> false
95
- * attributeElement.is( 'documentFragment' ); // -> false
96
- * ```
97
- *
98
- * Assuming that the object being checked is an attribute element, you can also check its
99
- * {@link module:engine/view/attributeelement~AttributeElement#name name}:
100
- *
101
- * ```ts
102
- * attributeElement.is( 'element', 'b' ); // -> true if this is a bold element
103
- * attributeElement.is( 'attributeElement', 'b' ); // -> same as above
104
- * text.is( 'element', 'b' ); -> false
105
- * ```
106
- *
107
- * @label ATTRIBUTE_ELEMENT
108
- */
109
- is(type: 'attributeElement' | 'view:attributeElement'): this is AttributeElement;
110
- /**
111
- * Checks whether this object is of type {@link module:engine/view/containerelement~ContainerElement} or its subclass.
112
- *
113
- * ```ts
114
- * containerElement.is( 'containerElement' ); // -> true
115
- * containerElement.is( 'element' ); // -> true
116
- * containerElement.is( 'node' ); // -> true
117
- * containerElement.is( 'view:containerElement' ); // -> true
118
- * containerElement.is( 'view:element' ); // -> true
119
- * containerElement.is( 'view:node' ); // -> true
120
- *
121
- * containerElement.is( 'model:element' ); // -> false
122
- * containerElement.is( 'documentFragment' ); // -> false
123
- * ```
124
- *
125
- * Assuming that the object being checked is a container element, you can also check its
126
- * {@link module:engine/view/containerelement~ContainerElement#name name}:
127
- *
128
- * ```ts
129
- * containerElement.is( 'element', 'div' ); // -> true if this is a div container element
130
- * containerElement.is( 'contaienrElement', 'div' ); // -> same as above
131
- * text.is( 'element', 'div' ); -> false
132
- * ```
133
- *
134
- * @label CONTAINER_ELEMENT
135
- */
136
- is(type: 'containerElement' | 'view:containerElement'): this is ContainerElement | EditableElement | RootEditableElement;
137
- /**
138
- * Checks whether this object is of type {@link module:engine/view/editableelement~EditableElement} or its subclass.
139
- *
140
- * ```ts
141
- * editableElement.is( 'editableElement' ); // -> true
142
- * editableElement.is( 'element' ); // -> true
143
- * editableElement.is( 'node' ); // -> true
144
- * editableElement.is( 'view:editableElement' ); // -> true
145
- * editableElement.is( 'view:element' ); // -> true
146
- * editableElement.is( 'view:node' ); // -> true
147
- *
148
- * editableElement.is( 'model:element' ); // -> false
149
- * editableElement.is( 'documentFragment' ); // -> false
150
- * ```
151
- *
152
- * Assuming that the object being checked is an editbale element, you can also check its
153
- * {@link module:engine/view/editableelement~EditableElement#name name}:
154
- *
155
- * ```ts
156
- * editableElement.is( 'element', 'div' ); // -> true if this is a div element
157
- * editableElement.is( 'editableElement', 'div' ); // -> same as above
158
- * text.is( 'element', 'div' ); -> false
159
- * ```
160
- *
161
- * @label EDITABLE_ELEMENT
162
- */
163
- is(type: 'editableElement' | 'view:editableElement'): this is EditableElement | RootEditableElement;
164
- /**
165
- * Checks whether this object is of type {@link module:engine/view/emptyelement~EmptyElement}.
166
- *
167
- * ```ts
168
- * emptyElement.is( 'emptyElement' ); // -> true
169
- * emptyElement.is( 'element' ); // -> true
170
- * emptyElement.is( 'node' ); // -> true
171
- * emptyElement.is( 'view:emptyElement' ); // -> true
172
- * emptyElement.is( 'view:element' ); // -> true
173
- * emptyElement.is( 'view:node' ); // -> true
174
- *
175
- * emptyElement.is( 'model:element' ); // -> false
176
- * emptyElement.is( 'documentFragment' ); // -> false
177
- * ```
178
- *
179
- * Assuming that the object being checked is an empty element, you can also check its
180
- * {@link module:engine/view/emptyelement~EmptyElement#name name}:
181
- *
182
- * ```ts
183
- * emptyElement.is( 'element', 'img' ); // -> true if this is a img element
184
- * emptyElement.is( 'emptyElement', 'img' ); // -> same as above
185
- * text.is( 'element', 'img' ); -> false
186
- * ```
187
- *
188
- * @label EMPTY_ELEMENT
189
- */
190
- is(type: 'emptyElement' | 'view:emptyElement'): this is EmptyElement;
191
- /**
192
- * Checks whether this object is of type {@link module:engine/view/rawelement~RawElement}.
193
- *
194
- * ```ts
195
- * rawElement.is( 'rawElement' ); // -> true
196
- * rawElement.is( 'element' ); // -> true
197
- * rawElement.is( 'node' ); // -> true
198
- * rawElement.is( 'view:rawElement' ); // -> true
199
- * rawElement.is( 'view:element' ); // -> true
200
- * rawElement.is( 'view:node' ); // -> true
201
- *
202
- * rawElement.is( 'model:element' ); // -> false
203
- * rawElement.is( 'documentFragment' ); // -> false
204
- * ```
205
- *
206
- * Assuming that the object being checked is a raw element, you can also check its
207
- * {@link module:engine/view/rawelement~RawElement#name name}:
208
- *
209
- * ```ts
210
- * rawElement.is( 'img' ); // -> true if this is an img element
211
- * rawElement.is( 'rawElement', 'img' ); // -> same as above
212
- * text.is( 'img' ); -> false
213
- * ```
214
- *
215
- * @label RAW_ELEMENT
216
- */
217
- is(type: 'rawElement' | 'view:rawElement'): this is RawElement;
218
- /**
219
- * Checks whether this object is of type {@link module:engine/view/rooteditableelement~RootEditableElement}.
220
- *
221
- * ```ts
222
- * rootEditableElement.is( 'rootElement' ); // -> true
223
- * rootEditableElement.is( 'editableElement' ); // -> true
224
- * rootEditableElement.is( 'element' ); // -> true
225
- * rootEditableElement.is( 'node' ); // -> true
226
- * rootEditableElement.is( 'view:editableElement' ); // -> true
227
- * rootEditableElement.is( 'view:element' ); // -> true
228
- * rootEditableElement.is( 'view:node' ); // -> true
229
- *
230
- * rootEditableElement.is( 'model:element' ); // -> false
231
- * rootEditableElement.is( 'documentFragment' ); // -> false
232
- * ```
233
- *
234
- * Assuming that the object being checked is a root editable element, you can also check its
235
- * {@link module:engine/view/rooteditableelement~RootEditableElement#name name}:
236
- *
237
- * ```ts
238
- * rootEditableElement.is( 'element', 'div' ); // -> true if this is a div root editable element
239
- * rootEditableElement.is( 'rootElement', 'div' ); // -> same as above
240
- * text.is( 'element', 'div' ); -> false
241
- * ```
242
- *
243
- * @label ROOT_ELEMENT
244
- */
245
- is(type: 'rootElement' | 'view:rootElement'): this is RootEditableElement;
246
- /**
247
- * Checks whether this object is of type {@link module:engine/view/uielement~UIElement}.
248
- *
249
- * ```ts
250
- * uiElement.is( 'uiElement' ); // -> true
251
- * uiElement.is( 'element' ); // -> true
252
- * uiElement.is( 'node' ); // -> true
253
- * uiElement.is( 'view:uiElement' ); // -> true
254
- * uiElement.is( 'view:element' ); // -> true
255
- * uiElement.is( 'view:node' ); // -> true
256
- *
257
- * uiElement.is( 'model:element' ); // -> false
258
- * uiElement.is( 'documentFragment' ); // -> false
259
- * ```
260
- *
261
- * Assuming that the object being checked is an ui element, you can also check its
262
- * {@link module:engine/view/uielement~UIElement#name name}:
263
- *
264
- * ```ts
265
- * uiElement.is( 'element', 'span' ); // -> true if this is a span ui element
266
- * uiElement.is( 'uiElement', 'span' ); // -> same as above
267
- * text.is( 'element', 'span' ); -> false
268
- * ```
269
- *
270
- * @label UI_ELEMENT
271
- */
272
- is(type: 'uiElement' | 'view:uiElement'): this is UIElement;
273
- /**
274
- * Checks whether this object is of type {@link module:engine/view/text~Text}.
275
- *
276
- * ```ts
277
- * text.is( '$text' ); // -> true
278
- * text.is( 'node' ); // -> true
279
- * text.is( 'view:$text' ); // -> true
280
- * text.is( 'view:node' ); // -> true
281
- *
282
- * text.is( 'model:$text' ); // -> false
283
- * text.is( 'element' ); // -> false
284
- * text.is( 'range' ); // -> false
285
- * ```
286
- *
287
- * @label TEXT
288
- */
289
- is(type: '$text' | 'view:$text'): this is Text;
290
- /**
291
- * hecks whether this object is of type {@link module:engine/view/documentfragment~DocumentFragment}.
292
- *
293
- * ```ts
294
- * docFrag.is( 'documentFragment' ); // -> true
295
- * docFrag.is( 'view:documentFragment' ); // -> true
296
- *
297
- * docFrag.is( 'model:documentFragment' ); // -> false
298
- * docFrag.is( 'element' ); // -> false
299
- * docFrag.is( 'node' ); // -> false
300
- * ```
301
- *
302
- * @label DOCUMENT_FRAGMENT
303
- */
304
- is(type: 'documentFragment' | 'view:documentFragment'): this is DocumentFragment;
305
- /**
306
- * Checks whether this object is of type {@link module:engine/view/textproxy~TextProxy}.
307
- *
308
- * ```ts
309
- * textProxy.is( '$textProxy' ); // -> true
310
- * textProxy.is( 'view:$textProxy' ); // -> true
311
- *
312
- * textProxy.is( 'model:$textProxy' ); // -> false
313
- * textProxy.is( 'element' ); // -> false
314
- * textProxy.is( 'range' ); // -> false
315
- * ```
316
- *
317
- * **Note:** Until version 20.0.0 this method wasn't accepting `'$textProxy'` type. The legacy `'textProxy'` type is still
318
- * accepted for backward compatibility.
319
- *
320
- * @label TEXT_PROXY
321
- */
322
- is(type: '$textProxy' | 'view:$textProxy'): this is TextProxy;
323
- /**
324
- * Checks whether this object is of type {@link module:engine/view/position~Position}.
325
- *
326
- * ```ts
327
- * position.is( 'position' ); // -> true
328
- * position.is( 'view:position' ); // -> true
329
- *
330
- * position.is( 'model:position' ); // -> false
331
- * position.is( 'element' ); // -> false
332
- * position.is( 'range' ); // -> false
333
- * ```
334
- *
335
- * @label POSITION
336
- */
337
- is(type: 'position' | 'view:position'): this is Position;
338
- /**
339
- * Checks whether this object is of type {@link module:engine/view/range~Range}.
340
- *
341
- * ```ts
342
- * range.is( 'range' ); // -> true
343
- * range.is( 'view:range' ); // -> true
344
- *
345
- * range.is( 'model:range' ); // -> false
346
- * range.is( 'element' ); // -> false
347
- * range.is( 'selection' ); // -> false
348
- * ```
349
- *
350
- * @label RANGE
351
- */
352
- is(type: 'range' | 'view:range'): this is Range;
353
- /**
354
- * Checks whether this object is of type {@link module:engine/view/selection~Selection} or
355
- * {@link module:engine/view/documentselection~DocumentSelection}.
356
- *
357
- * ```ts
358
- * selection.is( 'selection' ); // -> true
359
- * selection.is( 'view:selection' ); // -> true
360
- *
361
- * selection.is( 'model:selection' ); // -> false
362
- * selection.is( 'element' ); // -> false
363
- * selection.is( 'range' ); // -> false
364
- * ```
365
- *
366
- * @label SELECTION
367
- */
368
- is(type: 'selection' | 'view:selection'): this is Selection | DocumentSelection;
369
- /**
370
- * Checks whether this object is of type {@link module:engine/view/documentselection~DocumentSelection}.
371
- *
372
- * ```ts
373
- * `docSelection.is( 'selection' ); // -> true
374
- * docSelection.is( 'documentSelection' ); // -> true
375
- * docSelection.is( 'view:selection' ); // -> true
376
- * docSelection.is( 'view:documentSelection' ); // -> true
377
- *
378
- * docSelection.is( 'model:documentSelection' ); // -> false
379
- * docSelection.is( 'element' ); // -> false
380
- * docSelection.is( 'node' ); // -> false
381
- * ```
382
- *
383
- * @label DOCUMENT_SELECTION
384
- */
385
- is(type: 'documentSelection' | 'view:documentSelection'): this is DocumentSelection;
386
- /**
387
- * Checks whether the object is of type {@link module:engine/view/element~Element} or its subclass and has the specified `name`.
388
- *
389
- * @label ELEMENT_NAME
390
- */
391
- is<N extends string>(type: 'element' | 'view:element', name: N): this is (Element | AttributeElement | ContainerElement | EditableElement | EmptyElement | RawElement | RootEditableElement | UIElement) & {
392
- name: N;
393
- };
394
- /**
395
- * Checks whether the object is of type {@link module:engine/view/attributeelement~AttributeElement} and has the specified `name`.
396
- *
397
- * @label ATTRIBUTE_ELEMENT_NAME
398
- */
399
- is<N extends string>(type: 'attributeElement' | 'view:attributeElement', name: N): this is AttributeElement & {
400
- name: N;
401
- };
402
- /**
403
- * Checks whether the object is of type {@link module:engine/view/containerelement~ContainerElement}
404
- * or its subclass and has the specified `name`.
405
- *
406
- * @label CONTAINER_ELEMENT_NAME
407
- */
408
- is<N extends string>(type: 'containerElement' | 'view:containerElement', name: N): this is (ContainerElement | EditableElement | RootEditableElement) & {
409
- name: N;
410
- };
411
- /**
412
- * Checks whether the object is of type {@link module:engine/view/editableelement~EditableElement}
413
- * or its subclass and has the specified `name`.
414
- *
415
- * @label EDITABLE_ELEMENT_NAME
416
- */
417
- is<N extends string>(type: 'editableElement' | 'view:editableElement', name: N): this is (EditableElement | RootEditableElement) & {
418
- name: N;
419
- };
420
- /**
421
- * Checks whether the object is of type {@link module:engine/view/emptyelement~EmptyElement} has the specified `name`.
422
- *
423
- * @label EMPTY_ELEMENT_NAME
424
- */
425
- is<N extends string>(type: 'emptyElement' | 'view:emptyElement', name: N): this is EmptyElement & {
426
- name: N;
427
- };
428
- /**
429
- * Checks whether the object is of type {@link module:engine/view/rawelement~RawElement} and has the specified `name`.
430
- *
431
- * @label RAW_ELEMENT_NAME
432
- */
433
- is<N extends string>(type: 'rawElement' | 'view:rawElement', name: N): this is RawElement & {
434
- name: N;
435
- };
436
- /**
437
- * Checks whether the object is of type {@link module:engine/view/rooteditableelement~RootEditableElement} and has the specified `name`.
438
- *
439
- * @label ROOT_ELEMENT_NAME
440
- */
441
- is<N extends string>(type: 'rootElement' | 'view:rootElement', name: N): this is RootEditableElement & {
442
- name: N;
443
- };
444
- /**
445
- * Checks whether the object is of type {@link module:engine/view/uielement~UIElement} and has the specified `name`.
446
- *
447
- * @label UI_ELEMENT_NAME
448
- */
449
- is<N extends string>(type: 'uiElement' | 'view:uiElement', name: N): this is UIElement & {
450
- name: N;
451
- };
452
- }
@@ -1,100 +0,0 @@
1
- /**
2
- * @license Copyright (c) 2003-2024, 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
- * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
8
- */
9
- /**
10
- * @module engine/view/uielement
11
- */
12
- import Element, { type ElementAttributes } from './element.js';
13
- import Node from './node.js';
14
- import type View from './view.js';
15
- import type Document from './document.js';
16
- import type DomConverter from './domconverter.js';
17
- import type Item from './item.js';
18
- type DomDocument = globalThis.Document;
19
- type DomElement = globalThis.HTMLElement;
20
- /**
21
- * UI element class. It should be used to represent editing UI which needs to be injected into the editing view
22
- * If possible, you should keep your UI outside the editing view. However, if that is not possible,
23
- * UI elements can be used.
24
- *
25
- * How a UI element is rendered is in your control (you pass a callback to
26
- * {@link module:engine/view/downcastwriter~DowncastWriter#createUIElement `downcastWriter#createUIElement()`}).
27
- * The editor will ignore your UI element – the selection cannot be placed in it, it is skipped (invisible) when
28
- * the user modifies the selection by using arrow keys and the editor does not listen to any mutations which
29
- * happen inside your UI elements.
30
- *
31
- * The limitation is that you cannot convert a model element to a UI element. UI elements need to be
32
- * created for {@link module:engine/model/markercollection~Marker markers} or as additinal elements
33
- * inside normal {@link module:engine/view/containerelement~ContainerElement container elements}.
34
- *
35
- * To create a new UI element use the
36
- * {@link module:engine/view/downcastwriter~DowncastWriter#createUIElement `downcastWriter#createUIElement()`} method.
37
- */
38
- export default class UIElement extends Element {
39
- /**
40
- * Creates new instance of UIElement.
41
- *
42
- * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-uielement-cannot-add` when third parameter is passed,
43
- * to inform that usage of UIElement is incorrect (adding child nodes to UIElement is forbidden).
44
- *
45
- * @see module:engine/view/downcastwriter~DowncastWriter#createUIElement
46
- * @internal
47
- * @param document The document instance to which this element belongs.
48
- * @param name Node name.
49
- * @param attrs Collection of attributes.
50
- * @param children A list of nodes to be inserted into created element.
51
- */
52
- constructor(document: Document, name: string, attrs?: ElementAttributes, children?: Node | Iterable<Node>);
53
- /**
54
- * Overrides {@link module:engine/view/element~Element#_insertChild} method.
55
- * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-uielement-cannot-add` to prevent adding any child nodes
56
- * to UIElement.
57
- *
58
- * @internal
59
- */
60
- _insertChild(index: number, items: Item | Iterable<Item>): number;
61
- /**
62
- * Renders this {@link module:engine/view/uielement~UIElement} to DOM. This method is called by
63
- * {@link module:engine/view/domconverter~DomConverter}.
64
- * Do not use inheritance to create custom rendering method, replace `render()` method instead:
65
- *
66
- * ```ts
67
- * const myUIElement = downcastWriter.createUIElement( 'span' );
68
- * myUIElement.render = function( domDocument, domConverter ) {
69
- * const domElement = this.toDomElement( domDocument );
70
- *
71
- * domConverter.setContentOf( domElement, '<b>this is ui element</b>' );
72
- *
73
- * return domElement;
74
- * };
75
- * ```
76
- *
77
- * If changes in your UI element should trigger some editor UI update you should call
78
- * the {@link module:ui/editorui/editorui~EditorUI#update `editor.ui.update()`} method
79
- * after rendering your UI element.
80
- *
81
- * @param domConverter Instance of the DomConverter used to optimize the output.
82
- */
83
- render(domDocument: DomDocument, domConverter: DomConverter): DomElement;
84
- /**
85
- * Creates DOM element based on this view UIElement.
86
- * Note that each time this method is called new DOM element is created.
87
- */
88
- toDomElement(domDocument: DomDocument): DomElement;
89
- }
90
- /**
91
- * This function injects UI element handling to the given {@link module:engine/view/document~Document document}.
92
- *
93
- * A callback is added to {@link module:engine/view/document~Document#event:keydown document keydown event}.
94
- * The callback handles the situation when right arrow key is pressed and selection is collapsed before a UI element.
95
- * Without this handler, it would be impossible to "jump over" UI element using right arrow key.
96
- *
97
- * @param view View controller to which the quirks handling will be injected.
98
- */
99
- export declare function injectUiElementHandling(view: View): void;
100
- export {};