Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cover Block: Normalize the block toolbar #29247

Merged
merged 12 commits into from
Mar 15, 2021

Conversation

youknowriad
Copy link
Contributor

@youknowriad youknowriad commented Feb 23, 2021

Related #25983 similar to #29205

Capture d’écran 2021-02-23 à 10 44 54 AM

This PR normalizes the Cover blocks toolbar like suggested in the linked issue. That said, unlike the image block, the cover blocks needs to merge controls coming from several places in the code base into the same segment:

  • "align" control comes from the "align" support flag.
  • "full height" and "matrix alignment" are adhoc controls added by the block.

In order to support adding controls to the same segment from multiple places, I added a segment prop to the BlockControls component (which means multiple slots, one per segment). The other difference is that these segments are automatically wrapped in ToolbarGroup.

I tried to keep this backward compatible: still supporting the default segment without any toolbar group wrapper but if this is a validated direction, we might want to update the documentation (design and dev) about these "segments" and encourage folks to use them.

Notes

  • You'll notice that the space between the controls in the toolbar is a bit too odd. that's because there's some negative margins that are supposed to be auto-applied to toolbar buttons, but it doesn't seem to be the case here. Maybe because of the dropdown menus? cc @jasmussen

@youknowriad youknowriad added [Type] Enhancement A suggestion for improvement. [Feature] Block API API that allows to express the block paradigm. [Block] Cover Affects the Cover Block - used to display content laid over a background image Needs Dev Note Requires a developer note for a major WordPress release cycle [Type] New API New API to be used by plugin developers or package users. labels Feb 23, 2021
@youknowriad youknowriad self-assigned this Feb 23, 2021
@github-actions
Copy link

github-actions bot commented Feb 23, 2021

Size Change: +1.26 kB (0%)

Total Size: 1.4 MB

Filename Size Change
build/block-editor/index.js 125 kB +75 B (0%)
build/block-editor/style-rtl.css 12.2 kB +8 B (0%)
build/block-editor/style.css 12.2 kB +8 B (0%)
build/block-library/index.js 147 kB +12 B (0%)
build/components/index.js 283 kB +6 B (0%)
build/components/style-rtl.css 16.2 kB +574 B (+4%)
build/components/style.css 16.2 kB +576 B (+4%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.78 kB 0 B
build/api-fetch/index.js 3.4 kB 0 B
build/autop/index.js 2.82 kB 0 B
build/blob/index.js 664 B 0 B
build/block-directory/index.js 8.63 kB 0 B
build/block-directory/style-rtl.css 1 kB 0 B
build/block-directory/style.css 1.01 kB 0 B
build/block-library/blocks/archives/editor-rtl.css 61 B 0 B
build/block-library/blocks/archives/editor.css 60 B 0 B
build/block-library/blocks/audio/editor-rtl.css 58 B 0 B
build/block-library/blocks/audio/editor.css 58 B 0 B
build/block-library/blocks/audio/style-rtl.css 112 B 0 B
build/block-library/blocks/audio/style.css 112 B 0 B
build/block-library/blocks/block/editor-rtl.css 161 B 0 B
build/block-library/blocks/block/editor.css 161 B 0 B
build/block-library/blocks/button/editor-rtl.css 475 B 0 B
build/block-library/blocks/button/editor.css 474 B 0 B
build/block-library/blocks/button/style-rtl.css 479 B 0 B
build/block-library/blocks/button/style.css 479 B 0 B
build/block-library/blocks/buttons/editor-rtl.css 315 B 0 B
build/block-library/blocks/buttons/editor.css 315 B 0 B
build/block-library/blocks/buttons/style-rtl.css 364 B 0 B
build/block-library/blocks/buttons/style.css 363 B 0 B
build/block-library/blocks/calendar/style-rtl.css 208 B 0 B
build/block-library/blocks/calendar/style.css 208 B 0 B
build/block-library/blocks/categories/editor-rtl.css 84 B 0 B
build/block-library/blocks/categories/editor.css 83 B 0 B
build/block-library/blocks/categories/style-rtl.css 79 B 0 B
build/block-library/blocks/categories/style.css 79 B 0 B
build/block-library/blocks/code/style-rtl.css 90 B 0 B
build/block-library/blocks/code/style.css 90 B 0 B
build/block-library/blocks/columns/editor-rtl.css 190 B 0 B
build/block-library/blocks/columns/editor.css 190 B 0 B
build/block-library/blocks/columns/style-rtl.css 421 B 0 B
build/block-library/blocks/columns/style.css 421 B 0 B
build/block-library/blocks/cover/editor-rtl.css 599 B 0 B
build/block-library/blocks/cover/editor.css 599 B 0 B
build/block-library/blocks/cover/style-rtl.css 1.24 kB 0 B
build/block-library/blocks/cover/style.css 1.24 kB 0 B
build/block-library/blocks/embed/editor-rtl.css 486 B 0 B
build/block-library/blocks/embed/editor.css 486 B 0 B
build/block-library/blocks/embed/style-rtl.css 401 B 0 B
build/block-library/blocks/embed/style.css 400 B 0 B
build/block-library/blocks/file/editor-rtl.css 199 B 0 B
build/block-library/blocks/file/editor.css 198 B 0 B
build/block-library/blocks/file/style-rtl.css 248 B 0 B
build/block-library/blocks/file/style.css 248 B 0 B
build/block-library/blocks/freeform/editor-rtl.css 2.45 kB 0 B
build/block-library/blocks/freeform/editor.css 2.45 kB 0 B
build/block-library/blocks/gallery/editor-rtl.css 689 B 0 B
build/block-library/blocks/gallery/editor.css 690 B 0 B
build/block-library/blocks/gallery/style-rtl.css 1.08 kB 0 B
build/block-library/blocks/gallery/style.css 1.07 kB 0 B
build/block-library/blocks/group/editor-rtl.css 318 B 0 B
build/block-library/blocks/group/editor.css 317 B 0 B
build/block-library/blocks/group/style-rtl.css 57 B 0 B
build/block-library/blocks/group/style.css 57 B 0 B
build/block-library/blocks/heading/editor-rtl.css 129 B 0 B
build/block-library/blocks/heading/editor.css 129 B 0 B
build/block-library/blocks/heading/style-rtl.css 76 B 0 B
build/block-library/blocks/heading/style.css 76 B 0 B
build/block-library/blocks/html/editor-rtl.css 281 B 0 B
build/block-library/blocks/html/editor.css 281 B 0 B
build/block-library/blocks/image/editor-rtl.css 717 B 0 B
build/block-library/blocks/image/editor.css 716 B 0 B
build/block-library/blocks/image/style-rtl.css 476 B 0 B
build/block-library/blocks/image/style.css 478 B 0 B
build/block-library/blocks/latest-comments/editor-rtl.css 159 B 0 B
build/block-library/blocks/latest-comments/editor.css 158 B 0 B
build/block-library/blocks/latest-comments/style-rtl.css 269 B 0 B
build/block-library/blocks/latest-comments/style.css 269 B 0 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B 0 B
build/block-library/blocks/latest-posts/editor.css 137 B 0 B
build/block-library/blocks/latest-posts/style-rtl.css 523 B 0 B
build/block-library/blocks/latest-posts/style.css 522 B 0 B
build/block-library/blocks/list/editor-rtl.css 65 B 0 B
build/block-library/blocks/list/editor.css 65 B 0 B
build/block-library/blocks/list/style-rtl.css 63 B 0 B
build/block-library/blocks/list/style.css 63 B 0 B
build/block-library/blocks/media-text/editor-rtl.css 191 B 0 B
build/block-library/blocks/media-text/editor.css 191 B 0 B
build/block-library/blocks/media-text/style-rtl.css 535 B 0 B
build/block-library/blocks/media-text/style.css 532 B 0 B
build/block-library/blocks/more/editor-rtl.css 434 B 0 B
build/block-library/blocks/more/editor.css 434 B 0 B
build/block-library/blocks/navigation-link/editor-rtl.css 620 B 0 B
build/block-library/blocks/navigation-link/editor.css 621 B 0 B
build/block-library/blocks/navigation-link/style-rtl.css 671 B 0 B
build/block-library/blocks/navigation-link/style.css 668 B 0 B
build/block-library/blocks/navigation/editor-rtl.css 1.09 kB 0 B
build/block-library/blocks/navigation/editor.css 1.09 kB 0 B
build/block-library/blocks/navigation/style-rtl.css 204 B 0 B
build/block-library/blocks/navigation/style.css 205 B 0 B
build/block-library/blocks/nextpage/editor-rtl.css 395 B 0 B
build/block-library/blocks/nextpage/editor.css 395 B 0 B
build/block-library/blocks/page-list/editor-rtl.css 215 B 0 B
build/block-library/blocks/page-list/editor.css 215 B 0 B
build/block-library/blocks/page-list/style-rtl.css 527 B 0 B
build/block-library/blocks/page-list/style.css 526 B 0 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B 0 B
build/block-library/blocks/paragraph/editor.css 157 B 0 B
build/block-library/blocks/paragraph/style-rtl.css 247 B 0 B
build/block-library/blocks/paragraph/style.css 248 B 0 B
build/block-library/blocks/post-author/editor-rtl.css 209 B 0 B
build/block-library/blocks/post-author/editor.css 209 B 0 B
build/block-library/blocks/post-author/style-rtl.css 183 B 0 B
build/block-library/blocks/post-author/style.css 184 B 0 B
build/block-library/blocks/post-comments-form/style-rtl.css 250 B 0 B
build/block-library/blocks/post-comments-form/style.css 250 B 0 B
build/block-library/blocks/post-content/editor-rtl.css 139 B 0 B
build/block-library/blocks/post-content/editor.css 139 B 0 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B 0 B
build/block-library/blocks/post-excerpt/editor.css 73 B 0 B
build/block-library/blocks/post-featured-image/editor-rtl.css 338 B 0 B
build/block-library/blocks/post-featured-image/editor.css 338 B 0 B
build/block-library/blocks/post-featured-image/style-rtl.css 100 B 0 B
build/block-library/blocks/post-featured-image/style.css 100 B 0 B
build/block-library/blocks/preformatted/style-rtl.css 63 B 0 B
build/block-library/blocks/preformatted/style.css 63 B 0 B
build/block-library/blocks/pullquote/editor-rtl.css 183 B 0 B
build/block-library/blocks/pullquote/editor.css 183 B 0 B
build/block-library/blocks/pullquote/style-rtl.css 318 B 0 B
build/block-library/blocks/pullquote/style.css 318 B 0 B
build/block-library/blocks/query-loop/editor-rtl.css 90 B 0 B
build/block-library/blocks/query-loop/editor.css 89 B 0 B
build/block-library/blocks/query-loop/style-rtl.css 315 B 0 B
build/block-library/blocks/query-loop/style.css 317 B 0 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B 0 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B 0 B
build/block-library/blocks/query-pagination/editor-rtl.css 270 B 0 B
build/block-library/blocks/query-pagination/editor.css 262 B 0 B
build/block-library/blocks/query-pagination/style-rtl.css 168 B 0 B
build/block-library/blocks/query-pagination/style.css 168 B 0 B
build/block-library/blocks/query-title/editor-rtl.css 86 B 0 B
build/block-library/blocks/query-title/editor.css 86 B 0 B
build/block-library/blocks/query/editor-rtl.css 814 B 0 B
build/block-library/blocks/query/editor.css 812 B 0 B
build/block-library/blocks/quote/editor-rtl.css 61 B 0 B
build/block-library/blocks/quote/editor.css 61 B 0 B
build/block-library/blocks/quote/style-rtl.css 169 B 0 B
build/block-library/blocks/quote/style.css 169 B 0 B
build/block-library/blocks/rss/editor-rtl.css 201 B 0 B
build/block-library/blocks/rss/editor.css 202 B 0 B
build/block-library/blocks/rss/style-rtl.css 290 B 0 B
build/block-library/blocks/rss/style.css 290 B 0 B
build/block-library/blocks/search/editor-rtl.css 165 B 0 B
build/block-library/blocks/search/editor.css 165 B 0 B
build/block-library/blocks/search/style-rtl.css 342 B 0 B
build/block-library/blocks/search/style.css 344 B 0 B
build/block-library/blocks/separator/editor-rtl.css 99 B 0 B
build/block-library/blocks/separator/editor.css 99 B 0 B
build/block-library/blocks/separator/style-rtl.css 236 B 0 B
build/block-library/blocks/separator/style.css 236 B 0 B
build/block-library/blocks/shortcode/editor-rtl.css 504 B 0 B
build/block-library/blocks/shortcode/editor.css 504 B 0 B
build/block-library/blocks/site-logo/editor-rtl.css 201 B 0 B
build/block-library/blocks/site-logo/editor.css 201 B 0 B
build/block-library/blocks/site-logo/style-rtl.css 115 B 0 B
build/block-library/blocks/site-logo/style.css 115 B 0 B
build/block-library/blocks/social-link/editor-rtl.css 164 B 0 B
build/block-library/blocks/social-link/editor.css 165 B 0 B
build/block-library/blocks/social-links/editor-rtl.css 696 B 0 B
build/block-library/blocks/social-links/editor.css 696 B 0 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB 0 B
build/block-library/blocks/social-links/style.css 1.32 kB 0 B
build/block-library/blocks/spacer/editor-rtl.css 317 B 0 B
build/block-library/blocks/spacer/editor.css 317 B 0 B
build/block-library/blocks/spacer/style-rtl.css 48 B 0 B
build/block-library/blocks/spacer/style.css 48 B 0 B
build/block-library/blocks/table/editor-rtl.css 478 B 0 B
build/block-library/blocks/table/editor.css 478 B 0 B
build/block-library/blocks/table/style-rtl.css 402 B 0 B
build/block-library/blocks/table/style.css 402 B 0 B
build/block-library/blocks/tag-cloud/editor-rtl.css 118 B 0 B
build/block-library/blocks/tag-cloud/editor.css 118 B 0 B
build/block-library/blocks/tag-cloud/style-rtl.css 94 B 0 B
build/block-library/blocks/tag-cloud/style.css 94 B 0 B
build/block-library/blocks/template-part/editor-rtl.css 557 B 0 B
build/block-library/blocks/template-part/editor.css 556 B 0 B
build/block-library/blocks/term-description/editor-rtl.css 90 B 0 B
build/block-library/blocks/term-description/editor.css 90 B 0 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B 0 B
build/block-library/blocks/text-columns/editor.css 95 B 0 B
build/block-library/blocks/text-columns/style-rtl.css 166 B 0 B
build/block-library/blocks/text-columns/style.css 166 B 0 B
build/block-library/blocks/verse/editor-rtl.css 62 B 0 B
build/block-library/blocks/verse/editor.css 62 B 0 B
build/block-library/blocks/verse/style-rtl.css 87 B 0 B
build/block-library/blocks/verse/style.css 87 B 0 B
build/block-library/blocks/video/editor-rtl.css 504 B 0 B
build/block-library/blocks/video/editor.css 503 B 0 B
build/block-library/blocks/video/style-rtl.css 187 B 0 B
build/block-library/blocks/video/style.css 187 B 0 B
build/block-library/common-rtl.css 1.1 kB 0 B
build/block-library/common.css 1.1 kB 0 B
build/block-library/editor-rtl.css 9.53 kB 0 B
build/block-library/editor.css 9.54 kB 0 B
build/block-library/style-rtl.css 8.82 kB 0 B
build/block-library/style.css 8.83 kB 0 B
build/block-library/theme-rtl.css 700 B 0 B
build/block-library/theme.css 701 B 0 B
build/block-serialization-default-parser/index.js 1.87 kB 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/blocks/index.js 48.3 kB 0 B
build/compose/index.js 11.1 kB 0 B
build/core-data/index.js 16.7 kB 0 B
build/customize-widgets/index.js 3.95 kB 0 B
build/customize-widgets/style-rtl.css 168 B 0 B
build/customize-widgets/style.css 168 B 0 B
build/data-controls/index.js 829 B 0 B
build/data/index.js 8.87 kB 0 B
build/date/index.js 31.8 kB 0 B
build/deprecated/index.js 769 B 0 B
build/dom-ready/index.js 576 B 0 B
build/dom/index.js 4.93 kB 0 B
build/edit-navigation/index.js 11.9 kB 0 B
build/edit-navigation/style-rtl.css 1.31 kB 0 B
build/edit-navigation/style.css 1.31 kB 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.82 kB 0 B
build/edit-post/style.css 6.81 kB 0 B
build/edit-site/index.js 27.2 kB 0 B
build/edit-site/style-rtl.css 4.49 kB 0 B
build/edit-site/style.css 4.48 kB 0 B
build/edit-widgets/index.js 20.1 kB 0 B
build/edit-widgets/style-rtl.css 3.2 kB 0 B
build/edit-widgets/style.css 3.2 kB 0 B
build/editor/editor-styles-rtl.css 347 B 0 B
build/editor/editor-styles.css 347 B 0 B
build/editor/index.js 41.8 kB 0 B
build/editor/style-rtl.css 3.9 kB 0 B
build/editor/style.css 3.9 kB 0 B
build/element/index.js 4.61 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/index.js 6.75 kB 0 B
build/format-library/style-rtl.css 637 B 0 B
build/format-library/style.css 639 B 0 B
build/hooks/index.js 2.28 kB 0 B
build/html-entities/index.js 623 B 0 B
build/i18n/index.js 4.01 kB 0 B
build/is-shallow-equal/index.js 698 B 0 B
build/keyboard-shortcuts/index.js 2.53 kB 0 B
build/keycodes/index.js 1.95 kB 0 B
build/list-reusable-blocks/index.js 3.14 kB 0 B
build/list-reusable-blocks/style-rtl.css 629 B 0 B
build/list-reusable-blocks/style.css 628 B 0 B
build/media-utils/index.js 5.34 kB 0 B
build/notices/index.js 1.85 kB 0 B
build/nux/index.js 3.41 kB 0 B
build/nux/style-rtl.css 731 B 0 B
build/nux/style.css 727 B 0 B
build/plugins/index.js 2.89 kB 0 B
build/primitives/index.js 1.42 kB 0 B
build/priority-queue/index.js 791 B 0 B
build/react-i18n/index.js 1.46 kB 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/reusable-blocks/index.js 3.78 kB 0 B
build/reusable-blocks/style-rtl.css 225 B 0 B
build/reusable-blocks/style.css 225 B 0 B
build/rich-text/index.js 13.4 kB 0 B
build/server-side-render/index.js 2.58 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 3.02 kB 0 B
build/viewport/index.js 1.86 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@youknowriad
Copy link
Contributor Author

This PR needs mobile review as well as it impacts there too.

@jasmussen
Copy link
Contributor

Awesome, Riad. This is going to clean things up so much. Before:

before

After:

Screenshot 2021-02-23 at 11 45 28

As you notice, yes, there's something off about the spacing. I'll see if I can push a fix after lunch.

@jasmussen
Copy link
Contributor

Also, "Add Media" should be "Add media" no? I.e. sentence case like menu items?

Screenshot 2021-02-23 at 11 46 54

Or is there some proper noun rule I'm missing (noticing Reusable block with capital letter here)? Probably something I should look at separately 😅

@mtias
Copy link
Member

mtias commented Feb 23, 2021

It seems the capitalize nouns / sentence case goes back and forth in circles every couple years :)

@youknowriad
Copy link
Contributor Author

I think there's some kind of exception for blocks where it's Name block

@jasmussen
Copy link
Contributor

The CSS that sizes sequential buttons has always been a little messy, due to fragments and differing types of nesting.

I got close to getting it to work, by building upon the existing bundle of rules, but it started to break apart with plugins, and I experimented with a little refactor (which would address #24898). And I had something:

Screenshot 2021-02-23 at 15 08 57

Yellow is first in a segment, orange is middle of a segment, red is last in a segment, green is a segment with just one control inside

However that falls apart because of the accumulation of different nesting:

Screenshot 2021-02-23 at 15 12 56

🙈

However, the heuristic COULD be simple: every segment is treated as if it has only a single control inside, unless a CSS class is present. The bold/italic/link inline controls use components-toolbar-group — is that something we could apply?

Otherwise, I'll dive into the CSS mess again :)

@jasmussen
Copy link
Contributor

So it seems when a plugin is active, which adds controls, groups are named "components-toolbar", when the same plugin is inactive, it's called "components-toolbar-group" 🙈

@youknowriad
Copy link
Contributor Author

I personally think the idea solution is that the segments should be ToolbarGroup components and all the buttons inside should be ToolbarButton. Enforcing that could be difficult due to DropdownMenu or Dropdown adding a div around the buttons.

@jasmussen
Copy link
Contributor

Agreed. I think I found a good interim solution, though, just putting the final touches on it.

@jasmussen
Copy link
Contributor

Alright, that was a massive headache, but in 3d7a7a7 I managed to refactor the CSS to be what I believe is both easier to read, and more resilient. But because it touches sensitive code, it really means we need to test this a lot for every block toolbar that ships, and ideally with a few plugins as well. I tested with coblocks and it works solidly.

buttons

Screenshot 2021-02-23 at 16 55 51

The thing is, both CSS classes and markup of the block toolbar change when a plugin adds buttons to the block toolbar. It's quite unwieldy. There are some stray divs as well, probably fragments, that add complexity.

But we're in a better place with this, so that's the good news. Fixes #24898.

@diegohaz
Copy link
Member

So it seems when a plugin is active, which adds controls, groups are named "components-toolbar", when the same plugin is inactive, it's called "components-toolbar-group" 🙈

.components-toolbar is a legacy class name applied to the toolbar groups when they have tabbable elements that aren't ToolbarItem or ToolbarButton. Probably the plugin is adding such an element to the toolbar. Therefore, the roving tabindex behavior on the toolbar is disabled (more context: #18619). I have to agree that it's really confusing though.

@jasmussen
Copy link
Contributor

Oh thank you, that's very helpful context, makes sense.

The reason it makes it gnarly is that components-toolbar is used at multiple levels of nesting, so it's very hard to create rules that are simple and readable yet reach their target consistently for this CSS.

Can the legacy rule be renamed? And/or can it coexist (i.e. class="components-toolbar components-toolbar-group")?

To be clear, for this PR I believe I solved the CSS. But for the longer term, I would really love for the block toolbar structure to be simplified and more predictable — groups and either buttons or dropdowns, as Riad suggests, so 2 levels deep at most.

@diegohaz
Copy link
Member

If we don't need to maintain backward compatibility for class names, I'd say we should try to get rid of .components-toolbar entirely. The last time I tried it though a lot of things broke. I kept it to avoid breaking more things. But there were much more things relying on that class name back then. Maybe it's worth giving it another try now.

Also, there's another inconsistency where some toolbar buttons will have a wrapping div (ToolbarButtonContainer) around the button element when rendered as the legacy toolbar (.components-toolbar):

if ( ! accessibleToolbarState ) {
return (
<ToolbarButtonContainer className={ containerClassName }>
<Button
ref={ ref }
icon={ props.icon }
label={ title }
shortcut={ props.shortcut }
data-subscript={ props.subscript }
onClick={ ( event ) => {
event.stopPropagation();
if ( props.onClick ) {
props.onClick( event );
}
} }
className={ classnames(
'components-toolbar__control',
className
) }
isPressed={ isActive }
disabled={ isDisabled }
data-toolbar-item
{ ...extraProps }
{ ...props }
>
{ children }
</Button>
</ToolbarButtonContainer>
);
}

That's why we have this kind of rule where we're expecting a wrapping div:

.components-accessible-toolbar .components-toolbar-group > .components-button.components-button.has-icon,
.components-toolbar div > .components-button.components-button.has-icon {

Ideally, I think we should get rid of both the .components-toolbar class and the wrapping div on ToolbarButton so we can style them the same way no matter if a plugin or something else is changing the toolbar roving tabindex behavior.

@youknowriad youknowriad mentioned this pull request Feb 26, 2021
6 tasks
@youknowriad youknowriad force-pushed the update/normalize-cover-block-toolbar branch from 3d7a7a7 to 450f03b Compare February 26, 2021 07:49
@youknowriad youknowriad force-pushed the update/normalize-cover-block-toolbar branch from f3e4985 to f1853fb Compare March 15, 2021 08:16
@youknowriad youknowriad merged commit e382528 into trunk Mar 15, 2021
@youknowriad youknowriad deleted the update/normalize-cover-block-toolbar branch March 15, 2021 09:01
@github-actions github-actions bot added this to the Gutenberg 10.3 milestone Mar 15, 2021
@jasmussen jasmussen mentioned this pull request Mar 16, 2021
7 tasks
@youknowriad youknowriad mentioned this pull request Jun 1, 2021
15 tasks
@youknowriad youknowriad removed the Needs Dev Note Requires a developer note for a major WordPress release cycle label Jul 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Cover Affects the Cover Block - used to display content laid over a background image [Feature] Block API API that allows to express the block paradigm. [Type] Enhancement A suggestion for improvement. [Type] New API New API to be used by plugin developers or package users.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants