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

Limit the max width of image to its container size #63341

Draft
wants to merge 3 commits into
base: trunk
Choose a base branch
from

Conversation

kevin940726
Copy link
Member

@kevin940726 kevin940726 commented Jul 10, 2024

What?

Attempt to fix #63326.

Limit the max width of image to its container size.

Why?

See #63326. Images in columns or other container can be resized to be bigger than its container, which is not expected.

How?

Limit the maxWidth of the image to its container's size. Not sure about this approach and potential side effects though.

Testing Instructions

  1. Add a columns block.
  2. Add an image to one of its column.
  3. Try resizing the image to be bigger than the column.

Screenshots or screencast

Kapture.2024-07-10.at.15.54.58.mp4
@kevin940726 kevin940726 added [Type] Bug An existing feature does not function as intended [Block] Image Affects the Image Block labels Jul 10, 2024
@kevin940726 kevin940726 self-assigned this Jul 10, 2024
Copy link

github-actions bot commented Jul 10, 2024

Size Change: +9.16 kB (+0.52%)

Total Size: 1.76 MB

Filename Size Change
build/block-directory/index.min.js 7.29 kB -13 B (-0.18%)
build/block-directory/style-rtl.css 1.01 kB +3 B (+0.3%)
build/block-directory/style.css 1.01 kB +2 B (+0.2%)
build/block-editor/content-rtl.css 4.56 kB -23 B (-0.5%)
build/block-editor/content.css 4.56 kB -23 B (-0.5%)
build/block-editor/index.min.js 255 kB +1.55 kB (+0.61%)
build/block-editor/style-rtl.css 16.3 kB +275 B (+1.72%)
build/block-editor/style.css 16.3 kB +284 B (+1.78%)
build/block-library/blocks/categories/editor-rtl.css 132 B +19 B (+16.81%) ⚠️
build/block-library/blocks/categories/editor.css 131 B +19 B (+16.96%) ⚠️
build/block-library/blocks/categories/style-rtl.css 152 B +28 B (+22.58%) 🚨
build/block-library/blocks/categories/style.css 152 B +28 B (+22.58%) 🚨
build/block-library/blocks/gallery/editor-rtl.css 955 B -3 B (-0.31%)
build/block-library/blocks/gallery/editor.css 958 B -4 B (-0.42%)
build/block-library/blocks/group/editor-rtl.css 344 B -58 B (-14.43%) 👏
build/block-library/blocks/group/editor.css 344 B -58 B (-14.43%) 👏
build/block-library/blocks/image/editor-rtl.css 894 B +49 B (+5.8%) 🔍
build/block-library/blocks/image/editor.css 892 B +49 B (+5.81%) 🔍
build/block-library/blocks/image/style-rtl.css 1.59 kB +50 B (+3.24%)
build/block-library/blocks/image/style.css 1.59 kB +51 B (+3.32%)
build/block-library/blocks/image/view.min.js 1.65 kB +109 B (+7.08%) 🔍
build/block-library/blocks/latest-posts/editor-rtl.css 186 B -18 B (-8.82%)
build/block-library/blocks/latest-posts/editor.css 183 B -21 B (-10.29%) 👏
build/block-library/blocks/list/style-rtl.css 107 B +3 B (+2.88%)
build/block-library/blocks/list/style.css 107 B +3 B (+2.88%)
build/block-library/blocks/navigation/editor-rtl.css 2.18 kB -21 B (-0.95%)
build/block-library/blocks/navigation/editor.css 2.19 kB -19 B (-0.86%)
build/block-library/blocks/navigation/style-rtl.css 2.25 kB -17 B (-0.75%)
build/block-library/blocks/navigation/style.css 2.23 kB -17 B (-0.75%)
build/block-library/blocks/post-comments-form/style-rtl.css 527 B +5 B (+0.96%)
build/block-library/blocks/post-comments-form/style.css 528 B +6 B (+1.15%)
build/block-library/blocks/post-excerpt/style-rtl.css 155 B +14 B (+9.93%) ⚠️
build/block-library/blocks/post-excerpt/style.css 155 B +14 B (+9.93%) ⚠️
build/block-library/blocks/query/editor-rtl.css 452 B -62 B (-12.06%) 👏
build/block-library/blocks/query/editor.css 451 B -62 B (-12.09%) 👏
build/block-library/blocks/search/editor-rtl.css 193 B +10 B (+5.46%) 🔍
build/block-library/blocks/search/editor.css 193 B +10 B (+5.46%) 🔍
build/block-library/blocks/site-title/style-rtl.css 90 B +19 B (+26.76%) 🚨
build/block-library/blocks/site-title/style.css 90 B +19 B (+26.76%) 🚨
build/block-library/blocks/term-description/style-rtl.css 126 B +18 B (+16.67%) ⚠️
build/block-library/blocks/term-description/style.css 126 B +18 B (+16.67%) ⚠️
build/block-library/blocks/video/editor-rtl.css 541 B -12 B (-2.17%)
build/block-library/blocks/video/editor.css 542 B -12 B (-2.17%)
build/block-library/editor-rtl.css 11.9 kB -21 B (-0.18%)
build/block-library/editor.css 11.9 kB -22 B (-0.19%)
build/block-library/index.min.js 217 kB +1.49 kB (+0.69%)
build/block-library/style-rtl.css 14.7 kB +103 B (+0.7%)
build/block-library/style.css 14.7 kB +101 B (+0.69%)
build/blocks/index.min.js 52.3 kB +25 B (+0.05%)
build/commands/index.min.js 16.1 kB +866 B (+5.7%) 🔍
build/components/index.min.js 222 kB -6.49 kB (-2.84%)
build/components/style-rtl.css 12.1 kB -14 B (-0.12%)
build/components/style.css 12.1 kB -11 B (-0.09%)
build/compose/index.min.js 12.9 kB +14 B (+0.11%)
build/core-commands/index.min.js 2.81 kB +33 B (+1.19%)
build/core-data/index.min.js 73.1 kB +478 B (+0.66%)
build/customize-widgets/index.min.js 11 kB +17 B (+0.16%)
build/edit-post/index.min.js 12.6 kB +92 B (+0.73%)
build/edit-post/style-rtl.css 2.31 kB -23 B (-0.98%)
build/edit-post/style.css 2.31 kB -24 B (-1.03%)
build/edit-site/index.min.js 214 kB +5.42 kB (+2.6%)
build/edit-site/posts-rtl.css 6.84 kB +281 B (+4.28%)
build/edit-site/posts.css 6.85 kB +289 B (+4.4%)
build/edit-site/style-rtl.css 12.2 kB +555 B (+4.77%) 🔍
build/edit-site/style.css 12.2 kB +573 B (+4.93%) 🔍
build/edit-widgets/index.min.js 17.7 kB +71 B (+0.4%)
build/edit-widgets/style-rtl.css 4.2 kB +15 B (+0.36%)
build/edit-widgets/style.css 4.2 kB +15 B (+0.36%)
build/editor/index.min.js 99.6 kB +1.75 kB (+1.79%)
build/editor/style-rtl.css 9.34 kB +240 B (+2.64%)
build/editor/style.css 9.33 kB +236 B (+2.59%)
build/format-library/index.min.js 8.07 kB +3 B (+0.04%)
build/format-library/style-rtl.css 476 B -18 B (-3.64%)
build/format-library/style.css 476 B -17 B (-3.45%)
build/interactivity/image.min.js 1.78 kB +107 B (+6.39%) 🔍
build/nux/index.min.js 1.59 kB +10 B (+0.63%)
build/patterns/index.min.js 7.36 kB +15 B (+0.2%)
build/preferences/index.min.js 2.9 kB -2 B (-0.07%)
build/preferences/style-rtl.css 554 B -24 B (-4.15%)
build/preferences/style.css 554 B -24 B (-4.15%)
build/reusable-blocks/index.min.js 2.54 kB -188 B (-6.9%)
build/style-engine/index.min.js 2.03 kB +17 B (+0.84%)
build/vendors/react-dom.min.js 41.7 kB -1.06 kB (-2.49%)
build/vendors/react.min.js 4.02 kB +1.37 kB (+51.66%) 🆘
build/block-library/blocks/loginout/style-rtl.css 61 B +61 B (new file) 🆕
build/block-library/blocks/loginout/style.css 61 B +61 B (new file) 🆕
build/block-library/blocks/post-content/style-rtl.css 79 B +79 B (new file) 🆕
build/block-library/blocks/post-content/style.css 79 B +79 B (new file) 🆕
build/block-library/blocks/site-tagline/style-rtl.css 65 B +65 B (new file) 🆕
build/block-library/blocks/site-tagline/style.css 65 B +65 B (new file) 🆕
build/block-library/blocks/table-of-contents/style-rtl.css 83 B +83 B (new file) 🆕
build/block-library/blocks/table-of-contents/style.css 83 B +83 B (new file) 🆕
build/block-library/blocks/tag-cloud/editor-rtl.css 63 B +63 B (new file) 🆕
build/block-library/blocks/tag-cloud/editor.css 63 B +63 B (new file) 🆕
ℹ️ 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-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/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/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/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/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
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/style-rtl.css 509 B
build/block-library/blocks/latest-posts/style.css 510 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/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-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-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/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/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/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/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/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/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 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/commands/style-rtl.css 955 B
build/commands/style.css 952 B
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/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 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/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.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/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/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/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/token-list/index.min.js 581 B
build/url/index.min.js 3.85 kB
build/vendors/react-jsx-runtime.min.js 560 B
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

@talldan
Copy link
Contributor

talldan commented Jul 10, 2024

It seems close and I like the solution, but I think the main issue is that the image resized to the max bounds loses its responsive because it's set to an exact pixel value instead of 'auto'. I think it'd be better to set it back to 'auto' like an image is when first uploaded to an image block.

Some steps to highlight the issue:

  1. Add a columns block with two columns
  2. Add an image block to the first column and upload an image
  3. Go back to the columns block and set the image to wide width, observe how it's width adjusts responsively because it's set to 'auto'.

Now compare that behavior to this:

  1. Add a columns block with two columns
  2. Add an image block to the first column and upload an image
  3. Resize the image to a smaller and then back to the max width
  4. Go back to the columns block and set the image to wide width, observe how it's now limited to the max width the column was previously.
@talldan
Copy link
Contributor

talldan commented Jul 10, 2024

Another observation is that left/right aligned images can no longer be resized to the same degree they were before (it seems to be limited to content width).

That's an interesting one, I'm not sure what the preferred behavior is.

This is also a little bit theme dependent, some themes like TT4 show aligned blocks offset from the content which would allow them to be resized further, while others don't. That makes it tricky to know dynamically what the right limit is.

@mtias mtias added the [Feature] Media Anything that impacts the experience of managing media label Jul 10, 2024
@noisysocks
Copy link
Member

Nice work. Just chiming in to say that I tested this and it fixes the issue 😀

@andrewserong
Copy link
Contributor

Nice work. Just chiming in to say that I tested this and it fixes the issue 😀

+1, nice progress here, it feels much better to use to me with the constrained maximum.

I think it'd be better to set it back to 'auto' like an image is when first uploaded to an image block.

Great idea, that sounds like a decent way to handle it. Would that be a matter of setting to auto in onResizeStop if we're currently at the max size?

Also just pinging @Mamaduka for visibility on this one since he commented on the linked issue 🙂

@Mamaduka
Copy link
Member

Nice. I've not thought of using useResizeObserver for this particular case.

@kevin940726
Copy link
Member Author

the main issue is that the image resized to the max bounds loses its responsive because it's set to an exact pixel value instead of 'auto'. I think it'd be better to set it back to 'auto' like an image is when first uploaded to an image block.

I've been thinking about this. I think it's hard to distinguish the user's intention just by observing resizing. Maybe the user wants it to be a certain exact pixel wide. I think in most cases the user wants it to fit the max width though 😅. I wonder if some kind of "snapping" makes it clearer. Perhaps @WordPress/gutenberg-design has some ideas? 🙇

Would that be a matter of setting to auto in onResizeStop if we're currently at the max size?

Another thing to note is that I think it also depends on the original image's size. If the image width is smaller than the max width, then resizing it to the max width (the user intention) should probably mean "width: 100%" rather than "width: auto"? 🤔

@andrewserong
Copy link
Contributor

andrewserong commented Jul 11, 2024

Maybe the user wants it to be a certain exact pixel wide. I think in most cases the user wants it to fit the max width though 😅. I wonder if some kind of "snapping" makes it clearer.

Good point. In this case, if folks want to set an exact pixel size, they can still do that in the sidebar. I like the idea of some kind of snapping at the max width that sets it to auto, though. It reminds me a bit of the older issue to snap to wide / full widths (#44357). Possibly a nice-to-have, rather than a must have?

If the image width is smaller than the max width, then resizing it to the max width (the user intention) should probably mean "width: 100%" rather than "width: auto"? 🤔

Also a good point! The idea of defaulting to auto if the container is smaller than the image, and 100% if the container is larger than the image sounds worth exploring to me!

@talldan
Copy link
Contributor

talldan commented Jul 11, 2024

Another thing to note is that I think it also depends on the original image's size. If the image width is smaller than the max width, then resizing it to the max width (the user intention) should probably mean "width: 100%" rather than "width: auto"?

Possibly, I haven't checked the CSS. When I say 'auto', it's what the UI shows in the width field. Sorry if that wasn't clear.

@jasmussen
Copy link
Contributor

I've been thinking about this. I think it's hard to distinguish the user's intention just by observing resizing. Maybe the user wants it to be a certain exact pixel wide. I think in most cases the user wants it to fit the max width though 😅. I wonder if some kind of "snapping" makes it clearer.

I'd echo fixed width vs. "unbounded" is one of the primary headaches to solve as part of this. And if we can do snapping to unbounded ("Auto" as Dan refers to), that would be great. We've had separate explorations into snapping into wide and full-wide alignments too, it's very difficult to build. But it would definitely be valuable, and in this case would account for snapping to content-width.

@talldan
Copy link
Contributor

talldan commented Jul 24, 2024

I found this old issue that might be closed by this PR - #12168.

@kevin940726
Copy link
Member Author

Should we include the snapping feature in this PR, or could it be implemented separately? Is the implementation in this PR without snapping worth merging?

@talldan
Copy link
Contributor

talldan commented Jul 29, 2024

Is there a basic version that could be attempted? Something like this pseudocode

onResizeStop( { actualWidth } ) {
  if ( Math.abs( containerWidth - actualWidth ) < 10 ) { 
    setWidth( '100%' );
  } else {
    setWidth( actualWidth )
  }
}
@kevin940726
Copy link
Member Author

Is there a basic version that could be attempted? Something like this pseudocode

onResizeStop( { actualWidth } ) {
  if ( Math.abs( containerWidth - actualWidth ) < 10 ) { 
    setWidth( '100%' );
  } else {
    setWidth( actualWidth )
  }
}

Committed in 858d8a2!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Image Affects the Image Block [Feature] Media Anything that impacts the experience of managing media [Type] Bug An existing feature does not function as intended
7 participants