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

Improvements to "inherit default layout" toggle #41893

Merged
merged 3 commits into from
Jun 27, 2022

Conversation

tellthemachines
Copy link
Contributor

What?

Fixes #31950, taking into account suggestions in #36082.

Why?

The "Inherit default layout" toggle is confusing in how it's worded: what is the default layout? where are we inheriting it from?

How?

This PR tries changing the toggle text and adding descriptions to explain its actual effect on the block content.

Note

I'm not sure how we can best make the description text accessible. While it could be attached to the toggle field with an aria-describedby, the fact that the text changes according to the toggle position may make it confusing as a description. But on the other hand it is valuable to have the description be dynamic, so it explains what can be expected from the current state. Thoughts and suggestions welcome!

Testing Instructions

  1. Add a Group block in a post.
  2. Add some content inside the Group block.
  3. In Group block Layout settings (in the sidebar), check that "Inherit default layout" toggle now reads "Blocks use full width" and still works as expected.

Screenshots or screencast

Before:
Screen Shot 2022-06-23 at 6 04 11 pm
Screen Shot 2022-06-23 at 6 04 18 pm

After:

Screen Shot 2022-06-23 at 6 03 55 pm

Screen Shot 2022-06-23 at 6 03 48 pm

@github-actions
Copy link

github-actions bot commented Jun 23, 2022

Size Change: +2.52 kB (0%)

Total Size: 1.25 MB

Filename Size Change
build/block-editor/index.min.js 152 kB +154 B (0%)
build/block-editor/style.css 14.5 kB -1 B (0%)
build/block-library/blocks/button/style-rtl.css 543 B +29 B (+6%) 🔍
build/block-library/blocks/button/style.css 543 B +29 B (+6%) 🔍
build/block-library/blocks/file/style-rtl.css 253 B +29 B (+13%) ⚠️
build/block-library/blocks/file/style.css 254 B +29 B (+13%) ⚠️
build/block-library/blocks/navigation/style-rtl.css 1.96 kB -3 B (0%)
build/block-library/blocks/navigation/style.css 1.95 kB -6 B (0%)
build/block-library/blocks/post-comments/style-rtl.css 632 B +4 B (+1%)
build/block-library/blocks/post-comments/style.css 630 B +2 B (0%)
build/block-library/blocks/post-template/style-rtl.css 282 B -41 B (-13%) 👏
build/block-library/blocks/post-template/style.css 282 B -41 B (-13%) 👏
build/block-library/blocks/search/style-rtl.css 385 B +6 B (+2%)
build/block-library/blocks/search/style.css 386 B +6 B (+2%)
build/block-library/index.min.js 183 kB +56 B (0%)
build/block-library/style-rtl.css 11.5 kB -2 B (0%)
build/block-library/style.css 11.5 kB -3 B (0%)
build/blocks/index.min.js 47 kB -18 B (0%)
build/components/index.min.js 230 kB +1.97 kB (+1%)
build/core-data/index.min.js 14.7 kB -40 B (0%)
build/customize-widgets/index.min.js 11.2 kB +18 B (0%)
build/edit-post/index.min.js 30.4 kB +65 B (0%)
build/edit-site/index.min.js 50.9 kB +171 B (0%)
build/edit-widgets/index.min.js 16.4 kB +20 B (0%)
build/edit-widgets/style-rtl.css 4.36 kB -26 B (-1%)
build/edit-widgets/style.css 4.36 kB -25 B (-1%)
build/element/index.min.js 4.27 kB +3 B (0%)
build/format-library/index.min.js 6.75 kB +130 B (+2%)
build/notices/index.min.js 953 B +8 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 982 B
build/annotations/index.min.js 2.76 kB
build/api-fetch/index.min.js 2.26 kB
build/autop/index.min.js 2.14 kB
build/blob/index.min.js 475 B
build/block-directory/index.min.js 6.58 kB
build/block-directory/style-rtl.css 990 B
build/block-directory/style.css 991 B
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-editor/style-rtl.css 14.5 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 150 B
build/block-library/blocks/audio/editor.css 150 B
build/block-library/blocks/audio/style-rtl.css 103 B
build/block-library/blocks/audio/style.css 103 B
build/block-library/blocks/audio/theme-rtl.css 110 B
build/block-library/blocks/audio/theme.css 110 B
build/block-library/blocks/avatar/editor-rtl.css 116 B
build/block-library/blocks/avatar/editor.css 116 B
build/block-library/blocks/avatar/style-rtl.css 59 B
build/block-library/blocks/avatar/style.css 59 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/button/editor-rtl.css 441 B
build/block-library/blocks/button/editor.css 441 B
build/block-library/blocks/buttons/editor-rtl.css 292 B
build/block-library/blocks/buttons/editor.css 292 B
build/block-library/blocks/buttons/style-rtl.css 275 B
build/block-library/blocks/buttons/style.css 275 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 103 B
build/block-library/blocks/code/style.css 103 B
build/block-library/blocks/code/theme-rtl.css 124 B
build/block-library/blocks/code/theme.css 124 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 406 B
build/block-library/blocks/columns/style.css 406 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 125 B
build/block-library/blocks/comment-author-avatar/editor.css 125 B
build/block-library/blocks/comment-content/style-rtl.css 92 B
build/block-library/blocks/comment-content/style.css 92 B
build/block-library/blocks/comment-template/style-rtl.css 127 B
build/block-library/blocks/comment-template/style.css 127 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 95 B
build/block-library/blocks/comments/editor.css 95 B
build/block-library/blocks/cover/editor-rtl.css 615 B
build/block-library/blocks/cover/editor.css 616 B
build/block-library/blocks/cover/style-rtl.css 1.55 kB
build/block-library/blocks/cover/style.css 1.55 kB
build/block-library/blocks/embed/editor-rtl.css 293 B
build/block-library/blocks/embed/editor.css 293 B
build/block-library/blocks/embed/style-rtl.css 410 B
build/block-library/blocks/embed/style.css 410 B
build/block-library/blocks/embed/theme-rtl.css 110 B
build/block-library/blocks/embed/theme.css 110 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/view.min.js 346 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 948 B
build/block-library/blocks/gallery/editor.css 950 B
build/block-library/blocks/gallery/style-rtl.css 1.5 kB
build/block-library/blocks/gallery/style.css 1.49 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 333 B
build/block-library/blocks/group/editor.css 333 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 76 B
build/block-library/blocks/heading/style.css 76 B
build/block-library/blocks/html/editor-rtl.css 327 B
build/block-library/blocks/html/editor.css 329 B
build/block-library/blocks/image/editor-rtl.css 738 B
build/block-library/blocks/image/editor.css 737 B
build/block-library/blocks/image/style-rtl.css 524 B
build/block-library/blocks/image/style.css 530 B
build/block-library/blocks/image/theme-rtl.css 110 B
build/block-library/blocks/image/theme.css 110 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 199 B
build/block-library/blocks/latest-posts/editor.css 198 B
build/block-library/blocks/latest-posts/style-rtl.css 463 B
build/block-library/blocks/latest-posts/style.css 462 B
build/block-library/blocks/list/style-rtl.css 88 B
build/block-library/blocks/list/style.css 88 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 493 B
build/block-library/blocks/media-text/style.css 490 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 705 B
build/block-library/blocks/navigation-link/editor.css 703 B
build/block-library/blocks/navigation-link/style-rtl.css 115 B
build/block-library/blocks/navigation-link/style.css 115 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 296 B
build/block-library/blocks/navigation-submenu/editor.css 295 B
build/block-library/blocks/navigation-submenu/view.min.js 402 B
build/block-library/blocks/navigation/editor-rtl.css 2.03 kB
build/block-library/blocks/navigation/editor.css 2.04 kB
build/block-library/blocks/navigation/view-modal.min.js 2.78 kB
build/block-library/blocks/navigation/view.min.js 423 B
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 363 B
build/block-library/blocks/page-list/editor.css 363 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 260 B
build/block-library/blocks/paragraph/style.css 260 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 495 B
build/block-library/blocks/post-comments-form/style.css 495 B
build/block-library/blocks/post-comments/editor-rtl.css 77 B
build/block-library/blocks/post-comments/editor.css 77 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/editor-rtl.css 605 B
build/block-library/blocks/post-featured-image/editor.css 605 B
build/block-library/blocks/post-featured-image/style-rtl.css 153 B
build/block-library/blocks/post-featured-image/style.css 153 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 80 B
build/block-library/blocks/post-title/style.css 80 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 370 B
build/block-library/blocks/pullquote/style.css 370 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 221 B
build/block-library/blocks/query-pagination/editor.css 211 B
build/block-library/blocks/query-pagination/style-rtl.css 234 B
build/block-library/blocks/query-pagination/style.css 231 B
build/block-library/blocks/query/editor-rtl.css 369 B
build/block-library/blocks/query/editor.css 369 B
build/block-library/blocks/quote/style-rtl.css 213 B
build/block-library/blocks/quote/style.css 213 B
build/block-library/blocks/quote/theme-rtl.css 223 B
build/block-library/blocks/quote/theme.css 226 B
build/block-library/blocks/read-more/style-rtl.css 132 B
build/block-library/blocks/read-more/style.css 132 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 146 B
build/block-library/blocks/separator/editor.css 146 B
build/block-library/blocks/separator/style-rtl.css 233 B
build/block-library/blocks/separator/style.css 233 B
build/block-library/blocks/separator/theme-rtl.css 194 B
build/block-library/blocks/separator/theme.css 194 B
build/block-library/blocks/shortcode/editor-rtl.css 464 B
build/block-library/blocks/shortcode/editor.css 464 B
build/block-library/blocks/site-logo/editor-rtl.css 708 B
build/block-library/blocks/site-logo/editor.css 708 B
build/block-library/blocks/site-logo/style-rtl.css 192 B
build/block-library/blocks/site-logo/style.css 192 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 177 B
build/block-library/blocks/social-link/editor.css 177 B
build/block-library/blocks/social-links/editor-rtl.css 674 B
build/block-library/blocks/social-links/editor.css 673 B
build/block-library/blocks/social-links/style-rtl.css 1.37 kB
build/block-library/blocks/social-links/style.css 1.36 kB
build/block-library/blocks/spacer/editor-rtl.css 322 B
build/block-library/blocks/spacer/editor.css 322 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 494 B
build/block-library/blocks/table/editor.css 494 B
build/block-library/blocks/table/style-rtl.css 611 B
build/block-library/blocks/table/style.css 609 B
build/block-library/blocks/table/theme-rtl.css 175 B
build/block-library/blocks/table/theme.css 175 B
build/block-library/blocks/tag-cloud/style-rtl.css 226 B
build/block-library/blocks/tag-cloud/style.css 227 B
build/block-library/blocks/template-part/editor-rtl.css 149 B
build/block-library/blocks/template-part/editor.css 149 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 561 B
build/block-library/blocks/video/editor.css 563 B
build/block-library/blocks/video/style-rtl.css 159 B
build/block-library/blocks/video/style.css 159 B
build/block-library/blocks/video/theme-rtl.css 110 B
build/block-library/blocks/video/theme.css 110 B
build/block-library/common-rtl.css 987 B
build/block-library/common.css 984 B
build/block-library/editor-rtl.css 10.2 kB
build/block-library/editor.css 10.2 kB
build/block-library/reset-rtl.css 478 B
build/block-library/reset.css 478 B
build/block-library/theme-rtl.css 677 B
build/block-library/theme.css 682 B
build/block-serialization-default-parser/index.min.js 1.11 kB
build/block-serialization-spec-parser/index.min.js 2.83 kB
build/components/style-rtl.css 14 kB
build/components/style.css 14 kB
build/compose/index.min.js 11.7 kB
build/customize-widgets/style-rtl.css 1.4 kB
build/customize-widgets/style.css 1.4 kB
build/data-controls/index.min.js 653 B
build/data/index.min.js 7.95 kB
build/date/index.min.js 32 kB
build/deprecated/index.min.js 507 B
build/dom-ready/index.min.js 324 B
build/dom/index.min.js 4.65 kB
build/edit-navigation/index.min.js 16 kB
build/edit-navigation/style-rtl.css 4.03 kB
build/edit-navigation/style.css 4.04 kB
build/edit-post/classic-rtl.css 546 B
build/edit-post/classic.css 547 B
build/edit-post/style-rtl.css 7.08 kB
build/edit-post/style.css 7.08 kB
build/edit-site/style-rtl.css 8.14 kB
build/edit-site/style.css 8.12 kB
build/editor/index.min.js 38.6 kB
build/editor/style-rtl.css 3.63 kB
build/editor/style.css 3.62 kB
build/escape-html/index.min.js 537 B
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.64 kB
build/html-entities/index.min.js 448 B
build/i18n/index.min.js 3.77 kB
build/is-shallow-equal/index.min.js 527 B
build/keyboard-shortcuts/index.min.js 1.79 kB
build/keycodes/index.min.js 1.38 kB
build/list-reusable-blocks/index.min.js 1.74 kB
build/list-reusable-blocks/style-rtl.css 835 B
build/list-reusable-blocks/style.css 835 B
build/media-utils/index.min.js 2.9 kB
build/nux/index.min.js 2.05 kB
build/nux/style-rtl.css 732 B
build/nux/style.css 728 B
build/plugins/index.min.js 1.94 kB
build/preferences-persistence/index.min.js 2.22 kB
build/preferences/index.min.js 1.3 kB
build/primitives/index.min.js 933 B
build/priority-queue/index.min.js 612 B
build/react-i18n/index.min.js 696 B
build/react-refresh-entry/index.min.js 8.44 kB
build/react-refresh-runtime/index.min.js 7.31 kB
build/redux-routine/index.min.js 2.69 kB
build/reusable-blocks/index.min.js 2.22 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 11.1 kB
build/server-side-render/index.min.js 1.61 kB
build/shortcode/index.min.js 1.52 kB
build/token-list/index.min.js 644 B
build/url/index.min.js 3.61 kB
build/vendors/react-dom.min.js 38.5 kB
build/vendors/react.min.js 4.34 kB
build/viewport/index.min.js 1.08 kB
build/warning/index.min.js 268 B
build/widgets/index.min.js 7.19 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.06 kB

compressed-size-action

@carolinan
Copy link
Contributor

Thank you for picking this up!

I am confused about the text, should it not be the other way around? That the nested blocks fill the width of the container when the option is toggled off?

@ramonjd
Copy link
Member

ramonjd commented Jun 24, 2022

Here's what I'm seeing:

Screen Shot 2022-06-24 at 10 03 58 am

Definitely clearer than "inherit default layout"!

"Blocks use full width" does make sense to me if I remember that we're referring to the "content" of the group block.

I have the same question as @carolinan: should the help text be swapped around? I'm seeing this:

Screen Shot 2022-06-24 at 10 07 29 am

Screen Shot 2022-06-24 at 10 07 33 am

@andrewserong
Copy link
Contributor

Thanks for working on this one @tellthemachines!

I have the same question as @carolinan: should the help text be swapped around? I'm seeing this:

I'm seeing the same, but I thought it was the right way around:

  • The toggle defaults to switched on (which means that inherit is switched off), and blocks use the full width of the container
  • When the toggle is switched off (inherit is switched on), then blocks use the default content width, instead of being full width

My understanding is that in this PR we're trying to communicate that when you insert a new Group block, it has a feature that the nested blocks will fill the current container, but that users can "switch off" this behaviour and use the default content width instead? (Or manually enter content / wide width)

Is the confusion about what "full width" means?

<p className="block-editor-hooks__layout-controls-helptext">
{ !! inherit
? __(
'Nested blocks use default content width with options for full and wide widths.'
Copy link
Contributor

Choose a reason for hiding this comment

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

Just double-checking: it isn't possible for blocks-based themes to switch off full and wide alignments altogether is it? I tested this PR in a classic theme without the alignments, and it results in showInheritToggle being false, so I assume that if a user can see this control then their theme supports both full / wide options.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good question! Block themes can switch off wide/full alignments, but only by removing the layout section in their theme.json settings altogether, which means they're not able to set content size/wide size either. I somehow don't see that being a popular choice, but if it is done, then the toggle doesn't show:

Screen Shot 2022-06-27 at 11 13 26 am

Copy link
Contributor

Choose a reason for hiding this comment

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

Perfect 👍

I somehow don't see that being a popular choice

Me either, but good to know what happens just in case someone tries to get rid of it altogether!

@ramonjd
Copy link
Member

ramonjd commented Jun 24, 2022

When the toggle is switched off (inherit is switched on), then blocks use the default content width, instead of being full width

I think the "options for full and wide widths" threw me since I associated them with the content and wide input fields. 🤷

@tellthemachines
Copy link
Contributor Author

Thanks for the feedback folks!

The idea - which I took from this comment - is that when "Blocks use full width" is toggled on, the block doesn't use the theme content width, so the inner blocks fill the width of the container this option is set on. This is the same as having "Inherit default layout" toggled off.

Inversely, when "Blocks use full width" is toggled off, the inner blocks use the theme content width (and the options for full/wide width also become available).

Would it be clearer if we said "Inner blocks use full width" instead? And perhaps replaced "default content width" with "theme content width" in the description?

@andrewserong
Copy link
Contributor

Would it be clearer if we said "Inner blocks use full width" instead? And perhaps replaced "default content width" with "theme content width" in the description?

I quite like that idea, personally!

@tellthemachines
Copy link
Contributor Author

Ok, done!

@tellthemachines
Copy link
Contributor Author

One other thing that's occurred to me: we could partially fix #33374 if we were to change the default on this setting to use theme content size on Group blocks at least. Worth doing as part of this PR? Or best addressed separately?

@andrewserong
Copy link
Contributor

Worth doing as part of this PR? Or best addressed separately?

Do you mean switching the default to use inherit? If so, I think it'd probably be good to explore doing it separately, as it might conflict slightly with the plans in #40875 where we reduce the volume of container classes / style tags being output. If I understand correctly, with the setting switched on, we'd be outputting additional styles for every group block?

Copy link
Contributor

@andrewserong andrewserong left a comment

Choose a reason for hiding this comment

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

This LGTM now @tellthemachines. Just left the tiniest of nits about adding a full-stop, but otherwise I think the language changes in this PR make the feature clearer to me 👍

image

packages/block-editor/src/hooks/layout.js Outdated Show resolved Hide resolved
Co-authored-by: Andrew Serong <14988353+andrewserong@users.noreply.github.com>
@tellthemachines
Copy link
Contributor Author

Thanks for the review @andrewserong !

If I understand correctly, with the setting switched on, we'd be outputting additional styles for every group block?

Yes, though I think the only additional styles output are the max content width and auto margins applied to all the Group's children. I'll explore it separately, and definitely let's get #40875 ready first 😄

@gaambo
Copy link
Contributor

gaambo commented Jul 8, 2022

As a theme developer who follows Gutenberg development closely, I find the new labeling even more confusing than the old one. I played around with the current trunk version (including this commit) and the TwentyTwentyTwo theme, creating different combinations of nested group blocks I don't get the labeling at all 😅🙈

  1. I think it's confusing to use "full width". The editor / container block can be used in a a post/page, a template or a sidebar and "full width" can mean different things in these contexts. But normally I would understand "full width" as full width - like in 100vw. But that may not be right. (see below)
  2. I find it irritating that there's a "positive" wording when the toggle is disabled:
    grafik
    I know, labels shouldn't change on toggling, but compare this to other toggle labels in the block editor - eg "Media & Image" "Stack on mobile" (not "Columns are stacking on mobile"). The use of "is"/"are" somehow transports the meaning that this is the current state and can be changed via the toggle (at least for me).

Maybe my understanding of the whole layout configuration is wrong (allthough I used it in a couple of classic/hybrid themes already), the difference between wide, full can be confusing - depending on the design of the theme.
Here are is my understanding of the layout:

  • A group/container block by default takes the full width of it's parent (=filling)
  • Setting the group/container block to wide makes it as wide as wide defined in theme.json, which can be wider than the typical content width
  • full width sets it to 'max-width: none`
  • Those three settings make sense in post content and in a theme which does not wrap the content in a container (which has a max-width set) but instead uses a selector to set the max-width for all children of the post-content wrapper.
  • If a theme uses a container with a max-width applied (like a bootstrap container), setting a group to full-width does not make it full width, but instead just as wide as the container. To make it full width the theme author would have to use a 100vw rule.
  • With the layout toggle from this PR a user can define custom settings of the selected container-block to set new wide and content widths, overwriting those widths from theme.json for this specific container - right?

In the last few custom themes I've developed I always struggled to understand the layout configuration and just used CSS instead of theme.json, and this change does not make it more clear to me.

For reference:
Elementor, GeneratePress and others use "full width" and "contained"/"boxed" for container settings. Allthough with those two as well, full width does not really mean full width but just "filling the parent":

Sorry, if this PR is the wrong place. If I should open a new issue or reply to the corresponding issue of this PR, please let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs User Documentation Needs new user documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider new label and copy for Layout controls
6 participants