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

Adds in missing styling for toolbar when using text-only setting #26769

Merged
merged 3 commits into from
Nov 10, 2020

Conversation

karmatosed
Copy link
Member

This is a fix for the missing styling from and closes #26748. Props to @mapk and @tellthemachines for the historical context after this was found yesterday. I also brought in some additional space on the 'add' button and converted everything to grid variables. In the thread it was stated as being 10px margins, I used the grid 8px.

Before:
2020-11-06 11 07 58

After:

2020-11-06 11 12 14

Potential extra clean-up

It seems the selected state for these have a larger height. I don't know if this is desired or a mistake so looping @jasmussen in also to double check there. @mapk you might also be able to shed some light but I couldn't see a decision on that in the issue and wanted to ensure this didn't get held up by something could happen in another PR to fix select states.

image

Next steps

@tellthemachines if this is possible to get into the next release that would be great, you hinted it might be in the issue. I would love a review as particularly on the CSS class over-riding for text-only, unsure if that's the most desireable way of doing this.

@karmatosed karmatosed added the [Type] Bug An existing feature does not function as intended label Nov 6, 2020
@karmatosed karmatosed self-assigned this Nov 6, 2020
@@ -189,6 +189,10 @@
}
}

.edit-post-header-toolbar__left > * + * {
Copy link
Contributor

Choose a reason for hiding this comment

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

This is a really obtuse selector. What exactly does it do, and is there a CSS class you can target instead?

Copy link
Member Author

@karmatosed karmatosed Nov 6, 2020

Choose a reason for hiding this comment

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

It is, but there's a bit of a tangled web going on in that code. I'll loop @tellthemachines in here (she was great in suggesting this fix) as I do think there's room for iteration and maybe simplification here. Spoiler, there is always room for reducing!

Copy link
Contributor

Choose a reason for hiding this comment

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

This is the (somewhat unfortunately named) lobotomized owl selector. It targets all sibling elements except the first ( * + * meaning literally "any element that comes after another element"). Useful here because by adding a left margin to all but the first element, we ensure there's no extra margin at either end of the toolbar. Though it's possible to do the same with classes (.classname + .classname, we have a few of those sprinkled around the codebase), in this case the children of edit-post-header-toolbar__left don't all have the same class, and are not even all the same element, so * is the cleanest way to target them all.

Perhaps a comment explaining the selector would be helpful here? Something like Select all but the first direct children of .edit-post-header-toolbar__left?

Copy link
Contributor

Choose a reason for hiding this comment

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

Because this rule is specific to the toolbar, it should probably live inside packages/edit-post/src/components/header/header-toolbar/style.scss instead. Also, it needs to be scoped to the text-only option, because currently the margin is being added on the icon buttons too. So I reckon the best place to put it is inside the .show-icon-labels rule on line 143 of the header-toolbar file.

@github-actions
Copy link

github-actions bot commented Nov 6, 2020

Size Change: +49 B (0%)

Total Size: 1.21 MB

Filename Size Change
build/edit-post/style-rtl.css 6.43 kB +23 B (0%)
build/edit-post/style.css 6.42 kB +26 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.77 kB 0 B
build/api-fetch/index.js 3.42 kB 0 B
build/autop/index.js 2.83 kB 0 B
build/blob/index.js 665 B 0 B
build/block-directory/index.js 8.71 kB 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/index.js 133 kB 0 B
build/block-editor/style-rtl.css 11.2 kB 0 B
build/block-editor/style.css 11.1 kB 0 B
build/block-library/editor-rtl.css 8.91 kB 0 B
build/block-library/editor.css 8.91 kB 0 B
build/block-library/index.js 147 kB 0 B
build/block-library/style-rtl.css 8.1 kB 0 B
build/block-library/style.css 8.1 kB 0 B
build/block-library/theme-rtl.css 792 B 0 B
build/block-library/theme.css 793 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 kB 0 B
build/components/index.js 171 kB 0 B
build/components/style-rtl.css 15.3 kB 0 B
build/components/style.css 15.3 kB 0 B
build/compose/index.js 9.87 kB 0 B
build/core-data/index.js 12.5 kB 0 B
build/data-controls/index.js 771 B 0 B
build/data/index.js 8.74 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 571 B 0 B
build/dom/index.js 4.45 kB 0 B
build/edit-navigation/index.js 11.1 kB 0 B
build/edit-navigation/style-rtl.css 881 B 0 B
build/edit-navigation/style.css 885 B 0 B
build/edit-post/index.js 305 kB 0 B
build/edit-site/index.js 22.5 kB 0 B
build/edit-site/style-rtl.css 3.91 kB 0 B
build/edit-site/style.css 3.91 kB 0 B
build/edit-widgets/index.js 26.2 kB 0 B
build/edit-widgets/style-rtl.css 3.13 kB 0 B
build/edit-widgets/style.css 3.13 kB 0 B
build/editor/editor-styles-rtl.css 480 B 0 B
build/editor/editor-styles.css 482 B 0 B
build/editor/index.js 42.5 kB 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.85 kB 0 B
build/element/index.js 4.62 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/index.js 6.86 kB 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 2.16 kB 0 B
build/html-entities/index.js 623 B 0 B
build/i18n/index.js 3.57 kB 0 B
build/is-shallow-equal/index.js 712 B 0 B
build/keyboard-shortcuts/index.js 2.52 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.1 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/media-utils/index.js 5.31 kB 0 B
build/notices/index.js 1.77 kB 0 B
build/nux/index.js 3.4 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.43 kB 0 B
build/priority-queue/index.js 791 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/reusable-blocks/index.js 3.05 kB 0 B
build/rich-text/index.js 13.4 kB 0 B
build/server-side-render/index.js 2.77 kB 0 B
build/shortcode/index.js 1.69 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4.06 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.22 kB 0 B

compressed-size-action

@jasmussen
Copy link
Contributor

I see this:

labels

Which true to your screenshots, looks slightly better than before. Nice!

I was about to say we need to verify this works well for the site editor, which uses a separate stylesheet, but it appears the text label option doesn't work there at all 🙈

I left a small comment, but otherwise this seems like a good small and neat PR.

@mapk
Copy link
Contributor

mapk commented Nov 6, 2020

@mapk you might also be able to shed some light but I couldn't see a decision on that in the issue

Yea, it should just be using/aligning with our tertiary button styles. And I believe those show a thicker border for focused elements than the hover state. Is that what's happening?

In addition, I remember a discussion about dropping the tertiary style for buttons, but not sure it's been implemented yet. In which case, this becomes it's own style and not conforming to a supported design pattern which means anything goes 😉 . I could be completely off here though.

Copy link
Contributor

@tellthemachines tellthemachines left a comment

Choose a reason for hiding this comment

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

Left a couple of comments, otherwise looks good! If we can get it finished and merged in the next 18 hours, I can squeeze it into Beta 4 🙂

@@ -189,6 +189,10 @@
}
}

.edit-post-header-toolbar__left > * + * {
Copy link
Contributor

Choose a reason for hiding this comment

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

Because this rule is specific to the toolbar, it should probably live inside packages/edit-post/src/components/header/header-toolbar/style.scss instead. Also, it needs to be scoped to the text-only option, because currently the margin is being added on the icon buttons too. So I reckon the best place to put it is inside the .show-icon-labels rule on line 143 of the header-toolbar file.

@tellthemachines tellthemachines added the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Nov 9, 2020
@karmatosed
Copy link
Member Author

@tellthemachines I have updated with those changes you requested. If there are any other please feel free to use the power of timezones to get us into beta, if that works. Hopefully it's now ready for a final review and send off. Thanks.

@tellthemachines tellthemachines merged commit b112748 into master Nov 10, 2020
@tellthemachines tellthemachines deleted the try/toolbar-spacing branch November 10, 2020 04:21
@github-actions github-actions bot added this to the Gutenberg 9.4 milestone Nov 10, 2020
tellthemachines pushed a commit that referenced this pull request Nov 11, 2020
)

* Adds in missing styling for toolbar when using text-only setting

* Increases margin

* Moves style to correct file
tellthemachines added a commit that referenced this pull request Nov 12, 2020
* Cover block: Restore default overlay background (#26569)

* Restore default Cover overlay background

The default Cover block overlay background was removed. This changed the
style of existing blocks on existing sites.

Restore the default background in such a way that it does not conflict
with theme-provided background-color styles and there is no need to
artificially add extra specificity.

Fix regression: #26545

* Limit the interface skeleton to a max width of 100% to prevent some blocks managing to exceed the width (#26552)

* Cover Block: Restore opacity controls (#26625)

* Fix image block centering when resizing to a smaller size (#26376)

* Fix image block centering when resizing to a smaller size

* Revert previous 100% width fix

* Remove display: table when image block is resized to avoid centering of block

* Match frontend classes for alignment in editor

* Gallery: Remove caption fallback for alt attribute (#26676)

* Fix quote block default alignment (#26680)

* Gallery: Remove obsolete deprecation entry (#26736)

* Do not apply text color if it is being overriden (#24626)

* Fix: Preset colors don't work on button block style outline (#26707)

* Tests: Add fixture for Column deprecation (#26774)

* Fix/column width units (#26757)

* Fix issues with different units in column widths

* Columns with fixed width should keep width on recalculation

* Address review feedback

* fix undefined index notice in Social Link Block (#25663)

* fix undefined index notice

* use isset instead of array_key_exists check

* Update packages/block-library/src/social-link/index.php

Co-authored-by: Greg Ziółkowski <grzegorz@gziolo.pl>

Co-authored-by: Greg Ziółkowski <grzegorz@gziolo.pl>

* Adds in missing styling for toolbar when using text-only setting (#26769)

* Adds in missing styling for toolbar when using text-only setting

* Increases margin

* Moves style to correct file

* Inserter: Fix 'Browse All' in Quick Inserter (#26443)

* Inserter: Fix 'Browse All' in Quick Inserter

Maintain the insertion point in @wordpress/block-editor state when
moving from the Quick Inserter to the Inserter.

This fixes a bug where the insertion point is wrong after clicking a
block appender and selecting 'Browse All'.

Care is taken to not regress a previous bug where the insertion point is
wrong after clicking an inline insertion button and selecting 'Browse
ALl'.

* Inserter: Fix typo

Co-authored-by: Daniel Richards <daniel.richards@automattic.com>

* Call getBlockInsertionPoint once

* Add useSelect dependencies

* Make setInsertionPoint unstable

* Avoid setting `isVisible` state when `SET_INSERTION_POINT` is triggered

* Make index required and clarify rootClientId usage

* Split insertionPoint into two reducers

* Fix getInsertionPoint selector that expects default state of reducer to be null

* Avoid resetting insertionPoint state on HIDE_INSERTION_POINT

Co-authored-by: Daniel Richards <daniel.richards@automattic.com>

Co-authored-by: Jon Surrell <jon.surrell@automattic.com>
Co-authored-by: Jacopo Tomasone <Copons@users.noreply.github.com>
Co-authored-by: Daniel Richards <daniel.richards@automattic.com>
Co-authored-by: Bernie Reiter <ockham@raz.or.at>
Co-authored-by: Greg Ziółkowski <grzegorz@gziolo.pl>
Co-authored-by: Oliver Juhas <webmandesign@users.noreply.github.com>
Co-authored-by: Jorge Costa <jorge.costa@automattic.com>
Co-authored-by: Fabian Kägy <mail@fabian-kaegy.de>
Co-authored-by: Tammie Lister <tammie@automattic.com>
Co-authored-by: Robert Anderson <robert@noisysocks.com>
@tellthemachines tellthemachines removed the Backport to WP 6.7 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Nov 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Text-only buttons in toolbar have uneven padding
4 participants