@ckeditor/ckeditor5-engine 44.0.0 → 44.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/dist/controller/datacontroller.d.ts +1 -1
  2. package/dist/controller/editingcontroller.d.ts +1 -1
  3. package/dist/conversion/conversion.d.ts +1 -1
  4. package/dist/conversion/conversionhelpers.d.ts +1 -1
  5. package/dist/conversion/downcastdispatcher.d.ts +1 -1
  6. package/dist/conversion/downcasthelpers.d.ts +1 -1
  7. package/dist/conversion/mapper.d.ts +1 -1
  8. package/dist/conversion/modelconsumable.d.ts +1 -1
  9. package/dist/conversion/upcastdispatcher.d.ts +1 -1
  10. package/dist/conversion/upcasthelpers.d.ts +1 -1
  11. package/dist/conversion/viewconsumable.d.ts +1 -1
  12. package/dist/dataprocessor/basichtmlwriter.d.ts +1 -1
  13. package/dist/dataprocessor/dataprocessor.d.ts +1 -1
  14. package/dist/dataprocessor/htmldataprocessor.d.ts +1 -1
  15. package/dist/dataprocessor/htmlwriter.d.ts +1 -1
  16. package/dist/dataprocessor/xmldataprocessor.d.ts +1 -1
  17. package/dist/dev-utils/model.d.ts +1 -1
  18. package/dist/dev-utils/operationreplayer.d.ts +1 -1
  19. package/dist/dev-utils/utils.d.ts +1 -1
  20. package/dist/dev-utils/view.d.ts +1 -1
  21. package/dist/index.css +2 -2
  22. package/dist/index.css.map +1 -1
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.js +1073 -974
  25. package/dist/index.js.map +1 -1
  26. package/dist/model/batch.d.ts +1 -1
  27. package/dist/model/differ.d.ts +1 -1
  28. package/dist/model/document.d.ts +1 -1
  29. package/dist/model/documentfragment.d.ts +13 -1
  30. package/dist/model/documentselection.d.ts +1 -1
  31. package/dist/model/element.d.ts +13 -1
  32. package/dist/model/history.d.ts +1 -1
  33. package/dist/model/item.d.ts +1 -1
  34. package/dist/model/liveposition.d.ts +1 -1
  35. package/dist/model/liverange.d.ts +1 -1
  36. package/dist/model/markercollection.d.ts +1 -1
  37. package/dist/model/model.d.ts +1 -1
  38. package/dist/model/node.d.ts +1 -1
  39. package/dist/model/nodelist.d.ts +10 -1
  40. package/dist/model/operation/attributeoperation.d.ts +1 -1
  41. package/dist/model/operation/detachoperation.d.ts +1 -1
  42. package/dist/model/operation/insertoperation.d.ts +1 -1
  43. package/dist/model/operation/markeroperation.d.ts +1 -1
  44. package/dist/model/operation/mergeoperation.d.ts +1 -1
  45. package/dist/model/operation/moveoperation.d.ts +1 -1
  46. package/dist/model/operation/nooperation.d.ts +1 -1
  47. package/dist/model/operation/operation.d.ts +1 -1
  48. package/dist/model/operation/operationfactory.d.ts +1 -1
  49. package/dist/model/operation/renameoperation.d.ts +1 -1
  50. package/dist/model/operation/rootattributeoperation.d.ts +1 -1
  51. package/dist/model/operation/rootoperation.d.ts +1 -1
  52. package/dist/model/operation/splitoperation.d.ts +1 -1
  53. package/dist/model/operation/transform.d.ts +1 -1
  54. package/dist/model/operation/utils.d.ts +1 -1
  55. package/dist/model/position.d.ts +1 -1
  56. package/dist/model/range.d.ts +1 -1
  57. package/dist/model/rootelement.d.ts +1 -1
  58. package/dist/model/schema.d.ts +1 -1
  59. package/dist/model/selection.d.ts +1 -1
  60. package/dist/model/text.d.ts +1 -1
  61. package/dist/model/textproxy.d.ts +1 -1
  62. package/dist/model/treewalker.d.ts +1 -1
  63. package/dist/model/typecheckable.d.ts +1 -1
  64. package/dist/model/utils/autoparagraphing.d.ts +1 -1
  65. package/dist/model/utils/deletecontent.d.ts +1 -1
  66. package/dist/model/utils/getselectedcontent.d.ts +1 -1
  67. package/dist/model/utils/insertcontent.d.ts +1 -1
  68. package/dist/model/utils/insertobject.d.ts +1 -1
  69. package/dist/model/utils/modifyselection.d.ts +1 -1
  70. package/dist/model/utils/selection-post-fixer.d.ts +1 -1
  71. package/dist/model/writer.d.ts +1 -1
  72. package/dist/view/attributeelement.d.ts +1 -1
  73. package/dist/view/containerelement.d.ts +1 -1
  74. package/dist/view/datatransfer.d.ts +1 -1
  75. package/dist/view/document.d.ts +1 -1
  76. package/dist/view/documentfragment.d.ts +1 -1
  77. package/dist/view/documentselection.d.ts +1 -1
  78. package/dist/view/domconverter.d.ts +1 -1
  79. package/dist/view/downcastwriter.d.ts +1 -1
  80. package/dist/view/editableelement.d.ts +1 -1
  81. package/dist/view/element.d.ts +1 -1
  82. package/dist/view/elementdefinition.d.ts +1 -1
  83. package/dist/view/emptyelement.d.ts +1 -1
  84. package/dist/view/filler.d.ts +1 -1
  85. package/dist/view/item.d.ts +1 -1
  86. package/dist/view/matcher.d.ts +1 -1
  87. package/dist/view/node.d.ts +1 -1
  88. package/dist/view/observer/arrowkeysobserver.d.ts +1 -1
  89. package/dist/view/observer/bubblingemittermixin.d.ts +1 -1
  90. package/dist/view/observer/bubblingeventinfo.d.ts +1 -1
  91. package/dist/view/observer/clickobserver.d.ts +1 -1
  92. package/dist/view/observer/compositionobserver.d.ts +1 -1
  93. package/dist/view/observer/domeventdata.d.ts +1 -1
  94. package/dist/view/observer/domeventobserver.d.ts +1 -1
  95. package/dist/view/observer/fakeselectionobserver.d.ts +1 -1
  96. package/dist/view/observer/focusobserver.d.ts +1 -1
  97. package/dist/view/observer/inputobserver.d.ts +1 -1
  98. package/dist/view/observer/keyobserver.d.ts +1 -1
  99. package/dist/view/observer/mouseobserver.d.ts +1 -1
  100. package/dist/view/observer/mutationobserver.d.ts +1 -1
  101. package/dist/view/observer/observer.d.ts +1 -1
  102. package/dist/view/observer/selectionobserver.d.ts +1 -1
  103. package/dist/view/observer/tabobserver.d.ts +1 -1
  104. package/dist/view/placeholder.d.ts +1 -1
  105. package/dist/view/position.d.ts +1 -1
  106. package/dist/view/range.d.ts +1 -1
  107. package/dist/view/rawelement.d.ts +1 -1
  108. package/dist/view/renderer.d.ts +1 -1
  109. package/dist/view/rooteditableelement.d.ts +1 -1
  110. package/dist/view/selection.d.ts +1 -1
  111. package/dist/view/styles/background.d.ts +1 -1
  112. package/dist/view/styles/border.d.ts +1 -1
  113. package/dist/view/styles/margin.d.ts +1 -1
  114. package/dist/view/styles/padding.d.ts +1 -1
  115. package/dist/view/styles/utils.d.ts +1 -1
  116. package/dist/view/stylesmap.d.ts +9 -1
  117. package/dist/view/text.d.ts +1 -1
  118. package/dist/view/textproxy.d.ts +1 -1
  119. package/dist/view/treewalker.d.ts +1 -1
  120. package/dist/view/typecheckable.d.ts +1 -1
  121. package/dist/view/uielement.d.ts +1 -1
  122. package/dist/view/upcastwriter.d.ts +1 -1
  123. package/dist/view/view.d.ts +1 -1
  124. package/package.json +2 -2
  125. package/src/controller/datacontroller.d.ts +1 -1
  126. package/src/controller/datacontroller.js +1 -1
  127. package/src/controller/editingcontroller.d.ts +1 -1
  128. package/src/controller/editingcontroller.js +1 -1
  129. package/src/conversion/conversion.d.ts +1 -1
  130. package/src/conversion/conversion.js +1 -1
  131. package/src/conversion/conversionhelpers.d.ts +1 -1
  132. package/src/conversion/conversionhelpers.js +1 -1
  133. package/src/conversion/downcastdispatcher.d.ts +1 -1
  134. package/src/conversion/downcastdispatcher.js +5 -7
  135. package/src/conversion/downcasthelpers.d.ts +1 -1
  136. package/src/conversion/downcasthelpers.js +1 -1
  137. package/src/conversion/mapper.d.ts +1 -1
  138. package/src/conversion/mapper.js +27 -22
  139. package/src/conversion/modelconsumable.d.ts +1 -1
  140. package/src/conversion/modelconsumable.js +1 -1
  141. package/src/conversion/upcastdispatcher.d.ts +1 -1
  142. package/src/conversion/upcastdispatcher.js +14 -8
  143. package/src/conversion/upcasthelpers.d.ts +1 -1
  144. package/src/conversion/upcasthelpers.js +1 -1
  145. package/src/conversion/viewconsumable.d.ts +1 -1
  146. package/src/conversion/viewconsumable.js +1 -1
  147. package/src/dataprocessor/basichtmlwriter.d.ts +1 -1
  148. package/src/dataprocessor/basichtmlwriter.js +1 -1
  149. package/src/dataprocessor/dataprocessor.d.ts +1 -1
  150. package/src/dataprocessor/dataprocessor.js +1 -1
  151. package/src/dataprocessor/htmldataprocessor.d.ts +1 -1
  152. package/src/dataprocessor/htmldataprocessor.js +1 -1
  153. package/src/dataprocessor/htmlwriter.d.ts +1 -1
  154. package/src/dataprocessor/htmlwriter.js +1 -1
  155. package/src/dataprocessor/xmldataprocessor.d.ts +1 -1
  156. package/src/dataprocessor/xmldataprocessor.js +1 -1
  157. package/src/dev-utils/model.d.ts +1 -1
  158. package/src/dev-utils/model.js +1 -1
  159. package/src/dev-utils/operationreplayer.d.ts +1 -1
  160. package/src/dev-utils/operationreplayer.js +1 -1
  161. package/src/dev-utils/utils.d.ts +1 -1
  162. package/src/dev-utils/utils.js +1 -1
  163. package/src/dev-utils/view.d.ts +1 -1
  164. package/src/dev-utils/view.js +1 -1
  165. package/src/index.d.ts +1 -1
  166. package/src/index.js +1 -1
  167. package/src/model/batch.d.ts +1 -1
  168. package/src/model/batch.js +1 -1
  169. package/src/model/differ.d.ts +1 -1
  170. package/src/model/differ.js +1 -1
  171. package/src/model/document.d.ts +1 -1
  172. package/src/model/document.js +1 -1
  173. package/src/model/documentfragment.d.ts +13 -1
  174. package/src/model/documentfragment.js +18 -1
  175. package/src/model/documentselection.d.ts +1 -1
  176. package/src/model/documentselection.js +1 -1
  177. package/src/model/element.d.ts +13 -1
  178. package/src/model/element.js +36 -10
  179. package/src/model/history.d.ts +1 -1
  180. package/src/model/history.js +1 -1
  181. package/src/model/item.d.ts +1 -1
  182. package/src/model/item.js +1 -1
  183. package/src/model/liveposition.d.ts +1 -1
  184. package/src/model/liveposition.js +1 -1
  185. package/src/model/liverange.d.ts +1 -1
  186. package/src/model/liverange.js +1 -1
  187. package/src/model/markercollection.d.ts +1 -1
  188. package/src/model/markercollection.js +1 -1
  189. package/src/model/model.d.ts +1 -1
  190. package/src/model/model.js +1 -1
  191. package/src/model/node.d.ts +1 -1
  192. package/src/model/node.js +1 -1
  193. package/src/model/nodelist.d.ts +10 -1
  194. package/src/model/nodelist.js +34 -8
  195. package/src/model/operation/attributeoperation.d.ts +1 -1
  196. package/src/model/operation/attributeoperation.js +1 -1
  197. package/src/model/operation/detachoperation.d.ts +1 -1
  198. package/src/model/operation/detachoperation.js +1 -1
  199. package/src/model/operation/insertoperation.d.ts +1 -1
  200. package/src/model/operation/insertoperation.js +1 -1
  201. package/src/model/operation/markeroperation.d.ts +1 -1
  202. package/src/model/operation/markeroperation.js +1 -1
  203. package/src/model/operation/mergeoperation.d.ts +1 -1
  204. package/src/model/operation/mergeoperation.js +1 -1
  205. package/src/model/operation/moveoperation.d.ts +1 -1
  206. package/src/model/operation/moveoperation.js +1 -1
  207. package/src/model/operation/nooperation.d.ts +1 -1
  208. package/src/model/operation/nooperation.js +1 -1
  209. package/src/model/operation/operation.d.ts +1 -1
  210. package/src/model/operation/operation.js +1 -1
  211. package/src/model/operation/operationfactory.d.ts +1 -1
  212. package/src/model/operation/operationfactory.js +1 -1
  213. package/src/model/operation/renameoperation.d.ts +1 -1
  214. package/src/model/operation/renameoperation.js +1 -1
  215. package/src/model/operation/rootattributeoperation.d.ts +1 -1
  216. package/src/model/operation/rootattributeoperation.js +1 -1
  217. package/src/model/operation/rootoperation.d.ts +1 -1
  218. package/src/model/operation/rootoperation.js +1 -1
  219. package/src/model/operation/splitoperation.d.ts +1 -1
  220. package/src/model/operation/splitoperation.js +1 -1
  221. package/src/model/operation/transform.d.ts +1 -1
  222. package/src/model/operation/transform.js +1 -1
  223. package/src/model/operation/utils.d.ts +1 -1
  224. package/src/model/operation/utils.js +1 -1
  225. package/src/model/position.d.ts +1 -1
  226. package/src/model/position.js +3 -3
  227. package/src/model/range.d.ts +1 -1
  228. package/src/model/range.js +1 -1
  229. package/src/model/rootelement.d.ts +1 -1
  230. package/src/model/rootelement.js +1 -1
  231. package/src/model/schema.d.ts +1 -1
  232. package/src/model/schema.js +1 -1
  233. package/src/model/selection.d.ts +1 -1
  234. package/src/model/selection.js +1 -1
  235. package/src/model/text.d.ts +1 -1
  236. package/src/model/text.js +1 -1
  237. package/src/model/textproxy.d.ts +1 -1
  238. package/src/model/textproxy.js +1 -1
  239. package/src/model/treewalker.d.ts +1 -1
  240. package/src/model/treewalker.js +5 -10
  241. package/src/model/typecheckable.d.ts +1 -1
  242. package/src/model/typecheckable.js +1 -1
  243. package/src/model/utils/autoparagraphing.d.ts +1 -1
  244. package/src/model/utils/autoparagraphing.js +1 -1
  245. package/src/model/utils/deletecontent.d.ts +1 -1
  246. package/src/model/utils/deletecontent.js +1 -1
  247. package/src/model/utils/getselectedcontent.d.ts +1 -1
  248. package/src/model/utils/getselectedcontent.js +1 -1
  249. package/src/model/utils/insertcontent.d.ts +1 -1
  250. package/src/model/utils/insertcontent.js +1 -1
  251. package/src/model/utils/insertobject.d.ts +1 -1
  252. package/src/model/utils/insertobject.js +1 -1
  253. package/src/model/utils/modifyselection.d.ts +1 -1
  254. package/src/model/utils/modifyselection.js +1 -1
  255. package/src/model/utils/selection-post-fixer.d.ts +1 -1
  256. package/src/model/utils/selection-post-fixer.js +1 -1
  257. package/src/model/writer.d.ts +1 -1
  258. package/src/model/writer.js +5 -2
  259. package/src/view/attributeelement.d.ts +1 -1
  260. package/src/view/attributeelement.js +1 -1
  261. package/src/view/containerelement.d.ts +1 -1
  262. package/src/view/containerelement.js +1 -1
  263. package/src/view/datatransfer.d.ts +1 -1
  264. package/src/view/datatransfer.js +1 -1
  265. package/src/view/document.d.ts +1 -1
  266. package/src/view/document.js +1 -1
  267. package/src/view/documentfragment.d.ts +1 -1
  268. package/src/view/documentfragment.js +1 -1
  269. package/src/view/documentselection.d.ts +1 -1
  270. package/src/view/documentselection.js +1 -1
  271. package/src/view/domconverter.d.ts +1 -1
  272. package/src/view/domconverter.js +1 -1
  273. package/src/view/downcastwriter.d.ts +1 -1
  274. package/src/view/downcastwriter.js +3 -3
  275. package/src/view/editableelement.d.ts +1 -1
  276. package/src/view/editableelement.js +1 -1
  277. package/src/view/element.d.ts +1 -1
  278. package/src/view/element.js +11 -9
  279. package/src/view/elementdefinition.d.ts +1 -1
  280. package/src/view/elementdefinition.js +1 -1
  281. package/src/view/emptyelement.d.ts +1 -1
  282. package/src/view/emptyelement.js +1 -1
  283. package/src/view/filler.d.ts +1 -1
  284. package/src/view/filler.js +1 -1
  285. package/src/view/item.d.ts +1 -1
  286. package/src/view/item.js +1 -1
  287. package/src/view/matcher.d.ts +1 -1
  288. package/src/view/matcher.js +21 -16
  289. package/src/view/node.d.ts +1 -1
  290. package/src/view/node.js +1 -1
  291. package/src/view/observer/arrowkeysobserver.d.ts +1 -1
  292. package/src/view/observer/arrowkeysobserver.js +1 -1
  293. package/src/view/observer/bubblingemittermixin.d.ts +1 -1
  294. package/src/view/observer/bubblingemittermixin.js +1 -1
  295. package/src/view/observer/bubblingeventinfo.d.ts +1 -1
  296. package/src/view/observer/bubblingeventinfo.js +1 -1
  297. package/src/view/observer/clickobserver.d.ts +1 -1
  298. package/src/view/observer/clickobserver.js +1 -1
  299. package/src/view/observer/compositionobserver.d.ts +1 -1
  300. package/src/view/observer/compositionobserver.js +1 -1
  301. package/src/view/observer/domeventdata.d.ts +1 -1
  302. package/src/view/observer/domeventdata.js +1 -1
  303. package/src/view/observer/domeventobserver.d.ts +1 -1
  304. package/src/view/observer/domeventobserver.js +1 -1
  305. package/src/view/observer/fakeselectionobserver.d.ts +1 -1
  306. package/src/view/observer/fakeselectionobserver.js +1 -1
  307. package/src/view/observer/focusobserver.d.ts +1 -1
  308. package/src/view/observer/focusobserver.js +1 -1
  309. package/src/view/observer/inputobserver.d.ts +1 -1
  310. package/src/view/observer/inputobserver.js +1 -1
  311. package/src/view/observer/keyobserver.d.ts +1 -1
  312. package/src/view/observer/keyobserver.js +1 -1
  313. package/src/view/observer/mouseobserver.d.ts +1 -1
  314. package/src/view/observer/mouseobserver.js +1 -1
  315. package/src/view/observer/mutationobserver.d.ts +1 -1
  316. package/src/view/observer/mutationobserver.js +1 -1
  317. package/src/view/observer/observer.d.ts +1 -1
  318. package/src/view/observer/observer.js +1 -1
  319. package/src/view/observer/selectionobserver.d.ts +1 -1
  320. package/src/view/observer/selectionobserver.js +1 -1
  321. package/src/view/observer/tabobserver.d.ts +1 -1
  322. package/src/view/observer/tabobserver.js +1 -1
  323. package/src/view/placeholder.d.ts +1 -1
  324. package/src/view/placeholder.js +1 -1
  325. package/src/view/position.d.ts +1 -1
  326. package/src/view/position.js +1 -1
  327. package/src/view/range.d.ts +1 -1
  328. package/src/view/range.js +1 -1
  329. package/src/view/rawelement.d.ts +1 -1
  330. package/src/view/rawelement.js +1 -1
  331. package/src/view/renderer.d.ts +1 -1
  332. package/src/view/renderer.js +1 -1
  333. package/src/view/rooteditableelement.d.ts +1 -1
  334. package/src/view/rooteditableelement.js +1 -1
  335. package/src/view/selection.d.ts +1 -1
  336. package/src/view/selection.js +1 -1
  337. package/src/view/styles/background.d.ts +1 -1
  338. package/src/view/styles/background.js +1 -1
  339. package/src/view/styles/border.d.ts +1 -1
  340. package/src/view/styles/border.js +1 -1
  341. package/src/view/styles/margin.d.ts +1 -1
  342. package/src/view/styles/margin.js +1 -1
  343. package/src/view/styles/padding.d.ts +1 -1
  344. package/src/view/styles/padding.js +1 -1
  345. package/src/view/styles/utils.d.ts +1 -1
  346. package/src/view/styles/utils.js +1 -1
  347. package/src/view/stylesmap.d.ts +9 -1
  348. package/src/view/stylesmap.js +19 -4
  349. package/src/view/text.d.ts +1 -1
  350. package/src/view/text.js +1 -1
  351. package/src/view/textproxy.d.ts +1 -1
  352. package/src/view/textproxy.js +1 -1
  353. package/src/view/treewalker.d.ts +1 -1
  354. package/src/view/treewalker.js +38 -43
  355. package/src/view/typecheckable.d.ts +1 -1
  356. package/src/view/typecheckable.js +1 -1
  357. package/src/view/uielement.d.ts +1 -1
  358. package/src/view/uielement.js +1 -1
  359. package/src/view/upcastwriter.d.ts +1 -1
  360. package/src/view/upcastwriter.js +1 -1
  361. package/src/view/view.d.ts +1 -1
  362. package/src/view/view.js +1 -1
  363. package/theme/placeholder.css +1 -1
  364. package/theme/renderer.css +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * Styles map. Allows handling (adding, removing, retrieving) a set of style rules (usually, of an element).
@@ -13,6 +13,14 @@ export default class StylesMap {
13
13
  * When no style processor rules are defined it acts as simple key-value storage.
14
14
  */
15
15
  private _styles;
16
+ /**
17
+ * Cached list of style names for faster access.
18
+ */
19
+ private _cachedStyleNames;
20
+ /**
21
+ * Cached list of expanded style names for faster access.
22
+ */
23
+ private _cachedExpandedStyleNames;
16
24
  /**
17
25
  * An instance of the {@link module:engine/view/stylesmap~StylesProcessor}.
18
26
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/stylesmap
@@ -14,6 +14,14 @@ export default class StylesMap {
14
14
  * Creates Styles instance.
15
15
  */
16
16
  constructor(styleProcessor) {
17
+ /**
18
+ * Cached list of style names for faster access.
19
+ */
20
+ this._cachedStyleNames = null;
21
+ /**
22
+ * Cached list of expanded style names for faster access.
23
+ */
24
+ this._cachedExpandedStyleNames = null;
17
25
  this._styles = {};
18
26
  this._styleProcessor = styleProcessor;
19
27
  }
@@ -88,6 +96,8 @@ export default class StylesMap {
88
96
  return Array.isArray(propertyDescriptor);
89
97
  }
90
98
  set(nameOrObject, valueOrObject) {
99
+ this._cachedStyleNames = null;
100
+ this._cachedExpandedStyleNames = null;
91
101
  if (isObject(nameOrObject)) {
92
102
  for (const [key, value] of Object.entries(nameOrObject)) {
93
103
  this._styleProcessor.toNormalizedForm(key, value, this._styles);
@@ -126,6 +136,8 @@ export default class StylesMap {
126
136
  * @param name Style name.
127
137
  */
128
138
  remove(name) {
139
+ this._cachedStyleNames = null;
140
+ this._cachedExpandedStyleNames = null;
129
141
  const path = toPath(name);
130
142
  unset(this._styles, path);
131
143
  delete this._styles[name];
@@ -286,16 +298,19 @@ export default class StylesMap {
286
298
  return [];
287
299
  }
288
300
  if (expand) {
289
- return this._styleProcessor.getStyleNames(this._styles);
301
+ this._cachedExpandedStyleNames = this._cachedExpandedStyleNames || this._styleProcessor.getStyleNames(this._styles);
302
+ return this._cachedExpandedStyleNames;
290
303
  }
291
- const entries = this.getStylesEntries();
292
- return entries.map(([key]) => key);
304
+ this._cachedStyleNames = this._cachedStyleNames || this.getStylesEntries().map(([key]) => key);
305
+ return this._cachedStyleNames;
293
306
  }
294
307
  /**
295
308
  * Removes all styles.
296
309
  */
297
310
  clear() {
298
311
  this._styles = {};
312
+ this._cachedStyleNames = null;
313
+ this._cachedExpandedStyleNames = null;
299
314
  }
300
315
  /**
301
316
  * Returns normalized styles entries for further processing.
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/text
package/src/view/text.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/text
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/textproxy
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/textproxy
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  import Position from './position.js';
6
6
  import type Item from './item.js';
@@ -1,12 +1,7 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
- /**
6
- * @module engine/view/treewalker
7
- */
8
- import Element from './element.js';
9
- import Text from './text.js';
10
5
  import TextProxy from './textproxy.js';
11
6
  import Position from './position.js';
12
7
  import { CKEditorError } from '@ckeditor/ckeditor5-utils';
@@ -120,7 +115,7 @@ export default class TreeWalker {
120
115
  // Get node just after current position.
121
116
  let node;
122
117
  // Text is a specific parent because it contains string instead of child nodes.
123
- if (parent instanceof Text) {
118
+ if (parent && parent.is('view:$text')) {
124
119
  if (position.isAtEnd) {
125
120
  // Prevent returning "elementEnd" for Text node. Skip that value and return the next walker step.
126
121
  this._position = Position._createAfter(parent);
@@ -131,7 +126,22 @@ export default class TreeWalker {
131
126
  else {
132
127
  node = parent.getChild(position.offset);
133
128
  }
134
- if (node instanceof Element) {
129
+ if (typeof node == 'string') {
130
+ let textLength;
131
+ if (this.singleCharacters) {
132
+ textLength = 1;
133
+ }
134
+ else {
135
+ // Check if text stick out of walker range.
136
+ const endOffset = parent === this._boundaryEndParent ? this.boundaries.end.offset : parent.data.length;
137
+ textLength = endOffset - position.offset;
138
+ }
139
+ const textProxy = new TextProxy(parent, position.offset, textLength);
140
+ position.offset += textLength;
141
+ this._position = position;
142
+ return this._formatReturnValue('text', textProxy, previousPosition, position, textLength);
143
+ }
144
+ if (node && node.is('view:element')) {
135
145
  if (!this.shallow) {
136
146
  position = new Position(node, 0);
137
147
  }
@@ -145,7 +155,7 @@ export default class TreeWalker {
145
155
  this._position = position;
146
156
  return this._formatReturnValue('elementStart', node, previousPosition, position, 1);
147
157
  }
148
- if (node instanceof Text) {
158
+ if (node && node.is('view:$text')) {
149
159
  if (this.singleCharacters) {
150
160
  position = new Position(node, 0);
151
161
  this._position = position;
@@ -167,21 +177,6 @@ export default class TreeWalker {
167
177
  this._position = position;
168
178
  return this._formatReturnValue('text', item, previousPosition, position, charactersCount);
169
179
  }
170
- if (typeof node == 'string') {
171
- let textLength;
172
- if (this.singleCharacters) {
173
- textLength = 1;
174
- }
175
- else {
176
- // Check if text stick out of walker range.
177
- const endOffset = parent === this._boundaryEndParent ? this.boundaries.end.offset : parent.data.length;
178
- textLength = endOffset - position.offset;
179
- }
180
- const textProxy = new TextProxy(parent, position.offset, textLength);
181
- position.offset += textLength;
182
- this._position = position;
183
- return this._formatReturnValue('text', textProxy, previousPosition, position, textLength);
184
- }
185
180
  // `node` is not set, we reached the end of current `parent`.
186
181
  position = Position._createAfter(parent);
187
182
  this._position = position;
@@ -208,7 +203,7 @@ export default class TreeWalker {
208
203
  // Get node just before current position.
209
204
  let node;
210
205
  // Text {@link module:engine/view/text~Text} element is a specific parent because contains string instead of child nodes.
211
- if (parent instanceof Text) {
206
+ if (parent.is('view:$text')) {
212
207
  if (position.isAtStart) {
213
208
  // Prevent returning "elementStart" for Text node. Skip that value and return the next walker step.
214
209
  this._position = Position._createBefore(parent);
@@ -219,7 +214,22 @@ export default class TreeWalker {
219
214
  else {
220
215
  node = parent.getChild(position.offset - 1);
221
216
  }
222
- if (node instanceof Element) {
217
+ if (typeof node == 'string') {
218
+ let textLength;
219
+ if (!this.singleCharacters) {
220
+ // Check if text stick out of walker range.
221
+ const startOffset = parent === this._boundaryStartParent ? this.boundaries.start.offset : 0;
222
+ textLength = position.offset - startOffset;
223
+ }
224
+ else {
225
+ textLength = 1;
226
+ }
227
+ position.offset -= textLength;
228
+ const textProxy = new TextProxy(parent, position.offset, textLength);
229
+ this._position = position;
230
+ return this._formatReturnValue('text', textProxy, previousPosition, position, textLength);
231
+ }
232
+ if (node && node.is('view:element')) {
223
233
  if (this.shallow) {
224
234
  position.offset--;
225
235
  this._position = position;
@@ -232,7 +242,7 @@ export default class TreeWalker {
232
242
  }
233
243
  return this._formatReturnValue('elementEnd', node, previousPosition, position);
234
244
  }
235
- if (node instanceof Text) {
245
+ if (node && node.is('view:$text')) {
236
246
  if (this.singleCharacters) {
237
247
  position = new Position(node, node.data.length);
238
248
  this._position = position;
@@ -255,21 +265,6 @@ export default class TreeWalker {
255
265
  this._position = position;
256
266
  return this._formatReturnValue('text', item, previousPosition, position, charactersCount);
257
267
  }
258
- if (typeof node == 'string') {
259
- let textLength;
260
- if (!this.singleCharacters) {
261
- // Check if text stick out of walker range.
262
- const startOffset = parent === this._boundaryStartParent ? this.boundaries.start.offset : 0;
263
- textLength = position.offset - startOffset;
264
- }
265
- else {
266
- textLength = 1;
267
- }
268
- position.offset -= textLength;
269
- const textProxy = new TextProxy(parent, position.offset, textLength);
270
- this._position = position;
271
- return this._formatReturnValue('text', textProxy, previousPosition, position, textLength);
272
- }
273
268
  // `node` is not set, we reached the beginning of current `parent`.
274
269
  position = Position._createBefore(parent);
275
270
  this._position = position;
@@ -289,7 +284,7 @@ export default class TreeWalker {
289
284
  // Walker doesn't enter to the Text except situations when walker is iterating over every single character,
290
285
  // or the bound starts/ends inside the Text. So when the position is at the beginning or at the end of the Text
291
286
  // we move it just before or just after Text.
292
- if (item instanceof TextProxy) {
287
+ if (item.is('view:$textProxy')) {
293
288
  // Position is at the end of Text.
294
289
  if (item.offsetInText + item.data.length == item.textNode.data.length) {
295
290
  if (this.direction == 'forward' && !(this.boundaries && this.boundaries.end.isEqual(this.position))) {
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  import type AttributeElement from './attributeelement.js';
6
6
  import type ContainerElement from './containerelement.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/typecheckable
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/uielement
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/uielement
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/upcastwriter
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/upcastwriter
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/view
package/src/view/view.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
  /**
6
6
  * @module engine/view/view
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * 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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
 
6
6
  /* See ckeditor/ckeditor5#936. */
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * 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
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
5
 
6
6
  /* Elements marked by the Renderer as hidden should be invisible in the editor. */