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

More intuitive Details block with summary and innerBlocks content #49808

Merged
merged 9 commits into from
May 8, 2023

Conversation

richtabor
Copy link
Member

@richtabor richtabor commented Apr 13, 2023

Simplifies the experimental Details block to have the <summary> as part of the block itself and Innerblocks for the content, suggested by @talldan in #45055 (comment). This is the same method used in the Quote block as well. I'd feel comfortable moving this out of the experiment following this PR.

This method makes the Details block simpler by:

  • Reducing the complexities around style conflicts, as there is one block with design tooling—rather than three. Noted in Add Details/summary block #45055 (comment)).
  • Allowing the Details block itself to be easily selectable. In trunk, you have to first select the child "Details Summary" or "Details Content" blocks, then select the parent from the toolbar.
  • Removing an extraneous tree level of blocks. as the parent block is the Innerblocks.
  • Negating the need for block locking (and therefore additional icons), as the summary will always be at the top of the Details block.

What?

  1. Removes the Details Summary and Details Content blocks.
  2. Moves InnerBlocks capability to the Details block.
  3. Tidies up the initial placeholder state and block example.
  4. Improves the details icon to better support hi-res devices.
  5. Simplifies the block description.

Testing Instructions

  1. Enable the Details block experiment within Gutenberg admin settings.
  2. Open a Post or Page.
  3. Insert a Details block.
  4. Add a summary.
  5. Add blocks to the Details block content.
  6. Leverage design tooling on the Details block.
  7. See changes on the front-end.

Visuals

Example, icon, and description:

CleanShot 2023-04-13 at 13 43 59

Empty:

CleanShot 2023-04-13 at 13 38 45

Completed:

CleanShot 2023-04-13 at 13 40 52

Completed with additional styling (to show how it can still be flexed using this method):

CleanShot 2023-04-13 at 13 42 44

CleanShot 2023-04-13 at 13 49 12

CleanShot 2023-04-13 at 13 58 53

CleanShot 2023-04-13 at 14 00 00

@richtabor richtabor added [Type] Enhancement A suggestion for improvement. [Block] Details Affects the Details Block - used to display content which can be shown/hidden labels Apr 13, 2023
@richtabor richtabor requested review from talldan, carolinan and a team April 13, 2023 17:51
@richtabor richtabor self-assigned this Apr 13, 2023
@richtabor
Copy link
Member Author

richtabor commented Apr 13, 2023

One thing I wanted to add (if anyone has ideas how) is to make Enter or Return from the <summary> RichText component carry you to the innerBlocks.

@github-actions
Copy link

github-actions bot commented Apr 13, 2023

Size Change: +3.42 kB (0%)

Total Size: 1.37 MB

Filename Size Change
build/api-fetch/index.min.js 2.33 kB +61 B (+3%)
build/block-directory/style-rtl.css 1.05 kB +15 B (+1%)
build/block-directory/style.css 1.05 kB +14 B (+1%)
build/block-editor/content-rtl.css 4.17 kB +60 B (+1%)
build/block-editor/content.css 4.16 kB +59 B (+1%)
build/block-editor/index.min.js 202 kB -988 B (0%)
build/block-editor/style-rtl.css 15.3 kB +694 B (+5%) 🔍
build/block-editor/style.css 15.3 kB +687 B (+5%) 🔍
build/block-library/blocks/cover/editor-rtl.css 647 B -2 B (0%)
build/block-library/blocks/cover/editor.css 650 B -1 B (0%)
build/block-library/blocks/cover/style-rtl.css 1.62 kB +2 B (0%)
build/block-library/blocks/cover/style.css 1.61 kB +3 B (0%)
build/block-library/blocks/details-summary/editor-rtl.css 0 B -65 B (removed) 🏆
build/block-library/blocks/details-summary/editor.css 0 B -65 B (removed) 🏆
build/block-library/blocks/details-summary/style-rtl.css 0 B -61 B (removed) 🏆
build/block-library/blocks/details-summary/style.css 0 B -61 B (removed) 🏆
build/block-library/blocks/details/style-rtl.css 159 B +105 B (+194%) 🆘
build/block-library/blocks/details/style.css 159 B +105 B (+194%) 🆘
build/block-library/blocks/html/editor-rtl.css 340 B +8 B (+2%)
build/block-library/blocks/html/editor.css 341 B +8 B (+2%)
build/block-library/blocks/image/editor-rtl.css 834 B +4 B (0%)
build/block-library/blocks/image/editor.css 833 B +4 B (0%)
build/block-library/blocks/query/editor-rtl.css 450 B -13 B (-3%)
build/block-library/blocks/query/editor.css 449 B -14 B (-3%)
build/block-library/blocks/search/editor-rtl.css 178 B +13 B (+8%) 🔍
build/block-library/blocks/search/editor.css 178 B +13 B (+8%) 🔍
build/block-library/blocks/search/style-rtl.css 434 B +26 B (+6%) 🔍
build/block-library/blocks/search/style.css 432 B +26 B (+6%) 🔍
build/block-library/blocks/site-logo/editor-rtl.css 760 B +271 B (+55%) 🆘
build/block-library/blocks/site-logo/editor.css 760 B +271 B (+55%) 🆘
build/block-library/blocks/template-part/editor-rtl.css 403 B -1 B (0%)
build/block-library/blocks/template-part/editor.css 403 B -1 B (0%)
build/block-library/editor-rtl.css 11.9 kB +249 B (+2%)
build/block-library/editor.css 11.8 kB +253 B (+2%)
build/block-library/index.min.js 204 kB -53 B (0%)
build/block-library/style-rtl.css 12.8 kB +50 B (0%)
build/block-library/style.css 12.8 kB +48 B (0%)
build/blocks/index.min.js 51.1 kB +15 B (0%)
build/commands/index.min.js 14.8 kB +87 B (+1%)
build/commands/style-rtl.css 807 B -291 B (-27%) 🎉
build/commands/style.css 804 B -288 B (-26%) 🎉
build/components/index.min.js 210 kB +1.85 kB (+1%)
build/components/style-rtl.css 11.8 kB +53 B (0%)
build/components/style.css 11.8 kB +48 B (0%)
build/compose/index.min.js 12.4 kB +5 B (0%)
build/core-data/index.min.js 16.3 kB -15 B (0%)
build/data/index.min.js 8.68 kB -4 B (0%)
build/dom/index.min.js 4.76 kB +41 B (+1%)
build/edit-post/index.min.js 35.4 kB +382 B (+1%)
build/edit-post/style-rtl.css 7.84 kB +247 B (+3%)
build/edit-post/style.css 7.83 kB +244 B (+3%)
build/edit-site/index.min.js 63.3 kB -1.04 kB (-2%)
build/edit-site/style-rtl.css 10.2 kB +92 B (+1%)
build/edit-site/style.css 10.2 kB +93 B (+1%)
build/edit-widgets/index.min.js 17.3 kB -51 B (0%)
build/editor/index.min.js 46.1 kB +231 B (+1%)
build/editor/style-rtl.css 3.48 kB -8 B (0%)
build/editor/style.css 3.47 kB -8 B (0%)
build/plugins/index.min.js 1.94 kB +2 B (0%)
build/private-apis/index.min.js 952 B +10 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 993 B
build/annotations/index.min.js 2.78 kB
build/autop/index.min.js 2.15 kB
build/blob/index.min.js 483 B
build/block-directory/index.min.js 7.2 kB
build/block-editor/default-editor-styles-rtl.css 403 B
build/block-editor/default-editor-styles.css 403 B
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 90 B
build/block-library/blocks/archives/style.css 90 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 122 B
build/block-library/blocks/audio/style.css 122 B
build/block-library/blocks/audio/theme-rtl.css 138 B
build/block-library/blocks/audio/theme.css 138 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 91 B
build/block-library/blocks/avatar/style.css 91 B
build/block-library/blocks/block/editor-rtl.css 305 B
build/block-library/blocks/block/editor.css 305 B
build/block-library/blocks/button/editor-rtl.css 587 B
build/block-library/blocks/button/editor.css 587 B
build/block-library/blocks/button/style-rtl.css 628 B
build/block-library/blocks/button/style.css 627 B
build/block-library/blocks/buttons/editor-rtl.css 337 B
build/block-library/blocks/buttons/editor.css 337 B
build/block-library/blocks/buttons/style-rtl.css 332 B
build/block-library/blocks/buttons/style.css 332 B
build/block-library/blocks/calendar/style-rtl.css 239 B
build/block-library/blocks/calendar/style.css 239 B
build/block-library/blocks/categories/editor-rtl.css 113 B
build/block-library/blocks/categories/editor.css 112 B
build/block-library/blocks/categories/style-rtl.css 124 B
build/block-library/blocks/categories/style.css 124 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 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 409 B
build/block-library/blocks/columns/style.css 409 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 199 B
build/block-library/blocks/comment-template/style.css 198 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 840 B
build/block-library/blocks/comments/editor.css 839 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 636 B
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
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 138 B
build/block-library/blocks/embed/theme.css 138 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 269 B
build/block-library/blocks/file/style.css 270 B
build/block-library/blocks/file/view.min.js 353 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 984 B
build/block-library/blocks/gallery/editor.css 988 B
build/block-library/blocks/gallery/style-rtl.css 1.55 kB
build/block-library/blocks/gallery/style.css 1.55 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 654 B
build/block-library/blocks/group/editor.css 654 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/image/style-rtl.css 652 B
build/block-library/blocks/image/style.css 652 B
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/latest-comments/style-rtl.css 357 B
build/block-library/blocks/latest-comments/style.css 357 B
build/block-library/blocks/latest-posts/editor-rtl.css 213 B
build/block-library/blocks/latest-posts/editor.css 212 B
build/block-library/blocks/latest-posts/style-rtl.css 478 B
build/block-library/blocks/latest-posts/style.css 478 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 507 B
build/block-library/blocks/media-text/style.css 505 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 716 B
build/block-library/blocks/navigation-link/editor.css 715 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 299 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation/editor-rtl.css 2.13 kB
build/block-library/blocks/navigation/editor.css 2.14 kB
build/block-library/blocks/navigation/style-rtl.css 2.22 kB
build/block-library/blocks/navigation/style.css 2.21 kB
build/block-library/blocks/navigation/view-modal.min.js 2.81 kB
build/block-library/blocks/navigation/view.min.js 447 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 401 B
build/block-library/blocks/page-list/editor.css 401 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 174 B
build/block-library/blocks/paragraph/editor.css 174 B
build/block-library/blocks/paragraph/style-rtl.css 279 B
build/block-library/blocks/paragraph/style.css 281 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 501 B
build/block-library/blocks/post-comments-form/style.css 501 B
build/block-library/blocks/post-date/style-rtl.css 61 B
build/block-library/blocks/post-date/style.css 61 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 141 B
build/block-library/blocks/post-excerpt/style.css 141 B
build/block-library/blocks/post-featured-image/editor-rtl.css 588 B
build/block-library/blocks/post-featured-image/editor.css 586 B
build/block-library/blocks/post-featured-image/style-rtl.css 322 B
build/block-library/blocks/post-featured-image/style.css 322 B
build/block-library/blocks/post-navigation-link/style-rtl.css 153 B
build/block-library/blocks/post-navigation-link/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-template/style-rtl.css 281 B
build/block-library/blocks/post-template/style.css 281 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 69 B
build/block-library/blocks/post-time-to-read/style.css 69 B
build/block-library/blocks/post-title/style-rtl.css 100 B
build/block-library/blocks/post-title/style.css 100 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 135 B
build/block-library/blocks/pullquote/editor.css 135 B
build/block-library/blocks/pullquote/style-rtl.css 335 B
build/block-library/blocks/pullquote/style.css 335 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 288 B
build/block-library/blocks/query-pagination/style.css 284 B
build/block-library/blocks/query-title/style-rtl.css 63 B
build/block-library/blocks/query-title/style.css 63 B
build/block-library/blocks/quote/style-rtl.css 222 B
build/block-library/blocks/quote/style.css 222 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 149 B
build/block-library/blocks/rss/editor.css 149 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/theme-rtl.css 114 B
build/block-library/blocks/search/theme.css 114 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 234 B
build/block-library/blocks/separator/style.css 234 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 329 B
build/block-library/blocks/shortcode/editor.css 329 B
build/block-library/blocks/site-logo/style-rtl.css 203 B
build/block-library/blocks/site-logo/style.css 203 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 116 B
build/block-library/blocks/site-title/editor.css 116 B
build/block-library/blocks/site-title/style-rtl.css 57 B
build/block-library/blocks/site-title/style.css 57 B
build/block-library/blocks/social-link/editor-rtl.css 184 B
build/block-library/blocks/social-link/editor.css 184 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.4 kB
build/block-library/blocks/social-links/style.css 1.39 kB
build/block-library/blocks/spacer/editor-rtl.css 359 B
build/block-library/blocks/spacer/editor.css 359 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 433 B
build/block-library/blocks/table/editor.css 433 B
build/block-library/blocks/table/style-rtl.css 651 B
build/block-library/blocks/table/style.css 650 B
build/block-library/blocks/table/theme-rtl.css 157 B
build/block-library/blocks/table/theme.css 157 B
build/block-library/blocks/tag-cloud/style-rtl.css 251 B
build/block-library/blocks/tag-cloud/style.css 253 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 99 B
build/block-library/blocks/verse/style.css 99 B
build/block-library/blocks/video/editor-rtl.css 552 B
build/block-library/blocks/video/editor.css 555 B
build/block-library/blocks/video/style-rtl.css 179 B
build/block-library/blocks/video/style.css 179 B
build/block-library/blocks/video/theme-rtl.css 139 B
build/block-library/blocks/video/theme.css 139 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.12 kB
build/block-library/common.css 1.12 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 478 B
build/block-library/reset.css 478 B
build/block-library/theme-rtl.css 698 B
build/block-library/theme.css 703 B
build/block-serialization-default-parser/index.min.js 1.13 kB
build/block-serialization-spec-parser/index.min.js 2.83 kB
build/core-commands/index.min.js 1.84 kB
build/customize-widgets/index.min.js 12.2 kB
build/customize-widgets/style-rtl.css 1.41 kB
build/customize-widgets/style.css 1.41 kB
build/data-controls/index.min.js 718 B
build/date/index.min.js 40.4 kB
build/deprecated/index.min.js 518 B
build/dom-ready/index.min.js 336 B
build/edit-post/classic-rtl.css 571 B
build/edit-post/classic.css 571 B
build/edit-widgets/style-rtl.css 4.56 kB
build/edit-widgets/style.css 4.56 kB
build/element/index.min.js 4.95 kB
build/escape-html/index.min.js 548 B
build/format-library/index.min.js 7.26 kB
build/format-library/style-rtl.css 557 B
build/format-library/style.css 556 B
build/hooks/index.min.js 1.66 kB
build/html-entities/index.min.js 454 B
build/i18n/index.min.js 3.79 kB
build/is-shallow-equal/index.min.js 535 B
build/keyboard-shortcuts/index.min.js 1.79 kB
build/keycodes/index.min.js 1.94 kB
build/list-reusable-blocks/index.min.js 2.14 kB
build/list-reusable-blocks/style-rtl.css 865 B
build/list-reusable-blocks/style.css 865 B
build/media-utils/index.min.js 2.99 kB
build/notices/index.min.js 977 B
build/preferences-persistence/index.min.js 2.23 kB
build/preferences/index.min.js 1.35 kB
build/primitives/index.min.js 960 B
build/priority-queue/index.min.js 1.52 kB
build/react-i18n/index.min.js 702 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.75 kB
build/reusable-blocks/index.min.js 2.26 kB
build/reusable-blocks/style-rtl.css 265 B
build/reusable-blocks/style.css 265 B
build/rich-text/index.min.js 11.1 kB
build/router/index.min.js 1.77 kB
build/server-side-render/index.min.js 2.09 kB
build/shortcode/index.min.js 1.52 kB
build/style-engine/index.min.js 1.55 kB
build/token-list/index.min.js 650 B
build/url/index.min.js 3.74 kB
build/vendors/inert-polyfill.min.js 2.48 kB
build/vendors/react-dom.min.js 41.8 kB
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 1.09 kB
build/warning/index.min.js 280 B
build/widgets/index.min.js 7.3 kB
build/widgets/style-rtl.css 1.18 kB
build/widgets/style.css 1.18 kB
build/wordcount/index.min.js 1.06 kB

compressed-size-action

Copy link
Contributor

@talldan talldan left a comment

Choose a reason for hiding this comment

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

I like the simplicity this brings.

The main loss in styling capability seems to be around styling the summary (border/padding etc.).

A few blocks have similar challenges where they have distinct elements that can't be styled (e.g. the button and input in the search block), so it might be nice to solve at some point.

packages/block-library/src/details/style.scss Show resolved Hide resolved
@fabiankaegy
Copy link
Member

Yeah I do also like the simplicity of this approach.

However I worry the loss of the design options of the summary element are going to really limit the styling options you can create for the block. At least without having to resort to custom css.

@jasmussen
Copy link
Contributor

A few blocks have similar challenges where they have distinct elements that can't be styled (e.g. the button and input in the search block), so it might be nice to solve at some point.

This is a solid point, and it's likely to be relevant for various form controls as well. A comments block is never going to be useful without a "Post Comments" button, and the gained simplicity from a flatter structure is commonly going to be useful for these cases.

One idea for how to solve this is in global styles, surfacing the "Summary" element in a theoretical "Elements" panel, a la #47369. CC: @SaxonF

@talldan
Copy link
Contributor

talldan commented Apr 14, 2023

One idea for how to solve this is in global styles, surfacing the "Summary" element in a theoretical "Elements" panel, a la #47369.

I understand most of the elements being at the top-level, as they can be shared between blocks, but I wonder if Summary would make sense. I think it's only ever going to be used in the details block.

@jasmussen
Copy link
Contributor

Yeah it's not ideal, but maybe it's not too far a stretch in light of something like #44671.

@richtabor
Copy link
Member Author

However I worry the loss of the design options of the summary element are going to really limit the styling options you can create for the block. At least without having to resort to custom css.

I'd say the design tools we have cover the 90% of styling cases for the most part; just look at the example screenshots above I took of me flexing it a bit.

I think it's worth the hefty win in usability for a slight loss in that 10%.

@richtabor
Copy link
Member Author

I understand most of the elements being at the top-level, as they can be shared between blocks, but I wonder if Summary would make sense. I think it's only ever going to be used in the details block.

I agree, doesn't seem like it fits on the elements front.

@richtabor
Copy link
Member Author

The main loss in styling capability seems to be around styling the summary (border/padding etc.).

I've wrapped the inner blocks in a group and styled from there to get some of the more unique designs up above. It's not 100% ideal, but is sensible—and reduces the conflicting "where is this style coming from" issues from the separate Details, Summary and Content blocks in trunk.

@github-actions
Copy link

Flaky tests detected in 5f6125f.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/4701706914
📝 Reported issues:

@carolinan
Copy link
Contributor

carolinan commented Apr 16, 2023

I am not sure this is more intuitive (Please note I am not in any way a UX expert!) and would prefer to see some user testing results. But I am also unsure of how we could test both versions to see which is preferred.

@carolinan
Copy link
Contributor

( And before a call for testing can go out I would prefer to see this issue solved: #49679)

@paaljoachim
Copy link
Contributor

paaljoachim commented Apr 16, 2023

First of all I am testing
#45055
through gutenberg.run
I went to the Gutenberg menu and turned on the Details block experiment and then went back to a page.


Looking at:

Reducing the complexities around style conflicts, as there is one block with design tooling—rather than three. Noted in Add Details/summary block #45055 (comment)).

For example, Buttons block does not allow coloring, but the individual Button blocks do. Perhaps we should do the same here. Otherwise you have color and dimensions applied throughout where it's hard to tell what is coming from where.

I believe this should be addressed more in general, as an UX issue that we need to address likely for all of the Block Editor.

Perhaps the child blocks should not have margin and padding, if the parent does. But block spacing would be nice/relevant on the parent block, and content block perhaps.

I do not understand the logic here. As what you say here would also have relevance for the Columns block with the individual child columns. As for the Columns block it would be nice to be able to fully style the parent and child columns.

Those styles should probably be applied to a parent Group block, which would nearly prevent—but greatly reduce—the same sort of styling clipping issues.

There is also a draft PR by @aaronrobertshaw which mentions column child clipping here:
#40925

Clipping is an issue, but clipping is a minor issue in relation to giving the user the opportunity to style the parent and child the way they need to. Clipping in general is also something that needs to be addressed down the road. Right now I believe that Aarons draft PR has not been merged because of the clipping issue. Again it is minor compared to allowing the user to style things in the way they need.

Screenshot 2023-04-16 at 10 53 55


Allowing the Details block itself to be easily selectable. In trunk, you have to first select the child "Details Summary" or "Details Content" blocks, then select the parent from the toolbar.

To me this is setup the same way as selecting the Gallery block. There is no click the Details block and have the parent first selected and then click the inner blocks, so this is a general issue for blocks that have inner blocks. That all blocks with inner blocks the first initial click should be the parent. Click again to select the inner/child blocks.

Styling in importance as I see it when going through this right now.
To be able to style the top parent the Details block itself. - Check that can be done. -
To be able to style the various inner workings of the block. - Check that can be done. -
Thank you.

Removing an extraneous tree level of blocks. as the parent block is the Innerblocks.

It works for me. As it gives the user the opportunity to style different levels of the Details block. There are so many different use cases to how someone would like to use the Details block. The only conflict I see is the clippings and that is not a big issue.

Negating the need for block locking (and therefore additional icons), as the summary will always be at the top of the Details block.

This I do not understand. Details the top parent will always be the top.

Btw the following could be an example for an artsie site using the Details block. Giving the user a lot of ways to style as they choose.
Screenshot 2023-04-16 at 11 08 35

Btw

......and reduces the conflicting "where is this style coming from" issues from the separate Details, Summary and Content blocks in trunk.

This is more of a general issue that design will need to look closer at. Because there will be various blocks that one will be able to style in many different ways as well as levels inner and parent. Example from the Columns block to where the parent and inner columns have been styled.

Screenshot 2023-04-16 at 11 22 22

Instead of limiting the expression of a user it is better to help give hints as to what the user is styling.

Let me know if there is anything else I should share my thoughts on.

@aaronrobertshaw
Copy link
Contributor

Clipping is an issue, but clipping is a minor issue in relation to giving the user the opportunity to style the parent and child the way they need to... Again it is minor compared to allowing the user to style things in the way they need.

The issue of clipping when changing the shape of a block might seem minor at first glance however with the current inserter being in-canvas, clipping content can cause substantial UX issues as the inserter button can be hidden. I'd argue not being able to easily insert additional blocks is a greater problem than adding a border radius to the container.

I agree we should be able to provide border-radius on more blocks while also better handling the clipping and potential UX impacts there. Joen outlines all this in a more elegant and detailed manner over on the relevant PR (#40925 (comment)).

Relative to this PR, I don't have any strong opinion as to whether border-radius should be included in the adopted block supports or not. You can see the block inserter being clipped in the following demo.

Demo video of inserter being clipped
Screen.Recording.2023-04-17.at.9.45.42.am.mp4

@carolinan
Copy link
Contributor

carolinan commented Apr 17, 2023

So this clipping happens no matter which version of the block that is used? 🤔 But not if the border-radius is on a wrapping group block?

@richtabor
Copy link
Member Author

Ah, yes I see the problem.
Both the summary tag name and the prevent default is added directly to the richText

Ah, is that why you didn’t use the summary tagName with RichText originally?

@carolinan
Copy link
Contributor

Yes, but, there are issues with that solution too.

@mtias
Copy link
Member

mtias commented May 3, 2023

Not sure how helpful this feedback is at this stage, but I think we should lean on simplicity as much as possible, not on customization. There's value in getting the ability to have content that con be toggle in the hands of users. It should look like regular content, like a paragraph that can be toggled, not a full fledged accordion that has other implications. More customization would be misleading in that case because people use it to make the collapsed section look like a heading, different from the rest of the content, which would be problematic. Can we reduce it to its most simplest and go from there?

Resolves the space bar issue
@richtabor richtabor requested a review from ndiego as a code owner May 3, 2023 19:40
@richtabor
Copy link
Member Author

I want to note one thing in reviewing this which we'll want to fix. It maybe my env, but I can't press space inside the summary element:

I reverted back to wrapping the RichText in a summary element (the original method), which resolves this.

@richtabor
Copy link
Member Author

And do we consider the border radius clipping to be a bigger issue than this block, or does the border radius need to be removed?

Also removed border radius support.

@richtabor
Copy link
Member Author

I think it's ready for another good look.

Copy link
Contributor

@talldan talldan left a comment

Choose a reason for hiding this comment

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

Code-wise this looks good, but I wonder whether a deprecation should be added now that the details block has been in a plugin release or two.

It is behind an experiment toggle, but it seems to break in a fairly bad way that doesn't allow users to easily fix their content.

What do you think?

Copy link
Contributor

@talldan talldan left a comment

Choose a reason for hiding this comment

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

I'll approve it and let you make the call.

@richtabor
Copy link
Member Author

Code-wise this looks good, but I wonder whether a deprecation should be added now that the details block has been in a plugin release or two. What do you think?

I don't think we need the deprecation.

@richtabor richtabor merged commit 7c10448 into trunk May 8, 2023
@richtabor richtabor deleted the try/details-innerblocks branch May 8, 2023 16:03
@github-actions github-actions bot added this to the Gutenberg 15.8 milestone May 8, 2023
@ramonjd ramonjd added the Needs PHP backport Needs PHP backport to Core label Jun 5, 2023
@femkreations femkreations added the Needs User Documentation Needs new user documentation label Jun 14, 2023
@ramonjd ramonjd removed the Needs PHP backport Needs PHP backport to Core label Jun 30, 2023
@paaljoachim
Copy link
Contributor

What about using lessons learnt in regards to the Details block and continue with a Tabs block?
As it is a nice block to also get into Gutenberg.
#34079

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Details Affects the Details Block - used to display content which can be shown/hidden Needs User Documentation Needs new user documentation [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.