Skip to content

Restore the missing background color on nested submenus#22228

Merged
adamziel merged 4 commits into
masterfrom
update/menu-default-variation
May 11, 2020
Merged

Restore the missing background color on nested submenus#22228
adamziel merged 4 commits into
masterfrom
update/menu-default-variation

Conversation

@adamziel

@adamziel adamziel commented May 8, 2020

Copy link
Copy Markdown
Contributor

Description

This PR ensures nested submenus have a background right after they're added (when the is-style-light css class is missing).

Screenshots

Before
Zrzut ekranu 2020-05-8 o 16 39 08

After
Zrzut ekranu 2020-05-11 o 13 33 17

Zrzut ekranu 2020-05-11 o 13 32 26

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@adamziel adamziel added [Feature] List View Menu item in the top toolbar to select blocks from a list of links. [Block] Navigation Affects the Navigation Block labels May 8, 2020
@adamziel adamziel requested review from karmatosed and talldan May 8, 2020 14:39
@adamziel adamziel self-assigned this May 8, 2020
@github-actions

github-actions Bot commented May 8, 2020

Copy link
Copy Markdown

Size Change: +497 B (0%)

Total Size: 824 kB

Filename Size Change
build/block-directory/index.js 6.61 kB +2 B (0%)
build/block-editor/index.js 102 kB +467 B (0%)
build/block-editor/style.css 10.3 kB +1 B
build/block-library/editor-rtl.css 7.12 kB -3 B (0%)
build/block-library/editor.css 7.12 kB -3 B (0%)
build/block-library/index.js 115 kB -52 B (0%)
build/block-library/style-rtl.css 7.38 kB +44 B (0%)
build/block-library/style.css 7.38 kB +44 B (0%)
build/blocks/index.js 48.1 kB +2 B (0%)
build/components/index.js 180 kB -5 B (0%)
build/compose/index.js 6.66 kB -1 B
build/edit-navigation/index.js 4.41 kB +11 B (0%)
build/edit-post/index.js 28 kB -8 B (0%)
build/edit-site/index.js 12.1 kB -3 B (0%)
build/edit-widgets/index.js 8.37 kB -5 B (0%)
build/editor/index.js 44.3 kB +2 B (0%)
build/format-library/index.js 7.63 kB +1 B
build/list-reusable-blocks/index.js 3.12 kB -1 B
build/media-utils/index.js 5.29 kB +2 B (0%)
build/plugins/index.js 2.56 kB +3 B (0%)
build/primitives/index.js 1.5 kB -2 B (0%)
build/rich-text/index.js 14.8 kB -2 B (0%)
build/server-side-render/index.js 2.68 kB +3 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.02 kB 0 B
build/annotations/index.js 3.62 kB 0 B
build/api-fetch/index.js 4.08 kB 0 B
build/autop/index.js 2.82 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 761 B 0 B
build/block-editor/style-rtl.css 10.3 kB 0 B
build/block-library/theme-rtl.css 683 B 0 B
build/block-library/theme.css 685 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/components/style-rtl.css 17 kB 0 B
build/components/style.css 16.9 kB 0 B
build/core-data/index.js 11.4 kB 0 B
build/data-controls/index.js 1.29 kB 0 B
build/data/index.js 8.45 kB 0 B
build/date/index.js 5.47 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 3.1 kB 0 B
build/edit-navigation/style-rtl.css 618 B 0 B
build/edit-navigation/style.css 617 B 0 B
build/edit-post/style-rtl.css 12.2 kB 0 B
build/edit-post/style.css 12.2 kB 0 B
build/edit-site/style-rtl.css 5.22 kB 0 B
build/edit-site/style.css 5.22 kB 0 B
build/edit-widgets/style-rtl.css 4.69 kB 0 B
build/edit-widgets/style.css 4.69 kB 0 B
build/editor/editor-styles-rtl.css 425 B 0 B
build/editor/editor-styles.css 428 B 0 B
build/editor/style-rtl.css 5.07 kB 0 B
build/editor/style.css 5.08 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 734 B 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 2.14 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.56 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.51 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/priority-queue/index.js 789 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.28 kB 0 B
build/url/index.js 4.02 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.18 kB 0 B

compressed-size-action

@tellthemachines tellthemachines left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to apply the default background only to submenus? There can't be many cases where we'd want a dropdown to have a different background colour from the main nav.

I understand that currently we're not able to set the block background to match the theme's background (if it has one), but with the global styles work underway that will soon be possible! 🎉 At that point we'll likely want to keep the white as a fallback and set the theme background with a custom property. And, to be theme friendly - because these styles apply to the front end as well as the editor - we should keep selector specificity as low as possible.

With that in mind, I'd suggest the changeset for this PR could be as small as simply adding .wp-block-navigation:not(.has-background) .wp-block-navigation__container, on line 135 plus the change on lines 24-27 🙂

.wp-block-navigation-link,
.is-style-light .wp-block-navigation-link {
.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-link,
.wp-block-navigation.is-style-light .wp-block-navigation__container .wp-block-navigation-link {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is-style-light and is-style-dark need to apply to the whole navigation, not only to the submenus.

@adamziel

Copy link
Copy Markdown
Contributor Author

@tellthemachines here's some more context behind the transparent top-level background: #22167 (comment)

@adamziel

adamziel commented May 11, 2020

Copy link
Copy Markdown
Contributor Author

My bad for including both changes in a single PR :-) I'm going to restore the top-level navigation background color and merge the sub-navigation change only. Let's keep discussing the top-level background separately.

@adamziel adamziel merged commit 0bee4b7 into master May 11, 2020
@adamziel adamziel deleted the update/menu-default-variation branch May 11, 2020 14:05
@github-actions github-actions Bot added this to the Gutenberg 8.1 milestone May 11, 2020
.is-style-light .wp-block-navigation-link {
&:not(.has-text-color) .wp-block-navigation-link__content {
.wp-block-navigation,
.wp-block-navigation.is-style-light {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the specificity increase from adding .wp-block-navigation here necessary?

@adamziel adamziel May 12, 2020

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to avoid .is-style-light interfering with non-navigation blocks with the same class name should they decide to implement light/dark style variations. In case of former line 126 an interference would occur if the navigation block with the default style (no class) was nested in some other block with light style applied.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Block] Navigation Affects the Navigation Block [Feature] List View Menu item in the top toolbar to select blocks from a list of links.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants