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

Add border support to site logo #48354

Open
wants to merge 68 commits into
base: trunk
Choose a base branch
from
Open

Add border support to site logo #48354

wants to merge 68 commits into from

Conversation

carolinan
Copy link
Contributor

@carolinan carolinan commented Feb 23, 2023

What?

Add border block support to the site logo.
Partial for #43247, #37757

Why?

To allow more customization of the block, and for consistency with other blocks.

How?

The border is applied to the image element, not the wrapper.

Testing Instructions

Please test both the placeholder and the site logo with image, with and without link, duotone, rounded style variation, and padding.
When testing with dutotone, you should find that the duotone changes the border color. This is consistent with other image blocks that supports both.
When testing padding, you should find that the padding is on the wrapper, which means it is not between the image and the border but between the border and other page content. This is also consistent with other blocks.

  1. Activate a block theme that does not style the logo, for example, Twenty Twenty-Three.
  2. Open the Site Editor.
  3. Add a site logo block.
  4. Next, open the Styles sidebar. Open the blocks panel and select the site logo.
  5. Confirm that there is a new button for opening the border styles panel. Open the panel and adjust the border.
    If you are using a placeholder, you will see that the border has a low opacity, but it should be present.
    I found that this is inconsistent across blocks. The image block placeholder has no visible border, the featured image has a fully visible border, not a border with low opacity.
    Confirm that the border displays correctly when an image is selected.
  6. Save and view the front. Confirm that the logo and border shows correctly.
  7. Return to the site editor. With the block selected, open the block settings sidebar and locate the border panel.
  8. Adjust the border. Please test both palette color and custom border color. The settings should override the border from the global styles.

Screenshots or screencast

global styles border option for site logo

@carolinan carolinan added [Block] Site Logo Affects the Site Logo Block [Type] Enhancement A suggestion for improvement. labels Feb 23, 2023
@github-actions
Copy link

github-actions bot commented Feb 23, 2023

Size Change: +348 B (+0.02%)

Total Size: 1.77 MB

Filename Size Change
build/block-library/blocks/site-logo/editor-rtl.css 856 B +50 B (+6.2%) 🔍
build/block-library/blocks/site-logo/editor.css 855 B +52 B (+6.48%) 🔍
build/block-library/blocks/site-logo/style-rtl.css 210 B -8 B (-3.67%)
build/block-library/blocks/site-logo/style.css 210 B -8 B (-3.67%)
build/block-library/editor-rtl.css 11.9 kB +41 B (+0.35%)
build/block-library/editor.css 11.9 kB +40 B (+0.34%)
build/block-library/index.min.js 217 kB +196 B (+0.09%)
build/block-library/style-rtl.css 14.7 kB -7 B (-0.05%)
build/block-library/style.css 14.7 kB -8 B (-0.05%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 951 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.31 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.29 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/content-rtl.css 4.58 kB
build/block-editor/content.css 4.58 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
build/block-editor/index.min.js 255 kB
build/block-editor/style-rtl.css 16.3 kB
build/block-editor/style.css 16.3 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 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 149 B
build/block-library/blocks/audio/editor.css 151 B
build/block-library/blocks/audio/style-rtl.css 132 B
build/block-library/blocks/audio/style.css 132 B
build/block-library/blocks/audio/theme-rtl.css 134 B
build/block-library/blocks/audio/theme.css 134 B
build/block-library/blocks/avatar/editor-rtl.css 115 B
build/block-library/blocks/avatar/editor.css 115 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/button/editor-rtl.css 310 B
build/block-library/blocks/button/editor.css 310 B
build/block-library/blocks/button/style-rtl.css 538 B
build/block-library/blocks/button/style.css 538 B
build/block-library/blocks/buttons/editor-rtl.css 336 B
build/block-library/blocks/buttons/editor.css 336 B
build/block-library/blocks/buttons/style-rtl.css 328 B
build/block-library/blocks/buttons/style.css 328 B
build/block-library/blocks/calendar/style-rtl.css 240 B
build/block-library/blocks/calendar/style.css 240 B
build/block-library/blocks/categories/editor-rtl.css 132 B
build/block-library/blocks/categories/editor.css 131 B
build/block-library/blocks/categories/style-rtl.css 152 B
build/block-library/blocks/categories/style.css 152 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 122 B
build/block-library/blocks/code/theme.css 122 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 420 B
build/block-library/blocks/columns/style.css 420 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 124 B
build/block-library/blocks/comment-author-avatar/editor.css 124 B
build/block-library/blocks/comment-content/style-rtl.css 90 B
build/block-library/blocks/comment-content/style.css 90 B
build/block-library/blocks/comment-date/style-rtl.css 65 B
build/block-library/blocks/comment-date/style.css 65 B
build/block-library/blocks/comment-template/style-rtl.css 200 B
build/block-library/blocks/comment-template/style.css 199 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 221 B
build/block-library/blocks/comments-pagination/editor.css 211 B
build/block-library/blocks/comments-pagination/style-rtl.css 234 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 832 B
build/block-library/blocks/comments/editor.css 832 B
build/block-library/blocks/comments/style-rtl.css 632 B
build/block-library/blocks/comments/style.css 631 B
build/block-library/blocks/cover/editor-rtl.css 668 B
build/block-library/blocks/cover/editor.css 669 B
build/block-library/blocks/cover/style-rtl.css 1.62 kB
build/block-library/blocks/cover/style.css 1.6 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 314 B
build/block-library/blocks/embed/editor.css 314 B
build/block-library/blocks/embed/style-rtl.css 419 B
build/block-library/blocks/embed/style.css 419 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 326 B
build/block-library/blocks/file/style-rtl.css 278 B
build/block-library/blocks/file/style.css 279 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 198 B
build/block-library/blocks/footnotes/style.css 197 B
build/block-library/blocks/form-input/editor-rtl.css 229 B
build/block-library/blocks/form-input/editor.css 229 B
build/block-library/blocks/form-input/style-rtl.css 342 B
build/block-library/blocks/form-input/style.css 342 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 344 B
build/block-library/blocks/form-submission-notification/editor.css 341 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 470 B
build/block-library/blocks/freeform/editor-rtl.css 2.6 kB
build/block-library/blocks/freeform/editor.css 2.6 kB
build/block-library/blocks/gallery/editor-rtl.css 955 B
build/block-library/blocks/gallery/editor.css 958 B
build/block-library/blocks/gallery/style-rtl.css 1.71 kB
build/block-library/blocks/gallery/style.css 1.71 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 344 B
build/block-library/blocks/group/editor.css 344 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 79 B
build/block-library/blocks/group/theme.css 79 B
build/block-library/blocks/heading/style-rtl.css 188 B
build/block-library/blocks/heading/style.css 188 B
build/block-library/blocks/html/editor-rtl.css 346 B
build/block-library/blocks/html/editor.css 347 B
build/block-library/blocks/image/editor-rtl.css 894 B
build/block-library/blocks/image/editor.css 892 B
build/block-library/blocks/image/style-rtl.css 1.59 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/image/view.min.js 1.65 kB
build/block-library/blocks/latest-comments/style-rtl.css 355 B
build/block-library/blocks/latest-comments/style.css 354 B
build/block-library/blocks/latest-posts/editor-rtl.css 139 B
build/block-library/blocks/latest-posts/editor.css 138 B
build/block-library/blocks/latest-posts/style-rtl.css 509 B
build/block-library/blocks/latest-posts/style.css 510 B
build/block-library/blocks/list/style-rtl.css 107 B
build/block-library/blocks/list/style.css 107 B
build/block-library/blocks/loginout/style-rtl.css 61 B
build/block-library/blocks/loginout/style.css 61 B
build/block-library/blocks/media-text/editor-rtl.css 304 B
build/block-library/blocks/media-text/editor.css 303 B
build/block-library/blocks/media-text/style-rtl.css 516 B
build/block-library/blocks/media-text/style.css 515 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/editor-rtl.css 663 B
build/block-library/blocks/navigation-link/editor.css 664 B
build/block-library/blocks/navigation-link/style-rtl.css 192 B
build/block-library/blocks/navigation-link/style.css 191 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 295 B
build/block-library/blocks/navigation-submenu/editor.css 294 B
build/block-library/blocks/navigation/editor-rtl.css 2.18 kB
build/block-library/blocks/navigation/editor.css 2.19 kB
build/block-library/blocks/navigation/style-rtl.css 2.25 kB
build/block-library/blocks/navigation/style.css 2.23 kB
build/block-library/blocks/navigation/view.min.js 1.03 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 378 B
build/block-library/blocks/page-list/editor.css 378 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 236 B
build/block-library/blocks/paragraph/editor.css 236 B
build/block-library/blocks/paragraph/style-rtl.css 341 B
build/block-library/blocks/paragraph/style.css 340 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 527 B
build/block-library/blocks/post-comments-form/style.css 528 B
build/block-library/blocks/post-content/editor-rtl.css 74 B
build/block-library/blocks/post-content/editor.css 74 B
build/block-library/blocks/post-content/style-rtl.css 79 B
build/block-library/blocks/post-content/style.css 79 B
build/block-library/blocks/post-date/style-rtl.css 62 B
build/block-library/blocks/post-date/style.css 62 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 155 B
build/block-library/blocks/post-excerpt/style.css 155 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 726 B
build/block-library/blocks/post-featured-image/style-rtl.css 341 B
build/block-library/blocks/post-featured-image/style.css 341 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 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 399 B
build/block-library/blocks/post-template/style.css 398 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 70 B
build/block-library/blocks/post-time-to-read/style.css 70 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 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 134 B
build/block-library/blocks/pullquote/editor.css 134 B
build/block-library/blocks/pullquote/style-rtl.css 342 B
build/block-library/blocks/pullquote/style.css 342 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 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 220 B
build/block-library/blocks/query-pagination/editor.css 208 B
build/block-library/blocks/query-pagination/style-rtl.css 287 B
build/block-library/blocks/query-pagination/style.css 283 B
build/block-library/blocks/query-title/style-rtl.css 64 B
build/block-library/blocks/query-title/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 452 B
build/block-library/blocks/query/editor.css 451 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 238 B
build/block-library/blocks/quote/style.css 238 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 236 B
build/block-library/blocks/read-more/style-rtl.css 138 B
build/block-library/blocks/read-more/style.css 138 B
build/block-library/blocks/rss/editor-rtl.css 101 B
build/block-library/blocks/rss/editor.css 101 B
build/block-library/blocks/rss/style-rtl.css 288 B
build/block-library/blocks/rss/style.css 287 B
build/block-library/blocks/search/editor-rtl.css 193 B
build/block-library/blocks/search/editor.css 193 B
build/block-library/blocks/search/style-rtl.css 672 B
build/block-library/blocks/search/style.css 671 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 B
build/block-library/blocks/search/view.min.js 475 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 248 B
build/block-library/blocks/separator/style.css 248 B
build/block-library/blocks/separator/theme-rtl.css 195 B
build/block-library/blocks/separator/theme.css 195 B
build/block-library/blocks/shortcode/editor-rtl.css 286 B
build/block-library/blocks/shortcode/editor.css 286 B
build/block-library/blocks/site-tagline/editor-rtl.css 87 B
build/block-library/blocks/site-tagline/editor.css 87 B
build/block-library/blocks/site-tagline/style-rtl.css 65 B
build/block-library/blocks/site-tagline/style.css 65 B
build/block-library/blocks/site-title/editor-rtl.css 123 B
build/block-library/blocks/site-title/editor.css 123 B
build/block-library/blocks/site-title/style-rtl.css 90 B
build/block-library/blocks/site-title/style.css 90 B
build/block-library/blocks/social-link/editor-rtl.css 338 B
build/block-library/blocks/social-link/editor.css 338 B
build/block-library/blocks/social-links/editor-rtl.css 676 B
build/block-library/blocks/social-links/editor.css 675 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.5 kB
build/block-library/blocks/spacer/editor-rtl.css 346 B
build/block-library/blocks/spacer/editor.css 346 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-of-contents/style-rtl.css 83 B
build/block-library/blocks/table-of-contents/style.css 83 B
build/block-library/blocks/table/editor-rtl.css 394 B
build/block-library/blocks/table/editor.css 394 B
build/block-library/blocks/table/style-rtl.css 640 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/editor-rtl.css 63 B
build/block-library/blocks/tag-cloud/editor.css 63 B
build/block-library/blocks/tag-cloud/style-rtl.css 266 B
build/block-library/blocks/tag-cloud/style.css 265 B
build/block-library/blocks/template-part/editor-rtl.css 393 B
build/block-library/blocks/template-part/editor.css 393 B
build/block-library/blocks/template-part/theme-rtl.css 113 B
build/block-library/blocks/template-part/theme.css 113 B
build/block-library/blocks/term-description/style-rtl.css 126 B
build/block-library/blocks/term-description/style.css 126 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 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 98 B
build/block-library/blocks/verse/style.css 98 B
build/block-library/blocks/video/editor-rtl.css 541 B
build/block-library/blocks/video/editor.css 542 B
build/block-library/blocks/video/style-rtl.css 192 B
build/block-library/blocks/video/style.css 192 B
build/block-library/blocks/video/theme-rtl.css 134 B
build/block-library/blocks/video/theme.css 134 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.1 kB
build/block-library/common.css 1.1 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 472 B
build/block-library/reset.css 472 B
build/block-library/theme-rtl.css 708 B
build/block-library/theme.css 712 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 52.4 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/components/index.min.js 223 kB
build/components/style-rtl.css 12.1 kB
build/components/style.css 12.1 kB
build/compose/index.min.js 12.9 kB
build/core-commands/index.min.js 2.82 kB
build/core-data/index.min.js 73.1 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.35 kB
build/customize-widgets/style.css 1.35 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.98 kB
build/date/index.min.js 18 kB
build/deprecated/index.min.js 458 B
build/dom-ready/index.min.js 325 B
build/dom/index.min.js 4.65 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-post/index.min.js 12.6 kB
build/edit-post/style-rtl.css 2.31 kB
build/edit-post/style.css 2.31 kB
build/edit-site/index.min.js 217 kB
build/edit-site/posts-rtl.css 7.39 kB
build/edit-site/posts.css 7.39 kB
build/edit-site/style-rtl.css 12.7 kB
build/edit-site/style.css 12.7 kB
build/edit-widgets/index.min.js 17.7 kB
build/edit-widgets/style-rtl.css 4.2 kB
build/edit-widgets/style.css 4.2 kB
build/editor/index.min.js 101 kB
build/editor/style-rtl.css 9.36 kB
build/editor/style.css 9.35 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.09 kB
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.54 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
build/interactivity/debug.min.js 16.3 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.78 kB
build/interactivity/index.min.js 13.2 kB
build/interactivity/navigation.min.js 1.16 kB
build/interactivity/query.min.js 742 B
build/interactivity/router.min.js 2.8 kB
build/interactivity/search.min.js 615 B
build/is-shallow-equal/index.min.js 526 B
build/keyboard-shortcuts/index.min.js 1.31 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.16 kB
build/list-reusable-blocks/style-rtl.css 846 B
build/list-reusable-blocks/style.css 846 B
build/media-utils/index.min.js 2.92 kB
build/modules/importmap-polyfill.min.js 12.3 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.59 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.37 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.81 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.9 kB
build/preferences/style-rtl.css 554 B
build/preferences/style.css 554 B
build/primitives/index.min.js 829 B
build/priority-queue/index.min.js 1.54 kB
build/private-apis/index.min.js 1.01 kB
build/react-i18n/index.min.js 630 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.76 kB
build/redux-routine/index.min.js 2.69 kB
build/reusable-blocks/index.min.js 2.54 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.1 kB
build/router/index.min.js 1.96 kB
build/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/style-engine/index.min.js 2.03 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.85 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react-jsx-runtime.min.js 560 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/warning/index.min.js 250 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.03 kB

compressed-size-action

@github-actions
Copy link

github-actions bot commented Feb 23, 2023

Flaky tests detected in 1e7f619.
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/10346022782
📝 Reported issues:

@carolinan carolinan marked this pull request as ready for review February 24, 2023 05:57
Copy link
Member

@mikachan mikachan left a comment

Choose a reason for hiding this comment

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

Thank you for working on this! I've tested it out, and in my testing, it's working really well.

  • Confirm that there is a new button for opening the border styles panel. ✅
  • Confirm that the border displays correctly when an image is selected. ✅
  • Confirm that the logo and border shows correctly. ✅
  • The settings override the border from the global styles. ✅
  • Tested with various custom border colours, styles, and surrounding global styles like padding and margin. ✅

Copy link
Contributor

@aaronrobertshaw aaronrobertshaw left a comment

Choose a reason for hiding this comment

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

Thank you for taking the time to put this PR together @carolinan 👍

There are a few issues we'll need to address before this can be merged.

  1. The block needs to take border width into account with its sizing
  2. The inline cropping should also reflect the border
  3. The image class name can get undefined within it
Screen.Recording.2023-06-23.at.2.31.06.pm.mp4

packages/block-library/src/site-logo/edit.js Outdated Show resolved Hide resolved
@carolinan
Copy link
Contributor Author

carolinan commented Jun 27, 2023

Thank you. I did not realize the border needed to be included in the width; I expected it to be on the outside so that the image doesn't shrink.

The block needs to take border width into account with its sizing
The inline cropping should also reflect the border

I used the image block as a reference but did not want to copy code without fully understanding it.

Width: I added the box-sizing: border-box; to the image.
Problem: the right side resize handle is displayed correctly, but the bottom handle is not in the correct position, so I assume I need to adjust something related to the height.
However, when the block is centered, all resize handles are displayed correctly.

The bottom resize handle for the site logo block is in the wrong position

Crop: I added the border to the cropper. I don't know this feature well enough to test if it works correctly now.

Copy link
Contributor

@aaronrobertshaw aaronrobertshaw left a comment

Choose a reason for hiding this comment

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

Appreciate the effort and patience iterating on this one. I know there are a lot of edge cases around borders that can make these things a bit of a grind.

Problem: the right side resize handle is displayed correctly, but the bottom handle is not in the correct position, so I assume I need to adjust something related to the height.

The resizable box doesn't appear to be getting a height that matches the image. I wonder if tweaking the lockAspectRatio prop the same as the image block does would help?

However, when the block is centered, all resize handles are displayed correctly.

Looking closer, it appears that the difference between the centred block and one without alignment is that the resizable box element gets a display: table style. Blindly adding that in via dev tools appears to put the resizable box's bottom handle where it should be.

I haven't gotten to explore why this is the case or what side effects might occur as a result but maybe that is a thread to follow 🤷

Crop: I added the border to the cropper. I don't know this feature well enough to test if it works correctly now.

You should be able to test the cropper by comparing it against trunk. Adding the border shouldn't change much other than the window through which the cropper operates. On that container, we might need to add the box-sizing rule to it as well.

These croppers are due for some love in Phase 3 as part of the Media Library improvements so maybe a holistic solution might come through that.

One last thought, it was requested that the image block's placeholder not show the border when selected. Perhaps we should be doing the same here for the Site Logo? This would avoid the upload icon getting clipped at the edges as well.

@carolinan
Copy link
Contributor Author

@aaronrobertshaw Thank you, I will continue on it this week or next.

Copy link

This pull request has changed or added PHP files. Please confirm whether these changes need to be synced to WordPress Core, and therefore featured in the next release of WordPress.

If so, it is recommended to create a new Trac ticket and submit a pull request to the WordPress Core Github repository soon after this pull request is merged.

If you're unsure, you can always ask for help in the #core-editor channel in WordPress Slack.

Thank you! ❤️

View changed files
❔ packages/block-library/src/site-logo/index.php

Copy link
Contributor

@aaronrobertshaw aaronrobertshaw left a comment

Choose a reason for hiding this comment

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

I appreciate the persistence and hard work on this one @carolinan, I know it's a tricky one! 🙇

After giving this one another run, some aspects are working well and others not so much.

In particular, we might need to improve the handling around placeholders. I'm getting some weird behaviour when the block is in its placeholder state, including:

  • Scrollbars within the placeholder when borders are applied
    Screenshot 2024-07-31 at 12 57 33 PM
  • Somewhat inconsistent rendering of the placeholder, seemed warped when different border combinations were applied
  • Global styles apply to the placeholder at all times but block instance styles don't apply to the placeholder when the block is selected, which it has to be to edit the styles. It's a bit confusing.

Also, the global border radius styles don't apply. The .wp-block-site-logo img style will need to have the selector's specificity lowered.

When the block instance styles are applied, the image cropper maintains its shape and size nicely. That isn't the case when only using global border styles or the rounded block style.

That might sound like a lot but this has come a long way. Nice work!

Screen.Recording.2024-07-31.at.12.54.16.PM.mp4

packages/block-library/src/site-logo/block.json Outdated Show resolved Hide resolved
packages/block-library/src/site-logo/edit.js Outdated Show resolved Hide resolved
packages/block-library/src/site-logo/edit.js Outdated Show resolved Hide resolved
packages/block-library/src/site-logo/index.php Outdated Show resolved Hide resolved
packages/block-library/src/site-logo/index.php Outdated Show resolved Hide resolved
@carolinan
Copy link
Contributor Author

Also, the global border radius styles don't apply. The .wp-block-site-logo img style will need to have the selector's specificity lowered.

On the placeholder, the CSS from the component is overriding the border radius from the global styles.
This also happens with the image block, on trunk.

@@ -47,24 +44,27 @@
// @todo this particular minimal style of placeholder could be componentized further.
.wp-block-site-logo.wp-block-site-logo {

/**
&.is-default-size .components-placeholder {
height: 60px;
width: 60px;
}
Copy link
Contributor Author

@carolinan carolinan Jul 31, 2024

Choose a reason for hiding this comment

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

If I don't remove the height and width, the upload button is misaligned when there is a border.
In this screenshot, a border width of 10px is added in global styles:
logo-placeholder

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not sure what this CSS is for, was 60px chosen because the default size of the logo is 120?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, I found the ticket #48218
I am not sure how to resolve it without letting it fall back to height: 100% and width:100% though! @richtabor

Copy link
Member

Choose a reason for hiding this comment

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

I am not sure what this CSS is for, was 60px chosen because the default size of the logo is 120?

Yes, per https://github.com/WordPress/gutenberg/pull/48218—120x120 is too big for a logo placeholder, but 120px is the max initial width for when a logo is uploaded.

Copy link
Contributor

Choose a reason for hiding this comment

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

This is a tricky one 🤔

While in the placeholder state the layout shift when adding a border sticks out. When not in the placeholder state the block has border-box set for the box-sizing. Adding border-box for the placeholder state exacerbates the problem with scrollbars etc.

I'm not sure there is a bulletproof solution but maybe there is something we can do to smooth out the experience a bit for the less extreme use cases.

If we avoid applying the custom border on the placeholder directly and instead apply it to a new pseudo element. We can position the bordered pseudo element over the inner contents. It will start to crop the underlying button as the border increases but that seems better than scrollbars.

Hacking around in dev tools this is what I got:

Screen.Recording.2024-08-08.at.8.05.37.PM.mp4


/**
// Inherit radius.
> div, // A 60px width div shown only in the editor on mobile.
.components-resizable-box__container {
border-radius: inherit;
}
Copy link
Contributor Author

@carolinan carolinan Jul 31, 2024

Choose a reason for hiding this comment

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

The border-radius:inherit on the >div here is overriding the border radius from the global styles.
I did not understand the code comment about the div only being shown in the editor on mobile, or how to test it.

:root :where(.wp-block-site-logo .components-placeholder) {
border-radius: inherit;
}

Copy link
Contributor Author

@carolinan carolinan Jul 31, 2024

Choose a reason for hiding this comment

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

Even with the border-radius:inherit

  1. Commented out on line 58
  2. Moved from line 67 to 114 with reduced specificity

the placeholder component's own CSS still overrides the border radius from the global styles.

a,
img {
border-radius: inherit;
box-sizing: border-box;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I found that the border radius from the "rounded" style variation is applied without this CSS, but maybe I missed something in my testing.

@richtabor
Copy link
Member

I'm seeing this here; the default logo block experience should look like an image block, but be contained by a default width:

CleanShot 2024-07-31 at 10 35 17

Would it be fine to just omit the border on the placeholder? The radius is fine, but the border is a bit funky. I get its applied elsewhere; just looking for a way to unblock this.

@carolinan
Copy link
Contributor Author

I don't understand. What is "this* ? I don't know what setting is applied on the block in the screenshot or how it differs from the expected. Funky is not a technical term I can solve 😂😂😂

@carolinan
Copy link
Contributor Author

I should probably open a separate issue for this, but I want to ping @ciampo in this PR first because of the context.
I don't expect you to read all the comments on this PR :) The most recent comments are enough.

There seems to be conflicting intentions about wether the placeholder component should be styled by blocks or not.
Currently, the border radius in the placeholder component has a higher specificity than the border radius from global styles.
There is a comment in the SCSS file of the placeholder component that this is intentional:

// This needs specificity to override individual block styles.
.components-placeholder.components-placeholder {

https://github.com/WordPress/gutenberg/blob/trunk/packages/components/src/placeholder/style.scss#L1

So I am looking for a definite answer about wether the placeholder component should be styled by global styles or not.
The placeholders are already styled by the block settings since this CSS is inline, the question is about the global styles.
"Sometimes" may be a valid answer -But with the current CSS; I do not know how to resolve that.

@carolinan
Copy link
Contributor Author

For the part where the border on the placeholder is covering the misaligned upload button, what if I remove the box-sizing?
The logo placeholder will be larger than the 60x60, but at least the button is not cut off by the border.

site-logo-border-footprint.mp4

@aaronrobertshaw
Copy link
Contributor

Thanks for persisting on this one @carolinan, huge effort 💪

Currently, the border radius in the placeholder component has a higher specificity than the border radius from global styles.
There is a comment in the SCSS file of the placeholder component that this is intentional:

I'd say at the time, this was intentional and desired. I also recall there was an effort to overhaul and improve placeholders more broadly. It's possible this is where things diverged. There might be a thread to follow in #43180 and before that #42847 (comment).

For the part where the border on the placeholder is covering the misaligned upload button, what if I remove the box-sizing?

I think in general it is better to have more predictable sizing to prevent janky layout shifts and the like. Quickly testing with TT4, if you set a border on the site logo block type, the placeholder will exceed its expected width and start to overlap the site title in the header part.

Screenshot 2024-08-08 at 8 24 35 PM

So I am looking for a definite answer about whether the placeholder component should be styled by global styles or not.

This seems to be the crux of the matter and I don't know the answer, sorry 🙏

At the risk of taking the easy way out, I'd like to defer to our design gurus on that. I suspect that either way, individual block instance styles and global styles should be rendered the same on placeholders.

@carolinan carolinan added the Needs Design Feedback Needs general design feedback. label Aug 12, 2024
@carolinan
Copy link
Contributor Author

f you set a border on the site logo block type, the placeholder will exceed its expected width

I am not able to reproduce this. Did you do anything extra besides applying and building the PR?

@carolinan
Copy link
Contributor Author

carolinan commented Aug 12, 2024

With the option available in the toolbar, what if I remove the button that is in the placeholder? Then the border can not overlap the button, and we also don't need to think about the size of the clickable area.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Site Logo Affects the Site Logo Block Needs Design Feedback Needs general design feedback. [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants