8
0
Просмотр исходного кода

Merge branch 'master' into i/7843-eslint-unused

Maciej Gołaszewski 5 лет назад
Родитель
Сommit
2408e42cb1
100 измененных файлов с 612 добавлено и 497 удалено
  1. 6 0
      .gitignore
  2. 145 1
      CHANGELOG.md
  3. 6 1
      docs/_snippets/examples/document-editor.js
  4. 24 23
      docs/_snippets/examples/inline-editor.js
  5. 1 1
      docs/_snippets/examples/multi-root-editor.html
  6. 3 3
      docs/_snippets/examples/multi-root-editor.js
  7. 14 0
      docs/_snippets/features/mathtype.html
  8. 1 62
      docs/_snippets/features/mathtype.js
  9. 3 3
      docs/_snippets/framework/tutorials/block-widget.js
  10. 3 3
      docs/_snippets/framework/tutorials/inline-widget.js
  11. 3 3
      docs/_snippets/framework/tutorials/using-react-in-widget.js
  12. 145 145
      docs/builds/guides/integration/content-styles.md
  13. 3 2
      docs/framework/guides/contributing/testing-environment.md
  14. 6 6
      docs/framework/guides/tutorials/implementing-a-block-widget.md
  15. 6 6
      docs/framework/guides/tutorials/implementing-an-inline-widget.md
  16. 6 6
      docs/framework/guides/tutorials/using-react-in-a-widget.md
  17. 1 1
      docs/umberto.json
  18. 70 65
      package.json
  19. 2 2
      packages/ckeditor-cloud-services-core/package.json
  20. 13 13
      packages/ckeditor5-adapter-ckfinder/package.json
  21. 13 13
      packages/ckeditor5-alignment/package.json
  22. 14 14
      packages/ckeditor5-autoformat/package.json
  23. 5 5
      packages/ckeditor5-autosave/package.json
  24. 10 10
      packages/ckeditor5-basic-styles/package.json
  25. 14 14
      packages/ckeditor5-block-quote/package.json
  26. 1 1
      packages/ckeditor5-build-balloon-block/build/ckeditor.js
  27. 1 1
      packages/ckeditor5-build-balloon-block/build/ckeditor.js.map
  28. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ar.js
  29. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ast.js
  30. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/az.js
  31. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/bg.js
  32. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/cs.js
  33. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/da.js
  34. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/de.js
  35. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/el.js
  36. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/en-au.js
  37. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/en-gb.js
  38. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/eo.js
  39. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/es.js
  40. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/et.js
  41. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/eu.js
  42. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/fa.js
  43. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/fi.js
  44. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/fr.js
  45. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/gl.js
  46. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/he.js
  47. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/hr.js
  48. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/hu.js
  49. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/id.js
  50. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/it.js
  51. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ja.js
  52. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/km.js
  53. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/kn.js
  54. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ko.js
  55. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ku.js
  56. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/lt.js
  57. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/lv.js
  58. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/nb.js
  59. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ne.js
  60. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/nl.js
  61. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/no.js
  62. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/pl.js
  63. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/pt-br.js
  64. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/pt.js
  65. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ro.js
  66. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ru.js
  67. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/si.js
  68. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/sk.js
  69. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/sq.js
  70. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/sr-latn.js
  71. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/sr.js
  72. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/sv.js
  73. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/th.js
  74. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/tr.js
  75. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ug.js
  76. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/uk.js
  77. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/vi.js
  78. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/zh-cn.js
  79. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/zh.js
  80. 22 22
      packages/ckeditor5-build-balloon-block/package.json
  81. 1 1
      packages/ckeditor5-build-balloon/build/ckeditor.js
  82. 1 1
      packages/ckeditor5-build-balloon/build/ckeditor.js.map
  83. 1 1
      packages/ckeditor5-build-balloon/build/translations/ar.js
  84. 1 1
      packages/ckeditor5-build-balloon/build/translations/ast.js
  85. 1 1
      packages/ckeditor5-build-balloon/build/translations/az.js
  86. 1 1
      packages/ckeditor5-build-balloon/build/translations/bg.js
  87. 1 1
      packages/ckeditor5-build-balloon/build/translations/cs.js
  88. 1 1
      packages/ckeditor5-build-balloon/build/translations/da.js
  89. 1 1
      packages/ckeditor5-build-balloon/build/translations/de.js
  90. 1 1
      packages/ckeditor5-build-balloon/build/translations/el.js
  91. 1 1
      packages/ckeditor5-build-balloon/build/translations/en-au.js
  92. 1 1
      packages/ckeditor5-build-balloon/build/translations/en-gb.js
  93. 1 1
      packages/ckeditor5-build-balloon/build/translations/eo.js
  94. 1 1
      packages/ckeditor5-build-balloon/build/translations/es.js
  95. 1 1
      packages/ckeditor5-build-balloon/build/translations/et.js
  96. 1 1
      packages/ckeditor5-build-balloon/build/translations/eu.js
  97. 1 1
      packages/ckeditor5-build-balloon/build/translations/fa.js
  98. 1 1
      packages/ckeditor5-build-balloon/build/translations/fi.js
  99. 1 1
      packages/ckeditor5-build-balloon/build/translations/fr.js
  100. 0 0
      packages/ckeditor5-build-balloon/build/translations/gl.js

+ 6 - 0
.gitignore

@@ -7,3 +7,9 @@ external/
 lerna-debug.log
 .idea
 .vscode
+
+# Ignore `yarn.lock` - this file might contain info from external repositories.
+yarn.lock
+
+# Ignore `mrgit.json` this file contains info about external repositories.
+mrgit.json

+ 145 - 1
CHANGELOG.md

@@ -1,6 +1,149 @@
 Changelog
 =========
 
+## [22.0.0](https://github.com/ckeditor/ckeditor5/compare/v21.0.0...v22.0.0) (2020-08-26)
+
+### Release highlights
+
+We are happy to announce the release of CKEditor 5 v22.0.0.
+
+This release brings a few new features:
+
+* [List styles plugin](https://github.com/ckeditor/ckeditor5/issues/7801).
+* [Makrdown plugin](https://github.com/ckeditor/ckeditor5/issues/6007).
+* [Inserting image with URL](https://github.com/ckeditor/ckeditor5/issues/7794).
+* [New event-based conversion api](https://github.com/ckeditor/ckeditor5/issues/7336).
+
+Please note that there are some **major breaking changes**. Be sure to review them before upgrading.
+
+<!-- TODO: Add a link to the blog post. -->
+
+### Collaboration features
+
+The CKEditor 5 Collaboration features changelog can be found here: https://ckeditor.com/collaboration/changelog.
+
+### MAJOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes)
+
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The `config.view` callback of `DowncastHelpers` takes a `DowncastConversionApi` instance instead of a `DowncastWriter`. An example migration snippet can be found in a [GitHub comment](https://github.com/ckeditor/ckeditor5/issues/7334#issuecomment-670450941). See [#7334](https://github.com/ckeditor/ckeditor5/issues/7334).
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The `config.model` callback of `UpcastHelpers` takes a `UpcastConversionApi` instance instead of a `ModelWriter`. An example migration snippet can be found in a [GitHub comment](https://github.com/ckeditor/ckeditor5/issues/7334#issuecomment-670450941). See [#7334](https://github.com/ckeditor/ckeditor5/issues/7334).
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The `config.view` parameter for upcast element-to-element conversion helpers configurations is now mandatory. You can retain previous "catch-all" behavior for upcast converter using `config.view = /[\s\S]+/` value.
+
+### MINOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes)
+
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: The `tableCell` model element brought by the `TableEditing` plugin is no longer an object (`SchemaItemDefinition#isObject`) in the `Schema` but a selectable (`SchemaItemDefinition#isSelectable`). Please update your integration code accordingly. See [#6432](https://github.com/ckeditor/ckeditor5/issues/6432).
+* **[ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui)**: It is now possible to override existing components when [adding new ones](https://ckeditor.com/docs/ckeditor5/latest/api/module_ui_componentfactory-ComponentFactory.html#function-add) to the [component factory](https://ckeditor.com/docs/ckeditor5/latest/api/module_ui_componentfactory-ComponentFactory.html) (previously an error was thrown). See [#7803](https://github.com/ckeditor/ckeditor5/issues/7803).
+
+### Features
+
+* **[clipboard](https://www.npmjs.com/package/@ckeditor/ckeditor5-clipboard)**: Pasting a plain text will inherit selection attributes. Closes [#1006](https://github.com/ckeditor/ckeditor5/issues/1006). ([commit](https://github.com/ckeditor/ckeditor5/commit/2a163e389a6b22b1e5590fe6a2ed8204387d4350))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Options passed to `Editor#getData()` and `DataController#get()` are now available in downcast conversion under `conversionApi.options` object. Closes [#7628](https://github.com/ckeditor/ckeditor5/issues/7628). ([commit](https://github.com/ckeditor/ckeditor5/commit/0a5d07e3c9a5cef51ebfb4a5819b5118ad9ae115))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Added conversion API to upcast and downcast helpers. Closes [#7334](https://github.com/ckeditor/ckeditor5/issues/7334). ([commit](https://github.com/ckeditor/ckeditor5/commit/16c971198971b770d4e7aff4ea8eec7a88a6fcdb))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Introduced `SchemaItemDefinition#isSelectable` and `SchemaItemDefinition#isContent` properties. Closes [#6432](https://github.com/ckeditor/ckeditor5/issues/6432). ([commit](https://github.com/ckeditor/ckeditor5/commit/579c1c851ca33c78de60c98777684f8ee5ceb26e))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Introduced new upcast `ConversionApi` helper methods - `conversionApi.safeInsert()` and `conversionApi.updateConversionResult()`. New methods are intended to simplify writing event based element-to-element converters. Closes [#7336](https://github.com/ckeditor/ckeditor5/issues/7336). ([commit](https://github.com/ckeditor/ckeditor5/commit/8d84af1610089ea7916401ecf6f636c9d330b459))
+* **[image](https://www.npmjs.com/package/@ckeditor/ckeditor5-image)**: Introduced the insert image via URL feature. Closes [#7794](https://github.com/ckeditor/ckeditor5/issues/7794). ([commit](https://github.com/ckeditor/ckeditor5/commit/bb00c23f6234751666e859e6e5d7e909f194e375))
+* **[indent](https://www.npmjs.com/package/@ckeditor/ckeditor5-indent)**: Block indentation is now recognized as a formatting attribute. Closes [#2358](https://github.com/ckeditor/ckeditor5/issues/2358). ([commit](https://github.com/ckeditor/ckeditor5/commit/6b2cc25dd717eb22caf7189d8cf33511397179c0))
+* **[list](https://www.npmjs.com/package/@ckeditor/ckeditor5-list)**: Introduced the list styles feature that allows customizing the list marker. Closes [#7801](https://github.com/ckeditor/ckeditor5/issues/7801). ([commit](https://github.com/ckeditor/ckeditor5/commit/137dd2856aecaa8f9c023e6ca9d01592707137a0))
+* **[markdown-gfm](https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm)**: Introduced the `Markdown` plugin. Closes [#6007](https://github.com/ckeditor/ckeditor5/issues/6007). ([commit](https://github.com/ckeditor/ckeditor5/commit/7cd5fc198e1977ecefbf0e455f4b514b467e7775))
+* **[markdown-gfm](https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm)**: The markdown data processor has been revamped and got the dependencies updated. Closes [#5988](https://github.com/ckeditor/ckeditor5/issues/5988). ([commit](https://github.com/ckeditor/ckeditor5/commit/3881349eae0c9a862e76487f8eb117d6ca3e38b0))
+* **[utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-utils)**: Introduced the `Rect#getBoundingRect()` method that returns a `Rect` instance containing all the rectangles passed as argument. Closes [#7858](https://github.com/ckeditor/ckeditor5/issues/7858). ([commit](https://github.com/ckeditor/ckeditor5/commit/ccfaf5e54854cc8a62ebbc005e35676f77be37c4))
+* **[utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-utils)**: Introduced the `passive` option support in the `DomEmitterMixin#listenTo()` method. Closes [#7828](https://github.com/ckeditor/ckeditor5/issues/7828). ([commit](https://github.com/ckeditor/ckeditor5/commit/a7ef65c8246b9591a9a2081cfb19266de0c6194b))
+* **[widget](https://www.npmjs.com/package/@ckeditor/ckeditor5-widget)**: Keyboard vertical navigation in the text lines next to objects should move the caret to the position closest to the object. Closes [#7630](https://github.com/ckeditor/ckeditor5/issues/7630). ([commit](https://github.com/ckeditor/ckeditor5/commit/7984a14a411416634d64d405da2d6d18a314e947))
+
+### Bug fixes
+
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Upcast conversion will now try to wrap text or inline elements in a paragraph in a place where is not allowed but a paragraph is allowed. Closes [#7753](https://github.com/ckeditor/ckeditor5/issues/7753), [#6698](https://github.com/ckeditor/ckeditor5/issues/6698). ([commit](https://github.com/ckeditor/ckeditor5/commit/5e857fd0ec6f4dc9e86dec0bf9c5b87289eedf8b))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The selection will no longer inherit attributes from an empty inline element. Closes [#7459](https://github.com/ckeditor/ckeditor5/issues/7459). ([commit](https://github.com/ckeditor/ckeditor5/commit/1ddb955cc667ad16b41521762f77b95382f467da))
+* **[link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link)**: Fixed a case where the link balloon would point invalid place after browser scroll or resize. Closes [#7705](https://github.com/ckeditor/ckeditor5/issues/7705). ([commit](https://github.com/ckeditor/ckeditor5/commit/5158209e2a39884a3015e317f17f33a340e2502d))
+* **[ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui)**: Dropdown panels from the editor's main toolbar should always float above the contextual balloons from the editor's content. Closes [#7874](https://github.com/ckeditor/ckeditor5/issues/7874). ([commit](https://github.com/ckeditor/ckeditor5/commit/57d3f02958ad32b8c774dbdc38e1a1210e75af1f))
+* **[ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui)**: Balloon toolbar should reposition and ungroup items correctly when the window resizes. Closes [#6444](https://github.com/ckeditor/ckeditor5/issues/6444). ([commit](https://github.com/ckeditor/ckeditor5/commit/32523780fa27146d4f74b538af4831d8b9683bd9))
+* **[utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-utils)**: `Rect` utility returns wrong sizes in case of a sequenced range. Closes [#7838](https://github.com/ckeditor/ckeditor5/issues/7838). ([commit](https://github.com/ckeditor/ckeditor5/commit/ccfaf5e54854cc8a62ebbc005e35676f77be37c4))
+
+### Other changes
+
+* **[markdown-gfm](https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm)**: Upgraded to Marked v1.1.1. Closes [#7850](https://github.com/ckeditor/ckeditor5/issues/7850). ([commit](https://github.com/ckeditor/ckeditor5/commit/d6c8731a33f3402b8bd71b987b762116efd3898a))
+* **[mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention)**: The <kbd>space</kbd> key will not confirm a mention selection from the list. Closes [#6394](https://github.com/ckeditor/ckeditor5/issues/6394). ([commit](https://github.com/ckeditor/ckeditor5/commit/a8d41ecbbeb5d36694ba74d0391805cfaa5214e7))
+* **[remove-format](https://www.npmjs.com/package/@ckeditor/ckeditor5-remove-format)**: Block formatting should be removed if the selection is inside that block. ([commit](https://github.com/ckeditor/ckeditor5/commit/6b2cc25dd717eb22caf7189d8cf33511397179c0))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: The `tableCell` model element brought by the `TableEditing` plugin is no longer an object (`SchemaItemDefinition#isObject`) in the `Schema` but a selectable (`SchemaItemDefinition#isSelectable`) (see [#6432](https://github.com/ckeditor/ckeditor5/issues/6432)). ([commit](https://github.com/ckeditor/ckeditor5/commit/579c1c851ca33c78de60c98777684f8ee5ceb26e))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Pressing <kbd>Shift</kbd>+<kbd>Tab</kbd> in the first table cell now selects entire table. Closes [#7535](https://github.com/ckeditor/ckeditor5/issues/7535). ([commit](https://github.com/ckeditor/ckeditor5/commit/3064c64733145b40290480f3299e168b74380d04))
+* **[ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui)**: The `clickOutsideHandler()` function will take into consideration that the editor can be placed in a shadow root while detecting a click. Closes [#7743](https://github.com/ckeditor/ckeditor5/issues/7743). ([commit](https://github.com/ckeditor/ckeditor5/commit/2dc026409051828618c274ae62ce331fe05681fe))
+
+  Thanks to [@ywsang](https://github.com/ywsang).
+* Updated translations. ([commit](https://github.com/ckeditor/ckeditor5/commit/fb260219a41e9342646878e619ddac17f680eabe), [commit](https://github.com/ckeditor/ckeditor5/commit/090c9f03d937998046d6fd27b6bbd1eaf101a8a0))
+
+### Released packages
+
+Check out the [Versioning policy](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html) guide for more information.
+
+<details>
+<summary>Released packages (summary)</summary>
+
+Major releases (contain major breaking changes):
+
+* [@ckeditor/ckeditor5-engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine): v21.0.0 => v22.0.0
+
+Minor releases (contain minor breaking changes):
+
+* [@ckeditor/ckeditor5-table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui): v21.0.0 => v22.0.0
+
+Releases containing new features:
+
+* [@ckeditor/ckeditor5-autoformat](https://www.npmjs.com/package/@ckeditor/ckeditor5-autoformat): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-clipboard](https://www.npmjs.com/package/@ckeditor/ckeditor5-clipboard): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-code-block](https://www.npmjs.com/package/@ckeditor/ckeditor5-code-block): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-core](https://www.npmjs.com/package/@ckeditor/ckeditor5-core): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-enter](https://www.npmjs.com/package/@ckeditor/ckeditor5-enter): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-font](https://www.npmjs.com/package/@ckeditor/ckeditor5-font): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-heading](https://www.npmjs.com/package/@ckeditor/ckeditor5-heading): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-horizontal-line](https://www.npmjs.com/package/@ckeditor/ckeditor5-horizontal-line): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-image](https://www.npmjs.com/package/@ckeditor/ckeditor5-image): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-indent](https://www.npmjs.com/package/@ckeditor/ckeditor5-indent): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-list](https://www.npmjs.com/package/@ckeditor/ckeditor5-list): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-markdown-gfm](https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-media-embed](https://www.npmjs.com/package/@ckeditor/ckeditor5-media-embed): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-page-break](https://www.npmjs.com/package/@ckeditor/ckeditor5-page-break): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-paragraph](https://www.npmjs.com/package/@ckeditor/ckeditor5-paragraph): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-remove-format](https://www.npmjs.com/package/@ckeditor/ckeditor5-remove-format): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-restricted-editing](https://www.npmjs.com/package/@ckeditor/ckeditor5-restricted-editing): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-theme-lark](https://www.npmjs.com/package/@ckeditor/ckeditor5-theme-lark): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-typing](https://www.npmjs.com/package/@ckeditor/ckeditor5-typing): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-utils): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-widget](https://www.npmjs.com/package/@ckeditor/ckeditor5-widget): v21.0.0 => v22.0.0
+
+Other releases:
+
+* [@ckeditor/ckeditor-cloud-services-core](https://www.npmjs.com/package/@ckeditor/ckeditor-cloud-services-core): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-adapter-ckfinder](https://www.npmjs.com/package/@ckeditor/ckeditor5-adapter-ckfinder): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-alignment](https://www.npmjs.com/package/@ckeditor/ckeditor5-alignment): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-autosave](https://www.npmjs.com/package/@ckeditor/ckeditor5-autosave): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-basic-styles](https://www.npmjs.com/package/@ckeditor/ckeditor5-basic-styles): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-block-quote](https://www.npmjs.com/package/@ckeditor/ckeditor5-block-quote): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-build-balloon](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-balloon): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-build-balloon-block](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-balloon-block): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-build-classic](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-classic): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-build-decoupled-document](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-decoupled-document): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-build-inline](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-inline): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-ckfinder](https://www.npmjs.com/package/@ckeditor/ckeditor5-ckfinder): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-cloud-services](https://www.npmjs.com/package/@ckeditor/ckeditor5-cloud-services): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-easy-image](https://www.npmjs.com/package/@ckeditor/ckeditor5-easy-image): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-editor-balloon](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-balloon): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-editor-classic](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-classic): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-editor-decoupled](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-decoupled): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-editor-inline](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-inline): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-essentials](https://www.npmjs.com/package/@ckeditor/ckeditor5-essentials): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-highlight](https://www.npmjs.com/package/@ckeditor/ckeditor5-highlight): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-paste-from-office](https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-select-all](https://www.npmjs.com/package/@ckeditor/ckeditor5-select-all): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-special-characters](https://www.npmjs.com/package/@ckeditor/ckeditor5-special-characters): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-undo](https://www.npmjs.com/package/@ckeditor/ckeditor5-undo): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-upload](https://www.npmjs.com/package/@ckeditor/ckeditor5-upload): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-watchdog](https://www.npmjs.com/package/@ckeditor/ckeditor5-watchdog): v21.0.0 => v22.0.0
+* [@ckeditor/ckeditor5-word-count](https://www.npmjs.com/package/@ckeditor/ckeditor5-word-count): v21.0.0 => v22.0.0
+</details>
+
+
 ## [21.0.0](https://github.com/ckeditor/ckeditor5/compare/v20.0.0...v21.0.0) (2020-07-28)
 
 ### Release highlights
@@ -27,7 +170,7 @@ Finally, we also took care of some of the developer experience-oriented improvem
 
 Please note that there are some **major breaking changes**. Be sure to review them before upgrading.
 
-Blog post link coming soon…
+Read more in the blog post: https://ckeditor.com/blog/ckeditor-5-v21.0.0-with-autolink-and-export-to-word-released/
 
 ### Collaboration features
 
@@ -714,6 +857,7 @@ Finally, this release comes with a couple of **important breaking changes**. The
 * The decoupled document build: the highlight plugin was replaced with font color and font background color features. The upgrade path requires performing data migration or customizing the build to use the highlight feature. Refer to https://github.com/ckeditor/ckeditor5-build-decoupled-document/releases/tag/v17.0.0 for more information.
 * The watchdog package: the `Watchdog` class was renamed and moved to a new module. See https://github.com/ckeditor/ckeditor5-watchdog/releases/tag/v17.0.0 for more information.
 * The restricted editing package: the class used by this feature to mark exceptions was changed from `ck-restricted-editing-exception` to `restricted-editing-exception`. The upgrade path requires performing data migration. Refer to https://github.com/ckeditor/ckeditor5-restricted-editing/releases/tag/v17.0.0 for more information.
+* The restricted editing package: the class used by this feature to mark exceptions was changed from `ck-restricted-editing-exception` to `restricted-editing-exception`. The upgrade path requires performing data migration. Refer to https://github.com/ckeditor/ckeditor5-restricted-editing/releases/tag/v17.0.0 for more information.
 
 Check the list of packages below to learn more about other breaking changes.
 

+ 6 - 1
docs/_snippets/examples/document-editor.js

@@ -6,11 +6,16 @@
 /* globals console, window, document */
 
 import DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document/src/ckeditor';
+import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize';
 import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
 
 DecoupledEditor
 	.create( document.querySelector( '.document-editor__editable' ), {
-		cloudServices: CS_CONFIG
+		extraPlugins: [ ImageResize ],
+		cloudServices: CS_CONFIG,
+		image: {
+			toolbar: [ 'imageTextAlternative', '|', 'imageStyle:alignLeft', 'imageStyle:full', 'imageStyle:alignRight' ]
+		}
 	} )
 	.then( editor => {
 		const toolbarContainer = document.querySelector( '.document-editor__toolbar' );

+ 24 - 23
docs/_snippets/examples/inline-editor.js

@@ -13,8 +13,29 @@ const inlineInjectElements = document.querySelectorAll( '#snippet-inline-editor
 
 Array.from( inlineInjectElements ).forEach( inlineElement => {
 	const config = {
-		extraPlugins: [ ImageResize ],
-		image: {
+		toolbar: {
+			viewportTopOffset: window.getViewportTopOffsetConfig()
+		},
+		cloudServices: CS_CONFIG
+	};
+
+	if ( inlineElement.tagName.toLowerCase() == 'header' ) {
+		config.removePlugins = [
+			'Blockquote',
+			'Image',
+			'ImageCaption',
+			'ImageStyle',
+			'ImageToolbar',
+			'ImageUpload',
+			'List',
+			'EasyImage',
+			'CKFinder',
+			'CKFinderUploadAdapter'
+		];
+		config.toolbar.items = [ 'heading', '|', 'bold', 'italic', 'link' ];
+	} else {
+		config.extraPlugins = [ ImageResize ];
+		config.image = {
 			resizeOptions: [
 				{
 					name: 'imageResize:original',
@@ -42,27 +63,7 @@ Array.from( inlineInjectElements ).forEach( inlineElement => {
 				'|',
 				'imageTextAlternative'
 			]
-		},
-		toolbar: {
-			viewportTopOffset: window.getViewportTopOffsetConfig()
-		},
-		cloudServices: CS_CONFIG
-	};
-
-	if ( inlineElement.tagName.toLowerCase() == 'header' ) {
-		config.removePlugins = [
-			'Blockquote',
-			'Image',
-			'ImageCaption',
-			'ImageStyle',
-			'ImageToolbar',
-			'ImageUpload',
-			'List',
-			'EasyImage',
-			'CKFinder',
-			'CKFinderUploadAdapter'
-		];
-		config.toolbar.items = [ 'heading', '|', 'bold', 'italic', 'link' ];
+		};
 	}
 
 	InlineEditor

+ 1 - 1
docs/_snippets/examples/multi-root-editor.html

@@ -11,7 +11,7 @@
 
 		<h4>Valletta</h4>
 
-		<figure class="image image-style-align-right">
+		<figure class="image image-style-side">
 			<img alt="Picture of a sunlit facade of a Maltan building." src="%BASE_PATH%/assets/img/malta.jpg">
 			<figcaption>It's siesta time in Valletta.</figcaption>
 		</figure>

+ 3 - 3
docs/_snippets/examples/multi-root-editor.js

@@ -404,8 +404,9 @@ MultirootEditor
 		toolbar: [ 'heading', '|', 'bold', 'italic', 'link', 'bulletedList', 'numberedList', 'imageUpload', 'blockQuote',
 			'insertTable', 'mediaEmbed', 'undo', 'redo' ],
 		image: {
-			toolbar: [ 'imageTextAlternative', '|', 'imageStyle:alignLeft', 'imageStyle:full', 'imageStyle:alignRight' ],
-			styles: [ 'full', 'alignLeft', 'alignRight' ]
+			toolbar: [ 'imageTextAlternative', '|', 'imageStyle:full',
+				'imageStyle:side' ],
+			styles: [ 'full', 'side' ]
 		},
 		table: {
 			contentToolbar: [
@@ -430,4 +431,3 @@ MultirootEditor
 	.catch( err => {
 		console.error( err.stack );
 	} );
-

+ 14 - 0
docs/_snippets/features/mathtype.html

@@ -3,3 +3,17 @@
 
 	<p><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo>=</mo><mfrac><mrow><mo>-</mo><mi>b</mi><mo>&#177;</mo><msqrt><msup><mi>b</mi><mn>2</mn></msup><mo>-</mo><mn>4</mn><mi>a</mi><mi>c</mi></msqrt></mrow><mrow><mn>2</mn><mi>a</mi></mrow></mfrac></math></p>
 </div>
+
+<script>
+	(() => {
+		const linkElement = document.createElement( 'link' );
+		linkElement.href = 'https://ckeditor.com/docs/ckeditor5/21.0.0/snippets/features/mathtype/snippet.css';
+		linkElement.type = 'text/css';
+		linkElement.rel = 'stylesheet';
+		linkElement.dataset[ 'cke' ] = 'true';
+
+		document.head.appendChild( linkElement );
+	})()
+</script>
+<script src="https://ckeditor.com/docs/ckeditor5/21.0.0/assets/snippet.js"></script>
+<script src="https://ckeditor.com/docs/ckeditor5/21.0.0/snippets/features/mathtype/snippet.js"></script>

+ 1 - 62
docs/_snippets/features/mathtype.js

@@ -3,65 +3,4 @@
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  */
 
-/* globals window, document, console */
-
-import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
-import ArticlePluginSet from '@ckeditor/ckeditor5-core/tests/_utils/articlepluginset';
-import EasyImage from '@ckeditor/ckeditor5-easy-image/src/easyimage';
-import MathType from '@wiris/mathtype-ckeditor5';
-import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
-
-ClassicEditor
-	.create( document.querySelector( '#mathtype-editor' ), {
-		plugins: [
-			ArticlePluginSet,
-			EasyImage,
-			MathType
-		],
-		toolbar: {
-			items: [
-				'heading',
-				'|',
-				'bold',
-				'italic',
-				'bulletedList',
-				'numberedList',
-				'|',
-				'outdent',
-				'indent',
-				'|',
-				'MathType',
-				'ChemType',
-				'|',
-				'blockQuote',
-				'link',
-				'mediaEmbed',
-				'insertTable',
-				'|',
-				'undo',
-				'redo'
-			],
-			viewportTopOffset: window.getViewportTopOffsetConfig()
-		},
-		image: {
-			styles: [
-				'full',
-				'alignLeft',
-				'alignRight'
-			],
-			toolbar: [
-				'imageStyle:alignLeft',
-				'imageStyle:full',
-				'imageStyle:alignRight',
-				'|',
-				'imageTextAlternative'
-			]
-		},
-		table: {
-			contentToolbar: [ 'tableColumn', 'tableRow', 'mergeTableCells' ]
-		},
-		cloudServices: CS_CONFIG
-	} )
-	.catch( err => {
-		console.error( err.stack );
-	} );
+/* Content removed as a workaround in #7944. Should be restored once the upstream is fixed. */

+ 3 - 3
docs/_snippets/framework/tutorials/block-widget.js

@@ -134,7 +134,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBox',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				const section = viewWriter.createContainerElement( 'section', { class: 'simple-box' } );
 
 				return toWidget( section, viewWriter, { label: 'simple box widget' } );
@@ -158,7 +158,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxTitle',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const h1 = viewWriter.createEditableElement( 'h1', { class: 'simple-box-title' } );
 
@@ -183,7 +183,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxDescription',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const div = viewWriter.createEditableElement( 'div', { class: 'simple-box-description' } );
 

+ 3 - 3
docs/_snippets/framework/tutorials/inline-widget.js

@@ -158,7 +158,7 @@ class PlaceholderEditing extends Plugin {
 				name: 'span',
 				classes: [ 'placeholder' ]
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Extract the "name" from "{name}".
 				const name = viewElement.getChild( 0 ).data.slice( 1, -1 );
 
@@ -168,7 +168,7 @@ class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: ( modelItem, viewWriter ) => {
+			view: ( modelItem, { writer: viewWriter } ) => {
 				const widgetElement = createPlaceholderView( modelItem, viewWriter );
 
 				// Enable widget handling on a placeholder element inside the editing view.
@@ -178,7 +178,7 @@ class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: createPlaceholderView
+			view: ( modelItem, { writer: viewWriter } ) => createPlaceholderView( modelItem, viewWriter )
 		} );
 
 		// Helper method for both downcast converters.

+ 3 - 3
docs/_snippets/framework/tutorials/using-react-in-widget.js

@@ -71,7 +71,7 @@ class ProductPreviewEditing extends Plugin {
 				name: 'section',
 				classes: 'product'
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Read the "data-id" attribute from the view and set it as the "id" in the model.
 				return modelWriter.createElement( 'productPreview', {
 					id: parseInt( viewElement.getAttribute( 'data-id' ) )
@@ -82,7 +82,7 @@ class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → data view)
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the data view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="..."></section>
@@ -96,7 +96,7 @@ class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → editing view)
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the editing view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="...">

+ 145 - 145
docs/builds/guides/integration/content-styles.md

@@ -48,8 +48,8 @@ Below there is a full list of content styles used by the editor features. You ca
 
 ```css
 /*
- * CKEditor 5 (v21.0.0) content styles.
- * Generated on Wed, 29 Jul 2020 12:14:43 GMT.
+ * CKEditor 5 (v22.0.0) content styles.
+ * Generated on Thu, 27 Aug 2020 12:13:06 GMT.
  * For more information, check out https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/content-styles.html
  */
 
@@ -66,44 +66,31 @@ Below there is a full list of content styles used by the editor features. You ca
 	--ck-todo-list-checkmark-size: 16px;
 }
 
-/* ckeditor5-image/theme/image.css */
-.ck-content .image {
-	display: table;
-	clear: both;
-	text-align: center;
-	margin: 1em auto;
+/* ckeditor5-highlight/theme/highlight.css */
+.ck-content .marker-yellow {
+	background-color: var(--ck-highlight-marker-yellow);
 }
-/* ckeditor5-image/theme/image.css */
-.ck-content .image img {
-	display: block;
-	margin: 0 auto;
-	max-width: 100%;
-	min-width: 50px;
+/* ckeditor5-highlight/theme/highlight.css */
+.ck-content .marker-green {
+	background-color: var(--ck-highlight-marker-green);
 }
-/* ckeditor5-image/theme/imagecaption.css */
-.ck-content .image > figcaption {
-	display: table-caption;
-	caption-side: bottom;
-	word-break: break-word;
-	color: hsl(0, 0%, 20%);
-	background-color: hsl(0, 0%, 97%);
-	padding: .6em;
-	font-size: .75em;
-	outline-offset: -1px;
+/* ckeditor5-highlight/theme/highlight.css */
+.ck-content .marker-pink {
+	background-color: var(--ck-highlight-marker-pink);
 }
-/* ckeditor5-image/theme/imageresize.css */
-.ck-content .image.image_resized {
-	max-width: 100%;
-	display: block;
-	box-sizing: border-box;
+/* ckeditor5-highlight/theme/highlight.css */
+.ck-content .marker-blue {
+	background-color: var(--ck-highlight-marker-blue);
 }
-/* ckeditor5-image/theme/imageresize.css */
-.ck-content .image.image_resized img {
-	width: 100%;
+/* ckeditor5-highlight/theme/highlight.css */
+.ck-content .pen-red {
+	color: var(--ck-highlight-pen-red);
+	background-color: transparent;
 }
-/* ckeditor5-image/theme/imageresize.css */
-.ck-content .image.image_resized > figcaption {
-	display: block;
+/* ckeditor5-highlight/theme/highlight.css */
+.ck-content .pen-green {
+	color: var(--ck-highlight-pen-green);
+	background-color: transparent;
 }
 /* ckeditor5-image/theme/imagestyle.css */
 .ck-content .image-style-side {
@@ -126,120 +113,50 @@ Below there is a full list of content styles used by the editor features. You ca
 	float: right;
 	margin-left: var(--ck-image-style-spacing);
 }
-/* ckeditor5-block-quote/theme/blockquote.css */
-.ck-content blockquote {
-	overflow: hidden;
-	padding-right: 1.5em;
-	padding-left: 1.5em;
-	margin-left: 0;
-	margin-right: 0;
-	font-style: italic;
-	border-left: solid 5px hsl(0, 0%, 80%);
-}
-/* ckeditor5-block-quote/theme/blockquote.css */
-.ck-content[dir="rtl"] blockquote {
-	border-left: 0;
-	border-right: solid 5px hsl(0, 0%, 80%);
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list {
-	list-style: none;
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list li {
-	margin-bottom: 5px;
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list li .todo-list {
-	margin-top: 5px;
+/* ckeditor5-image/theme/image.css */
+.ck-content .image {
+	display: table;
+	clear: both;
+	text-align: center;
+	margin: 1em auto;
 }
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input {
-	-webkit-appearance: none;
-	display: inline-block;
-	position: relative;
-	width: var(--ck-todo-list-checkmark-size);
-	height: var(--ck-todo-list-checkmark-size);
-	vertical-align: middle;
-	border: 0;
-	left: -25px;
-	margin-right: -15px;
-	right: 0;
-	margin-left: 0;
+/* ckeditor5-image/theme/image.css */
+.ck-content .image img {
+	display: block;
+	margin: 0 auto;
+	max-width: 100%;
+	min-width: 50px;
 }
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input::before {
+/* ckeditor5-image/theme/imageresize.css */
+.ck-content .image.image_resized {
+	max-width: 100%;
 	display: block;
-	position: absolute;
 	box-sizing: border-box;
-	content: '';
+}
+/* ckeditor5-image/theme/imageresize.css */
+.ck-content .image.image_resized img {
 	width: 100%;
-	height: 100%;
-	border: 1px solid hsl(0, 0%, 20%);
-	border-radius: 2px;
-	transition: 250ms ease-in-out box-shadow, 250ms ease-in-out background, 250ms ease-in-out border;
 }
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input::after {
+/* ckeditor5-image/theme/imageresize.css */
+.ck-content .image.image_resized > figcaption {
 	display: block;
-	position: absolute;
-	box-sizing: content-box;
-	pointer-events: none;
-	content: '';
-	left: calc( var(--ck-todo-list-checkmark-size) / 3 );
-	top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
-	width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
-	height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
-	border-style: solid;
-	border-color: transparent;
-	border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
-	transform: rotate(45deg);
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input[checked]::before {
-	background: hsl(126, 64%, 41%);
-	border-color: hsl(126, 64%, 41%);
-}
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label > input[checked]::after {
-	border-color: hsl(0, 0%, 100%);
 }
-/* ckeditor5-list/theme/todolist.css */
-.ck-content .todo-list .todo-list__label .todo-list__label__description {
-	vertical-align: middle;
-}
-/* ckeditor5-horizontal-line/theme/horizontalline.css */
-.ck-content hr {
-	margin: 15px 0;
-	height: 4px;
-	background: hsl(0, 0%, 87%);
-	border: 0;
-}
-/* ckeditor5-highlight/theme/highlight.css */
-.ck-content .marker-yellow {
-	background-color: var(--ck-highlight-marker-yellow);
-}
-/* ckeditor5-highlight/theme/highlight.css */
-.ck-content .marker-green {
-	background-color: var(--ck-highlight-marker-green);
-}
-/* ckeditor5-highlight/theme/highlight.css */
-.ck-content .marker-pink {
-	background-color: var(--ck-highlight-marker-pink);
-}
-/* ckeditor5-highlight/theme/highlight.css */
-.ck-content .marker-blue {
-	background-color: var(--ck-highlight-marker-blue);
-}
-/* ckeditor5-highlight/theme/highlight.css */
-.ck-content .pen-red {
-	color: var(--ck-highlight-pen-red);
-	background-color: transparent;
+/* ckeditor5-image/theme/imagecaption.css */
+.ck-content .image > figcaption {
+	display: table-caption;
+	caption-side: bottom;
+	word-break: break-word;
+	color: hsl(0, 0%, 20%);
+	background-color: hsl(0, 0%, 97%);
+	padding: .6em;
+	font-size: .75em;
+	outline-offset: -1px;
 }
-/* ckeditor5-highlight/theme/highlight.css */
-.ck-content .pen-green {
-	color: var(--ck-highlight-pen-green);
-	background-color: transparent;
+/* ckeditor5-basic-styles/theme/code.css */
+.ck-content code {
+	background-color: hsla(0, 0%, 78%, 0.3);
+	padding: .15em;
+	border-radius: 2px;
 }
 /* ckeditor5-font/theme/fontsize.css */
 .ck-content .text-tiny {
@@ -257,11 +174,20 @@ Below there is a full list of content styles used by the editor features. You ca
 .ck-content .text-huge {
 	font-size: 1.8em;
 }
-/* ckeditor5-basic-styles/theme/code.css */
-.ck-content code {
-	background-color: hsla(0, 0%, 78%, 0.3);
-	padding: .15em;
-	border-radius: 2px;
+/* ckeditor5-block-quote/theme/blockquote.css */
+.ck-content blockquote {
+	overflow: hidden;
+	padding-right: 1.5em;
+	padding-left: 1.5em;
+	margin-left: 0;
+	margin-right: 0;
+	font-style: italic;
+	border-left: solid 5px hsl(0, 0%, 80%);
+}
+/* ckeditor5-block-quote/theme/blockquote.css */
+.ck-content[dir="rtl"] blockquote {
+	border-left: 0;
+	border-right: solid 5px hsl(0, 0%, 80%);
 }
 /* ckeditor5-table/theme/table.css */
 .ck-content .table {
@@ -339,6 +265,80 @@ Below there is a full list of content styles used by the editor features. You ca
 	display: block;
 	min-width: 15em;
 }
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list {
+	list-style: none;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list li {
+	margin-bottom: 5px;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list li .todo-list {
+	margin-top: 5px;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input {
+	-webkit-appearance: none;
+	display: inline-block;
+	position: relative;
+	width: var(--ck-todo-list-checkmark-size);
+	height: var(--ck-todo-list-checkmark-size);
+	vertical-align: middle;
+	border: 0;
+	left: -25px;
+	margin-right: -15px;
+	right: 0;
+	margin-left: 0;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input::before {
+	display: block;
+	position: absolute;
+	box-sizing: border-box;
+	content: '';
+	width: 100%;
+	height: 100%;
+	border: 1px solid hsl(0, 0%, 20%);
+	border-radius: 2px;
+	transition: 250ms ease-in-out box-shadow, 250ms ease-in-out background, 250ms ease-in-out border;
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input::after {
+	display: block;
+	position: absolute;
+	box-sizing: content-box;
+	pointer-events: none;
+	content: '';
+	left: calc( var(--ck-todo-list-checkmark-size) / 3 );
+	top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
+	width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
+	height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
+	border-style: solid;
+	border-color: transparent;
+	border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
+	transform: rotate(45deg);
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input[checked]::before {
+	background: hsl(126, 64%, 41%);
+	border-color: hsl(126, 64%, 41%);
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label > input[checked]::after {
+	border-color: hsl(0, 0%, 100%);
+}
+/* ckeditor5-list/theme/todolist.css */
+.ck-content .todo-list .todo-list__label .todo-list__label__description {
+	vertical-align: middle;
+}
+/* ckeditor5-horizontal-line/theme/horizontalline.css */
+.ck-content hr {
+	margin: 15px 0;
+	height: 4px;
+	background: hsl(0, 0%, 87%);
+	border: 0;
+}
 /* ckeditor5-code-block/theme/codeblock.css */
 .ck-content pre {
 	padding: 1em;

+ 3 - 2
docs/framework/guides/contributing/testing-environment.md

@@ -54,11 +54,12 @@ In order to start the manual tests server, use the `yarn run manual` task.
 
 The task accepts the following options:
 
-* `--source-map` (alias `-s`) &ndash; Whether to generate useful source maps for the code.
 * `--files` &ndash; Specifies test files to run. Accepts a package name or a glob. For example `--files=ckeditor5` will only run tests from the CKEditor 5 main package. Read more about the [rules for converting the `--files` option to a glob pattern](https://github.com/ckeditor/ckeditor5-dev/tree/master/packages/ckeditor5-dev-tests#rules-for-converting---files-option-to-glob-pattern).
-* `--additionalLanguages="ar,pl,..."` &ndash; Specifies extra languages to the [CKEditor 5 webpack plugin](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-webpack-plugin). Check out the {@link features/ui-language UI language guide} to learn more.
+* `--language="pl"` &ndash; The main language build in into all test editors, passed to the [CKEditor 5 webpack plugin](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-webpack-plugin).  Check out the {@link features/ui-language UI language guide} to learn more. When unspecified, `'en'` is passed to the test runner.
+* `--additionalLanguages="ar,pl,..."` &ndash; Specifies extra languages passed to the [CKEditor 5 webpack plugin](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-webpack-plugin). Check out the {@link features/ui-language UI language guide} to learn more.
 * `--debug` (alias `-d`) &ndash; Allows specifying custom debug flags. For example, the `--debug engine` option uncomments the `// @if CK_DEBUG_ENGINE //` lines in the code. Note that by default `--debug` is set to `true` even if you did not specify it. This enables the base set of debug logs (`// @if CK_DEBUG //`) which should always be enabled in the testing environment. You can completely turn off the debug mode by setting the `--debug false` option.
 * `--port` &ndash; Specifies the port for the server to use. Defaults to `8125`.
+* `--identityFile="/path/to/file.js"` &ndash; Path to the file containing the license key(s) for closed–source features.
 
 It starts the server available at http://localhost:8125.
 

+ 6 - 6
docs/framework/guides/tutorials/implementing-a-block-widget.md

@@ -646,7 +646,7 @@ export default class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBox',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				const section = viewWriter.createContainerElement( 'section', { class: 'simple-box' } );
 
 				return toWidget( section, viewWriter, { label: 'simple box widget' } );
@@ -670,7 +670,7 @@ export default class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxTitle',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const h1 = viewWriter.createEditableElement( 'h1', { class: 'simple-box-title' } );
 
@@ -695,7 +695,7 @@ export default class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxDescription',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const div = viewWriter.createEditableElement( 'div', { class: 'simple-box-description' } );
 
@@ -1111,7 +1111,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBox',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				const section = viewWriter.createContainerElement( 'section', { class: 'simple-box' } );
 
 				return toWidget( section, viewWriter, { label: 'simple box widget' } );
@@ -1135,7 +1135,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxTitle',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const h1 = viewWriter.createEditableElement( 'h1', { class: 'simple-box-title' } );
 
@@ -1160,7 +1160,7 @@ class SimpleBoxEditing extends Plugin {
 		} );
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'simpleBoxDescription',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// Note: You use a more specialized createEditableElement() method here.
 				const div = viewWriter.createEditableElement( 'div', { class: 'simple-box-description' } );
 

+ 6 - 6
docs/framework/guides/tutorials/implementing-an-inline-widget.md

@@ -325,7 +325,7 @@ export default class PlaceholderEditing extends Plugin {
 				name: 'span',
 				classes: [ 'placeholder' ]
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Extract the "name" from "{name}".
 				const name = viewElement.getChild( 0 ).data.slice( 1, -1 );
 
@@ -335,7 +335,7 @@ export default class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: ( modelItem, viewWriter ) => {
+			view: ( modelItem, { writer: viewWriter } ) => {
 				const widgetElement = createPlaceholderView( modelItem, viewWriter );
 
 				// Enable widget handling on a placeholder element inside the editing view.
@@ -345,7 +345,7 @@ export default class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: createPlaceholderView
+			view: ( modelItem, { writer: viewWriter } ) => createPlaceholderView( modelItem, viewWriter )
 		} );
 
 		// Helper method for both downcast converters.
@@ -895,7 +895,7 @@ class PlaceholderEditing extends Plugin {
 				name: 'span',
 				classes: [ 'placeholder' ]
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Extract the "name" from "{name}".
 				const name = viewElement.getChild( 0 ).data.slice( 1, -1 );
 
@@ -905,7 +905,7 @@ class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: ( modelItem, viewWriter ) => {
+			view: ( modelItem, { writer: viewWriter } ) => {
 				const widgetElement = createPlaceholderView( modelItem, viewWriter );
 
 				// Enable widget handling on a placeholder element inside the editing view.
@@ -915,7 +915,7 @@ class PlaceholderEditing extends Plugin {
 
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'placeholder',
-			view: createPlaceholderView
+			view: ( modelItem, { writer: viewWriter } ) => createPlaceholderView( modelItem, viewWriter )
 		} );
 
 		// Helper method for both downcast converters.

+ 6 - 6
docs/framework/guides/tutorials/using-react-in-a-widget.md

@@ -322,7 +322,7 @@ export default class ProductPreviewEditing extends Plugin {
 				name: 'section',
 				classes: 'product'
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Read the "data-id" attribute from the view and set it as the "id" in the model.
 				return modelWriter.createElement( 'productPreview', {
 					id: parseInt( viewElement.getAttribute( 'data-id' ) )
@@ -333,7 +333,7 @@ export default class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → data view)
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the data view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="..."></section>
@@ -347,7 +347,7 @@ export default class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → editing view)
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the editing view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="...">
@@ -1137,7 +1137,7 @@ export default class ProductPreviewEditing extends Plugin {
 				name: 'section',
 				classes: 'product'
 			},
-			model: ( viewElement, modelWriter ) => {
+			model: ( viewElement, { writer: modelWriter } ) => {
 				// Read the "data-id" attribute from the view and set it as the "id" in the model.
 				return modelWriter.createElement( 'productPreview', {
 					id: parseInt( viewElement.getAttribute( 'data-id' ) )
@@ -1148,7 +1148,7 @@ export default class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → data view)
 		conversion.for( 'dataDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the data view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="..."></section>
@@ -1162,7 +1162,7 @@ export default class ProductPreviewEditing extends Plugin {
 		// <productPreview> converters (model → editing view)
 		conversion.for( 'editingDowncast' ).elementToElement( {
 			model: 'productPreview',
-			view: ( modelElement, viewWriter ) => {
+			view: ( modelElement, { writer: viewWriter } ) => {
 				// In the editing view, the model <productPreview> corresponds to:
 				//
 				// <section class="product" data-id="...">

+ 1 - 1
docs/umberto.json

@@ -3,7 +3,7 @@
 	"slug": "ckeditor5",
 	"hexo-config": "docs/hexo-custom-config.json",
 	"extraStyles": "assets/styles.css",
-	"packagesDir": ["packages", "external/*/packages"],
+	"packagesDir": ["packages", "external", "external/*/packages" ],
 	"path": "docs",
 	"observablesdocs": "module:utils/observablemixin~ObservableMixin",
 	"redirects": {

+ 70 - 65
package.json

@@ -1,6 +1,6 @@
 {
   "name": "ckeditor5",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "The development environment of CKEditor 5 – the best browser-based rich text editor.",
   "private": true,
   "keywords": [
@@ -21,71 +21,73 @@
     "framework"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor-cloud-services-core": "^21.0.0",
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^21.0.0",
-    "@ckeditor/ckeditor5-alignment": "^21.0.0",
-    "@ckeditor/ckeditor5-autoformat": "^21.0.0",
-    "@ckeditor/ckeditor5-autosave": "^21.0.0",
-    "@ckeditor/ckeditor5-basic-styles": "^21.0.0",
-    "@ckeditor/ckeditor5-block-quote": "^21.0.0",
-    "@ckeditor/ckeditor5-build-balloon": "^21.0.0",
-    "@ckeditor/ckeditor5-build-balloon-block": "^21.0.0",
-    "@ckeditor/ckeditor5-build-classic": "^21.0.0",
-    "@ckeditor/ckeditor5-build-decoupled-document": "^21.0.0",
-    "@ckeditor/ckeditor5-build-inline": "^21.0.0",
-    "@ckeditor/ckeditor5-ckfinder": "^21.0.0",
-    "@ckeditor/ckeditor5-clipboard": "^21.0.0",
-    "@ckeditor/ckeditor5-cloud-services": "^21.0.0",
-    "@ckeditor/ckeditor5-code-block": "^21.0.0",
-    "@ckeditor/ckeditor5-core": "^21.0.0",
-    "@ckeditor/ckeditor5-easy-image": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-balloon": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-classic": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-decoupled": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-inline": "^21.0.0",
-    "@ckeditor/ckeditor5-engine": "^21.0.0",
-    "@ckeditor/ckeditor5-enter": "^21.0.0",
-    "@ckeditor/ckeditor5-essentials": "^21.0.0",
-    "@ckeditor/ckeditor5-font": "^21.0.0",
-    "@ckeditor/ckeditor5-heading": "^21.0.0",
-    "@ckeditor/ckeditor5-highlight": "^21.0.0",
-    "@ckeditor/ckeditor5-horizontal-line": "^21.0.0",
-    "@ckeditor/ckeditor5-image": "^21.0.0",
-    "@ckeditor/ckeditor5-indent": "^21.0.0",
-    "@ckeditor/ckeditor5-link": "^21.0.0",
-    "@ckeditor/ckeditor5-list": "^21.0.0",
-    "@ckeditor/ckeditor5-markdown-gfm": "^21.0.0",
-    "@ckeditor/ckeditor5-media-embed": "^21.0.0",
-    "@ckeditor/ckeditor5-mention": "^21.0.0",
-    "@ckeditor/ckeditor5-page-break": "^21.0.0",
-    "@ckeditor/ckeditor5-paragraph": "^21.0.0",
-    "@ckeditor/ckeditor5-paste-from-office": "^21.0.0",
-    "@ckeditor/ckeditor5-remove-format": "^21.0.0",
-    "@ckeditor/ckeditor5-restricted-editing": "^21.0.0",
-    "@ckeditor/ckeditor5-select-all": "^21.0.0",
-    "@ckeditor/ckeditor5-special-characters": "^21.0.0",
-    "@ckeditor/ckeditor5-table": "^21.0.0",
-    "@ckeditor/ckeditor5-theme-lark": "^21.0.0",
-    "@ckeditor/ckeditor5-typing": "^21.0.0",
-    "@ckeditor/ckeditor5-ui": "^21.0.0",
-    "@ckeditor/ckeditor5-undo": "^21.0.0",
-    "@ckeditor/ckeditor5-upload": "^21.0.0",
-    "@ckeditor/ckeditor5-utils": "^21.0.0",
-    "@ckeditor/ckeditor5-watchdog": "^21.0.0",
-    "@ckeditor/ckeditor5-widget": "^21.0.0",
-    "@ckeditor/ckeditor5-word-count": "^21.0.0"
+    "@ckeditor/ckeditor-cloud-services-core": "^22.0.0",
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^22.0.0",
+    "@ckeditor/ckeditor5-alignment": "^22.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^22.0.0",
+    "@ckeditor/ckeditor5-autosave": "^22.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^22.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^22.0.0",
+    "@ckeditor/ckeditor5-build-balloon": "^22.0.0",
+    "@ckeditor/ckeditor5-build-balloon-block": "^22.0.0",
+    "@ckeditor/ckeditor5-build-classic": "^22.0.0",
+    "@ckeditor/ckeditor5-build-decoupled-document": "^22.0.0",
+    "@ckeditor/ckeditor5-build-inline": "^22.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^22.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^22.0.0",
+    "@ckeditor/ckeditor5-cloud-services": "^22.0.0",
+    "@ckeditor/ckeditor5-code-block": "^22.0.0",
+    "@ckeditor/ckeditor5-core": "^22.0.0",
+    "@ckeditor/ckeditor5-easy-image": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-decoupled": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-inline": "^22.0.0",
+    "@ckeditor/ckeditor5-engine": "^22.0.0",
+    "@ckeditor/ckeditor5-enter": "^22.0.0",
+    "@ckeditor/ckeditor5-essentials": "^22.0.0",
+    "@ckeditor/ckeditor5-font": "^22.0.0",
+    "@ckeditor/ckeditor5-heading": "^22.0.0",
+    "@ckeditor/ckeditor5-highlight": "^22.0.0",
+    "@ckeditor/ckeditor5-horizontal-line": "^22.0.0",
+    "@ckeditor/ckeditor5-image": "^22.0.0",
+    "@ckeditor/ckeditor5-indent": "^22.0.0",
+    "@ckeditor/ckeditor5-link": "^22.0.0",
+    "@ckeditor/ckeditor5-list": "^22.0.0",
+    "@ckeditor/ckeditor5-markdown-gfm": "^22.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^22.0.0",
+    "@ckeditor/ckeditor5-mention": "^22.0.0",
+    "@ckeditor/ckeditor5-page-break": "^22.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^22.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "^22.0.0",
+    "@ckeditor/ckeditor5-remove-format": "^22.0.0",
+    "@ckeditor/ckeditor5-restricted-editing": "^22.0.0",
+    "@ckeditor/ckeditor5-select-all": "^22.0.0",
+    "@ckeditor/ckeditor5-special-characters": "^22.0.0",
+    "@ckeditor/ckeditor5-table": "^22.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^22.0.0",
+    "@ckeditor/ckeditor5-typing": "^22.0.0",
+    "@ckeditor/ckeditor5-ui": "^22.0.0",
+    "@ckeditor/ckeditor5-undo": "^22.0.0",
+    "@ckeditor/ckeditor5-upload": "^22.0.0",
+    "@ckeditor/ckeditor5-utils": "^22.0.0",
+    "@ckeditor/ckeditor5-watchdog": "^22.0.0",
+    "@ckeditor/ckeditor5-widget": "^22.0.0",
+    "@ckeditor/ckeditor5-word-count": "^22.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-comments": "^21.0.0",
-    "@ckeditor/ckeditor5-dev-docs": "^23.1.1",
-    "@ckeditor/ckeditor5-dev-env": "^23.1.1",
-    "@ckeditor/ckeditor5-dev-tests": "^23.1.1",
-    "@ckeditor/ckeditor5-dev-utils": "^23.1.1",
-    "@ckeditor/ckeditor5-dev-webpack-plugin": "^23.1.1",
+    "@ckeditor/ckeditor5-comments": "^22.0.0",
+    "@ckeditor/ckeditor5-dev-docs": "^23.2.0",
+    "@ckeditor/ckeditor5-dev-env": "^23.2.0",
+    "@ckeditor/ckeditor5-dev-tests": "^23.3.0",
+    "@ckeditor/ckeditor5-dev-utils": "^23.2.0",
+    "@ckeditor/ckeditor5-dev-webpack-plugin": "^23.2.0",
+    "@ckeditor/ckeditor5-export-pdf": "^1.0.0",
+    "@ckeditor/ckeditor5-export-word": "^0.0.2",
     "@ckeditor/ckeditor5-inspector": "^2.2.0",
     "@ckeditor/ckeditor5-react": "^2.1.0",
-    "@ckeditor/ckeditor5-real-time-collaboration": "^21.0.0",
-    "@ckeditor/ckeditor5-track-changes": "^21.0.0",
+    "@ckeditor/ckeditor5-real-time-collaboration": "^22.0.0",
+    "@ckeditor/ckeditor5-track-changes": "^22.0.0",
     "@webspellchecker/wproofreader-ckeditor5": "^1.0.5",
     "@wiris/mathtype-ckeditor5": "7.20.0",
     "babel-standalone": "^6.26.0",
@@ -97,6 +99,7 @@
     "http-server": "^0.12.3",
     "husky": "^4.2.5",
     "lint-staged": "^10.2.6",
+    "marked": "^1.1.1",
     "mini-css-extract-plugin": "^0.9.0",
     "minimatch": "^3.0.4",
     "mkdirp": "^1.0.4",
@@ -111,7 +114,7 @@
     "stylelint-config-ckeditor5": "^2.0.0",
     "svgo": "^1.3.2",
     "terser-webpack-plugin": "^3.0.2",
-    "umberto": "^1.5.2",
+    "umberto": "^1.5.4",
     "webpack": "^4.43.0"
   },
   "engines": {
@@ -129,8 +132,8 @@
   "scripts": {
     "lint": "eslint --quiet '**/*.js'",
     "stylelint": "stylelint --quiet --allow-empty-input 'packages/**/*.css' 'external/*/packages/**/*.css' 'docs/**/*.css'",
-    "test": "node --max_old_space_size=4096 node_modules/@ckeditor/ckeditor5-dev-tests/bin/test.js",
-    "manual": "node --max_old_space_size=4096 node_modules/@ckeditor/ckeditor5-dev-tests/bin/test-manual.js",
+    "test": "node --max_old_space_size=8192 node_modules/@ckeditor/ckeditor5-dev-tests/bin/test.js",
+    "manual": "node --max_old_space_size=8192 node_modules/@ckeditor/ckeditor5-dev-tests/bin/test-manual.js",
     "bootstrap": "yarn install",
     "clean": "rm -rf ./node_modules && rm -rf ./external/*/node_modules",
     "reset": "rm -rf ./node_modules && yarn run bootstrap",
@@ -172,6 +175,8 @@
       "packages/*",
       "external/*",
       "external/*/packages/*",
+      "external/*/packages/**/ckeditor5",
+      "external/*/packages/**/frontend",
       "."
     ],
     "nohoist": [

+ 2 - 2
packages/ckeditor-cloud-services-core/package.json

@@ -1,13 +1,13 @@
 {
   "name": "@ckeditor/ckeditor-cloud-services-core",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "CKEditor Cloud Services Core API.",
   "keywords": [
     "ckeditor5",
     "ckeditor5-lib"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-utils": "^21.0.0"
+    "@ckeditor/ckeditor5-utils": "^22.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 13 - 13
packages/ckeditor5-adapter-ckfinder/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-adapter-ckfinder",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "CKFinder adapter for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,20 +10,20 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^21.0.0",
-    "@ckeditor/ckeditor5-upload": "^21.0.0"
+    "@ckeditor/ckeditor5-core": "^22.0.0",
+    "@ckeditor/ckeditor5-upload": "^22.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^21.0.0",
-    "@ckeditor/ckeditor5-clipboard": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-classic": "^21.0.0",
-    "@ckeditor/ckeditor5-enter": "^21.0.0",
-    "@ckeditor/ckeditor5-heading": "^21.0.0",
-    "@ckeditor/ckeditor5-image": "^21.0.0",
-    "@ckeditor/ckeditor5-list": "^21.0.0",
-    "@ckeditor/ckeditor5-paragraph": "^21.0.0",
-    "@ckeditor/ckeditor5-typing": "^21.0.0",
-    "@ckeditor/ckeditor5-undo": "^21.0.0"
+    "@ckeditor/ckeditor5-basic-styles": "^22.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^22.0.0",
+    "@ckeditor/ckeditor5-enter": "^22.0.0",
+    "@ckeditor/ckeditor5-heading": "^22.0.0",
+    "@ckeditor/ckeditor5-image": "^22.0.0",
+    "@ckeditor/ckeditor5-list": "^22.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^22.0.0",
+    "@ckeditor/ckeditor5-typing": "^22.0.0",
+    "@ckeditor/ckeditor5-undo": "^22.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 13 - 13
packages/ckeditor5-alignment/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-alignment",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "Text alignment feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,20 +10,20 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^21.0.0",
-    "@ckeditor/ckeditor5-ui": "^21.0.0"
+    "@ckeditor/ckeditor5-core": "^22.0.0",
+    "@ckeditor/ckeditor5-ui": "^22.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-block-quote": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-classic": "^21.0.0",
-    "@ckeditor/ckeditor5-engine": "^21.0.0",
-    "@ckeditor/ckeditor5-enter": "^21.0.0",
-    "@ckeditor/ckeditor5-heading": "^21.0.0",
-    "@ckeditor/ckeditor5-image": "^21.0.0",
-    "@ckeditor/ckeditor5-list": "^21.0.0",
-    "@ckeditor/ckeditor5-paragraph": "^21.0.0",
-    "@ckeditor/ckeditor5-typing": "^21.0.0",
-    "@ckeditor/ckeditor5-utils": "^21.0.0"
+    "@ckeditor/ckeditor5-block-quote": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^22.0.0",
+    "@ckeditor/ckeditor5-engine": "^22.0.0",
+    "@ckeditor/ckeditor5-enter": "^22.0.0",
+    "@ckeditor/ckeditor5-heading": "^22.0.0",
+    "@ckeditor/ckeditor5-image": "^22.0.0",
+    "@ckeditor/ckeditor5-list": "^22.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^22.0.0",
+    "@ckeditor/ckeditor5-typing": "^22.0.0",
+    "@ckeditor/ckeditor5-utils": "^22.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 14 - 14
packages/ckeditor5-autoformat/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-autoformat",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "Autoformatting feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,21 +10,21 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^21.0.0",
-    "@ckeditor/ckeditor5-typing": "^21.0.0"
+    "@ckeditor/ckeditor5-core": "^22.0.0",
+    "@ckeditor/ckeditor5-typing": "^22.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^21.0.0",
-    "@ckeditor/ckeditor5-block-quote": "^21.0.0",
-    "@ckeditor/ckeditor5-code-block": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-classic": "^21.0.0",
-    "@ckeditor/ckeditor5-engine": "^21.0.0",
-    "@ckeditor/ckeditor5-enter": "^21.0.0",
-    "@ckeditor/ckeditor5-heading": "^21.0.0",
-    "@ckeditor/ckeditor5-list": "^21.0.0",
-    "@ckeditor/ckeditor5-paragraph": "^21.0.0",
-    "@ckeditor/ckeditor5-undo": "^21.0.0",
-    "@ckeditor/ckeditor5-utils": "^21.0.0"
+    "@ckeditor/ckeditor5-basic-styles": "^22.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^22.0.0",
+    "@ckeditor/ckeditor5-code-block": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^22.0.0",
+    "@ckeditor/ckeditor5-engine": "^22.0.0",
+    "@ckeditor/ckeditor5-enter": "^22.0.0",
+    "@ckeditor/ckeditor5-heading": "^22.0.0",
+    "@ckeditor/ckeditor5-list": "^22.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^22.0.0",
+    "@ckeditor/ckeditor5-undo": "^22.0.0",
+    "@ckeditor/ckeditor5-utils": "^22.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 5 - 5
packages/ckeditor5-autosave/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-autosave",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "Autosave feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,13 +10,13 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^21.0.0",
-    "@ckeditor/ckeditor5-utils": "^21.0.0",
+    "@ckeditor/ckeditor5-core": "^22.0.0",
+    "@ckeditor/ckeditor5-utils": "^22.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^21.0.0",
-    "@ckeditor/ckeditor5-paragraph": "^21.0.0"
+    "@ckeditor/ckeditor5-editor-classic": "^22.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^22.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 10 - 10
packages/ckeditor5-basic-styles/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-basic-styles",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "Basic styles feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,17 +10,17 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^21.0.0",
-    "@ckeditor/ckeditor5-typing": "^21.0.0",
-    "@ckeditor/ckeditor5-ui": "^21.0.0"
+    "@ckeditor/ckeditor5-core": "^22.0.0",
+    "@ckeditor/ckeditor5-typing": "^22.0.0",
+    "@ckeditor/ckeditor5-ui": "^22.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^21.0.0",
-    "@ckeditor/ckeditor5-engine": "^21.0.0",
-    "@ckeditor/ckeditor5-essentials": "^21.0.0",
-    "@ckeditor/ckeditor5-paragraph": "^21.0.0",
-    "@ckeditor/ckeditor5-remove-format": "^21.0.0",
-    "@ckeditor/ckeditor5-utils": "^21.0.0"
+    "@ckeditor/ckeditor5-editor-classic": "^22.0.0",
+    "@ckeditor/ckeditor5-engine": "^22.0.0",
+    "@ckeditor/ckeditor5-essentials": "^22.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^22.0.0",
+    "@ckeditor/ckeditor5-remove-format": "^22.0.0",
+    "@ckeditor/ckeditor5-utils": "^22.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 14 - 14
packages/ckeditor5-block-quote/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-block-quote",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "Block quote feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,21 +10,21 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^21.0.0",
-    "@ckeditor/ckeditor5-ui": "^21.0.0",
-    "@ckeditor/ckeditor5-utils": "^21.0.0"
+    "@ckeditor/ckeditor5-core": "^22.0.0",
+    "@ckeditor/ckeditor5-ui": "^22.0.0",
+    "@ckeditor/ckeditor5-utils": "^22.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-classic": "^21.0.0",
-    "@ckeditor/ckeditor5-engine": "^21.0.0",
-    "@ckeditor/ckeditor5-enter": "^21.0.0",
-    "@ckeditor/ckeditor5-heading": "^21.0.0",
-    "@ckeditor/ckeditor5-image": "^21.0.0",
-    "@ckeditor/ckeditor5-list": "^21.0.0",
-    "@ckeditor/ckeditor5-paragraph": "^21.0.0",
-    "@ckeditor/ckeditor5-table": "^21.0.0",
-    "@ckeditor/ckeditor5-typing": "^21.0.0"
+    "@ckeditor/ckeditor5-basic-styles": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^22.0.0",
+    "@ckeditor/ckeditor5-engine": "^22.0.0",
+    "@ckeditor/ckeditor5-enter": "^22.0.0",
+    "@ckeditor/ckeditor5-heading": "^22.0.0",
+    "@ckeditor/ckeditor5-image": "^22.0.0",
+    "@ckeditor/ckeditor5-list": "^22.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^22.0.0",
+    "@ckeditor/ckeditor5-table": "^22.0.0",
+    "@ckeditor/ckeditor5-typing": "^22.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/ckeditor.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/ckeditor.js.map


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ar.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ast.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/az.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/bg.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/cs.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/da.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/de.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/el.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/en-au.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/en-gb.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/eo.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/es.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/et.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/eu.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/fa.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/fi.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/fr.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/gl.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/he.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/hr.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/hu.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/id.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/it.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ja.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/km.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/kn.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ko.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ku.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/lt.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/lv.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/nb.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ne.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/nl.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/no.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/pl.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/pt-br.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/pt.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ro.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ru.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/si.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/sk.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/sq.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/sr-latn.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/sr.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/sv.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/th.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/tr.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ug.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/uk.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/vi.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/zh-cn.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/zh.js


+ 22 - 22
packages/ckeditor5-build-balloon-block/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-build-balloon-block",
-  "version": "21.0.0",
+  "version": "22.0.0",
   "description": "The balloon editor build of CKEditor 5 with a block toolbar – the best browser-based rich text editor.",
   "keywords": [
     "wysiwyg",
@@ -25,29 +25,29 @@
     "build"
   ],
   "devDependencies": {
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^21.0.0",
-    "@ckeditor/ckeditor5-autoformat": "^21.0.0",
-    "@ckeditor/ckeditor5-basic-styles": "^21.0.0",
-    "@ckeditor/ckeditor5-block-quote": "^21.0.0",
-    "@ckeditor/ckeditor5-ckfinder": "^21.0.0",
-    "@ckeditor/ckeditor5-core": "^21.0.0",
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^22.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^22.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^22.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^22.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^22.0.0",
+    "@ckeditor/ckeditor5-core": "^22.0.0",
     "@ckeditor/ckeditor5-dev-utils": "^20.0.0",
     "@ckeditor/ckeditor5-dev-webpack-plugin": "^20.0.0",
-    "@ckeditor/ckeditor5-easy-image": "^21.0.0",
-    "@ckeditor/ckeditor5-editor-balloon": "^21.0.0",
-    "@ckeditor/ckeditor5-essentials": "^21.0.0",
-    "@ckeditor/ckeditor5-heading": "^21.0.0",
-    "@ckeditor/ckeditor5-image": "^21.0.0",
-    "@ckeditor/ckeditor5-indent": "^21.0.0",
-    "@ckeditor/ckeditor5-link": "^21.0.0",
-    "@ckeditor/ckeditor5-list": "^21.0.0",
-    "@ckeditor/ckeditor5-media-embed": "^21.0.0",
-    "@ckeditor/ckeditor5-paragraph": "^21.0.0",
-    "@ckeditor/ckeditor5-paste-from-office": "^21.0.0",
-    "@ckeditor/ckeditor5-table": "^21.0.0",
-    "@ckeditor/ckeditor5-typing": "^21.0.0",
-    "@ckeditor/ckeditor5-theme-lark": "^21.0.0",
-    "@ckeditor/ckeditor5-ui": "^21.0.0",
+    "@ckeditor/ckeditor5-easy-image": "^22.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^22.0.0",
+    "@ckeditor/ckeditor5-essentials": "^22.0.0",
+    "@ckeditor/ckeditor5-heading": "^22.0.0",
+    "@ckeditor/ckeditor5-image": "^22.0.0",
+    "@ckeditor/ckeditor5-indent": "^22.0.0",
+    "@ckeditor/ckeditor5-link": "^22.0.0",
+    "@ckeditor/ckeditor5-list": "^22.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^22.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^22.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "^22.0.0",
+    "@ckeditor/ckeditor5-table": "^22.0.0",
+    "@ckeditor/ckeditor5-typing": "^22.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^22.0.0",
+    "@ckeditor/ckeditor5-ui": "^22.0.0",
     "postcss-loader": "^3.0.0",
     "raw-loader": "^4.0.1",
     "style-loader": "^1.2.1",

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/ckeditor.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/ckeditor.js.map


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/ar.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/ast.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/az.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/bg.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/cs.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/da.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/de.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/el.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/en-au.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/en-gb.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/eo.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/es.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/et.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/eu.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/fa.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/fi.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/fr.js


+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/gl.js


Некоторые файлы не были показаны из-за большого количества измененных файлов