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

Update cover block min height control to use HeightControl #62509

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

Conversation

akasunil
Copy link
Member

@akasunil akasunil commented Jun 12, 2024

What?

Fixes: #56020

This PR when applied,
Replace UnitControl component with HeightControl in cover block

Screenshots or screencast

image

@akasunil akasunil requested a review from ajitbohra as a code owner June 12, 2024 13:50
@akasunil akasunil added the [Type] Enhancement A suggestion for improvement. label Jun 12, 2024
Copy link

github-actions bot commented Jun 12, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: akasunil <[email protected]>
Co-authored-by: jasmussen <[email protected]>
Co-authored-by: t-hamano <[email protected]>
Co-authored-by: richtabor <[email protected]>
Co-authored-by: jameskoster <[email protected]>
Co-authored-by: aaronrobertshaw <[email protected]>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@akasunil akasunil added the [Block] Cover Affects the Cover Block - used to display content laid over a background image label Jun 12, 2024
Copy link

github-actions bot commented Jun 12, 2024

Size Change: -13.5 kB (-0.76%)

Total Size: 1.75 MB

Filename Size Change
build/block-editor/index.min.js 251 kB -13.6 kB (-5.14%)
build/block-editor/style-rtl.css 15.7 kB +47 B (+0.3%)
build/block-editor/style.css 15.7 kB +48 B (+0.31%)
build/block-library/index.min.js 219 kB -74 B (-0.03%)
build/commands/index.min.js 15.2 kB +5 B (+0.03%)
build/components/index.min.js 223 kB +85 B (+0.04%)
build/components/style-rtl.css 12.1 kB +9 B (+0.07%)
build/components/style.css 12.1 kB +10 B (+0.08%)
build/core-commands/index.min.js 2.77 kB +25 B (+0.91%)
build/core-data/index.min.js 72.6 kB -5 B (-0.01%)
build/data/index.min.js 8.98 kB -14 B (-0.16%)
build/edit-post/style-rtl.css 2.34 kB +25 B (+1.08%)
build/edit-post/style.css 2.33 kB +26 B (+1.13%)
build/edit-site/index.min.js 208 kB +64 B (+0.03%)
build/edit-site/posts-rtl.css 6.37 kB +13 B (+0.2%)
build/edit-site/posts.css 6.37 kB +16 B (+0.25%)
build/edit-site/style-rtl.css 11.8 kB +15 B (+0.13%)
build/edit-site/style.css 11.8 kB +14 B (+0.12%)
build/editor/index.min.js 98 kB +71 B (+0.07%)
build/editor/style-rtl.css 9.23 kB +29 B (+0.32%)
build/editor/style.css 9.24 kB +30 B (+0.33%)
build/format-library/index.min.js 8.07 kB -31 B (-0.38%)
build/patterns/index.min.js 7.35 kB +10 B (+0.14%)
build/preferences/style-rtl.css 578 B -137 B (-19.16%) 👏
build/preferences/style.css 578 B -137 B (-19.16%) 👏
build/router/index.min.js 1.96 kB +2 B (+0.1%)
ℹ️ 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.31 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.57 kB
build/block-editor/content.css 4.57 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 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 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 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 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-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 958 B
build/block-library/blocks/gallery/editor.css 962 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 402 B
build/block-library/blocks/group/editor.css 402 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 845 B
build/block-library/blocks/image/editor.css 843 B
build/block-library/blocks/image/style-rtl.css 1.54 kB
build/block-library/blocks/image/style.css 1.54 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.54 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 204 B
build/block-library/blocks/latest-posts/editor.css 204 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 104 B
build/block-library/blocks/list/style.css 104 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.2 kB
build/block-library/blocks/navigation/editor.css 2.21 kB
build/block-library/blocks/navigation/style-rtl.css 2.26 kB
build/block-library/blocks/navigation/style.css 2.25 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 506 B
build/block-library/blocks/post-comments-form/style.css 506 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-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 141 B
build/block-library/blocks/post-excerpt/style.css 141 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 502 B
build/block-library/blocks/query/editor.css 502 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 221 B
build/block-library/blocks/quote/theme.css 225 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 183 B
build/block-library/blocks/search/editor.css 183 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-logo/editor-rtl.css 806 B
build/block-library/blocks/site-logo/editor.css 803 B
build/block-library/blocks/site-logo/style-rtl.css 218 B
build/block-library/blocks/site-logo/style.css 218 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-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 71 B
build/block-library/blocks/site-title/style.css 71 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.5 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/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/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 108 B
build/block-library/blocks/term-description/style.css 108 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 553 B
build/block-library/blocks/video/editor.css 554 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/editor-rtl.css 11.9 kB
build/block-library/editor.css 11.9 kB
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/style-rtl.css 14.6 kB
build/block-library/style.css 14.6 kB
build/block-library/theme-rtl.css 702 B
build/block-library/theme.css 707 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.2 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/compose/index.min.js 12.9 kB
build/customize-widgets/index.min.js 10.9 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/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.5 kB
build/edit-widgets/index.min.js 17.6 kB
build/edit-widgets/style-rtl.css 4.18 kB
build/edit-widgets/style.css 4.18 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/style-rtl.css 494 B
build/format-library/style.css 493 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.5 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.68 kB
build/interactivity/index.min.js 13.4 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.17 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.58 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
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/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.73 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/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/style-engine/index.min.js 2.01 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.85 kB
build/vendors/react-dom.min.js 42.8 kB
build/vendors/react-jsx-runtime.min.js 560 B
build/vendors/react.min.js 2.65 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

@akasunil akasunil marked this pull request as draft June 13, 2024 09:40
@akasunil akasunil marked this pull request as ready for review June 13, 2024 12:16
@akasunil
Copy link
Member Author

@richtabor Should we replace height control label "Minimum height of cover" with "Minimum height"?

@richtabor
Copy link
Member

@richtabor Should we replace height control label "Minimum height of cover" with "Minimum height"?

Yes, thanks!

@akasunil
Copy link
Member Author

Hi @richtabor, Could you please review this PR?

@akasunil akasunil self-assigned this Jun 20, 2024
@jasmussen jasmussen self-requested a review June 24, 2024 11:25
Copy link
Contributor

@jasmussen jasmussen left a comment

Choose a reason for hiding this comment

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

This could use a code review, but this definitely seems to be a better solution than #62742 which was just a half-step.

@WordPress/gutenberg-design what do you think?

@jameskoster
Copy link
Contributor

Seems good to me.

I'm curious about HeightControl though. I suspect it has applications beyond only height... should it have a more generic name?

@richtabor
Copy link
Member

Seems good to me.

I'm curious about HeightControl though. I suspect it has applications beyond only height... should it have a more generic name?

This is the same component used in the dimensions panel (source).

@richtabor
Copy link
Member

Before After
CleanShot 2024-06-25 at 09 00 43 CleanShot 2024-06-25 at 09 00 05

@jameskoster
Copy link
Contributor

It was more a meta comment; I could see that component (unit control + range) being used for other numerical settings. E.g. width, margin, padding, etc. In fact Padding already uses a custom version of this pattern:

Screenshot 2024-06-25 at 14 28 04

It would be good to tidy that up (not in this PR, obviously) :)

@akasunil
Copy link
Member Author

We could rename it to something like RangeInputControl, a self explanatory.

@richtabor
Copy link
Member

We could rename it to something like RangeInputControl, a self explanatory.

Maybe, let's consider that for a follow-up though.

Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

Thanks for the PR! Overall it looks good.

We might be able to migrate to the block support (supports.dimensions.minHeight) in the future, but we'd need to add Block deprecation, which would be a big change, so for now I think this approach is fine.

Comment on lines 160 to 163
const defaultHeightValue = await coverBlockEditorSettings
.getByLabel( 'Minimum height of cover' )
.getByRole( 'slider', { name: 'Minimum height' } )
.inputValue();
expect( defaultHeightValue ).toBeFalsy();
expect( defaultHeightValue ).toEqual( '0' );
Copy link
Contributor

Choose a reason for hiding this comment

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

This test is trying to verify that the minimum height is "undefined", but it changes the expected result.

I think the actual value being checked is a field for entering a number, not a slider.

Can't the following code achieve the same thing without changing the expected result?

const defaultHeightValue = await coverBlockEditorSettings
	.getByRole( 'spinbutton', { name: 'Minimum height' } )
	.inputValue();
expect( defaultHeightValue ).toBeFalsy();

Comment on lines 375 to 376
const [ heightControl ] =
screen.getAllByLabelText( /Minimum height/ );
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
const [ heightControl ] =
screen.getAllByLabelText( /Minimum height/ );
const heightControl = screen.getByRole( 'spinbutton', {
name: 'Minimum height',
} );

It is better to use accessible selectors.

unprocessedValue !== ''
? parseFloat( unprocessedValue )
: undefined;
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd like to avoid disabling ESLint errors if possible. Can I use logic like the following to deal with this?

const parsedQuantityAndUnit =
	parseQuantityAndUnitFromRawValue( unprocessedValue );
const currentValue = parsedQuantityAndUnit[ 0 ];

if ( isNaN( currentValue ) && currentValue !== undefined ) {
	return;
}

const currentUnit = parsedQuantityAndUnit[ 1 ];

onUnitChange( currentUnit );
onChange( currentValue );

This is similar to this part.

@t-hamano
Copy link
Contributor

t-hamano commented Jul 2, 2024

Sorry for the late response.

I thought we could ship this PR, but there was one thing that bothered me.

That is, when I move the slider and it reaches zero, the height of the Cover block suddenly becomes higher.

a6f72cbd2eda3aef107c8ccaeda92cde.mp4

This is based on the following two facts:

  • If minHeight is zero, the style min-height is not generated (source)
  • This block has min-height: 430px by default (Source)

In other words, the moment the slider reaches zero, min-height: 430px is applied.

To avoid this, we need to remove undefined here so that min-height: 0 is applied.

Changing this means that the output markup will change, so we need to add Block Deprecation.

If we are going to add a block deprecation anyway, I think it might be better to migrate to block support now.

Specifically, the following measures are required:

  • Remove the minHeight and minHeihgtUnit attributes from block.json, and remove the related code from edit.js and save.js.
  • Add dimensions.minHeight support.
  • Add Block Deprecation so that the minHeight and minHeihgtUnit attributes are migrated to minHeihgt as block support. In other words, the following migration is expected:
  // From...
  <!-- wp:cover {"minHeight":0,"minHeightUnit":"px","layout":{"type":"constrained"}} -->
  <div class="wp-block-cover">
  	<span aria-hidden="true" class="wp-block-cover__background has-contrast-2-background-color has-background-dim-100 has-background-dim"></span>
  	<div class="wp-block-cover__inner-container"></div>
  </div>
  <!-- /wp:cover -->

  // To...
  <!-- wp:cover {"style":{"dimensions":{"minHeight":"0px"}},"layout":{"type":"constrained"}} -->
  <div class="wp-block-cover" style="min-height:0px">
  	<span aria-hidden="true" class="wp-block-cover__background has-contrast-2-background-color has-background-dim-100 has-background-dim"></span>
  	<div class="wp-block-cover__inner-container"></div>
  </div>
  <!-- /wp:cover -->
  • Add fixtures to ensure the migrations is run

Would you like to try this approach?

@t-hamano
Copy link
Contributor

t-hamano commented Jul 3, 2024

@akasunil

If we are going to add a block deprecation anyway, I think it might be better to migrate to block support now.
Specifically, the following measures are required:

Sorry, I found this suggestion inappropriate.

minHeight as block support is false by default. This means that this UI will disappear unintentionally in classic themes that don't have a theme.json, or in themes that don't have dimensions.minHeight enabled via theme.json.

After all, I think it's difficult to migrate to block support at this point.

Therefore, the additional approach I propose is as follows. Sorry for the confusion 🙇‍♂️

  1. In save.js, we would probably make changes like the following to ensure that a zero minHeight is output as the inline style:
const minHeight =
	minHeightProp !== undefined && minHeightUnit
		? `${ minHeightProp }${ minHeightUnit }`
		: undefined;

const style = {
	minHeight,
};
  1. Because the min prop is defined, we cannot set it to 0 via the UI, but we can set it to 0 via the code editor. To prevent this edge case from breaking, we add a block deprecation. In other words, the following migration is expected:
<!-- From... -->
<!-- wp:cover {"minHeight":0,"minHeightUnit":"px","layout":{"type":"constrained"}} -->
<div class="wp-block-cover">
	<span aria-hidden="true" class="wp-block-cover__background has-background-dim-100 has-background-dim"></span>
	<div class="wp-block-cover__inner-container">
		<!-- wp:paragraph -->
		<p></p>
		<!-- /wp:paragraph -->
	</div>
</div>
<!-- /wp:cover -->

<!-- To... -->
<!-- wp:cover {"minHeight":0,"minHeightUnit":"px","layout":{"type":"constrained"}} -->
<div class="wp-block-cover" style="min-height:0px">
	<span aria-hidden="true" class="wp-block-cover__background has-background-dim-100 has-background-dim"></span>
	<div class="wp-block-cover__inner-container">
		<!-- wp:paragraph -->
		<p></p>
		<!-- /wp:paragraph -->
	</div>
</div>
<!-- /wp:cover -->
  1. Add fixtures to ensure the migrations is run

@t-hamano
Copy link
Contributor

t-hamano commented Jul 3, 2024

@aaronrobertshaw @andrewserong

As we move forward with this PR, I'd appreciate some feedback on whether this approach in this comment makes sense 🙇‍♂️

The history of this PR can be summarized as follows:

  • The original purpose of this PR was to replace the UnitControl component with the HeightControl component to improve consistency of the Min Height UI.
  • The HeightControl component allows a zero value. Because the zero value does not output an inline style, I found an issue with the block height suddenly changing, as mentioned in this comment.
  • To prevent this, I think we need to update the save.js function so that min-height: 0 is output as an inline style.
  • Since we have updated the save.js function, we need to add the block deprecation.
  • I thought that if we were going to add block deprecation anyway, it would be better to switch to block support instead. However, because this support is disabled by default, it is not currently possible to migrate to block support in order to allow themes that do not have this support enabled to continue using this UI.

@t-hamano t-hamano self-requested a review July 8, 2024 13:24
Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

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

I'm blocking this PR for now as we need to determine the ideal approach.

@richtabor
Copy link
Member

richtabor commented Jul 13, 2024

Why not just set the minimum value of the RangeControl to 50, which is what it is effectively in trunk? That would be 1:1 to supporting today's experience with the new component, right? If you try to set 0 in trunk, it jumps to 50.

@akasunil
Copy link
Member Author

Why not just set the minimum value of the RangeControl to 50

We could do that, what do you say @t-hamano?

@t-hamano
Copy link
Contributor

Why not just set the minimum value of the RangeControl to 50

This approach might also be possible.

However, the HeightControl component does not support the min prop. Therefore, we will need to enforce the minimum value in handleOnChange. Also, note that the minimum value of 50 is only enforced when the unit is px.

@richtabor
Copy link
Member

Is there any way forward on this effort, or should we close this?

@aaronrobertshaw
Copy link
Contributor

Is there any way forward on this effort, or should we close this?

@t-hamano and @akasunil are probably best placed to make the call however my read of the discussion so far is that this PR just needs updating to the settled on approach (including the 50px min tweak?).

However, the HeightControl component does not support the min prop.

That component is only in the block-editor package so might have more freedom to be updated. I may be misremembering but at one stage I thought we had some controls that allowed minimum values defined per unit e.g. px vs em etc. A similar thing could be accepted in that new prop.

However, because this support is disabled by default, it is not currently possible to migrate to block support in order to allow themes that do not have this support enabled to continue using this UI.

This might not be a solution but the theme.json data is filterable. The min height block support could also be enabled by default for the Cover block type within the default theme.json file. So by that I mean, it stays as false by default overall, it just gets enabled by default for the Cover block only.

That might be worth exploring if we want to consolidate around block supports and limit deprecations.

@akasunil
Copy link
Member Author

akasunil commented Dec 6, 2024

I may be misremembering but at one stage I thought we had some controls that allowed minimum values defined per unit e.g. px vs em etc. A similar thing could be accepted in that new prop.

That was the UnitControl currently implemented in cover block. We can update heightControl component to support min value.

In trunk:

  • If we set min-height to 0 value with PX unit, it fall back to 50.
  • If we set min-height to 0 value to any other unit, It stay 0 in control, But doesn't output min-height value, it fall back to min-height from styles.

in this PR:

  • If we set min-height to 0 value with PX unit or any other unit, It stay 0 in control, But doesn't output min-height value, it fall back to min-height from styles.

Difference here i could find is only min value for heightControl with PX unit. If we implement this minimum value support in heightControl component, i don't think we need any deprecation here. I know there still the issue of sudden change in cover block height when value reach to zero. but that also already exists in trunk currently. For which follow-up PR with deprecation or new issue for discussion can be created.

This might not be a solution but the theme.json data is filterable. The min height block support could also be enabled by default for the Cover block type within the default theme.json file. So by that I mean, it stays as false by default overall, it just gets enabled by default for the Cover block only.

That might be worth exploring if we want to consolidate around block supports and limit deprecations.

This is something can be explored but, it would required PHP change for filter which required back-porting, we will also need deprecation for this too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Cover Affects the Cover Block - used to display content laid over a background image [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update cover block min height control to use HeightControl
6 participants