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

Site editor: integrate global styles controls and style book preview into the styles panel #65619

Conversation

jorgefilipecosta
Copy link
Member

@jorgefilipecosta jorgefilipecosta commented Sep 24, 2024

Part of: #53483

Closes #66376

This PR is a first step towards this vision proposed by @jameskoster and @jasmussen:

styles.mp4

Global styles controls are now shown in the style panel. The default preview is "Site", but users can activate the style book as well.

Screenshots

This PR:

2024-11-04.16.06.21.mp4

Next steps

  • Add styles section to classic themes (read-only style book in that case)
  • Implement the improved overview style book shown in the video.
  • Navigate to different sections of the style book depending on if the user is on typography, colors or a block.

Copy link

github-actions bot commented Sep 24, 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: jorgefilipecosta <jorgefilipecosta@git.wordpress.org>
Co-authored-by: ramonjd <ramonopoly@git.wordpress.org>
Co-authored-by: youknowriad <youknowriad@git.wordpress.org>
Co-authored-by: tellthemachines <isabel_brison@git.wordpress.org>
Co-authored-by: ntsekouras <ntsekouras@git.wordpress.org>
Co-authored-by: aaronrobertshaw <aaronrobertshaw@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: annezazu <annezazu@git.wordpress.org>
Co-authored-by: richtabor <richtabor@git.wordpress.org>
Co-authored-by: mtias <matveb@git.wordpress.org>
Co-authored-by: afercia <afercia@git.wordpress.org>

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

Copy link

github-actions bot commented Sep 24, 2024

Size Change: +1.03 kB (+0.06%)

Total Size: 1.82 MB

Filename Size Change
build/edit-site/index.min.js 222 kB +803 B (+0.36%)
build/edit-site/style-rtl.css 13.2 kB +114 B (+0.87%)
build/edit-site/style.css 13.2 kB +113 B (+0.86%)
ℹ️ 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 742 B
build-module/block-library/search/view.min.js 616 B
build-module/interactivity-router/index.min.js 3.03 kB
build-module/interactivity/debug.min.js 17.2 kB
build-module/interactivity/index.min.js 13.6 kB
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.26 kB
build/block-directory/style-rtl.css 1 kB
build/block-directory/style.css 1 kB
build/block-editor/content-rtl.css 4.43 kB
build/block-editor/content.css 4.42 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
build/block-editor/index.min.js 254 kB
build/block-editor/style-rtl.css 15.4 kB
build/block-editor/style.css 15.3 kB
build/block-library/blocks/archives/editor-rtl.css 84 B
build/block-library/blocks/archives/editor.css 83 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 555 B
build/block-library/blocks/button/style.css 555 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 345 B
build/block-library/blocks/buttons/style.css 345 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 139 B
build/block-library/blocks/code/style.css 139 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 837 B
build/block-library/blocks/comments/editor.css 836 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 637 B
build/block-library/blocks/cover/editor-rtl.css 655 B
build/block-library/blocks/cover/editor.css 654 B
build/block-library/blocks/cover/style-rtl.css 1.7 kB
build/block-library/blocks/cover/style.css 1.69 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/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/editor-rtl.css 946 B
build/block-library/blocks/gallery/editor.css 951 B
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 409 B
build/block-library/blocks/group/editor.css 409 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 799 B
build/block-library/blocks/image/editor.css 799 B
build/block-library/blocks/image/style-rtl.css 1.61 kB
build/block-library/blocks/image/style.css 1.6 kB
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/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.2 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/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/style-rtl.css 61 B
build/block-library/blocks/post-content/style.css 61 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/post-title/style-rtl.css 162 B
build/block-library/blocks/post-title/style.css 162 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/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/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/site-title/style-rtl.css 143 B
build/block-library/blocks/site-title/style.css 143 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 729 B
build/block-library/blocks/social-links/editor.css 727 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.08 kB
build/block-library/common.css 1.08 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.7 kB
build/block-library/editor.css 11.7 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/index.min.js 221 kB
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 15 kB
build/block-library/style.css 15 kB
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.7 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/components/index.min.js 227 kB
build/components/style-rtl.css 12.4 kB
build/components/style.css 12.4 kB
build/compose/index.min.js 12.7 kB
build/core-commands/index.min.js 3.11 kB
build/core-data/index.min.js 73.7 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.97 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-post/index.min.js 13.8 kB
build/edit-post/style-rtl.css 2.76 kB
build/edit-post/style.css 2.75 kB
build/edit-site/posts-rtl.css 7.33 kB
build/edit-site/posts.css 7.33 kB
build/edit-widgets/index.min.js 17.7 kB
build/edit-widgets/style-rtl.css 4.1 kB
build/edit-widgets/style.css 4.09 kB
build/editor/index.min.js 106 kB
build/editor/style-rtl.css 9.53 kB
build/editor/style.css 9.53 kB
build/element/index.min.js 4.82 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.05 kB
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.65 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.13 kB
build/list-reusable-blocks/style-rtl.css 852 B
build/list-reusable-blocks/style.css 852 B
build/media-utils/index.min.js 3.29 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.62 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.35 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.86 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 953 B
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.7 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 2.11 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 556 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/vips/index.min.js 36.2 kB
build/warning/index.min.js 250 B
build/widgets/index.min.js 7.16 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

@youknowriad
Copy link
Contributor

youknowriad commented Sep 25, 2024

Great start. I feel this gives already a good sense of pros and cons.

Here's some remarks about the experience.

  • I really like that I'm only focusing on on style changes on this page.
  • All edits of global styles are properly reflected in the stylebook, except the "layout" changes. I think there's a few things that we can do here:
    • We can have the "content width" apply automatically to all blocks in the style book
    • We can have a dedicated section of the style book that is specific to "layout", so when you navigate to "layout", the stylebook also navigates to it and we show for instance multiple blocks: "wide", "full" and "default" aligned and see how the changes impact them. Also block spacing should impact them there as well.
    • It would be cool if the stylebook focused or selects a block when you open its dedicated section in the sidebar.
  • The header area of the stylebook tab is kind of missing. It would be good to bring these features somewhere :) (style revisions, custom CSS, revert...)
Screenshot 2024-09-25 at 9 47 02 AM

But globally, I think this feels way better than what we have on trunk. We should try to gather more feedback here from everyone @WordPress/gutenberg-design

@youknowriad youknowriad added [Type] Enhancement A suggestion for improvement. [Feature] Themes Questions or issues with incorporating or styling blocks in a theme. Global Styles Anything related to the broader Global Styles efforts, including Styles Engine and theme.json labels Sep 25, 2024
@jasmussen
Copy link
Contributor

Nice work. There are some strong aspects to this, mainly in that it places global changes in context of your site overall, rather than in context of editing an individual page or template as is the case now. This, in turn, can also benefit the template editing experience where sometimes you'll confuse the block inspector with the global styles inspector.

The white second panel takes up a lot of space, I like to think there are some longer term things we can do here, possibly even collapse the dark material on the left, or show some or all of the style pieces in the dark material (potentially pending #56669). But that's a future thing, and the white second column at the moment makes it possible to make good progress on this with speed.

Revisions, custom CSS, revert, these are pieces we need to port over in the short term, but also elevate better in the longer term. Notably revisions is something that can potentially benefit from being thought of as part of the save dialog, or just the save button itself. CC: @auareyou as I know you've looked at the save dialog.

One thing we need to do is decide what clicking on items in the frame does. Does it open the fullscreen editor? Or does it select individual block types? If it's the latter, then it should navigate the the appropriate block in the 2nd column, just like it does in trunk.

We need the inverse too, perhaps not in this branch but eventually: when you click "Blocks → Image", we should load only the image block preview in the frame on the right. This is going to especially benefit interfaces as those proposed here, where the full range of block states can be shown: hover, active, focus, etc.

This way of making the preview frame contextual to what is selected in the second column can also potentially be leveraged to benefit what's being outlined in #53431:

  • The "Styles" section loads the new curated overview section
  • Individual blocks (Blocks → Block name) opens the individual block in the preview
  • Typography opens the Text list
  • Colors opens the Color list
  • Shadows opens a to-be-designed exploded view of shadow presets

But a first step might be to simply load a particular block in the 2nd column, when it is selected in the interface on the right.

Also, should we make this an experiment so it can be tested easily?

@youknowriad
Copy link
Contributor

Also, should we make this an experiment so it can be tested easily?

I think we should make this an experiment if we judge that the proposal is a temporarily worse experience than trunk. To be honest, I'm not entirely sure :P I feel like this is already better than trunk. But I also understand if you want to keep it "more hidden" until we iron out more things.

@youknowriad
Copy link
Contributor

For me, we could make the following update as well:

  • Leave the dark sidebar in the "root" level and just set "styles" as active.

@jasmussen
Copy link
Contributor

I think we should make this an experiment if we judge that the proposal is a temporarily worse experience than trunk. To be honest, I'm not entirely sure :P I feel like this is already better than trunk. But I also understand if you want to keep it "more hidden" until we iron out more things.

Oh right yes, the plugin is also a way to test. I'm super into not hiding this behind an experiment, though if that's the case, we do need to nail down the interactivity, or lack of, in the frame itself. That plus the contextuality of the frame showing categories contextually to what you select on the left + porting over the revisions, resets, etc.

Another thing that's important to consider is: right now there's a use case, potentially common, of seeing your site or another template, as you edit your global styles. Should there be a toggle, like an inverted version of this button, to let you see your main site template instead?

Screenshot 2024-09-25 at 12 05 23

@oandregal oandregal self-requested a review September 25, 2024 10:32
@jorgefilipecosta
Copy link
Member Author

So, we need to decide if this should be an experiment or something we can merge and then improve upon. What are the minimum viable changes that are required to merge an initial PR?

Would making the styles sidebar show all the other menu items with styles selected plus a button to show the home template be enough? For an initial version? It would then allow us to work in parallel with multiple follow-ups.

@jorgefilipecosta jorgefilipecosta force-pushed the update/make-styles-open-the-style-book-with-a-left-styles-sidebar branch from 176a36d to 9309e34 Compare September 25, 2024 15:14
@andrewserong
Copy link
Contributor

andrewserong commented Sep 26, 2024

This is looking very cool! Just pinging @ramonjd and @aaronrobertshaw for visibility as they're also looking at some Style Book work (though more focused on the body of the Style Book, whereas this is exposing the Styles section from global styles, next to the Style Book).

@ramonjd
Copy link
Member

ramonjd commented Sep 26, 2024

I am just testing at end of my day. I think it's a great start to make global styles more accessible. Thank you!

Or does it select individual block types? If it's the latter, then it should navigate the the appropriate block in the 2nd column, just like it does in trunk.

It would be cool if the stylebook focused or selects a block when you open its dedicated section in the sidebar.

I agree this would be a helpful feature to make editing block global styles easier.

We can have a dedicated section of the style book that is specific to "layout",

As part of the work going on in #64707, color (and possibly) typography preset previews will also be rendered to the style book. Layout would be a nice additions.

What do folks think about the position of the popovers? It doesn't bother me personally, however for some reason my brain expects them to hover over the canvas. Seems more feng shui for the popovers to point in the direction of the canvas. It's a small thing however right now.

Screenshot 2024-09-26 at 4 34 44 pm

What are the minimum viable changes that are required to merge an initial PR?

As others have mentioned, I reckon:

  • Activate the click events for blocks to open block styles - the blocks have a selected state already so it seems like something should happen
  • Add the menu items (and then decide if they'll help or hinder) I personally think reset is enough for now. Revisions might complicate things conceptually, but that's just me.
  • Have some way to open the editor, e.g., "a button to show the home template"

Later on:

  • It might make sense to me to show the block category tabs to make things functionally consistent. Not sure. I think we're at the stage where we'll need to think about how to accommodate n registered categories in the style book as the tabs will be hidden in smaller screens.

@youknowriad
Copy link
Contributor

What do folks think about the position of the popovers?

I agree it seems more natural on the right. I think it can be a follow-up though, I can see a "position" prop exposed on the GlobalStylesUI component.

@youknowriad
Copy link
Contributor

Screenshot 2024-09-26 at 10 28 20 AM

This message should be removed (or alternatively, we should try not navigating the sidebar entirely)

@jorgefilipecosta
Copy link
Member Author

Thank you all for the reviews.
This PR passed by several changes to apply the suggested feedback:

  • Style book now allows to select the blocks.
  • The path contains the specific style section, e.g: the user can now link directly to typography or colors. This also includes everything we need to render different style books depending on the style section/path.
  • We have now a button to toggle between the homepage and the style book view.
  • We show all the menu items on the style section.
  • The description of the styles section was changed.

The popovers should go to the right but I think that can be a simple follow-up.

There are many follow-ups and things we can do but I think it would be nice to merge this one as soon as possible as it open the door to many tasks we can work on in parallel/independent PR's.

@jorgefilipecosta
Copy link
Member Author

Hi @youknowriad the feedback was applied.

@jameskoster
Copy link
Contributor

This looks like a promising start to me. A couple of high-level pieces of feedback:

  • I'm not convinced that the frame should be interactive at all. Introducing this different interaction pattern feels pretty clunky to me. I'd lean towards disabling all interactivity (including the hover animation).
    • I could go either way about resizing – it doesn't seem super useful when viewing the stylebook?
  • The "Styles" menu item should not be a drilldown, it should just open the styles panel on click.
    • The revisions button will need to move to the content frame, I think that's okay. Maybe we can mimic the current placement (IE in the panel header)
    • The stylebook toggle button will also need to move to the content frame. Again we can potentially copy the placement from the current Styles panel for now.
  • Styles panel should adopt logic from data views for internal horizontal padding, IE utilise container queries. Example here. It would be good to codify this more generally at some point, likely as part of a dedicated Page component.

@jorgefilipecosta
Copy link
Member Author

Hi @jameskoster,

I removed the frame interaction and resizing and made changes to the styles menu to prevent it from drilling down. Now it just opens a panel.

Styles panel should adopt logic from data views for internal horizontal padding, IE utilise container queries. Example here. It would be good to codify this more generally at some point, likely as part of a dedicated Page component.

I'm a bit confused about what needs to be fixed. I currently don't see any horizontal scrolling on the styles panel. Could you possibly send a screenshot of the issue that needs to be addressed? Thank you a lot!

preview: <Editor />,
mobile: hasEditCanvasMode && <Editor />,
content: <GlobalStylesUIWrapper />,
preview: <Editor isPreviewOnly />,
Copy link
Contributor

Choose a reason for hiding this comment

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

For some reason, when I navigate to the "styles" menu, the frame doesn't animate anymore (you don't see it moving to the right), I'm pretty sure it used to animate earlier in the PR

Copy link
Member Author

Choose a reason for hiding this comment

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

Hi @youknowriad, that was intentional following the feedback from @jameskoster "The "Styles" menu item should not be a drill-down, it should just open the styles panel on click.".
I think removing the drill-down removes the animation of the panel opening, I think we can not easily avoid having the drill down and also have the animation when the panel opens.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think removing the drill-down removes the animation of the panel opening, I think we can not easily avoid having the drill down and also have the animation when the panel opens.

Why, how is the drill down related to the animation?

Copy link
Member Author

Choose a reason for hiding this comment

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

I can easily re-add the animation by changing key from default to styles:

	if (path && path.startsWith('/wp_global_styles')) {
		return {
			key: 'styles',

The problem is that doing this doesn't just animate the style panel, but also animates the main "Design" area, which feels strange because there is no change in that part, only the styles item gets the blue background.

It seems that we can either animate the "Design" section and the style area, or we don't animate any of the areas. I don't see an option to not animate the style area but animate the styles panel.

Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe it's better to avoid animating based on the key, but let's not get blocked with that here, we can look at the animation separately.

@jorgefilipecosta jorgefilipecosta force-pushed the update/make-styles-open-the-style-book-with-a-left-styles-sidebar branch from fb01dc7 to 3525c68 Compare September 30, 2024 13:57
@ramonjd
Copy link
Member

ramonjd commented Nov 2, 2024

I propose we default to the site rather than style book, to reduce this problem and be able to push this forward.

I've done this for now.

Here's the updated state:

2024-11-02.14.50.58.mp4

Proposed next steps:

  1. Create a new PR to reintegrate the Style Book into the style view and discuss how to implement a consistent navigation

One thing to note is that trunk still has stylebook and edit icons:

Screenshot 2024-11-02 at 3 11 05 pm

The other option for this PR is to keep the site/stylebook toggle, and allow canvas clicking to navigate to the editor for both.

@andrewserong
Copy link
Contributor

I propose we default to the site rather than style book, to reduce this problem and be able to push this forward.
I've done this for now.

I read the feedback as switching what we default to, to being the editor / template preview, rather than removing the Style Book toggle altogether?

That said, I agree if it helps land this PR sooner, we can add the toggle back in, in a follow-up 👍

I don't like how the sidebar nav "resets" when selecting "Styles".

That fix is feeling nice to me!

@ramonjd
Copy link
Member

ramonjd commented Nov 4, 2024

I read the feedback as switching what we default to, to being the editor / template preview, rather than removing the Style Book toggle altogether?

Oh yeah, I misread. Thanks for pulling me up on that @andrewserong

I can revert.

I also perceived things were slowing down around how a user should switch between the two views (site and style book), as well as the copy, so that was also my motivation to move the conversation elsewhere.

Whatever folks think is better.

@ramonjd
Copy link
Member

ramonjd commented Nov 4, 2024

I read the feedback as switching what we default to, to being the editor / template preview, rather than removing the Style Book toggle altogether?

Reverted in 8902fa3

@andrewserong
Copy link
Contributor

Reverted in 8902fa3

Looking good to me!

2024-11-04.16.16.42.mp4

Copy link
Contributor

@aaronrobertshaw aaronrobertshaw left a comment

Choose a reason for hiding this comment

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

Great effort across the board on this one, everyone. Thanks for continuing to drive it forward @ramonjd.

It is testing well for me and appears to address nearly all the feedback received so far. I've left a couple of minor nits as inline comments below.

I read the feedback as switching what we default to, to being the editor / template preview, rather than removing the Style Book toggle altogether?

This was my read as well. Thanks for reverting the other change there.

Defaulting to the site preview does appear to make it harder to fall into the trap of not easily getting back to the site preview and entering the editor. Good enough to land this PR with that approach, I think.

In case it helps, here's a small diff with suggested tweaks from the comments below.

Quick diff, feel free to take it or leave it 🤷
diff --git a/packages/edit-site/src/components/sidebar-global-styles-wrapper/index.js b/packages/edit-site/src/components/sidebar-global-styles-wrapper/index.js
index 356385a10b..afa9f489dd 100644
--- a/packages/edit-site/src/components/sidebar-global-styles-wrapper/index.js
+++ b/packages/edit-site/src/components/sidebar-global-styles-wrapper/index.js
@@ -30,7 +30,7 @@ const GlobalStylesPageActions = ( {
 	return (
 		<Menu
 			trigger={
-				<Button __next40pxDefaultSize variant="secondary">
+				<Button __next40pxDefaultSize variant="tertiary" size="compact">
 					{ __( 'Preview' ) }
 				</Button>
 			}
@@ -38,7 +38,7 @@ const GlobalStylesPageActions = ( {
 			<Menu.RadioItem
 				value
 				checked={ isStyleBookOpened }
-				name="radio-controlled"
+				name="styles-preview-actions"
 				onChange={ () => setIsStyleBookOpened( true ) }
 				defaultChecked
 			>
@@ -50,7 +50,7 @@ const GlobalStylesPageActions = ( {
 			<Menu.RadioItem
 				value={ false }
 				checked={ ! isStyleBookOpened }
-				name="radio-controlled"
+				name="styles-preview-actions"
 				onChange={ () => setIsStyleBookOpened( false ) }
 			>
 				<Menu.ItemLabel>{ __( 'Site' ) }</Menu.ItemLabel>
diff --git a/packages/edit-site/src/components/sidebar-navigation-item/style.scss b/packages/edit-site/src/components/sidebar-navigation-item/style.scss
index f9f3a01868..202de53000 100644
--- a/packages/edit-site/src/components/sidebar-navigation-item/style.scss
+++ b/packages/edit-site/src/components/sidebar-navigation-item/style.scss
@@ -28,8 +28,6 @@
 	&.with-suffix {
 		padding-right: $grid-unit-20;
 	}
-
-
 }
 
 .edit-site-sidebar-navigation-screen__content .block-editor-list-view-block-select-button {

@ramonjd
Copy link
Member

ramonjd commented Nov 4, 2024

Thanks again for testing again folks. @aaronrobertshaw great suggestions. Done all round.

Copy link
Contributor

@aaronrobertshaw aaronrobertshaw left a comment

Choose a reason for hiding this comment

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

Lightning fast turnaround there! ⚡

I've given this a final smoke test and all the feedback not earmarked for follow-ups has been addressed. In my view, we should merge this one and iterate from there.

LGTM 🚢

@jasmussen
Copy link
Contributor

I'd make the preview button a tertiary button, compact size. Otherwise, congrats for bringing this forward!

@aaronrobertshaw
Copy link
Contributor

aaronrobertshaw commented Nov 4, 2024

I'd make the preview button a tertiary button, compact size. Otherwise, congrats for bringing this forward!

This was addressed in 4d5a7b5 after my earlier review.

@jasmussen
Copy link
Contributor

Fantastic, thank you!

@ramonjd ramonjd changed the title Update: Make the styles sections a preview of the style book with a l… Site editor: integrate global styles controls and style book preview into the styles panel Nov 4, 2024
@ramonjd ramonjd merged commit 2a18aae into trunk Nov 4, 2024
64 checks passed
@ramonjd ramonjd deleted the update/make-styles-open-the-style-book-with-a-left-styles-sidebar branch November 4, 2024 09:01
@github-actions github-actions bot added this to the Gutenberg 19.7 milestone Nov 4, 2024
karthick-murugan pushed a commit to karthick-murugan/gutenberg that referenced this pull request Nov 13, 2024
…into the styles panel (WordPress#65619)

This commit integrates global styles controls and a style book preview into the styles panel. This affects the site editor in view mode. A toggle allows users to switch between previewing the site and the style book while editing global styles. 

---------

Co-authored-by: jorgefilipecosta <jorgefilipecosta@git.wordpress.org>
Co-authored-by: ramonjd <ramonopoly@git.wordpress.org>
Co-authored-by: youknowriad <youknowriad@git.wordpress.org>
Co-authored-by: tellthemachines <isabel_brison@git.wordpress.org>
Co-authored-by: ntsekouras <ntsekouras@git.wordpress.org>
Co-authored-by: aaronrobertshaw <aaronrobertshaw@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: andrewserong <andrewserong@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: annezazu <annezazu@git.wordpress.org>
Co-authored-by: richtabor <richtabor@git.wordpress.org>
Co-authored-by: mtias <matveb@git.wordpress.org>
Co-authored-by: afercia <afercia@git.wordpress.org>
@jorgefilipecosta
Copy link
Member Author

Thank you all for bringing this to the finish line 🥳

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Style Book [Feature] Themes Questions or issues with incorporating or styling blocks in a theme. Global Styles Anything related to the broader Global Styles efforts, including Styles Engine and theme.json [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dedicated Styles Screen