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

Group block: Add a row variation #34535

Merged
merged 4 commits into from Sep 7, 2021
Merged

Group block: Add a row variation #34535

merged 4 commits into from Sep 7, 2021

Conversation

youknowriad
Copy link
Contributor

Follow-up #33687

Right now, the Flex layout is there but not exposed anywhere in the UI, this PR adds a first block using the new layout. It's just a variation of the group block called "row". What do you think?

Testing instructions

  • Add the "Row" block variation and play with it a bit.

@youknowriad youknowriad added [Block] Group Affects the Group Block [Type] Feature New feature to highlight in changelogs. labels Sep 3, 2021
@youknowriad youknowriad self-assigned this Sep 3, 2021
@github-actions
Copy link

github-actions bot commented Sep 3, 2021

Size Change: +238 B (0%)

Total Size: 1.04 MB

Filename Size Change
build/block-library/blocks/columns/editor-rtl.css 206 B +12 B (+6%) 🔍
build/block-library/blocks/columns/editor.css 205 B +12 B (+6%) 🔍
build/block-library/blocks/columns/style-rtl.css 497 B +23 B (+5%) 🔍
build/block-library/blocks/columns/style.css 496 B +21 B (+4%)
build/block-library/editor-rtl.css 9.54 kB +12 B (0%)
build/block-library/editor.css 9.52 kB +12 B (0%)
build/block-library/index.min.js 151 kB +91 B (0%)
build/block-library/style-rtl.css 10.2 kB +26 B (0%)
build/block-library/style.css 10.2 kB +26 B (0%)
build/core-data/index.min.js 12.4 kB +3 B (0%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 931 B
build/admin-manifest/index.min.js 1.09 kB
build/annotations/index.min.js 2.7 kB
build/api-fetch/index.min.js 2.19 kB
build/autop/index.min.js 2.08 kB
build/blob/index.min.js 459 B
build/block-directory/index.min.js 6.2 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/default-editor-styles-rtl.css 378 B
build/block-editor/default-editor-styles.css 378 B
build/block-editor/index.min.js 119 kB
build/block-editor/style-rtl.css 13.8 kB
build/block-editor/style.css 13.8 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 58 B
build/block-library/blocks/audio/editor.css 58 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 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 474 B
build/block-library/blocks/button/editor.css 474 B
build/block-library/blocks/button/style-rtl.css 600 B
build/block-library/blocks/button/style.css 600 B
build/block-library/blocks/buttons/editor-rtl.css 315 B
build/block-library/blocks/buttons/editor.css 315 B
build/block-library/blocks/buttons/style-rtl.css 370 B
build/block-library/blocks/buttons/style.css 370 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 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 131 B
build/block-library/blocks/code/theme.css 131 B
build/block-library/blocks/cover/editor-rtl.css 666 B
build/block-library/blocks/cover/editor.css 670 B
build/block-library/blocks/cover/style-rtl.css 1.23 kB
build/block-library/blocks/cover/style.css 1.23 kB
build/block-library/blocks/embed/editor-rtl.css 488 B
build/block-library/blocks/embed/editor.css 488 B
build/block-library/blocks/embed/style-rtl.css 417 B
build/block-library/blocks/embed/style.css 417 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 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/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/file/view.min.js 322 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 925 B
build/block-library/blocks/gallery/editor.css 929 B
build/block-library/blocks/gallery/style-rtl.css 1.6 kB
build/block-library/blocks/gallery/style.css 1.59 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 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 70 B
build/block-library/blocks/group/theme.css 70 B
build/block-library/blocks/heading/style-rtl.css 114 B
build/block-library/blocks/heading/style.css 114 B
build/block-library/blocks/home-link/style-rtl.css 247 B
build/block-library/blocks/home-link/style.css 247 B
build/block-library/blocks/html/editor-rtl.css 283 B
build/block-library/blocks/html/editor.css 284 B
build/block-library/blocks/image/editor-rtl.css 728 B
build/block-library/blocks/image/editor.css 728 B
build/block-library/blocks/image/style-rtl.css 482 B
build/block-library/blocks/image/style.css 487 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 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 137 B
build/block-library/blocks/latest-posts/editor.css 137 B
build/block-library/blocks/latest-posts/style-rtl.css 528 B
build/block-library/blocks/latest-posts/style.css 527 B
build/block-library/blocks/list/style-rtl.css 94 B
build/block-library/blocks/list/style.css 94 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 488 B
build/block-library/blocks/media-text/style.css 485 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 489 B
build/block-library/blocks/navigation-link/editor.css 488 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation/editor-rtl.css 1.72 kB
build/block-library/blocks/navigation/editor.css 1.72 kB
build/block-library/blocks/navigation/style-rtl.css 1.42 kB
build/block-library/blocks/navigation/style.css 1.41 kB
build/block-library/blocks/navigation/view.min.js 2.52 kB
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 310 B
build/block-library/blocks/page-list/editor.css 310 B
build/block-library/blocks/page-list/style-rtl.css 241 B
build/block-library/blocks/page-list/style.css 241 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 261 B
build/block-library/blocks/paragraph/style.css 261 B
build/block-library/blocks/post-author/editor-rtl.css 210 B
build/block-library/blocks/post-author/editor.css 210 B
build/block-library/blocks/post-author/style-rtl.css 182 B
build/block-library/blocks/post-author/style.css 181 B
build/block-library/blocks/post-comments-form/style-rtl.css 140 B
build/block-library/blocks/post-comments-form/style.css 140 B
build/block-library/blocks/post-comments/style-rtl.css 360 B
build/block-library/blocks/post-comments/style.css 359 B
build/block-library/blocks/post-content/editor-rtl.css 138 B
build/block-library/blocks/post-content/editor.css 138 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 398 B
build/block-library/blocks/post-featured-image/editor.css 398 B
build/block-library/blocks/post-featured-image/style-rtl.css 143 B
build/block-library/blocks/post-featured-image/style.css 143 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-template/style-rtl.css 378 B
build/block-library/blocks/post-template/style.css 379 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 60 B
build/block-library/blocks/post-title/style.css 60 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 378 B
build/block-library/blocks/pullquote/style.css 378 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 270 B
build/block-library/blocks/query-pagination/editor.css 262 B
build/block-library/blocks/query-pagination/style-rtl.css 239 B
build/block-library/blocks/query-pagination/style.css 236 B
build/block-library/blocks/query-title/editor-rtl.css 85 B
build/block-library/blocks/query-title/editor.css 85 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 187 B
build/block-library/blocks/quote/style.css 187 B
build/block-library/blocks/quote/theme-rtl.css 220 B
build/block-library/blocks/quote/theme.css 222 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/style-rtl.css 374 B
build/block-library/blocks/search/style.css 375 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 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 250 B
build/block-library/blocks/separator/style.css 250 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 462 B
build/block-library/blocks/site-logo/editor.css 464 B
build/block-library/blocks/site-logo/style-rtl.css 153 B
build/block-library/blocks/site-logo/style.css 153 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 165 B
build/block-library/blocks/social-link/editor.css 165 B
build/block-library/blocks/social-links/editor-rtl.css 812 B
build/block-library/blocks/social-links/editor.css 811 B
build/block-library/blocks/social-links/style-rtl.css 1.33 kB
build/block-library/blocks/social-links/style.css 1.33 kB
build/block-library/blocks/spacer/editor-rtl.css 307 B
build/block-library/blocks/spacer/editor.css 307 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 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 146 B
build/block-library/blocks/template-part/editor-rtl.css 636 B
build/block-library/blocks/template-part/editor.css 635 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/term-description/editor-rtl.css 90 B
build/block-library/blocks/term-description/editor.css 90 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 571 B
build/block-library/blocks/video/editor.css 572 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/common-rtl.css 853 B
build/block-library/common.css 849 B
build/block-library/reset-rtl.css 527 B
build/block-library/reset.css 527 B
build/block-library/theme-rtl.css 658 B
build/block-library/theme.css 663 B
build/block-serialization-default-parser/index.min.js 1.09 kB
build/block-serialization-spec-parser/index.min.js 2.79 kB
build/blocks/index.min.js 46.9 kB
build/components/index.min.js 209 kB
build/components/style-rtl.css 15.8 kB
build/components/style.css 15.8 kB
build/compose/index.min.js 10.2 kB
build/customize-widgets/index.min.js 11.1 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 614 B
build/data/index.min.js 7.1 kB
build/date/index.min.js 31.5 kB
build/deprecated/index.min.js 428 B
build/dom-ready/index.min.js 304 B
build/dom/index.min.js 4.53 kB
build/edit-navigation/index.min.js 14.9 kB
build/edit-navigation/style-rtl.css 3.38 kB
build/edit-navigation/style.css 3.37 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/edit-post/index.min.js 29 kB
build/edit-post/style-rtl.css 7.2 kB
build/edit-post/style.css 7.2 kB
build/edit-site/index.min.js 26.4 kB
build/edit-site/style-rtl.css 5.07 kB
build/edit-site/style.css 5.07 kB
build/edit-widgets/index.min.js 16.1 kB
build/edit-widgets/style-rtl.css 4.06 kB
build/edit-widgets/style.css 4.06 kB
build/editor/index.min.js 37.7 kB
build/editor/style-rtl.css 3.74 kB
build/editor/style.css 3.73 kB
build/element/index.min.js 3.17 kB
build/escape-html/index.min.js 517 B
build/format-library/index.min.js 5.36 kB
build/format-library/style-rtl.css 668 B
build/format-library/style.css 669 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 424 B
build/i18n/index.min.js 3.6 kB
build/is-shallow-equal/index.min.js 501 B
build/keyboard-shortcuts/index.min.js 1.49 kB
build/keycodes/index.min.js 1.25 kB
build/list-reusable-blocks/index.min.js 1.85 kB
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/media-utils/index.min.js 2.88 kB
build/notices/index.min.js 845 B
build/nux/index.min.js 2.03 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.83 kB
build/primitives/index.min.js 921 B
build/priority-queue/index.min.js 582 B
build/react-i18n/index.min.js 671 B
build/redux-routine/index.min.js 2.63 kB
build/reusable-blocks/index.min.js 2.28 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.6 kB
build/server-side-render/index.min.js 1.32 kB
build/shortcode/index.min.js 1.48 kB
build/token-list/index.min.js 562 B
build/url/index.min.js 1.74 kB
build/viewport/index.min.js 1.02 kB
build/warning/index.min.js 248 B
build/widgets/index.min.js 7.27 kB
build/widgets/style-rtl.css 1.17 kB
build/widgets/style.css 1.18 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@jasmussen
Copy link
Contributor

I mean, this is working pretty well and feels immediately useful:

gifk

I guess you can transform from a group to a block, and that might be natural too. The row is also a good name, and shows up searching both row and group in the slash command:

Screenshot 2021-09-03 at 13 04 30

Rather than making it a separate block/variation, I always assumed we'd want to make it a directional toggle on the group block, a la Figma auto layout:

autolayout

I don't have any aversion to it being a variation, I suppose if we were to land on a similar UI as the above, it could still transform between groups and rows. A benefit of doing it this way is that this PR is tiny, and it works right out of the box. Thank you as always, Riad! Curious what others think.

@youknowriad
Copy link
Contributor Author

Rather than making it a separate block/variation, I always assumed we'd want to make it a directional toggle on the group block, a la Figma auto layout:

It seems having both might be good, we'd need some design explorations for the layout type switcher see #33687

@ntsekouras
Copy link
Contributor

This works great for themes with layout support, but not for those who don't. It might need some extra work in Group's edit function, in combination with some related changes from #34493.

@richtabor
Copy link
Member

richtabor commented Sep 3, 2021

It seems having both might be good.

I agree, with the idea that a future control like what @jasmussen highlighted could switch between the two. That'd be huge.

This works great for themes with layout support, but not for those who don't.

I ran into this as well.

Question about the variation: Will users expect to see the variation name in the List view, or the Settings sidebar? Right now, you add a "Row" but as a user I'll not see "Row" again after this point.

@youknowriad
Copy link
Contributor Author

Question about the variation: Will users expect to see the variation name in the List view, or the Settings sidebar?

I noticed this as well, I think ideally they'd see the variation somehow. (I'll try to solve that like we did for embeds)

@ntsekouras
Copy link
Contributor

I noticed this as well, I think ideally they'd see the variation somehow

This will just require setting isActive fn and everything else will be shown as expected.

@gziolo
Copy link
Member

gziolo commented Sep 6, 2021

I noticed this as well, I think ideally they'd see the variation somehow

This will just require setting isActive fn and everything else will be shown as expected.

It could be also an array of the content of the attribute is { type: 'flex' } vs everything else:

isActive: [ 'layout' ],

By the way, it's great to see how little code you need to improve the user experience 😄

@youknowriad
Copy link
Contributor Author

I added the isActive function to show "Row" as block name... Do we want to land this as is initially or wait for the layout switcher UI first?

@jasmussen
Copy link
Contributor

Do we want to land this as is initially or wait for the layout switcher UI first?

The row feels sensible. What kind of deprecations would we have to do to remove the block, in case we decided horizontal was just a property of the Group block after all?

@youknowriad
Copy link
Contributor Author

The row feels sensible. What kind of deprecations would we have to do to remove the block, in case we decided horizontal was just a property of the Group block after all?

None, that's just a regular group block, the "Row" block as a variation is just UI flavor.

@ntsekouras
Copy link
Contributor

Do we want to land this as is initially or wait for the layout switcher UI first?

This still needs the handling for themes with no layout support, no? I think it will be quite confusing to have a Row block and be vertical aligned..

@youknowriad
Copy link
Contributor Author

This still needs the handling for themes with no layout support, no? I think it will be quite confusing to have a Row block and be vertical aligned..

I think this is solved by your PR right? So we just need to wait for it to land :)

@ntsekouras
Copy link
Contributor

I think this is solved by your PR right? So we just need to wait for it to land :)

No, it needs changes in group.edit for theme.supportsLayout here: https://github.com/WordPress/gutenberg/blob/trunk/packages/block-library/src/group/edit.js#L23

@youknowriad
Copy link
Contributor Author

youknowriad commented Sep 7, 2021

@ntsekouras right, forgot about this check :) thanks

@youknowriad
Copy link
Contributor Author

@ntsekouras it should be fixed now.

Copy link
Contributor

@ntsekouras ntsekouras left a comment

Choose a reason for hiding this comment

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

Looks good! I think we can land this for now. Thanks Riad!

@youknowriad youknowriad merged commit 5341bac into trunk Sep 7, 2021
@youknowriad youknowriad deleted the add/row-group-variation branch September 7, 2021 15:42
@github-actions github-actions bot added this to the Gutenberg 11.5 milestone Sep 7, 2021
@jasmussen jasmussen mentioned this pull request Sep 8, 2021
23 tasks
@paaljoachim
Copy link
Contributor

Taking a closer look at the new Row "block".
I belive it can be very useful! Thank you!

I am testing Gutenberg 11.5 RC. https://github.com/WordPress/gutenberg/releases/tag/v11.5.0-rc.1
Twenty Twenty One
WP 5.8

Example of adding a paragraph block:

Screenshot 2021-09-08 at 23 24 05

Notice that the inserter is on top of the last letters of block.

Inserting a few paragraph blocks. (first to are inside a row, and the last is a default top parent paragraph block.
Screenshot 2021-09-08 at 23 29 33

I inserted a Heading, a spacer (here it would be helpful to create space horizontally in addition to vertically), and a paragraph block.
Screenshot 2021-09-08 at 23 31 59

I clicked the Borders style and expected to see a border around the row. This is what I saw.

Screenshot 2021-09-08 at 23 34 54

I did not expect to have content moved, only to have a border and the content stay in the same place. I assume that it is the spacer block creating a nuisance with the row block.

Adding a /row inserting a Paragraph and writing some text. Then looking for the Inserter to add another block to the row.
It seems that sometimes it shows up and sometimes not. Here is an example of the inserter not showing up. (It feels a bit confusing).

Row-block-missing-inserter.mp4

The issue:

  1. Add a Row.

  2. Add a paragraph block.

  3. Write something into the paragraph block. Click outside and into it again. Is the inserter there?

  4. Add a Row.

  5. Add a paragraph block.

  6. Click the inserter to add another block.

At this moment....
I am not sure how the Row block is to work. What the purpose is. To me it seems like a part of a Group and Columns block. Not it's own variation. Adding in various blocks into a row and then testing out Layout it can turn out pretty strange.

Testing perhaps something that can be useful.
A cover block with a row block inside it. Containing a Heading, a button and a paragraph.
Screenshot 2021-09-09 at 00 04 44

Above.
Justify content Right. Effects the first block in the row. Not the button or the paragraph block.
Text color - red - no effect.
Background colors worked nicely.

That was this nights test.

fullofcaffeine added a commit that referenced this pull request Sep 9, 2021
* trunk: (214 commits)
  Fix snackbar overflow on nav editor (#34661)
  Mobile - Allow disabling text and background color via theme.json (#34633)
  Fix disabled blocks logical error on Widgets screen (#34634)
  [Mobile] - Global styles - Add support to render font sizes and line height (#34144)
  ESLint Plugin: Update eslint jsdoc dependency (#34338)
  Scripts: Add CHANGELOG entry for `jest-dev-server` upgrade (#34657)
  Bump jest-dev-server to v5 (#34560)
  Refactor the `core-data` store to thunks (#28389)
  Only capture toolbars on parent Nav block when not in vertical mode (#34615)
  Update Changelog for 11.5.0-rc.1
  Bump plugin version to 11.5.0-rc.1
  Gallery block: Fix media placeholder height in site editor (#34629)
  Border Controls: Display color indicator and check selected color (#34467)
  Remove horizontal and vertical navigation block variations from inserter (#34614)
  AlignmentMatrixControl : Fix/update docs (#34624)
  Gap block support: force gap change to cause the block to re-render (fix Safari issue) (#34567)
  [Block Library - Social Links]: Use the new `flex` layout (#34493)
  [Mobile] Update the bottom sheet header (#34309)
  Group block: Add a row variation (#34535)
  Migrate entities.js to thunks (#34582)
  ...
@paaljoachim paaljoachim mentioned this pull request Sep 13, 2021
@ZebulanStanphill
Copy link
Member

There seems to be a bit of a major bug with Rows... they don't add any CSS classes to the rendered markup, so it's impossible to properly style Rows on the front-end.

@ZebulanStanphill
Copy link
Member

Actually, upon further inspection, there is actually a CSS class output on the rendered markup which provides the desired styles: wp-container-615e6d0dbfd56. That doesn't seem like a proper class-name for this feature... or am I just misunderstanding something about the implementation?
image

@youknowriad
Copy link
Contributor Author

The classes for "layouts" (whether for this block or another) are generated by the backend and not meant to be customized as structural. the classnames are unique because each block (with its own layout) can have different layout configs.

@ZebulanStanphill
Copy link
Member

ZebulanStanphill commented Oct 7, 2021

@youknowriad Fair enough.

I did some further investigation, and it turns out there IS a front-end styling issue with the Row... but it only affects themes without layout support: #35439.

@iwasthesword
Copy link

Just tested this and wanted to add my two cents:

  • This is a great oportunity to add flex layouts that Columns cant handle
  • Is this a bug or "Allow to wrap to multiple line" is intended to be a "Force line wrap"? I tried setting the children Layout > Content/Wide to 30% so it would have 3 columns and then wrap the 4th but I get each Group in a row
  • Looking at the generated code I see:
.wp-container-61c4d094ec4f6 > * {
    max-width: 30%;
    margin-left: auto !important;
    margin-right: auto !important;
}

Why is it applying the max-width in the child instead of the container?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Group Affects the Group Block [Type] Feature New feature to highlight in changelogs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants