Преглед изворни кода

Merge branch 'master' into i/7956

# Conflicts:
#	packages/ckeditor5-engine/src/conversion/downcastdispatcher.js
Maciej Gołaszewski пре 5 година
родитељ
комит
120af2320b
100 измењених фајлова са 650 додато и 485 уклоњено
  1. 6 0
      .gitignore
  2. 145 1
      CHANGELOG.md
  3. 24 23
      docs/_snippets/examples/inline-editor.js
  4. 14 0
      docs/_snippets/features/mathtype.html
  5. 1 62
      docs/_snippets/features/mathtype.js
  6. 0 8
      docs/_snippets/features/wproofreader.html
  7. 47 1
      docs/_snippets/features/wproofreader.js
  8. 3 3
      docs/_snippets/framework/tutorials/block-widget.js
  9. 3 3
      docs/_snippets/framework/tutorials/inline-widget.js
  10. 3 3
      docs/_snippets/framework/tutorials/using-react-in-widget.js
  11. 145 145
      docs/builds/guides/integration/content-styles.md
  12. 58 39
      docs/features/spelling-and-grammar-checking.md
  13. 2 2
      docs/framework/guides/architecture/editing-engine.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. 66 62
      package.json
  19. 2 2
      packages/ckeditor-cloud-services-core/package.json
  20. 1 1
      packages/ckeditor5-adapter-ckfinder/lang/translations/ko.po
  21. 13 13
      packages/ckeditor5-adapter-ckfinder/package.json
  22. 4 4
      packages/ckeditor5-alignment/lang/translations/ko.po
  23. 1 1
      packages/ckeditor5-alignment/lang/translations/zh.po
  24. 13 13
      packages/ckeditor5-alignment/package.json
  25. 3 2
      packages/ckeditor5-autoformat/docs/features/autoformat.md
  26. 14 14
      packages/ckeditor5-autoformat/package.json
  27. 1 1
      packages/ckeditor5-autosave/lang/translations/ko.po
  28. 5 5
      packages/ckeditor5-autosave/package.json
  29. 1 1
      packages/ckeditor5-basic-styles/lang/translations/ko.po
  30. 10 10
      packages/ckeditor5-basic-styles/package.json
  31. 14 14
      packages/ckeditor5-block-quote/package.json
  32. 0 0
      packages/ckeditor5-build-balloon-block/build/ckeditor.js
  33. 0 0
      packages/ckeditor5-build-balloon-block/build/ckeditor.js.map
  34. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/ar.js
  35. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/ast.js
  36. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/az.js
  37. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/bg.js
  38. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/cs.js
  39. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/da.js
  40. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/de.js
  41. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/el.js
  42. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/en-au.js
  43. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/en-gb.js
  44. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/eo.js
  45. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/es.js
  46. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/et.js
  47. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/eu.js
  48. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/fa.js
  49. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/fi.js
  50. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/fr.js
  51. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/gl.js
  52. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/he.js
  53. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/hr.js
  54. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/hu.js
  55. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/id.js
  56. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/it.js
  57. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/ja.js
  58. 0 1
      packages/ckeditor5-build-balloon-block/build/translations/km.js
  59. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/kn.js
  60. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/ko.js
  61. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/ku.js
  62. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/lt.js
  63. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/lv.js
  64. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/nb.js
  65. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/ne.js
  66. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/nl.js
  67. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/no.js
  68. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/pl.js
  69. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/pt-br.js
  70. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/pt.js
  71. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/ro.js
  72. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/ru.js
  73. 1 1
      packages/ckeditor5-build-balloon-block/build/translations/si.js
  74. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/sk.js
  75. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/sq.js
  76. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/sr-latn.js
  77. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/sr.js
  78. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/sv.js
  79. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/th.js
  80. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/tr.js
  81. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/ug.js
  82. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/uk.js
  83. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/vi.js
  84. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/zh-cn.js
  85. 0 0
      packages/ckeditor5-build-balloon-block/build/translations/zh.js
  86. 22 22
      packages/ckeditor5-build-balloon-block/package.json
  87. 0 0
      packages/ckeditor5-build-balloon/build/ckeditor.js
  88. 0 0
      packages/ckeditor5-build-balloon/build/ckeditor.js.map
  89. 0 0
      packages/ckeditor5-build-balloon/build/translations/ar.js
  90. 1 1
      packages/ckeditor5-build-balloon/build/translations/ast.js
  91. 0 0
      packages/ckeditor5-build-balloon/build/translations/az.js
  92. 0 0
      packages/ckeditor5-build-balloon/build/translations/bg.js
  93. 0 0
      packages/ckeditor5-build-balloon/build/translations/cs.js
  94. 0 0
      packages/ckeditor5-build-balloon/build/translations/da.js
  95. 0 0
      packages/ckeditor5-build-balloon/build/translations/de.js
  96. 1 1
      packages/ckeditor5-build-balloon/build/translations/el.js
  97. 0 0
      packages/ckeditor5-build-balloon/build/translations/en-au.js
  98. 0 0
      packages/ckeditor5-build-balloon/build/translations/en-gb.js
  99. 1 1
      packages/ckeditor5-build-balloon/build/translations/eo.js
  100. 0 0
      packages/ckeditor5-build-balloon/build/translations/es.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.
 

+ 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

+ 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. */

+ 0 - 8
docs/_snippets/features/wproofreader.html

@@ -1,11 +1,3 @@
-<script type="text/javascript" src="https://svc.webspellchecker.net/spellcheck31/wscbundle/wscbundle.js"></script>
-<script>
-	window.WEBSPELLCHECKER_CONFIG = {
-		autoSearch: true,
-		enableGrammar: true,
-		serviceId: '1:Eebp63-lWHbt2-ASpHy4-AYUpy2-fo3mk4-sKrza1-NsuXy4-I1XZC2-0u2F54-aqYWd1-l3Qf14-umd'
-	};
-</script>
 <div id="snippet-wproofreader">
 	<p>Typos hapen. We striving to correct them. Hover on the marked words for instant correction suggestions or click the dialog icon in the bottom right corner to have the whole text proofread at once.</p>
 	<p>You can also paste your own text here to have its spelling and grammar checked.</p>

+ 47 - 1
docs/_snippets/features/wproofreader.js

@@ -3,15 +3,61 @@
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  */
 
-/* globals ClassicEditor, console, window, document */
+/* globals console, window, document */
+
+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 WProofreader from '@webspellchecker/wproofreader-ckeditor5/src/wproofreader';
 
 import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
 
 ClassicEditor
 	.create( document.querySelector( '#snippet-wproofreader' ), {
+		plugins: [ ArticlePluginSet, EasyImage, WProofreader ],
+		wproofreader: {
+			serviceId: '1:Eebp63-lWHbt2-ASpHy4-AYUpy2-fo3mk4-sKrza1-NsuXy4-I1XZC2-0u2F54-aqYWd1-l3Qf14-umd',
+			srcUrl: 'https://svc.webspellchecker.net/spellcheck31/wscbundle/wscbundle.js'
+		},
 		cloudServices: CS_CONFIG,
 		toolbar: {
+			items: [
+				'heading',
+				'|',
+				'bold',
+				'italic',
+				'bulletedList',
+				'numberedList',
+				'|',
+				'outdent',
+				'indent',
+				'|',
+				'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' ]
 		}
 	} )
 	.then( editor => {

+ 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;

+ 58 - 39
docs/features/spelling-and-grammar-checking.md

@@ -5,8 +5,6 @@ menu-title: Spelling and grammar checking
 
 # Proofreading, spelling and grammar checking
 
-{@snippet build-classic-source}
-
 <info-box>
 	The spell checker for CKEditor 5 is a commercial solution provided by our partner, [WebSpellChecker](https://webspellchecker.com/). You can report any issues in its [GitHub repository](https://github.com/WebSpellChecker/wproofreader). The license can be purchased [here](https://ckeditor.com/contact/).
 </info-box>
@@ -29,63 +27,84 @@ There are also over 150 additional languages and specialized dictionaries such a
 
 ## Installation
 
-WProofreader is installed separately from CKEditor 5 and does not need to be combined into an editor build as other features. To use this tool, it is necessary to load the WProofreader script on your page and provide the configuration.
+WProofreader is delivered as a CKEditor 5 plugin, so it could be combined into an editor build as other features. To add this feature to your rich-text editor, install the [`@webspellchecker/wproofreader-ckeditor5`](https://www.npmjs.com/package/@webspellchecker/wproofreader-ckeditor5) package:
+
+```bash
+npm install --save @webspellchecker/wproofreader-ckeditor5
+```
+
+Then, add it to your plugin list:
+
+```js
+import WProofreader from '@webspellchecker/wproofreader-ckeditor5/src/wproofreader';
+// ...
+
+ClassicEditor
+	.create( editorElement, {
+		plugins: [ ..., WProofreader ],
+		// ...
+	} )
+	.then( ... )
+	.catch( ... );
+```
+
+<info-box info>
+	Read more about {@link builds/guides/integration/installing-plugins installing plugins}.
+</info-box>
 
-The proofreader can be used either as a [cloud solution](#wproofreader-cloud) or [hosted on your own server](#wproofreader-server).
+At this step, it is required to provide a proper configuration. The proofreader can be used either as a [cloud solution](#wproofreader-cloud) or [hosted on your own server](#wproofreader-server).
 
 ### WProofreader Cloud
 
 After signing up for a [trial or paid version](https://ckeditor.com/contact/), you will receive your service ID which is used to activate the service.
 
-Add the following configuration to your page:
-
-```html
-<script>
-	window.WEBSPELLCHECKER_CONFIG = {
-		autoSearch: true,
-		enableGrammar: true,
-		serviceId: 'your-service-ID'
-	};
-</script>
-```
+Add the following configuration to your editor:
 
-And then load the proofreader script:
+```js
+import WProofreader from '@webspellchecker/wproofreader-ckeditor5/src/wproofreader';
+// ...
 
-```html
-<script src="https://svc.webspellchecker.net/spellcheck31/wscbundle/wscbundle.js"></script>
+ClassicEditor
+	.create( editorElement, {
+		plugins: [ ..., WProofreader ],
+		wproofreader: {
+			serviceId: 'your-service-ID',
+			srcUrl: 'https://svc.webspellchecker.net/spellcheck31/wscbundle/wscbundle.js'
+		}
+	} )
 ```
 
-Refer to the [official documentation](https://github.com/WebSpellChecker/wproofreader#wproofreader-cloud) for more details about the cloud setup and available configuration options.
+Refer to the [official documentation](https://github.com/WebSpellChecker/wproofreader-ckeditor5#install-instructions) for more details about the cloud setup and available configuration options.
 
 ### WProofreader Server
 
 After signing up for a [trial or paid version](https://ckeditor.com/contact/), you will receive access to the WebSpellChecker Server package to install on your own server.
 
-You will need to add the following configuration to your page:
-
-```html
-<script>
-	window.WEBSPELLCHECKER_CONFIG = {
-		autoSearch: true,
-		enableGrammar: true,
-		servicePort: '2880',
-		servicePath: '/'
-	};
-</script>
-```
-
-Then specify the path to the service on your page:
-
-```html
-<script src="http(s)://your_host_name/spellcheck/wscbundle/wscbundle.js"></script>
+You will need to add the following configuration to your editor:
+
+```js
+import WProofreader from '@webspellchecker/wproofreader-ckeditor5/src/wproofreader';
+// ...
+
+ClassicEditor
+	.create( editorElement, {
+		plugins: [ ..., WProofreader ],
+		wproofreader: {
+			serviceProtocol: 'https',
+			serviceHost: 'localhost',
+			servicePort: '2880',
+			servicePath: '/',
+			srcUrl: 'https://host_name/virtual_directory/wscbundle/wscbundle.js'
+		}
+	} )
 ```
 
-Refer to the [official documentation](https://github.com/WebSpellChecker/wproofreader#wproofreader-server) for more details about the server setup and available configuration options.
+Refer to the [official documentation](https://github.com/WebSpellChecker/wproofreader-ckeditor5#install-instructions) for more details about the server setup and available configuration options.
 
 ## Configuration
 
-WProofreader configuration is set outside the CKEditor 5 configuration. Refer to the [WProofreader API](http://dev.webspellchecker.net/api/wscbundle/) for further information.
+WProofreader configuration is set inside the CKEditor 5 configuration in `wproofreader` object. Refer to the [WProofreader API](https://webspellchecker.com/docs/api/wscbundle/Options.html) for further information.
 
 ## Contribute
 
-You can report issues and request features in the [official WProofreader repository](https://github.com/WebSpellChecker/wproofreader/issues).
+You can report issues and request features in the [official WProofreader for CKEditor 5 repository](https://github.com/WebSpellChecker/wproofreader-ckeditor5/issues).

+ 2 - 2
docs/framework/guides/architecture/editing-engine.md

@@ -226,14 +226,14 @@ editor.data;                    // The data pipeline (DataController).
 
 ### Element types and custom data
 
-The structure of the view resembles the structure in the DOM very closely. The semantics of HTML is defined in its specification. The view structure comes "DTD-free", so in order to provide additional information and to better express the semantics of the content, the view structure implements 6 element types ({@link module:engine/view/containerelement~ContainerElement}, {@link module:engine/view/attributeelement~AttributeElement}, {@link module:engine/view/emptyelement~EmptyElement}, {@link module:engine/view/rawelement~RawElement}, {@link module:engine/view/uielement~UIElement}, and {@link module:engine/view/editableelement~EditableElement}) and so called {@link module:engine/view/element~Element#getCustomProperty "custom properties"} (i.e. custom element properties which are not rendered). This additional information provided by editor features is then used by the {@link module:engine/view/renderer~Renderer} and [converters](#conversion).
+The structure of the view resembles the structure in the DOM very closely. The semantics of HTML is defined in its specification. The view structure comes "DTD-free", so in order to provide additional information and to better express the semantics of the content, the view structure implements 6 element types ({@link module:engine/view/containerelement~ContainerElement}, {@link module:engine/view/attributeelement~AttributeElement}, {@link module:engine/view/emptyelement~EmptyElement}, {@link module:engine/view/rawelement~RawElement}, {@link module:engine/view/uielement~UIElement}, and {@link module:engine/view/editableelement~EditableElement}) and so called {@link module:engine/view/element~Element#getCustomProperty "custom properties"} (i.e. custom element properties which are not rendered). This additional information provided by the editor features is then used by the {@link module:engine/view/renderer~Renderer} and [converters](#conversion).
 
 The element types can be defined as follows:
 
 * **Container element** &ndash; The elements that build the structure of the content. Used for block elements such as `<p>`, `<h1>`, `<blockQuote>`, `<li>`, etc.
 * **Attribute element** &ndash; The elements that cannot hold container elements inside them. Most model text attributes are converted to view attribute elements. They are used mostly for inline styling elements such as `<strong>`, `<i>`, `<a>`, `<code>`. Similar attribute elements are flattened by the view writer, so e.g. `<a href="..."><a class="bar">x</a></a>` would automatically be optimized to `<a href="..." class="bar">x</a>`.
 * **Empty element** &ndash; The elements that must not have any child nodes, for example `<img>`.
-* **UI elements** &ndash; The elements that are not a part of the "data" but need to be "inlined" in the content. They are ignored by the selection (it jumps over them) and the view writer in general. The contents of these elements and events coming from them are filtered out, too.
+* **UI element** &ndash; The elements that are not a part of the "data" but need to be "inlined" in the content. They are ignored by the selection (it jumps over them) and the view writer in general. The contents of these elements and events coming from them are filtered out, too.
 * **Raw element** &ndash; The elements that work as data containers ("wrappers", "sandboxes") but their children are transparent to the editor. Useful when non-standard data must be rendered but the editor should not be concerned what it is and how it works. Users cannot put the selection inside a raw element, split it into smaller chunks or directly modify its content.
 * **Editable element** &ndash; The elements used as "nested editables" of non-editable fragments of the content, for example a caption in the image widget, where the `<figure>` wrapping the image is not editable (it is a widget) and the `<figcaption>` inside it is an editable element.
 

+ 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": {

+ 66 - 62
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,72 @@
     "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-dev-docs": "^23.2.0",
+    "@ckeditor/ckeditor5-dev-env": "^23.2.0",
+    "@ckeditor/ckeditor5-dev-tests": "^23.2.0",
+    "@ckeditor/ckeditor5-dev-utils": "^23.2.0",
+    "@ckeditor/ckeditor5-dev-webpack-plugin": "^23.2.0",
     "@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",
+    "@webspellchecker/wproofreader-ckeditor5": "^1.0.5",
     "@wiris/mathtype-ckeditor5": "7.20.0",
     "babel-standalone": "^6.26.0",
     "coveralls": "^3.1.0",
@@ -96,6 +97,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",
@@ -110,7 +112,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": {
@@ -128,8 +130,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",
@@ -171,6 +173,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",

+ 1 - 1
packages/ckeditor5-adapter-ckfinder/lang/translations/ko.po

@@ -18,4 +18,4 @@ msgstr ""
 
 msgctxt "A generic error message displayed on upload failure. The file name is concatenated to this text."
 msgid "Cannot upload file:"
-msgstr "파일 업로드 불가"
+msgstr "파일 업로드할 수 없음: "

+ 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",

+ 4 - 4
packages/ckeditor5-alignment/lang/translations/ko.po

@@ -18,19 +18,19 @@ msgstr ""
 
 msgctxt "Toolbar button tooltip for aligning the text to the left."
 msgid "Align left"
-msgstr "왼쪽 맞춤"
+msgstr "왼쪽 정렬"
 
 msgctxt "Toolbar button tooltip for aligning the text to the right."
 msgid "Align right"
-msgstr "오른쪽 맞춤"
+msgstr "오른쪽 정렬"
 
 msgctxt "Toolbar button tooltip for aligning the text to center."
 msgid "Align center"
-msgstr "가운데 맞춤"
+msgstr "가운데 정렬"
 
 msgctxt "Toolbar button tooltip for making the text justified."
 msgid "Justify"
-msgstr "양쪽 맞춤"
+msgstr "양쪽 정렬"
 
 msgctxt "Dropdown button tooltip for the text alignment feature."
 msgid "Text alignment"

+ 1 - 1
packages/ckeditor5-alignment/lang/translations/zh.po

@@ -38,4 +38,4 @@ msgstr "文字對齊"
 
 msgctxt "Label used by assistive technologies describing the text alignment feature toolbar."
 msgid "Text alignment toolbar"
-msgstr ""
+msgstr "文字對齊"

+ 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",

+ 3 - 2
packages/ckeditor5-autoformat/docs/features/autoformat.md

@@ -42,8 +42,9 @@ Example:
 
 In addition to enabling automatic text formatting, you may want to check the following productivity features:
 
-* {@link features/text-transformation Automatic text transformation} &ndash; It enables automatic turning snippets such as `(tm)` into `™` and `"foo"` into `“foo”`.
-* {@link features/mentions Mentions} &ndash; It brings support for smart autocompletion.
+* {@link features/text-transformation Automatic text transformation} &ndash; Enables automatic turning snippets such as `(tm)` into `™` and `"foo"` into `“foo”`.
+* {@link features/link#autolink-feature Autolink} &ndash; Turns the links and email addresses typed or pasted into the editor into active URLs.
+* {@link features/mentions Mentions} &ndash; Brings support for smart autocompletion.
 
 ## Installation
 

+ 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",

+ 1 - 1
packages/ckeditor5-autosave/lang/translations/ko.po

@@ -18,4 +18,4 @@ msgstr ""
 
 msgctxt "A message that the data is being saved."
 msgid "Saving changes"
-msgstr "변경사항 저장"
+msgstr "변경된 내용을 저장하고 있습니다"

+ 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",

+ 1 - 1
packages/ckeditor5-basic-styles/lang/translations/ko.po

@@ -30,7 +30,7 @@ msgstr "밑줄"
 
 msgctxt "Toolbar button tooltip for the Code feature."
 msgid "Code"
-msgstr "소스"
+msgstr "코드"
 
 msgctxt "Toolbar button tooltip for the Strikethrough feature."
 msgid "Strikethrough"

+ 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",

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/ckeditor.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/ckeditor.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/ar.js


+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/ast.js

@@ -1 +1 @@
-!function(e){const a=e.ast=e.ast||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Bold:"Negrina","Bulleted List":"Llista con viñetes",Cancel:"Encaboxar","Centered image":"","Change image text alternative":"",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"","Full size image":"Imaxen a tamañu completu","Image toolbar":"","image widget":"complementu d'imaxen","Insert image":"",Italic:"Cursiva","Left aligned image":"",Link:"Enllazar","Link URL":"URL del enllaz",Next:"","Numbered List":"Llista numberada","Open in a new tab":"","Open link in new tab":"",Previous:"",Redo:"Refacer","Rich Text Editor, %0":"Editor de testu arriquecíu, %0","Right aligned image":"",Save:"Guardar","Show more items":"","Side image":"Imaxen llateral","Text alternative":"","This link has no URL":"",Undo:"Desfacer",Unlink:"Desenllazar","Upload failed":""}),a.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(e){const a=e.ast=e.ast||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Bold:"Negrina","Bulleted List":"Llista con viñetes",Cancel:"Encaboxar","Centered image":"","Change image text alternative":"",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"","Full size image":"Imaxen a tamañu completu","Image toolbar":"","image widget":"complementu d'imaxen",Insert:"","Insert image":"","Insert image via URL":"",Italic:"Cursiva","Left aligned image":"",Link:"Enllazar","Link URL":"URL del enllaz",Next:"","Numbered List":"Llista numberada","Open in a new tab":"","Open link in new tab":"","Paste the image source URL.":"",Previous:"",Redo:"Refacer","Rich Text Editor, %0":"Editor de testu arriquecíu, %0","Right aligned image":"",Save:"Guardar","Show more items":"","Side image":"Imaxen llateral","Text alternative":"","This link has no URL":"",Undo:"Desfacer",Unlink:"Desenllazar",Update:"","Upload failed":""}),a.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/az.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/bg.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/cs.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/da.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/de.js


+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/el.js

@@ -1 +1 @@
-!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"","Block quote":"Περιοχή παράθεσης",Bold:"Έντονη","Bulleted List":"Λίστα κουκκίδων",Cancel:"Ακύρωση","Centered image":"","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου","Choose heading":"Επιλέξτε κεφαλίδα",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"Λεζάντα","Full size image":"Εικόνα πλήρης μεγέθους",Heading:"Κεφαλίδα","Heading 1":"Κεφαλίδα 1","Heading 2":"Κεφαλίδα 2","Heading 3":"Κεφαλίδα 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"","Insert image":"Εισαγωγή εικόνας",Italic:"Πλάγια","Left aligned image":"",Link:"Σύνδεσμος","Link URL":"Διεύθυνση συνδέσμου",Next:"","Numbered List":"Αριθμημένη λίστα","Open in a new tab":"","Open link in new tab":"",Paragraph:"Παράγραφος",Previous:"",Redo:"Επανάληψη","Rich Text Editor, %0":"Επεξεργαστής Πλούσιου Κειμένου, 0%","Right aligned image":"",Save:"Αποθήκευση","Show more items":"","Side image":"","Text alternative":"Εναλλακτικό κείμενο","This link has no URL":"",Undo:"Αναίρεση",Unlink:"Αφαίρεση συνδέσμου","Upload failed":""}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"","Block quote":"Περιοχή παράθεσης",Bold:"Έντονη","Bulleted List":"Λίστα κουκκίδων",Cancel:"Ακύρωση","Centered image":"","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου","Choose heading":"Επιλέξτε κεφαλίδα",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"Λεζάντα","Full size image":"Εικόνα πλήρης μεγέθους",Heading:"Κεφαλίδα","Heading 1":"Κεφαλίδα 1","Heading 2":"Κεφαλίδα 2","Heading 3":"Κεφαλίδα 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"",Insert:"","Insert image":"Εισαγωγή εικόνας","Insert image via URL":"",Italic:"Πλάγια","Left aligned image":"",Link:"Σύνδεσμος","Link URL":"Διεύθυνση συνδέσμου",Next:"","Numbered List":"Αριθμημένη λίστα","Open in a new tab":"","Open link in new tab":"",Paragraph:"Παράγραφος","Paste the image source URL.":"",Previous:"",Redo:"Επανάληψη","Rich Text Editor, %0":"Επεξεργαστής Πλούσιου Κειμένου, 0%","Right aligned image":"",Save:"Αποθήκευση","Show more items":"","Side image":"","Text alternative":"Εναλλακτικό κείμενο","This link has no URL":"",Undo:"Αναίρεση",Unlink:"Αφαίρεση συνδέσμου",Update:"","Upload failed":""}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/en-au.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/en-gb.js


+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/eo.js

@@ -1 +1 @@
-!function(i){const a=i.eo=i.eo||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Bold:"grasa","Bulleted List":"Bula Listo",Cancel:"Nuligi","Centered image":"","Change image text alternative":"Ŝanĝu la alternativan tekston de la bildo","Choose heading":"Elektu ĉapon",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"Skribu klarigon pri la bildo","Full size image":"Bildo kun reala dimensio",Heading:"Ĉapo","Heading 1":"Ĉapo 1","Heading 2":"Ĉapo 2","Heading 3":"Ĉapo 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"bilda fenestraĵo","Insert image":"Enmetu bildon",Italic:"kursiva","Left aligned image":"",Link:"Ligilo","Link URL":"URL de la ligilo",Next:"","Numbered List":"Numerita Listo","Open in a new tab":"","Open link in new tab":"",Paragraph:"Paragrafo",Previous:"",Redo:"Refari","Rich Text Editor, %0":"Redaktilo de Riĉa Teksto, %0","Right aligned image":"",Save:"Konservi","Show more items":"","Side image":"Flanka biildo","Text alternative":"Alternativa teksto","This link has no URL":"",Undo:"Malfari",Unlink:"Malligi","Upload failed":""}),a.getPluralForm=function(i){return 1!=i}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(i){const a=i.eo=i.eo||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Bold:"grasa","Bulleted List":"Bula Listo",Cancel:"Nuligi","Centered image":"","Change image text alternative":"Ŝanĝu la alternativan tekston de la bildo","Choose heading":"Elektu ĉapon",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"Skribu klarigon pri la bildo","Full size image":"Bildo kun reala dimensio",Heading:"Ĉapo","Heading 1":"Ĉapo 1","Heading 2":"Ĉapo 2","Heading 3":"Ĉapo 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"bilda fenestraĵo",Insert:"","Insert image":"Enmetu bildon","Insert image via URL":"",Italic:"kursiva","Left aligned image":"",Link:"Ligilo","Link URL":"URL de la ligilo",Next:"","Numbered List":"Numerita Listo","Open in a new tab":"","Open link in new tab":"",Paragraph:"Paragrafo","Paste the image source URL.":"",Previous:"",Redo:"Refari","Rich Text Editor, %0":"Redaktilo de Riĉa Teksto, %0","Right aligned image":"",Save:"Konservi","Show more items":"","Side image":"Flanka biildo","Text alternative":"Alternativa teksto","This link has no URL":"",Undo:"Malfari",Unlink:"Malligi",Update:"","Upload failed":""}),a.getPluralForm=function(i){return 1!=i}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/es.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/et.js


+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/eu.js

@@ -1 +1 @@
-!function(a){const e=a.eu=a.eu||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"","Block quote":"Aipua",Bold:"Lodia","Bulleted List":"Buletdun zerrenda",Cancel:"Utzi","Cannot upload file:":"Ezin da fitxategia kargatu:","Centered image":"Zentratutako irudia","Change image text alternative":"Aldatu irudiaren ordezko testua","Choose heading":"Aukeratu izenburua",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"Sartu irudiaren epigrafea","Full size image":"Tamaina osoko irudia",Heading:"Izenburua","Heading 1":"Izenburua 1","Heading 2":"Izenburua 2","Heading 3":"Izenburua 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"irudi widgeta","Insert image":"Txertatu irudia",Italic:"Etzana","Left aligned image":"Ezkerrean lerrokatutako irudia",Link:"Esteka","Link URL":"Estekaren URLa",Next:"","Numbered List":"Zenbakidun zerrenda","Open in a new tab":"","Open link in new tab":"",Paragraph:"Paragrafoa",Previous:"",Redo:"Berregin","Rich Text Editor, %0":"Testu aberastuaren editorea, %0","Right aligned image":"Eskuinean lerrokatutako irudia",Save:"Gorde","Show more items":"","Side image":"Alboko irudia","Text alternative":"Ordezko testua","This link has no URL":"",Undo:"Desegin",Unlink:"Desestekatu","Upload failed":"Kargatzeak huts egin du"}),e.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(e){const a=e.eu=e.eu||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"","Block quote":"Aipua",Bold:"Lodia","Bulleted List":"Buletdun zerrenda",Cancel:"Utzi","Cannot upload file:":"Ezin da fitxategia kargatu:","Centered image":"Zentratutako irudia","Change image text alternative":"Aldatu irudiaren ordezko testua","Choose heading":"Aukeratu izenburua",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"Sartu irudiaren epigrafea","Full size image":"Tamaina osoko irudia",Heading:"Izenburua","Heading 1":"Izenburua 1","Heading 2":"Izenburua 2","Heading 3":"Izenburua 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"irudi widgeta",Insert:"","Insert image":"Txertatu irudia","Insert image via URL":"",Italic:"Etzana","Left aligned image":"Ezkerrean lerrokatutako irudia",Link:"Esteka","Link URL":"Estekaren URLa",Next:"","Numbered List":"Zenbakidun zerrenda","Open in a new tab":"","Open link in new tab":"",Paragraph:"Paragrafoa","Paste the image source URL.":"",Previous:"",Redo:"Berregin","Rich Text Editor, %0":"Testu aberastuaren editorea, %0","Right aligned image":"Eskuinean lerrokatutako irudia",Save:"Gorde","Show more items":"","Side image":"Alboko irudia","Text alternative":"Ordezko testua","This link has no URL":"",Undo:"Desegin",Unlink:"Desestekatu",Update:"","Upload failed":"Kargatzeak huts egin du"}),a.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/fa.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/fi.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/fr.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/gl.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/he.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/hr.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/hu.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/id.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/it.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/ja.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 1
packages/ckeditor5-build-balloon-block/build/translations/km.js


+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/kn.js

@@ -1 +1 @@
-!function(e){const i=e.kn=e.kn||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"","Block quote":"‍‍‍‍ಗುರುತಿಸಲಾದ ‍‍ಉಲ್ಲೇಖ",Bold:"‍‍ದಪ್ಪ","Bulleted List":"‍‍ಬುಲೆಟ್ ಪಟ್ಟಿ",Cancel:"ರದ್ದುಮಾಡು","Centered image":"","Change image text alternative":"‍ಚಿತ್ರದ ಬದಲಿ ಪಠ್ಯ ಬದಲಾಯಿಸು","Choose heading":"ಶೀರ್ಷಿಕೆ ಆಯ್ಕೆಮಾಡು",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"‍ಚಿತ್ರದ ಶೀರ್ಷಿಕೆ ಸೇರಿಸು","Full size image":"‍ಪೂರ್ಣ ‍‍ಅಳತೆಯ ಚಿತ್ರ",Heading:"ಶೀರ್ಷಿಕೆ","Heading 1":"ಶೀರ್ಷಿಕೆ 1","Heading 2":"ಶೀರ್ಷಿಕೆ 2","Heading 3":"ಶೀರ್ಷಿಕೆ 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"‍ಚಿತ್ರ ವಿಜೆಟ್","Insert image":"",Italic:"‍ಇಟಾಲಿಕ್","Left aligned image":"",Link:"‍ಕೊಂಡಿ","Link URL":"‍ಕೊಂಡಿ ಸಂಪರ್ಕಿಸು",Next:"","Numbered List":"‍ಸಂಖ್ಯೆಯ ಪಟ್ಟಿ‍","Open in a new tab":"","Open link in new tab":"",Paragraph:"ಪ್ಯಾರಾಗ್ರಾಫ್",Previous:"",Redo:"‍ಮತ್ತೆ ಮಾಡು","Rich Text Editor, %0":"‍ಸಮೃದ್ಧ ಪಠ್ಯ ಸಂಪಾದಕ‍, %0","Right aligned image":"",Save:"ಉಳಿಸು","Show more items":"","Side image":"‍ಪಕ್ಕದ ಚಿತ್ರ","Text alternative":"‍ಪಠ್ಯದ ಬದಲಿ","This link has no URL":"",Undo:"‍‍ರದ್ದು",Unlink:"‍ಕೊಂಡಿ ತೆಗೆ","Upload failed":""}),i.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(e){const i=e.kn=e.kn||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"","Block quote":"‍‍‍‍ಗುರುತಿಸಲಾದ ‍‍ಉಲ್ಲೇಖ",Bold:"‍‍ದಪ್ಪ","Bulleted List":"‍‍ಬುಲೆಟ್ ಪಟ್ಟಿ",Cancel:"ರದ್ದುಮಾಡು","Centered image":"","Change image text alternative":"‍ಚಿತ್ರದ ಬದಲಿ ಪಠ್ಯ ಬದಲಾಯಿಸು","Choose heading":"ಶೀರ್ಷಿಕೆ ಆಯ್ಕೆಮಾಡು",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"‍ಚಿತ್ರದ ಶೀರ್ಷಿಕೆ ಸೇರಿಸು","Full size image":"‍ಪೂರ್ಣ ‍‍ಅಳತೆಯ ಚಿತ್ರ",Heading:"ಶೀರ್ಷಿಕೆ","Heading 1":"ಶೀರ್ಷಿಕೆ 1","Heading 2":"ಶೀರ್ಷಿಕೆ 2","Heading 3":"ಶೀರ್ಷಿಕೆ 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"‍ಚಿತ್ರ ವಿಜೆಟ್",Insert:"","Insert image":"","Insert image via URL":"",Italic:"‍ಇಟಾಲಿಕ್","Left aligned image":"",Link:"‍ಕೊಂಡಿ","Link URL":"‍ಕೊಂಡಿ ಸಂಪರ್ಕಿಸು",Next:"","Numbered List":"‍ಸಂಖ್ಯೆಯ ಪಟ್ಟಿ‍","Open in a new tab":"","Open link in new tab":"",Paragraph:"ಪ್ಯಾರಾಗ್ರಾಫ್","Paste the image source URL.":"",Previous:"",Redo:"‍ಮತ್ತೆ ಮಾಡು","Rich Text Editor, %0":"‍ಸಮೃದ್ಧ ಪಠ್ಯ ಸಂಪಾದಕ‍, %0","Right aligned image":"",Save:"ಉಳಿಸು","Show more items":"","Side image":"‍ಪಕ್ಕದ ಚಿತ್ರ","Text alternative":"‍ಪಠ್ಯದ ಬದಲಿ","This link has no URL":"",Undo:"‍‍ರದ್ದು",Unlink:"‍ಕೊಂಡಿ ತೆಗೆ",Update:"","Upload failed":""}),i.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/ko.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/ku.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/lt.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/lv.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/nb.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/ne.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/nl.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/no.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/pl.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/pt-br.js


+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/pt.js

@@ -1 +1 @@
-!function(a){const e=a.pt=a.pt||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"",Bold:"Negrito","Bulleted List":"Lista não ordenada",Cancel:"Cancelar","Cannot upload file:":"Não foi possível carregar o ficheiro:","Centered image":"Imagem centrada","Change image text alternative":"","Choose heading":"",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"Indicar legenda da imagem","Full size image":"Imagem em tamanho completo",Heading:"Cabeçalho","Heading 1":"Cabeçalho 1","Heading 2":"Cabeçalho 2","Heading 3":"Cabeçalho 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"módulo de imagem","Insert image":"Inserir imagem",Italic:"Itálico","Left aligned image":"",Link:"Hiperligação","Link URL":"URL da ligação",Next:"","Numbered List":"Lista ordenada","Open in a new tab":"","Open link in new tab":"",Paragraph:"Parágrafo",Previous:"",Redo:"Refazer","Rich Text Editor, %0":"Editor de texto avançado, %0","Right aligned image":"",Save:"Guardar","Show more items":"","Side image":"Imagem lateral","Text alternative":"Texto alternativo","This link has no URL":"",Undo:"Desfazer",Unlink:"Desligar","Upload failed":"Falha ao carregar"}),e.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(a){const e=a.pt=a.pt||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"",Bold:"Negrito","Bulleted List":"Lista não ordenada",Cancel:"Cancelar","Cannot upload file:":"Não foi possível carregar o ficheiro:","Centered image":"Imagem centrada","Change image text alternative":"","Choose heading":"",Downloadable:"","Dropdown toolbar":"","Edit block":"","Edit link":"","Editor toolbar":"","Enter image caption":"Indicar legenda da imagem","Full size image":"Imagem em tamanho completo",Heading:"Cabeçalho","Heading 1":"Cabeçalho 1","Heading 2":"Cabeçalho 2","Heading 3":"Cabeçalho 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"módulo de imagem",Insert:"","Insert image":"Inserir imagem","Insert image via URL":"",Italic:"Itálico","Left aligned image":"",Link:"Hiperligação","Link URL":"URL da ligação",Next:"","Numbered List":"Lista ordenada","Open in a new tab":"","Open link in new tab":"",Paragraph:"Parágrafo","Paste the image source URL.":"",Previous:"",Redo:"Refazer","Rich Text Editor, %0":"Editor de texto avançado, %0","Right aligned image":"",Save:"Guardar","Show more items":"","Side image":"Imagem lateral","Text alternative":"Texto alternativo","This link has no URL":"",Undo:"Desfazer",Unlink:"Desligar",Update:"","Upload failed":"Falha ao carregar"}),e.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/ro.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/ru.js


+ 1 - 1
packages/ckeditor5-build-balloon-block/build/translations/si.js

@@ -1 +1 @@
-!function(e){const i=e.si=e.si||{};i.dictionary=Object.assign(i.dictionary||{},{Bold:"තදකුරු","Bulleted List":"බුලටිත ලැයිස්තුව","Cannot upload file:":"ගොනුව යාවත්කාලීන කළ නොහැක:","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"","Image toolbar":"","image widget":"","Insert image":"පින්තූරය ඇතුල් කරන්න",Italic:"ඇලකුරු","Left aligned image":"","Numbered List":"අංකිත ලැයිස්තුව",Redo:"නැවත කරන්න","Right aligned image":"","Side image":"","Text alternative":"",Undo:"අහෝසි කරන්න","Upload failed":"උඩුගත කිරීම අසාර්ථක විය"}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(e){const i=e.si=e.si||{};i.dictionary=Object.assign(i.dictionary||{},{Bold:"තදකුරු","Bulleted List":"බුලටිත ලැයිස්තුව","Cannot upload file:":"ගොනුව යාවත්කාලීන කළ නොහැක:","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"","Image toolbar":"","image widget":"",Insert:"","Insert image":"පින්තූරය ඇතුල් කරන්න","Insert image via URL":"",Italic:"ඇලකුරු","Left aligned image":"","Numbered List":"අංකිත ලැයිස්තුව","Paste the image source URL.":"",Redo:"නැවත කරන්න","Right aligned image":"","Side image":"","Text alternative":"",Undo:"අහෝසි කරන්න",Update:"","Upload failed":"උඩුගත කිරීම අසාර්ථක විය"}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/sk.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/sq.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/sr-latn.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/sr.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/sv.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/th.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/tr.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/ug.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/uk.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/vi.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/translations/zh-cn.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
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",

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/ckeditor.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/ckeditor.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/ar.js


+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/ast.js

@@ -1 +1 @@
-!function(e){const a=e.ast=e.ast||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Bold:"Negrina","Bulleted List":"Llista con viñetes",Cancel:"Encaboxar","Centered image":"","Change image text alternative":"",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"","Full size image":"Imaxen a tamañu completu","Image toolbar":"","image widget":"complementu d'imaxen","Insert image":"",Italic:"Cursiva","Left aligned image":"",Link:"Enllazar","Link URL":"URL del enllaz",Next:"","Numbered List":"Llista numberada","Open in a new tab":"","Open link in new tab":"",Previous:"",Redo:"Refacer","Rich Text Editor, %0":"Editor de testu arriquecíu, %0","Right aligned image":"",Save:"Guardar","Show more items":"","Side image":"Imaxen llateral","Text alternative":"","This link has no URL":"",Undo:"Desfacer",Unlink:"Desenllazar","Upload failed":""}),a.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(e){const a=e.ast=e.ast||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Bold:"Negrina","Bulleted List":"Llista con viñetes",Cancel:"Encaboxar","Centered image":"","Change image text alternative":"",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"","Full size image":"Imaxen a tamañu completu","Image toolbar":"","image widget":"complementu d'imaxen",Insert:"","Insert image":"","Insert image via URL":"",Italic:"Cursiva","Left aligned image":"",Link:"Enllazar","Link URL":"URL del enllaz",Next:"","Numbered List":"Llista numberada","Open in a new tab":"","Open link in new tab":"","Paste the image source URL.":"",Previous:"",Redo:"Refacer","Rich Text Editor, %0":"Editor de testu arriquecíu, %0","Right aligned image":"",Save:"Guardar","Show more items":"","Side image":"Imaxen llateral","Text alternative":"","This link has no URL":"",Undo:"Desfacer",Unlink:"Desenllazar",Update:"","Upload failed":""}),a.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/az.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/bg.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/cs.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/da.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/de.js


+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/el.js

@@ -1 +1 @@
-!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"","Block quote":"Περιοχή παράθεσης",Bold:"Έντονη","Bulleted List":"Λίστα κουκκίδων",Cancel:"Ακύρωση","Centered image":"","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου","Choose heading":"Επιλέξτε κεφαλίδα",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"Λεζάντα","Full size image":"Εικόνα πλήρης μεγέθους",Heading:"Κεφαλίδα","Heading 1":"Κεφαλίδα 1","Heading 2":"Κεφαλίδα 2","Heading 3":"Κεφαλίδα 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"","Insert image":"Εισαγωγή εικόνας",Italic:"Πλάγια","Left aligned image":"",Link:"Σύνδεσμος","Link URL":"Διεύθυνση συνδέσμου",Next:"","Numbered List":"Αριθμημένη λίστα","Open in a new tab":"","Open link in new tab":"",Paragraph:"Παράγραφος",Previous:"",Redo:"Επανάληψη","Rich Text Editor, %0":"Επεξεργαστής Πλούσιου Κειμένου, 0%","Right aligned image":"",Save:"Αποθήκευση","Show more items":"","Side image":"","Text alternative":"Εναλλακτικό κείμενο","This link has no URL":"",Undo:"Αναίρεση",Unlink:"Αφαίρεση συνδέσμου","Upload failed":""}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"","Block quote":"Περιοχή παράθεσης",Bold:"Έντονη","Bulleted List":"Λίστα κουκκίδων",Cancel:"Ακύρωση","Centered image":"","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου","Choose heading":"Επιλέξτε κεφαλίδα",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"Λεζάντα","Full size image":"Εικόνα πλήρης μεγέθους",Heading:"Κεφαλίδα","Heading 1":"Κεφαλίδα 1","Heading 2":"Κεφαλίδα 2","Heading 3":"Κεφαλίδα 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"",Insert:"","Insert image":"Εισαγωγή εικόνας","Insert image via URL":"",Italic:"Πλάγια","Left aligned image":"",Link:"Σύνδεσμος","Link URL":"Διεύθυνση συνδέσμου",Next:"","Numbered List":"Αριθμημένη λίστα","Open in a new tab":"","Open link in new tab":"",Paragraph:"Παράγραφος","Paste the image source URL.":"",Previous:"",Redo:"Επανάληψη","Rich Text Editor, %0":"Επεξεργαστής Πλούσιου Κειμένου, 0%","Right aligned image":"",Save:"Αποθήκευση","Show more items":"","Side image":"","Text alternative":"Εναλλακτικό κείμενο","This link has no URL":"",Undo:"Αναίρεση",Unlink:"Αφαίρεση συνδέσμου",Update:"","Upload failed":""}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/en-au.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/en-gb.js


+ 1 - 1
packages/ckeditor5-build-balloon/build/translations/eo.js

@@ -1 +1 @@
-!function(i){const a=i.eo=i.eo||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Bold:"grasa","Bulleted List":"Bula Listo",Cancel:"Nuligi","Centered image":"","Change image text alternative":"Ŝanĝu la alternativan tekston de la bildo","Choose heading":"Elektu ĉapon",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"Skribu klarigon pri la bildo","Full size image":"Bildo kun reala dimensio",Heading:"Ĉapo","Heading 1":"Ĉapo 1","Heading 2":"Ĉapo 2","Heading 3":"Ĉapo 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"bilda fenestraĵo","Insert image":"Enmetu bildon",Italic:"kursiva","Left aligned image":"",Link:"Ligilo","Link URL":"URL de la ligilo",Next:"","Numbered List":"Numerita Listo","Open in a new tab":"","Open link in new tab":"",Paragraph:"Paragrafo",Previous:"",Redo:"Refari","Rich Text Editor, %0":"Redaktilo de Riĉa Teksto, %0","Right aligned image":"",Save:"Konservi","Show more items":"","Side image":"Flanka biildo","Text alternative":"Alternativa teksto","This link has no URL":"",Undo:"Malfari",Unlink:"Malligi","Upload failed":""}),a.getPluralForm=function(i){return 1!=i}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
+!function(a){const i=a.eo=a.eo||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"",Bold:"grasa","Bulleted List":"Bula Listo",Cancel:"Nuligi","Centered image":"","Change image text alternative":"Ŝanĝu la alternativan tekston de la bildo","Choose heading":"Elektu ĉapon",Downloadable:"","Dropdown toolbar":"","Edit link":"","Editor toolbar":"","Enter image caption":"Skribu klarigon pri la bildo","Full size image":"Bildo kun reala dimensio",Heading:"Ĉapo","Heading 1":"Ĉapo 1","Heading 2":"Ĉapo 2","Heading 3":"Ĉapo 3","Heading 4":"","Heading 5":"","Heading 6":"","Image toolbar":"","image widget":"bilda fenestraĵo",Insert:"","Insert image":"Enmetu bildon","Insert image via URL":"",Italic:"kursiva","Left aligned image":"",Link:"Ligilo","Link URL":"URL de la ligilo",Next:"","Numbered List":"Numerita Listo","Open in a new tab":"","Open link in new tab":"",Paragraph:"Paragrafo","Paste the image source URL.":"",Previous:"",Redo:"Refari","Rich Text Editor, %0":"Redaktilo de Riĉa Teksto, %0","Right aligned image":"",Save:"Konservi","Show more items":"","Side image":"Flanka biildo","Text alternative":"Alternativa teksto","This link has no URL":"",Undo:"Malfari",Unlink:"Malligi",Update:"","Upload failed":""}),i.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
packages/ckeditor5-build-balloon/build/translations/es.js


Неке датотеке нису приказане због велике количине промена