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

Decouple "Zooming" from "Composing with Patterns/Sections" #65265

Closed
wants to merge 9 commits into from

Conversation

getdave
Copy link
Contributor

@getdave getdave commented Sep 12, 2024

What?

Decouples "Zooming the canvas" from "Composing with Patterns".

  • Removes zoom-out as a mode and replaces with compose.
  • Adds new state to control canvas zoom level.

Related #65482

Why?

Working on Zoom Out, I've noticed that sometimes we may want to "zoom out" on the canvas without going into a mode which prioritises "Composing with Sections".

For example, if you click Styles -> Browse Styles the canvas will "zoom out". But in this mode you might not want to start composing your page. There may be other examples already or in the future.

Also the term "Zoom Out" does not accurately describe the new mode. We are no longer just "zooming out on the canvas". Rather we are switching to a mode which prioritises "Composing a page using Patterns as Sections". The fact that the canvas is "zoomed" is really a byproduct.

How?

  • Renames the mode to compose
  • Creates a separate state to control canvas Zooming.

Testing Instructions

General

  • Enable Zoom Out experiment
  • Site Editor
  • Click Zoom Out toggle
  • See same zoom out experience as on trunk - there should be no discernible difference in functionality.

Browse Styles Toggle

  • Site Editor
  • Go to (Global) Styles to open panel on right hand side.
  • Click Browse Styles
  • See Editor scale
  • Check compose mode is not active
  • Check that closing the Browse Styles UI reverts to the original zoom scale.
  • Try toggling zoom out and then opening Browse Styles - the Zoom level should be unaffected as you open/close that UI. The original Zoom should be preserved.

Testing Instructions for Keyboard

Screenshots or screencast

Screen.Capture.on.2024-09-11.at.20-06-31.mp4

Props

Co-authored-by: getdave get_dave@git.wordpress.org
Co-authored-by: ajlende ajlende@git.wordpress.org
Co-authored-by: richtabor richtabor@git.wordpress.org
Co-authored-by: draganescu andraganescu@git.wordpress.org
Co-authored-by: MaggieCabrera onemaggie@git.wordpress.org

Copy link

github-actions bot commented Sep 12, 2024

Size Change: +851 B (+0.05%)

Total Size: 1.77 MB

Filename Size Change
build-module/interactivity-router/index.min.js 3 kB +202 B (+7.21%) 🔍
build-module/interactivity/debug.min.js 16.4 kB -162 B (-0.98%)
build-module/interactivity/index.min.js 13.2 kB -150 B (-1.13%)
build/block-editor/index.min.js 258 kB +328 B (+0.13%)
build/block-editor/style-rtl.css 16 kB -9 B (-0.06%)
build/block-editor/style.css 16 kB -10 B (-0.06%)
build/block-library/blocks/gallery/editor-rtl.css 946 B -9 B (-0.94%)
build/block-library/blocks/gallery/editor.css 951 B -7 B (-0.73%)
build/block-library/blocks/post-title/style-rtl.css 162 B -64 B (-28.32%) 🎉
build/block-library/blocks/post-title/style.css 162 B -64 B (-28.32%) 🎉
build/block-library/blocks/site-title/style-rtl.css 143 B -63 B (-30.58%) 🎉
build/block-library/blocks/site-title/style.css 143 B -63 B (-30.58%) 🎉
build/block-library/editor-rtl.css 11.7 kB -10 B (-0.09%)
build/block-library/editor.css 11.7 kB -9 B (-0.08%)
build/block-library/index.min.js 219 kB +106 B (+0.05%)
build/block-library/style-rtl.css 14.9 kB -120 B (-0.8%)
build/block-library/style.css 14.9 kB -119 B (-0.79%)
build/components/index.min.js 224 kB +25 B (+0.01%)
build/components/style-rtl.css 12.2 kB +39 B (+0.32%)
build/components/style.css 12.2 kB +40 B (+0.33%)
build/core-data/index.min.js 73.4 kB +204 B (+0.28%)
build/edit-post/index.min.js 13.6 kB +476 B (+3.63%)
build/edit-post/style-rtl.css 2.54 kB +4 B (+0.16%)
build/edit-post/style.css 2.54 kB +3 B (+0.12%)
build/edit-site/index.min.js 217 kB +187 B (+0.09%)
build/edit-site/style-rtl.css 12.6 kB +18 B (+0.14%)
build/edit-site/style.css 12.6 kB +15 B (+0.12%)
build/edit-widgets/style-rtl.css 4.19 kB -11 B (-0.26%)
build/edit-widgets/style.css 4.19 kB -11 B (-0.26%)
build/editor/index.min.js 102 kB +101 B (+0.1%)
build/editor/style-rtl.css 9.33 kB -9 B (-0.1%)
build/editor/style.css 9.34 kB -7 B (-0.07%)
ℹ️ View Unchanged
Filename Size
build-module/a11y/index.min.js 482 B
build-module/block-library/file/view.min.js 447 B
build-module/block-library/image/view.min.js 1.78 kB
build-module/block-library/navigation/view.min.js 1.16 kB
build-module/block-library/query/view.min.js 743 B
build-module/block-library/search/view.min.js 616 B
build/a11y/index.min.js 952 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.11 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.65 kB
build/block-editor/content.css 4.64 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 265 B
build/block-library/blocks/button/editor.css 265 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 291 B
build/block-library/blocks/buttons/editor.css 291 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-author-name/style-rtl.css 72 B
build/block-library/blocks/comment-author-name/style.css 72 B
build/block-library/blocks/comment-content/style-rtl.css 120 B
build/block-library/blocks/comment-content/style.css 120 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-edit-link/style-rtl.css 70 B
build/block-library/blocks/comment-edit-link/style.css 70 B
build/block-library/blocks/comment-reply-link/style-rtl.css 71 B
build/block-library/blocks/comment-reply-link/style.css 71 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 228 B
build/block-library/blocks/comments-pagination/editor.css 217 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 641 B
build/block-library/blocks/cover/editor.css 642 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 331 B
build/block-library/blocks/embed/editor.css 331 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 357 B
build/block-library/blocks/form-input/style.css 357 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.83 kB
build/block-library/blocks/gallery/style.css 1.82 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 333 B
build/block-library/blocks/group/editor.css 333 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 785 B
build/block-library/blocks/image/editor.css 787 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 179 B
build/block-library/blocks/latest-posts/editor.css 179 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 321 B
build/block-library/blocks/media-text/editor.css 320 B
build/block-library/blocks/media-text/style-rtl.css 558 B
build/block-library/blocks/media-text/style.css 556 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 644 B
build/block-library/blocks/navigation-link/editor.css 645 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.19 kB
build/block-library/blocks/navigation/editor.css 2.2 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-biography/style-rtl.css 74 B
build/block-library/blocks/post-author-biography/style.css 74 B
build/block-library/blocks/post-author-name/style-rtl.css 69 B
build/block-library/blocks/post-author-name/style.css 69 B
build/block-library/blocks/post-author/editor-rtl.css 107 B
build/block-library/blocks/post-author/editor.css 107 B
build/block-library/blocks/post-author/style-rtl.css 188 B
build/block-library/blocks/post-author/style.css 189 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 347 B
build/block-library/blocks/post-featured-image/style.css 347 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/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 154 B
build/block-library/blocks/query-pagination/editor.css 154 B
build/block-library/blocks/query-pagination/style-rtl.css 237 B
build/block-library/blocks/query-pagination/style.css 237 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 199 B
build/block-library/blocks/search/editor.css 199 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-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 85 B
build/block-library/blocks/site-title/editor.css 85 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 757 B
build/block-library/blocks/social-links/editor.css 756 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 144 B
build/block-library/blocks/tag-cloud/editor.css 144 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 368 B
build/block-library/blocks/template-part/editor.css 368 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 396 B
build/block-library/blocks/video/editor.css 397 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.3 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/compose/index.min.js 12.7 kB
build/core-commands/index.min.js 2.82 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.66 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-site/posts-rtl.css 7.3 kB
build/edit-site/posts.css 7.3 kB
build/edit-widgets/index.min.js 17.7 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.11 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/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.18 kB
build/list-reusable-blocks/style-rtl.css 846 B
build/list-reusable-blocks/style.css 846 B
build/media-utils/index.min.js 3.2 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.61 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.34 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.55 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.04 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.9 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

Copy link
Contributor

@ajlende ajlende left a comment

Choose a reason for hiding this comment

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

Having the zooming action separate from the other UI changes seems more intuitive to me when I'm working on the page. I like this change.

packages/block-editor/src/store/selectors.js Outdated Show resolved Hide resolved
packages/editor/src/components/editor-interface/index.js Outdated Show resolved Hide resolved
@richtabor
Copy link
Member

Interesting. I'm not convinced on a separate "mode" for composing, but I am curious about the interactions accounting for #65204.

An issue here is that zoom out behaves differently if I zoom out with the control, or engage "Compose" mode. I think zoom out interactions should be consistent, regardless of how it's engaged.

If in #65204 we could select patterns, as well as content blocks, could we invoke that "Edit" mode? Where I can select a pattern to see the vertical toolbar, move it/delete it/etc, but also click any content parts on the page to edit.

Perhaps that's something in the middle worth trying?

@draganescu
Copy link
Contributor

An issue here is that zoom out behaves differently if I zoom out with the control, or engage "Compose" mode. I think zoom out interactions should be consistent, regardless of how it's engaged.

These are different things and to me consistency considerations don't apply: zoom out is a view (it's a preset of scaled canvas) whereas the modality of working only with patterns / sections for composing is something completely different. That means zoom out as a view should be compatible in the future with other modes/workflows.

If in #65204 we could select patterns, as well as content blocks, could we invoke that "Edit" mode? Where I can select a pattern to see the vertical toolbar, move it/delete it/etc, but also click any content parts on the page to edit.

Basically just make is so that edit mode in #65204 also has the UX in this PR for "compose"? That reduces the diea that edit is for editing as b/c of the applied scaling the content is smaller. Sometimes the text could get too small. It'd be nice if in the event of combining compose and edit to incorporate the vertical toolbar in the horzontal toolbar and not need the scaling?

@getdave
Copy link
Contributor Author

getdave commented Sep 17, 2024

Let's "hide" the mode from the toolbar and make the mode an unstable API (e.g. __unstableCompose). We don't need to expose this mode to users as it's primary use is for composing when zooming.

What do you think?

@MaggieCabrera
Copy link
Contributor

Let's "hide" the mode from the toolbar and make the mode an unstable API (e.g. __unstableCompose). We don't need to expose this mode to users as it's primary use is for composing when zooming.

What do you think?

Do we need to do that if __unstableGetEditorMode is already unstable?

@MaggieCabrera
Copy link
Contributor

+1 to removing from the toolbar

@getdave getdave force-pushed the try/decouple-zoom-out-compose branch from 6c88a0c to 5acebac Compare September 17, 2024 14:58
Comment on lines +686 to 687
( editorMode === 'edit' || editorMode === 'compose' ) // Don't recalculate the initialPosition when toggling in/out of zoom-out mode
? getSelectedBlocksInitialCaretPosition()
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not sure how to resolve this one

@draganescu
Copy link
Contributor

draganescu commented Sep 17, 2024

So what we should be trying here is this:

  • the editor scale is a prop passed to the editor or something similar (maybe even an editor setting), and the wording should specifically be about "scale"
  • the mode is "compose" - this PR should remove any trace of "zoom out"
  • the button sets both the editor scale and the mode

Then once #65204 is clearer either enhance compose to also have content only editing of sections, or replace it entirely with edit mode. In that case when the editor is in edit mode and the scale pref is not default we should enable the vertical toolbar.

Composing with sections and simple editing are kinda overlapping but it is certain that the "effect" of zooming has to be a thing that is completely separate from editing or selection modes.

typeof __experimentalSetIsInserterOpened === 'function'
) {
__experimentalSetIsInserterOpened( false );
if ( getEditorMode() === 'compose' ) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we also want to check for being zoomed out here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If you are zoomed out but not in "compose" mode do we want double click to zoom in to work?

@getdave getdave changed the title (Experiment Only) Try decoupling "Zooming" from "Composing with Sections" Decouple "Zooming" from "Composing with Patterns/Sections" Sep 18, 2024
@getdave getdave added [Type] Code Quality Issues or PRs that relate to code quality and removed [Type] Experimental Experimental feature or API. labels Sep 18, 2024
@getdave
Copy link
Contributor Author

getdave commented Sep 18, 2024

  • the editor scale is a prop passed to the editor or something similar (maybe even an editor setting), and the wording should soecifically be about "scale"

The concept of "Zoom" is established so I don't see huge value in renaming to "scale". At least as part of this PR which is already large enough. We could address the nomenclature of "zoom" in a follow up if required.

  • the mode is "compose" - this PR should remove any trace of "zoom out"

The mode in this PR is already "compose" and "zoom-out" is removed 👍 The only traces of "zooming" that will remain reference the scaling of the editor canvas which is legitimate.

  • the button sets both the editor scale and the mode

This is what the button does currently in the PR 👍

@getdave getdave marked this pull request as ready for review September 18, 2024 08:52
Copy link

github-actions bot commented Sep 18, 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: getdave <get_dave@git.wordpress.org>
Co-authored-by: ajlende <ajlende@git.wordpress.org>
Co-authored-by: richtabor <richtabor@git.wordpress.org>
Co-authored-by: draganescu <andraganescu@git.wordpress.org>
Co-authored-by: MaggieCabrera <onemaggie@git.wordpress.org>
Co-authored-by: talldan <talldanwp@git.wordpress.org>

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

const ICON_MAPPING = {
edit: editIcon,
navigation: selectIcon,
compose: composeIcon,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we want to show a special icon for compose or just alias to the "edit" icon?

*
* @param {boolean} zoomOut If we should enter into zoomOut mode or not
* @param {boolean} zoomOut If we should zoom out or not.
*/
export function useZoomOut( zoomOut = true ) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

For me this is an example of a premature abstraction. A public API was created for a "mode" which was not yet considered stable (as indicated by the fact that the selector/action for the modes are __unstable.

We now have to maintain this API but make it work with the new concept which is not ideal.

@getdave
Copy link
Contributor Author

getdave commented Sep 18, 2024

Let's "hide" the mode from the toolbar and make the mode an unstable API (e.g. __unstableCompose). We don't need to expose this mode to users as it's primary use is for composing when zooming.
What do you think?

Do we need to do that if __unstableGetEditorMode is already unstable?

I don't know the answer. My instinct is that we should make the mode private because we don't want to commit to it and the __unstable doesn't make things private (as you know).

I've experimented with an approach for making compose private in this branch which we can fold into this PR or merge afterwards as required.

@MaggieCabrera
Copy link
Contributor

I've experimented with an approach for making compose private in this branch which we can fold into this PR or merge afterwards as required.

That sounds good, I like the idea

@getdave
Copy link
Contributor Author

getdave commented Sep 18, 2024

The whole discusson about private APIs has made me nervous. This zoom-out is already in Core. Despite the fact that the selectors/actions are marked as __unstable they could be in use.

Therefore I think we should

  • continue to use zoom-out as the mode string (let's remove the change to compose
  • retain the decoupling of "scaling the canvas"

This will simplify the PR and allow us to move forward.

@talldan
Copy link
Contributor

talldan commented Sep 18, 2024

This zoom-out is already in Core. Despite the fact that the selectors/actions are marked as __unstable they could be in use.

Could it be deprecated and call through to whatever is replacing it?

@getdave
Copy link
Contributor Author

getdave commented Sep 19, 2024

I've tried an alternative approach in #65482 which doesn't change the mode name.

@getdave
Copy link
Contributor Author

getdave commented Sep 19, 2024

Closing in favour of #65482

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Zoom Out [Type] Code Quality Issues or PRs that relate to code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants