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

Paragraph: Merge text settings into typography panel #36334

Merged

Conversation

aaronrobertshaw
Copy link
Contributor

Fixes: #23767

Description

This PR leverages the recent addition of grouped InspectorControls to inject the paragraph block's drop cap control into the block support typography panel.

Changes include:

  • Updating the paragraph block's edit component to inject drop cap control into typography panel
  • Styling tweak to ToolsPanel so that controls with help text maintain spacing between control and help text

How has this been tested?

Manually.

Testing instructions

  1. Create a post in the editor, add a paragraph block with text and select it
  2. In the Inspector Controls sidebar ensure there is no longer a Text Settings panel
  3. Within the Typography panel in the sidebar, ensure you can select "Drop cap" from the menu
  4. Test that toggling the drop cap control works
  5. Test deselecting the drop cap control from the Typography panel menu
  6. Select the drop cap control from the panel menu again and toggle it on
  7. Test the Typography panel's "Reset all" option and that it clears the drop cap selection.

Screenshots

Before After
Screen Shot 2021-11-09 at 11 43 46 am Screen Shot 2021-11-09 at 11 44 12 am

Types of changes

Enhancement.

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

@aaronrobertshaw aaronrobertshaw added [Block] Paragraph Affects the Paragraph Block [Feature] Design Tools Tools that impact the appearance of blocks both to expand the number of tools and improve the experi labels Nov 9, 2021
@aaronrobertshaw aaronrobertshaw self-assigned this Nov 9, 2021
@github-actions
Copy link

github-actions bot commented Nov 9, 2021

Size Change: +85 B (0%)

Total Size: 1.09 MB

Filename Size Change
build/block-library/index.min.js 161 kB +69 B (0%)
build/components/index.min.js 214 kB +16 B (0%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 960 B
build/admin-manifest/index.min.js 1.1 kB
build/annotations/index.min.js 2.75 kB
build/api-fetch/index.min.js 2.21 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 459 B
build/block-directory/index.min.js 6.28 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 139 kB
build/block-editor/style-rtl.css 14.5 kB
build/block-editor/style.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 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 470 B
build/block-library/blocks/button/editor.css 470 B
build/block-library/blocks/button/style-rtl.css 560 B
build/block-library/blocks/button/style.css 560 B
build/block-library/blocks/buttons/editor-rtl.css 291 B
build/block-library/blocks/buttons/editor.css 291 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 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 134 B
build/block-library/blocks/code/theme.css 134 B
build/block-library/blocks/columns/editor-rtl.css 206 B
build/block-library/blocks/columns/editor.css 205 B
build/block-library/blocks/columns/style-rtl.css 503 B
build/block-library/blocks/columns/style.css 502 B
build/block-library/blocks/cover/editor-rtl.css 546 B
build/block-library/blocks/cover/editor.css 547 B
build/block-library/blocks/cover/style-rtl.css 1.18 kB
build/block-library/blocks/cover/style.css 1.18 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 977 B
build/block-library/blocks/gallery/editor.css 982 B
build/block-library/blocks/gallery/style-rtl.css 1.62 kB
build/block-library/blocks/gallery/style.css 1.62 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 78 B
build/block-library/blocks/group/theme.css 78 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 332 B
build/block-library/blocks/html/editor.css 333 B
build/block-library/blocks/image/editor-rtl.css 731 B
build/block-library/blocks/image/editor.css 730 B
build/block-library/blocks/image/style-rtl.css 507 B
build/block-library/blocks/image/style.css 511 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 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 649 B
build/block-library/blocks/navigation-link/editor.css 650 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-submenu/editor-rtl.css 299 B
build/block-library/blocks/navigation-submenu/editor.css 299 B
build/block-library/blocks/navigation-submenu/style-rtl.css 213 B
build/block-library/blocks/navigation-submenu/style.css 213 B
build/block-library/blocks/navigation-submenu/view.min.js 343 B
build/block-library/blocks/navigation/editor-rtl.css 1.89 kB
build/block-library/blocks/navigation/editor.css 1.89 kB
build/block-library/blocks/navigation/style-rtl.css 1.55 kB
build/block-library/blocks/navigation/style.css 1.54 kB
build/block-library/blocks/navigation/view.min.js 2.74 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 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 172 B
build/block-library/blocks/page-list/style.css 172 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 273 B
build/block-library/blocks/paragraph/style.css 273 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/style-rtl.css 347 B
build/block-library/blocks/post-comments-form/style.css 347 B
build/block-library/blocks/post-comments/style-rtl.css 492 B
build/block-library/blocks/post-comments/style.css 493 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 396 B
build/block-library/blocks/post-featured-image/editor.css 397 B
build/block-library/blocks/post-featured-image/style-rtl.css 156 B
build/block-library/blocks/post-featured-image/style.css 156 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 391 B
build/block-library/blocks/post-template/style.css 392 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 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 262 B
build/block-library/blocks/query-pagination/editor.css 255 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 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 223 B
build/block-library/blocks/quote/theme.css 226 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 397 B
build/block-library/blocks/search/style.css 398 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 245 B
build/block-library/blocks/separator/style.css 245 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 770 B
build/block-library/blocks/site-logo/editor.css 770 B
build/block-library/blocks/site-logo/style-rtl.css 165 B
build/block-library/blocks/site-logo/style.css 165 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 824 B
build/block-library/blocks/social-links/editor.css 823 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB
build/block-library/blocks/social-links/style.css 1.32 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 560 B
build/block-library/blocks/template-part/editor.css 559 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 569 B
build/block-library/blocks/video/editor.css 570 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 815 B
build/block-library/common.css 812 B
build/block-library/editor-rtl.css 9.84 kB
build/block-library/editor.css 9.85 kB
build/block-library/reset-rtl.css 474 B
build/block-library/reset.css 474 B
build/block-library/style-rtl.css 10.4 kB
build/block-library/style.css 10.4 kB
build/block-library/theme-rtl.css 672 B
build/block-library/theme.css 677 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.3 kB
build/components/style-rtl.css 15.3 kB
build/components/style.css 15.3 kB
build/compose/index.min.js 10.9 kB
build/core-data/index.min.js 13.2 kB
build/customize-widgets/index.min.js 11.4 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 631 B
build/data/index.min.js 7.42 kB
build/date/index.min.js 31.5 kB
build/deprecated/index.min.js 485 B
build/dom-ready/index.min.js 304 B
build/dom/index.min.js 4.5 kB
build/edit-navigation/index.min.js 16 kB
build/edit-navigation/style-rtl.css 3.76 kB
build/edit-navigation/style.css 3.76 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/edit-post/index.min.js 29.6 kB
build/edit-post/style-rtl.css 7.1 kB
build/edit-post/style.css 7.09 kB
build/edit-site/index.min.js 28.3 kB
build/edit-site/style-rtl.css 5.37 kB
build/edit-site/style.css 5.37 kB
build/edit-widgets/index.min.js 16.5 kB
build/edit-widgets/style-rtl.css 4.18 kB
build/edit-widgets/style.css 4.18 kB
build/editor/index.min.js 37.8 kB
build/editor/style-rtl.css 3.78 kB
build/editor/style.css 3.77 kB
build/element/index.min.js 3.29 kB
build/escape-html/index.min.js 517 B
build/format-library/index.min.js 6.57 kB
build/format-library/style-rtl.css 571 B
build/format-library/style.css 571 B
build/hooks/index.min.js 1.63 kB
build/html-entities/index.min.js 424 B
build/i18n/index.min.js 3.71 kB
build/is-shallow-equal/index.min.js 501 B
build/keyboard-shortcuts/index.min.js 1.8 kB
build/keycodes/index.min.js 1.39 kB
build/list-reusable-blocks/index.min.js 1.86 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.92 kB
build/notices/index.min.js 925 B
build/nux/index.min.js 2.08 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.84 kB
build/primitives/index.min.js 924 B
build/priority-queue/index.min.js 582 B
build/react-i18n/index.min.js 671 B
build/redux-routine/index.min.js 2.65 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 kB
build/server-side-render/index.min.js 1.57 kB
build/shortcode/index.min.js 1.49 kB
build/token-list/index.min.js 639 B
build/url/index.min.js 1.9 kB
build/viewport/index.min.js 1.05 kB
build/warning/index.min.js 248 B
build/widgets/index.min.js 7.15 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@ramonjd
Copy link
Member

ramonjd commented Nov 10, 2021

✅ In the Inspector Controls sidebar ensure there is no longer a Text Settings panel
✅ Within the Typography panel in the sidebar, ensure you can select "Drop cap" from the menu
✅ Test that toggling the drop cap control works
✅ Test deselecting the drop cap control from the Typography panel menu
✅ Select the drop cap control from the panel menu again and toggle it on
✅ Test the Typography panel's "Reset all" option and that it clears the drop cap selection.

Looks good in Chrome/FF/Safari

Before
Screen Shot 2021-11-11 at 8 55 00 am

After
Nov-11-2021 09-30-43

Unrelated to this PR, I noticed that the letter spacing label bottom margin looks off in comparison with other controls.

Screen Shot 2021-11-11 at 8 58 34 am

WIP PR to fix that #36385

Copy link
Member

@ramonjd ramonjd left a comment

Choose a reason for hiding this comment

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

LGTM! Much neater to have the control bunking in with its Typography brothers and sisters!

@aaronrobertshaw aaronrobertshaw force-pushed the update/paragraph-consolidate-typography-settings branch from 5813ec9 to 3785b97 Compare November 11, 2021 00:54
@aaronrobertshaw
Copy link
Contributor Author

The e2e failures here are related to the drop cap control now being contained within the ToolsPanel. The drop cap control was used for testing change detection etc. I'll update these tests tomorrow.

@aaronrobertshaw
Copy link
Contributor Author

I've updated the e2es to access the drop cap control via the tools panel. If there are better options in terms of controls we should use to perform the same tests let me know. For now though I think this approach ticks the required boxes.

Copy link
Contributor

@ciampo ciampo left a comment

Choose a reason for hiding this comment

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

The new approach is much cleaner, thank you! LGTM 🚀

Could you just add a little CHANGELOG entry in the components package for this fix?

packages/components/src/tools-panel/styles.ts Show resolved Hide resolved
@aaronrobertshaw aaronrobertshaw force-pushed the update/paragraph-consolidate-typography-settings branch from 9f9c022 to 34fba4c Compare November 15, 2021 01:41
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.

Nice work @aaronrobertshaw, the code change and e2e updates look good to me, and this is testing well in the editor.

The prominence of the Drop cap feature is now very much reduced, so I could imagine it taking a little while for someone to find it the first time (if they're used to seeing it in the sidebar). However, given how infrequently the feature is used in practice, I think it works well having it hidden by default in the ToolsPanel menu 👍

I thought at first that I'd noticed a bug when switching between paragraphs, that when a paragraph is focused it does not render the drop-cap style. However, it turns out that appears to be by design and avoids a bunch of other bugs, so not something that needs to be fixed:

Kapture 2021-11-15 at 13 56 14

LGTM! 🎉

@andrewserong andrewserong added the [Type] Enhancement A suggestion for improvement. label Nov 15, 2021
@aaronrobertshaw
Copy link
Contributor Author

Thanks for the review @andrewserong 👍

The prominence of the Drop cap feature is now very much reduced, so I could imagine it taking a little while for someone to find it the first time (if they're used to seeing it in the sidebar). However, given how infrequently the feature is used in practice, I think it works well having it hidden by default in the ToolsPanel menu 👍

The drop cap control does have much lower prominence. If it does prove to be something that should have higher visibility for the paragraph block I can create a quick follow-up PR to display that control by default.

I'll proceed with merging this for now.

@jasmussen Do you have any thoughts on whether we should make the drop cap control a default control within the Typography panel for the paragraph block?

@aaronrobertshaw aaronrobertshaw merged commit 3edd466 into trunk Nov 15, 2021
@aaronrobertshaw aaronrobertshaw deleted the update/paragraph-consolidate-typography-settings branch November 15, 2021 03:15
@github-actions github-actions bot added this to the Gutenberg 12.0 milestone Nov 15, 2021
@jasmussen
Copy link
Contributor

jasmussen commented Nov 15, 2021

Do you have any thoughts on whether we should make the drop cap control a default control within the Typography panel for the paragraph block?

One of the things that is unique about the Drop Cap property is that it is very much a Paragraph block specific feature. It's not something that makes sense to add and apply to a Heading block, or inside a Table, or as part of a Code block or otherwise.

There are always going to be properties that are bespoke to just that one block:

  • Row and column count in a Table
  • Burger menu toggle and style for Navigation
  • Bullet style for lists

And so in exploring inspector refreshes, in many cases it's felt appropriate to add such properties right to the initial block card itself, like so:

Frame 39

It's not always going to work, and just like how we're curating the ToolsPanel, it will need to be a value judgement on a per-block basis. But for some of the more simple blocks, it's feeling even more obvious:
Page list

Adding a dedicated panel with extra tab stops just to hold a single unique property doesn't make much sense.

Coming back to the question of whether Drop cap should be shown default in the ToolsPanel. Well, as suggested above, I don't think it should be part of the reusable typography panel at all, because it should only ever be used for the Paragraph.

This is not a strong opinion, and retiring the separate "Text settings" panel on its own was a good improvement. But just personally, I would consider this change to be a temporary improvement, and not one we optimize for:

  • only ever allow drop cap on Paragraph and don't allow other blocks to opt in
  • don't show it by default
  • at some point in the future, make it part of the Paragraph title card

This "inspector title card" concept needs separate dev work, and is an aspect of the work happening in #34574, so it needs to both crystallize in terms of design, but also in dev work. So my personal opinion is that this is probably fine to keep as is for now, so long as we don't have to create a bunch of deprecations if we extract the property back out of the tools panel in the future.

What do you think?

@aaronrobertshaw
Copy link
Contributor Author

Thanks for the great summary and detailed insight @jasmussen, I appreciate it 👍

So my personal opinion is that this is probably fine to keep as is for now, so long as we don't have to create a bunch of deprecations if we extract the property back out of the tools panel in the future.

The only thing that has changed behind the scenes here is that instead of injecting a new panel including the drop cap field into the inspector controls sidebar, we wrap the drop cap control in a ToolsPanelItem and inject it into the Typography panel's SlotFill which itself is then added to the sidebar.

I imagine that any "inspector title card", would offer its own SlotFill and all that would be required is to move the control to that when the time comes. Nothing has changed in terms of the block's attributes or how they generate the block's markup.

only ever allow drop cap on Paragraph and don't allow other blocks to opt in

To be clear, no new Typography block support was added for this. The existing ad-hoc drop cap control was moved to render within the Typography panel, after the block support features.

No other blocks could opt-in for the drop cap even if they wanted to.

What do you think?

I agree. The removal of the "extra" panel cleans things up in the short term but doesn't have to be the end result. For the time being, leaving drop cap as an optional control makes sense to me.

@jasmussen
Copy link
Contributor

Sounds good, thank you for clarifying! 👌

I'm sure we'll also learn a ton about what works well and not so well with the ToolsPanel, this is also an opportunity to revisit these things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Paragraph Affects the Paragraph Block [Feature] Design Tools Tools that impact the appearance of blocks both to expand the number of tools and improve the experi [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consolidate typography and text settings panels within the Paragraph block
5 participants