This repository has been archived by the owner on Jun 26, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
Merged
Changes from all commits
Commits
Show all changes
81 commits
Select commit
Hold shift + click to select a range
d951359
Other: Initial split button dropdown for HighlightUI.
jodator f746067
Other: Make highlight dropdown hide after using rubber.
jodator 1c5b80e
Other: Make createSplitButtonDropdown minimal.
jodator ca89fc6
Other: Extract Highlight UI components factories to methods.
jodator 5806fda
Tests: Extend highlight manual tests with image.
jodator 519d0aa
Other: Refactor HighlightCommand and Highlight UI creation.
jodator a56fee8
Other: Change how split button is bound to model.
jodator 157b1e6
Other: Move some SplitButtonDropdown functionality to SplitButtonDrop…
jodator 4a7cb30
Other: Refactor Highlight UI methods and add more documentation.
jodator 3523d5f
Added pen and marker icons with dynamic fill color.
oleq 7d54644
Other: Update code to changes in schema API.
jodator cb38328
Other: Remove RemoveHighlightCommand.
jodator 6903aee
Other: Use `definition-based-converters` for defining highlighters.
jodator 5a4f9fd
Other: Update button creation.
jodator 8edc6f5
Tests: Fix HighlightEditing config tests.
jodator 2bbf7f7
Other: Fix highlight dropdown UI.
jodator 8eefab8
Code style: Make default options indented the same way.
jodator 6130804
Added eraser icon.
oleq 950eea8
Added: Changing the style on collapsed selection changes the entire h…
jodator b924e4f
Changed: Use `Position.getLastMatchingPosition()` instead of findAttr…
jodator 0d36487
Other: Fix find highlighter range from collapsed selection method.
jodator 78a0391
Added: remove entire highlight on collapsed range when inside highlig…
jodator 18595eb
Added: Remove whole highlight when using eraser on collapsed range in…
jodator 1cff774
Changed: Use hardcoded view element and add `options` namespace to co…
jodator 5662d93
Changed: Make highlight toolbar look decent.
jodator c80ea78
Added: Add separator before eraser in highlight dropdown.
jodator b9c28b6
Changed: Make toolbar split button react to highlight in selection.
jodator 5d9f012
Changed: Extract getIconForType() internal method in HighlightUI.
jodator 5cbc000
Tests: Update manual tests.
jodator 03ecb54
Tests: Add initial HighlightUI tests.
jodator dfda27f
Tests: Add toolbar button behavior tests.
jodator 74fd242
Other: Add missing dev dependency.
jodator 2e35c21
Other: Update package.json dependencies.
jodator 59368b0
Other: Updated code to changes in dropdowns API.
jodator c65e9a0
Changed: Rename parts of SplitButton buttons to action/select.
jodator 1e46b0b
Updated marker, pen, and eraser icons for the updated theme (see cked…
oleq cc659f1
Changed: update dropdowns to match the new API.
jodator 177f5d6
Changed: Remove redundant class from highlight button.
jodator 700e6a4
Changed: Removed `addDefaultBehavior()` from dropdown utils.
jodator e6a60ca
Changed: Removed `createSplitButtonDropdown()` from dropdown utils.
jodator 1e68317
Changed: update dropdowns to match the new API.
jodator a4b3cd4
Other: Revert icon hack from ButtonView.
jodator a35f73c
Added: Enable highlighter on collapsed selection.
jodator e81e099
Added: Execute highight command on split button action button.
jodator 82010b1
Added: Bind model `isOn` to highlight command value.
jodator 43ea0d0
Docs: move `HighlightOption` from `HighlightEditing` to `Highlight`.
jodator f3eb7dc
Tests: Update localization tests.
jodator a01c358
Other: Update copyright year.
jodator 781cf1d
Tests: Update `HighlightCommand` tests.
jodator 2add9c0
Tests: Update compatibility tests.
jodator e717306
Docs: Add highlight api page.
jodator bc1de94
Docs: Add highlight feature guide.
jodator 691390d
Changed: Change how dropdowns with `ButtonView` and `SplitButtonView`…
jodator 9485363
Changed: Remove dafult dropdown behavior helper methods from API.
jodator f4f1ddc
Added: Introduce `bindOneToMany()` binding helper.
jodator 053decb
Changed: Move `addToolbarToDropdown()` helper to ui/dropdown/utils.
jodator fdb76bc
Changed: Bind dropdown behavior to `DropdownView` instead of `Model`.
jodator 5c73bc1
Aligned code to the changes in DocumentSelection API.
jodator 346d509
Tests: Add manual test for highlight buttons in toolbar.
jodator d1e0d04
Changed: Make CSS style to button rather then dropdown.
jodator abfbce3
Changed: Use `bind().toMany()` binding chain from `ObservableMixin`.
jodator e554055
Changed: Make ButtonClass as a parameter of `createDropdown()`.
jodator 64eae36
Removed unnecessary code.
jodator 219a7bc
Changed: Remove `dropdown.buttonView` bindings to `dropdown`.
jodator 127a893
Changed: Update dropdown API usage.
jodator 86048d1
Fix: Update imports to ckeditor5 plugins.
jodator 72bd844
Fix: Add missing dependencies to package.json.
jodator 9540a90
Updated the highlight feature's conversion to the newest API.
jodator f703284
Tests: Update toolbar in manual tests.
jodator 2291aac
Docs: Improve highlight documentation.
jodator 7cbd54d
Merge branch 'master' into t/3
jodator aceca44
Docs: Added separators to the toolbar configurations.
oleq 65808a7
Docs: Improved the highlight documentation in the Features section.
oleq b79eb20
Fix: Changing highlight should not change collapsed selection.
jodator 4ddeaac
Docs: Improved the highlight package docs.
oleq 8af9a6b
Adjusted and extended the default highlight color palette for better …
oleq 870c78c
Tests: Adjusted tests to the new color palette.
oleq 10227bd
Simplified the pen icon.
oleq 3e2d2cd
Changed: Aligning with new conversion helpers API.
jodator 0112fd1
Changed: Renamed 'marker' option to 'yellowMarker'.
jodator 0705945
Fix: Missing `marker-yellow` CSS class definition in tests and docs.
jodator File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
<style> | ||
.marker-yellow { | ||
background-color: #fdfd77; | ||
} | ||
|
||
.marker-green { | ||
background-color: #63f963; | ||
} | ||
|
||
.marker-pink { | ||
background-color: #fc7999; | ||
} | ||
|
||
.marker-blue { | ||
background-color: #72cdfd; | ||
} | ||
|
||
.pen-red { | ||
background-color: transparent; | ||
color: #e91313; | ||
} | ||
|
||
.pen-green { | ||
background-color: transparent; | ||
color: #118800; | ||
} | ||
</style> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/** | ||
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. | ||
* For licensing, see LICENSE.md. | ||
*/ | ||
|
||
/* globals window */ | ||
|
||
import ClassicEditor from '@ckeditor/ckeditor5-build-classic/src/ckeditor'; | ||
|
||
import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight'; | ||
|
||
ClassicEditor.build.plugins.push( Highlight ); | ||
|
||
window.ClassicEditor = ClassicEditor; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<div id="snippet-custom-highlight-options"> | ||
<p> | ||
Here are defined highlighters: <mark class="marker-green">green one</mark> and <mark class="pen-red">red one</mark>. | ||
</p> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/** | ||
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. | ||
* For licensing, see LICENSE.md. | ||
*/ | ||
|
||
/* globals ClassicEditor, console, window, document */ | ||
ClassicEditor | ||
.create( document.querySelector( '#snippet-custom-highlight-options' ), { | ||
toolbar: { | ||
items: [ | ||
'headings', '|', 'bulletedList', 'numberedList', 'highlightDropdown', 'undo', 'redo' | ||
], | ||
viewportTopOffset: 60 | ||
}, | ||
highlight: { | ||
options: [ | ||
{ model: 'greenMarker', class: 'marker-green', title: 'Green marker', color: '#66ff00', type: 'marker' }, | ||
{ model: 'redPen', class: 'pen-red', title: 'Red pen', color: '#e91313', type: 'pen' }, | ||
] | ||
} | ||
} ) | ||
.then( editor => { | ||
window.editor = editor; | ||
} ) | ||
.catch( err => { | ||
console.error( err.stack ); | ||
} ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<div id="snippet-highlight-buttons"> | ||
<p>Highlight feature example.</p> | ||
<p> | ||
Here are some markers: | ||
</p> | ||
<ul> | ||
<li>the <mark class="marker-yellow">yellow</mark> one,</li> | ||
<li>the <mark class="marker-pink">pink</mark> one,</li> | ||
<li>the <mark class="marker-green">green</mark> one,</li> | ||
<li>the <mark class="marker-blue">blue</mark> one</li> | ||
</ul> | ||
<p> | ||
Here are some pens: | ||
<mark class="pen-red">red pen</mark> and <mark class="pen-green">green one</mark>. | ||
</p> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/** | ||
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. | ||
* For licensing, see LICENSE.md. | ||
*/ | ||
|
||
/* globals ClassicEditor, console, window, document */ | ||
|
||
ClassicEditor | ||
.create( document.querySelector( '#snippet-highlight-buttons' ), { | ||
toolbar: { | ||
items: [ | ||
'headings', '|', 'highlight:marker', 'highlight:greenMarker', 'highlight:pinkMarker', | ||
'highlight:greenPen', 'highlight:redPen', 'removeHighlight', '|', 'undo', 'redo' | ||
], | ||
viewportTopOffset: 60 | ||
} | ||
} ) | ||
.then( editor => { | ||
window.editor = editor; | ||
} ) | ||
.catch( err => { | ||
console.error( err.stack ); | ||
} ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<div id="snippet-highlight"> | ||
<p>Highlight feature example.</p> | ||
<p> | ||
Here are some markers: | ||
</p> | ||
<ul> | ||
<li>the <mark class="marker-yellow">yellow</mark> one,</li> | ||
<li>the <mark class="marker-pink">pink</mark> one,</li> | ||
<li>the <mark class="marker-green">green</mark> one,</li> | ||
<li>the <mark class="marker-blue">blue</mark> one</li> | ||
</ul> | ||
<p> | ||
Here are some pens: | ||
<mark class="pen-red">red pen</mark> and <mark class="pen-green">green one</mark>. | ||
</p> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
/** | ||
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. | ||
* For licensing, see LICENSE.md. | ||
*/ | ||
|
||
/* globals ClassicEditor, console, window, document */ | ||
|
||
ClassicEditor | ||
.create( document.querySelector( '#snippet-highlight' ), { | ||
toolbar: { | ||
items: [ | ||
'headings', '|', 'bulletedList', 'numberedList', 'highlightDropdown', 'undo', 'redo' | ||
], | ||
viewportTopOffset: 60 | ||
} | ||
} ) | ||
.then( editor => { | ||
window.editor = editor; | ||
} ) | ||
.catch( err => { | ||
console.error( err.stack ); | ||
} ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
--- | ||
category: api-reference | ||
--- | ||
|
||
# CKEditor 5 highlight feature | ||
|
||
[](https://www.npmjs.com/package/@ckeditor/ckeditor5-highlight) | ||
|
||
This package implements the highlight feature for CKEditor 5. | ||
|
||
## Documentation | ||
|
||
See the {@link features/highlight Highlight feature} guide and the {@link module:highlight/highlight~Highlight} plugin documentation. | ||
|
||
## Installation | ||
|
||
```bash | ||
npm install --save @ckeditor/ckeditor5-highlight | ||
``` | ||
|
||
## Contribute | ||
|
||
The source code of this package is available on GitHub in https://github.com/ckeditor/ckeditor5-highlight. | ||
|
||
## External links | ||
|
||
* [`@ckeditor/ckeditor5-highlight` on npm](https://www.npmjs.com/package/@ckeditor/ckeditor5-highlight) | ||
* [`ckeditor/ckeditor5-highlight` on GitHub](https://github.com/ckeditor/ckeditor5-highlight) | ||
* [Issue tracker](https://github.com/ckeditor/ckeditor5-highlight/issues) | ||
* [Changelog](https://github.com/ckeditor/ckeditor5-highlight/blob/master/CHANGELOG.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
--- | ||
title: Highlight | ||
category: features | ||
--- | ||
|
||
{@snippet features/build-highlight-source} | ||
|
||
The {@link module:highlight/highlight~Highlight} feature offers a text marking tools that help content authors speed up their work, e.g. reviewing content or marking it for the future reference. It uses inline `<marker>` elements in the view, supports both markers (background color) and pens (text color), and comes with a flexible configuration. | ||
|
||
## Demo | ||
|
||
{@snippet features/highlight} | ||
|
||
## Configuring the highlight options | ||
|
||
It is possible to configure which highlight options are supported by the editor. | ||
You can use the {@link module:highlight/highlight~HighlightConfig#options `highlight.options`} configuration and define your own highlight styles. | ||
|
||
For example, the following editor supports only two styles (a green marker and a red pen): | ||
|
||
```js | ||
ClassicEditor | ||
.create( document.querySelector( '#editor' ), { | ||
highlight: { | ||
options: [ | ||
{ | ||
model: 'greenMarker', | ||
class: 'marker-green', | ||
title: 'Green marker', | ||
color: '#63f963', | ||
type: 'marker' | ||
}, | ||
{ | ||
model: 'redPen', | ||
class: 'pen-red', | ||
title: 'Red pen', | ||
color: '#e91313', | ||
type: 'pen' | ||
} | ||
] | ||
}, | ||
toolbar: [ | ||
'headings', '|', 'bulletedList', 'numberedList', 'highlightDropdown', 'undo', 'redo' | ||
] | ||
} ) | ||
.then( ... ) | ||
.catch( ... ); | ||
``` | ||
|
||
{@snippet features/custom-highlight-options} | ||
|
||
Instead of using the (default) `highlightDropdown`, the feature also supports a configuration with separate buttons directly in the toolbar: | ||
|
||
```js | ||
ClassicEditor | ||
.create( document.querySelector( '#editor' ), { | ||
toolbar: { | ||
items: [ | ||
'headings', '|', 'highlight:marker', 'highlight:greenMarker', | ||
'highlight:pinkMarker', 'highlight:greenPen', | ||
'highlight:redPen', 'removeHighlight', 'undo', 'redo' | ||
] | ||
} | ||
} ) | ||
.then( ... ) | ||
.catch( ... ); | ||
``` | ||
|
||
{@snippet features/highlight-buttons} | ||
|
||
## Installation | ||
|
||
To add this feature to your editor install the [`@ckeditor/ckeditor5-highlight`](https://www.npmjs.com/package/@ckeditor/ckeditor5-highlight) package: | ||
|
||
``` | ||
npm install --save @ckeditor/ckeditor5-highlight | ||
``` | ||
|
||
And add it to your plugin list and the toolbar configuration: | ||
|
||
```js | ||
import Highlight from '@ckeditor/ckeditor5-highlight/src/highlight'; | ||
|
||
ClassicEditor | ||
.create( document.querySelector( '#editor' ), { | ||
plugins: [ Highlight, ... ], | ||
toolbar: [ 'highlightDropdown', ... ] | ||
} ) | ||
.then( ... ) | ||
.catch( ... ); | ||
``` | ||
|
||
<info-box info> | ||
Read more about {@link builds/guides/development/installing-plugins installing plugins}. | ||
</info-box> | ||
|
||
## Common API | ||
|
||
The {@link module:highlight/highlight~Highlight} plugin registers: | ||
|
||
* The `'highlightDropdown'` dropdown, | ||
* The {@link module:highlight/highlightcommand~HighlightCommand `'highlight'`} command. | ||
|
||
The number of options and their names correspond to the {@link module:highlight/highlight~HighlightConfig#options `highlight.options`} configuration option. | ||
|
||
You can change the highlight of the current selection by executing the command with a desired value: | ||
|
||
```js | ||
editor.execute( 'highlight', { value: 'yellowMarker' } ); | ||
``` | ||
|
||
The `value` corresponds to the `model` property in configuration object. For the default configuration: | ||
```js | ||
highlight.options = [ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we need to work on the colors because AFAIR the has been chosen without any deeper research. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I handled it in 870c78c. |
||
{ model: 'yellowMarker', class: 'marker-yellow', title: 'Yellow Marker', color: '#fdfd77', type: 'marker' }, | ||
{ model: 'greenMarker', class: 'marker-green', title: 'Green marker', color: '#63f963', type: 'marker' }, | ||
{ model: 'pinkMarker', class: 'marker-pink', title: 'Pink marker', color: '#fc7999', type: 'marker' }, | ||
{ model: 'blueMarker', class: 'marker-blue', title: 'Blue marker', color: '#72cdfd', type: 'marker' }, | ||
{ model: 'redPen', class: 'pen-red', title: 'Red pen', color: '#e91313', type: 'pen' }, | ||
{ model: 'greenPen', class: 'pen-green', title: 'Green pen', color: '#118800', type: 'pen' } | ||
] | ||
``` | ||
|
||
the `highlight` command will accept the corresponding strings as values: | ||
- `'yellowMarker'` – available as a `'highlight:yellowMarker'` button, | ||
- `'greenMarker'` – available as a `'highlight:greenMarker'` button, | ||
- `'pinkMarker'` – available as a `'highlight:pinkMarker'` button, | ||
- `'blueMarker'` – available as a `'highlight:blueMarker'` button, | ||
- `'redPen'` – available as a `'highlight:redPen'` button, | ||
- `'greenPen'` – available as a `'highlight:greenPen'` button. | ||
|
||
passing an empty `value` will remove any `highlight` from the selection: | ||
|
||
```js | ||
editor.execute( 'highlight' ); | ||
``` | ||
|
||
## Contribute | ||
|
||
The source code of the feature is available on GitHub in https://github.com/ckeditor/ckeditor5-highlight. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the highlight feature dropdown uses a basic
ToolbarView
, I wonder if we could simply make the highlight configuration compatible with the toolbar config. I mean here a support for toolbar separators (|
), that developers may want to use to group the buttons if only to separate pens from markers. WDYT?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very interesting idea. How would the config need to look then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mixed-up with the options:
Or as a separate property, which makes more sense to me because it doesn't mix up the content logic and the UI.
In such situation, the order in
options
doesn't matter. We also provide a defaulttoolbar
layout, when no specified (and the default istoolbar: [ all options, '|', 'removeHighlight' ]
)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@oleq AFAIR that was an idea to have UI configurable using button instances (toolbarDropdown) and it should have issue for that. It is also doable the same way for alignment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@oleq & @Reinmar : https://github.com/ckeditor/ckeditor5-ui/issues/322 & https://github.com/ckeditor/ckeditor5-heading/issues/74#issuecomment-305224952.
The way how alignment & highlight features works (buttons + dropdown) was inspired by that issue & comment - so thus enables it pretty straightforward.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ps> I'd for doing this as a follow up just to see this feature live ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But I don't think that https://github.com/ckeditor/ckeditor5-ui/issues/322 has anything to do with this. Here, in this specific feature, there's more than just wrapping buttons into a dropdown, am I right? The state of the button, the color of the pen, etc, has some custom bindings.