Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add elevation scale #64108

Merged
merged 5 commits into from
Aug 12, 2024
Merged

Add elevation scale #64108

merged 5 commits into from
Aug 12, 2024

Conversation

jameskoster
Copy link
Contributor

@jameskoster jameskoster commented Jul 30, 2024

elevation

This PR adds variables for the elevation scale as outlined in #63757. It follows the method applied in #64007 to add the radius scale.

  • Adds new variables and guidelines
  • Soft-deprecates old variables ($shadow-popover and $shadow-modal) by mapping them to the new ones

Elevation scale

There are four values in the scale:

  • $elevation-x-small: For sections and containers that group related content and controls, which may overlap other content. Example: Preview Frame.
  • $elevation-small: For components that provide contextual feedback without being intrusive. Generally non-interruptive. Example: Tooltips, Snackbar.
  • $elevation-medium: For components that offer additional actions. Example: Menus, Command Palette
  • $elevation-large: For components that confirm decisions or handle necessary interruptions. Example: Modals.

In terms of values, I used the existing $shadow-popover for $elevation-x-small, and $shadow-modal for $elevation-large. $elevation-small and $elevation-medium are new values that I created by hand to slot between the existing values. It's possible these will change when it comes to applying the new scale across components.

Application

$elevation-x-small $elevation-small $elevation-medium elevation-large
Content / Preview frame
ZStack
Potential input elements such as; Range handle, Active item in ToggleGroupControl, Toggle handle
Resize handle
Block toolbar
Snackbar
Tooltip
DropdownMenu
Popover
Command Palette
Modal
ConfirmDialog
Guide

@jameskoster jameskoster added [Type] Enhancement A suggestion for improvement. [Package] Components /packages/components labels Jul 30, 2024
Copy link

github-actions bot commented Jul 30, 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: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: DaniGuardiola <daniguardiola@git.wordpress.org>
Co-authored-by: ciampo <mciampini@git.wordpress.org>
Co-authored-by: tyxla <tyxla@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: richtabor <richtabor@git.wordpress.org>
Co-authored-by: hanneslsm <hanneslsm@git.wordpress.org>

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

@jameskoster jameskoster requested review from a team July 30, 2024 16:17
Copy link

github-actions bot commented Jul 30, 2024

Size Change: -301 B (-0.02%)

Total Size: 1.77 MB

Filename Size Change
build/block-editor/index.min.js 255 kB +10 B (0%)
build/block-editor/style-rtl.css 16.3 kB -16 B (-0.1%)
build/block-editor/style.css 16.3 kB -16 B (-0.1%)
build/block-library/blocks/quote/theme-rtl.css 233 B +12 B (+5.43%) 🔍
build/block-library/blocks/quote/theme.css 236 B +11 B (+4.89%) 🔍
build/block-library/index.min.js 217 kB -161 B (-0.07%)
build/block-library/theme-rtl.css 708 B +6 B (+0.85%)
build/block-library/theme.css 712 B +5 B (+0.71%)
build/components/index.min.js 224 kB +144 B (+0.06%)
build/components/style-rtl.css 12.1 kB +3 B (+0.02%)
build/components/style.css 12.1 kB +4 B (+0.03%)
build/core-commands/index.min.js 2.82 kB +13 B (+0.46%)
build/edit-post/index.min.js 12.6 kB +4 B (+0.03%)
build/edit-site/index.min.js 216 kB +107 B (+0.05%)
build/edit-site/posts-rtl.css 7.02 kB -1 B (-0.01%)
build/edit-site/posts.css 7.03 kB -1 B (-0.01%)
build/edit-site/style-rtl.css 12.4 kB -1 B (-0.01%)
build/edit-site/style.css 12.4 kB +1 B (+0.01%)
build/editor/index.min.js 100 kB +57 B (+0.06%)
build/format-library/index.min.js 8.09 kB +16 B (+0.2%)
build/interactivity/debug.min.js 16.3 kB -249 B (-1.51%)
build/interactivity/index.min.js 13.2 kB -254 B (-1.89%)
build/interactivity/router.min.js 2.8 kB +1 B (+0.04%)
build/patterns/index.min.js 7.37 kB +6 B (+0.08%)
build/reusable-blocks/index.min.js 2.54 kB -2 B (-0.08%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 951 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.31 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.29 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-editor/content-rtl.css 4.58 kB
build/block-editor/content.css 4.58 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 149 B
build/block-library/blocks/audio/editor.css 151 B
build/block-library/blocks/audio/style-rtl.css 132 B
build/block-library/blocks/audio/style.css 132 B
build/block-library/blocks/audio/theme-rtl.css 134 B
build/block-library/blocks/audio/theme.css 134 B
build/block-library/blocks/avatar/editor-rtl.css 115 B
build/block-library/blocks/avatar/editor.css 115 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/button/editor-rtl.css 310 B
build/block-library/blocks/button/editor.css 310 B
build/block-library/blocks/button/style-rtl.css 538 B
build/block-library/blocks/button/style.css 538 B
build/block-library/blocks/buttons/editor-rtl.css 336 B
build/block-library/blocks/buttons/editor.css 336 B
build/block-library/blocks/buttons/style-rtl.css 328 B
build/block-library/blocks/buttons/style.css 328 B
build/block-library/blocks/calendar/style-rtl.css 240 B
build/block-library/blocks/calendar/style.css 240 B
build/block-library/blocks/categories/editor-rtl.css 132 B
build/block-library/blocks/categories/editor.css 131 B
build/block-library/blocks/categories/style-rtl.css 152 B
build/block-library/blocks/categories/style.css 152 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 122 B
build/block-library/blocks/code/theme.css 122 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 420 B
build/block-library/blocks/columns/style.css 420 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 124 B
build/block-library/blocks/comment-author-avatar/editor.css 124 B
build/block-library/blocks/comment-content/style-rtl.css 90 B
build/block-library/blocks/comment-content/style.css 90 B
build/block-library/blocks/comment-template/style-rtl.css 200 B
build/block-library/blocks/comment-template/style.css 199 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 221 B
build/block-library/blocks/comments-pagination/editor.css 211 B
build/block-library/blocks/comments-pagination/style-rtl.css 234 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 832 B
build/block-library/blocks/comments/editor.css 832 B
build/block-library/blocks/comments/style-rtl.css 632 B
build/block-library/blocks/comments/style.css 631 B
build/block-library/blocks/cover/editor-rtl.css 668 B
build/block-library/blocks/cover/editor.css 669 B
build/block-library/blocks/cover/style-rtl.css 1.62 kB
build/block-library/blocks/cover/style.css 1.6 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 314 B
build/block-library/blocks/embed/editor.css 314 B
build/block-library/blocks/embed/style-rtl.css 419 B
build/block-library/blocks/embed/style.css 419 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 326 B
build/block-library/blocks/file/style-rtl.css 278 B
build/block-library/blocks/file/style.css 279 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 198 B
build/block-library/blocks/footnotes/style.css 197 B
build/block-library/blocks/form-input/editor-rtl.css 229 B
build/block-library/blocks/form-input/editor.css 229 B
build/block-library/blocks/form-input/style-rtl.css 342 B
build/block-library/blocks/form-input/style.css 342 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 344 B
build/block-library/blocks/form-submission-notification/editor.css 341 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 470 B
build/block-library/blocks/freeform/editor-rtl.css 2.6 kB
build/block-library/blocks/freeform/editor.css 2.6 kB
build/block-library/blocks/gallery/editor-rtl.css 955 B
build/block-library/blocks/gallery/editor.css 958 B
build/block-library/blocks/gallery/style-rtl.css 1.71 kB
build/block-library/blocks/gallery/style.css 1.71 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 344 B
build/block-library/blocks/group/editor.css 344 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 79 B
build/block-library/blocks/group/theme.css 79 B
build/block-library/blocks/heading/style-rtl.css 188 B
build/block-library/blocks/heading/style.css 188 B
build/block-library/blocks/html/editor-rtl.css 346 B
build/block-library/blocks/html/editor.css 347 B
build/block-library/blocks/image/editor-rtl.css 894 B
build/block-library/blocks/image/editor.css 892 B
build/block-library/blocks/image/style-rtl.css 1.59 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/image/view.min.js 1.65 kB
build/block-library/blocks/latest-comments/style-rtl.css 355 B
build/block-library/blocks/latest-comments/style.css 354 B
build/block-library/blocks/latest-posts/editor-rtl.css 186 B
build/block-library/blocks/latest-posts/editor.css 183 B
build/block-library/blocks/latest-posts/style-rtl.css 509 B
build/block-library/blocks/latest-posts/style.css 510 B
build/block-library/blocks/list/style-rtl.css 107 B
build/block-library/blocks/list/style.css 107 B
build/block-library/blocks/loginout/style-rtl.css 61 B
build/block-library/blocks/loginout/style.css 61 B
build/block-library/blocks/media-text/editor-rtl.css 304 B
build/block-library/blocks/media-text/editor.css 303 B
build/block-library/blocks/media-text/style-rtl.css 516 B
build/block-library/blocks/media-text/style.css 515 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/editor-rtl.css 663 B
build/block-library/blocks/navigation-link/editor.css 664 B
build/block-library/blocks/navigation-link/style-rtl.css 192 B
build/block-library/blocks/navigation-link/style.css 191 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 295 B
build/block-library/blocks/navigation-submenu/editor.css 294 B
build/block-library/blocks/navigation/editor-rtl.css 2.18 kB
build/block-library/blocks/navigation/editor.css 2.19 kB
build/block-library/blocks/navigation/style-rtl.css 2.25 kB
build/block-library/blocks/navigation/style.css 2.23 kB
build/block-library/blocks/navigation/view.min.js 1.03 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 378 B
build/block-library/blocks/page-list/editor.css 378 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 236 B
build/block-library/blocks/paragraph/editor.css 236 B
build/block-library/blocks/paragraph/style-rtl.css 341 B
build/block-library/blocks/paragraph/style.css 340 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 527 B
build/block-library/blocks/post-comments-form/style.css 528 B
build/block-library/blocks/post-content/editor-rtl.css 74 B
build/block-library/blocks/post-content/editor.css 74 B
build/block-library/blocks/post-content/style-rtl.css 79 B
build/block-library/blocks/post-content/style.css 79 B
build/block-library/blocks/post-date/style-rtl.css 62 B
build/block-library/blocks/post-date/style.css 62 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 155 B
build/block-library/blocks/post-excerpt/style.css 155 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 726 B
build/block-library/blocks/post-featured-image/style-rtl.css 341 B
build/block-library/blocks/post-featured-image/style.css 341 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 399 B
build/block-library/blocks/post-template/style.css 398 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 70 B
build/block-library/blocks/post-time-to-read/style.css 70 B
build/block-library/blocks/post-title/style-rtl.css 100 B
build/block-library/blocks/post-title/style.css 100 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 134 B
build/block-library/blocks/pullquote/editor.css 134 B
build/block-library/blocks/pullquote/style-rtl.css 342 B
build/block-library/blocks/pullquote/style.css 342 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 220 B
build/block-library/blocks/query-pagination/editor.css 208 B
build/block-library/blocks/query-pagination/style-rtl.css 287 B
build/block-library/blocks/query-pagination/style.css 283 B
build/block-library/blocks/query-title/style-rtl.css 64 B
build/block-library/blocks/query-title/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 452 B
build/block-library/blocks/query/editor.css 451 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 238 B
build/block-library/blocks/quote/style.css 238 B
build/block-library/blocks/read-more/style-rtl.css 138 B
build/block-library/blocks/read-more/style.css 138 B
build/block-library/blocks/rss/editor-rtl.css 101 B
build/block-library/blocks/rss/editor.css 101 B
build/block-library/blocks/rss/style-rtl.css 288 B
build/block-library/blocks/rss/style.css 287 B
build/block-library/blocks/search/editor-rtl.css 193 B
build/block-library/blocks/search/editor.css 193 B
build/block-library/blocks/search/style-rtl.css 672 B
build/block-library/blocks/search/style.css 671 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 B
build/block-library/blocks/search/view.min.js 475 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 248 B
build/block-library/blocks/separator/style.css 248 B
build/block-library/blocks/separator/theme-rtl.css 195 B
build/block-library/blocks/separator/theme.css 195 B
build/block-library/blocks/shortcode/editor-rtl.css 286 B
build/block-library/blocks/shortcode/editor.css 286 B
build/block-library/blocks/site-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 123 B
build/block-library/blocks/site-title/editor.css 123 B
build/block-library/blocks/site-title/style-rtl.css 90 B
build/block-library/blocks/site-title/style.css 90 B
build/block-library/blocks/social-link/editor-rtl.css 338 B
build/block-library/blocks/social-link/editor.css 338 B
build/block-library/blocks/social-links/editor-rtl.css 676 B
build/block-library/blocks/social-links/editor.css 675 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.5 kB
build/block-library/blocks/spacer/editor-rtl.css 346 B
build/block-library/blocks/spacer/editor.css 346 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table-of-contents/style-rtl.css 83 B
build/block-library/blocks/table-of-contents/style.css 83 B
build/block-library/blocks/table/editor-rtl.css 394 B
build/block-library/blocks/table/editor.css 394 B
build/block-library/blocks/table/style-rtl.css 640 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/editor-rtl.css 63 B
build/block-library/blocks/tag-cloud/editor.css 63 B
build/block-library/blocks/tag-cloud/style-rtl.css 266 B
build/block-library/blocks/tag-cloud/style.css 265 B
build/block-library/blocks/template-part/editor-rtl.css 393 B
build/block-library/blocks/template-part/editor.css 393 B
build/block-library/blocks/template-part/theme-rtl.css 113 B
build/block-library/blocks/template-part/theme.css 113 B
build/block-library/blocks/term-description/style-rtl.css 126 B
build/block-library/blocks/term-description/style.css 126 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 98 B
build/block-library/blocks/verse/style.css 98 B
build/block-library/blocks/video/editor-rtl.css 541 B
build/block-library/blocks/video/editor.css 542 B
build/block-library/blocks/video/style-rtl.css 192 B
build/block-library/blocks/video/style.css 192 B
build/block-library/blocks/video/theme-rtl.css 134 B
build/block-library/blocks/video/theme.css 134 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.1 kB
build/block-library/common.css 1.1 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 11.9 kB
build/block-library/editor.css 11.9 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 14.7 kB
build/block-library/style.css 14.7 kB
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 52.4 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/compose/index.min.js 12.9 kB
build/core-data/index.min.js 73.1 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.35 kB
build/customize-widgets/style.css 1.35 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.98 kB
build/date/index.min.js 18 kB
build/deprecated/index.min.js 458 B
build/dom-ready/index.min.js 325 B
build/dom/index.min.js 4.65 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-post/style-rtl.css 2.31 kB
build/edit-post/style.css 2.31 kB
build/edit-widgets/index.min.js 17.7 kB
build/edit-widgets/style-rtl.css 4.2 kB
build/edit-widgets/style.css 4.2 kB
build/editor/style-rtl.css 9.36 kB
build/editor/style.css 9.35 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.54 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.78 kB
build/interactivity/navigation.min.js 1.16 kB
build/interactivity/query.min.js 742 B
build/interactivity/search.min.js 615 B
build/is-shallow-equal/index.min.js 526 B
build/keyboard-shortcuts/index.min.js 1.31 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.16 kB
build/list-reusable-blocks/style-rtl.css 846 B
build/list-reusable-blocks/style.css 846 B
build/media-utils/index.min.js 2.92 kB
build/modules/importmap-polyfill.min.js 12.3 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.59 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/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/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.1 kB
build/router/index.min.js 1.96 kB
build/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/style-engine/index.min.js 2.03 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.85 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react-jsx-runtime.min.js 560 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/warning/index.min.js 250 B
build/widgets/index.min.js 7.19 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.03 kB

compressed-size-action

@ciampo
Copy link
Contributor

ciampo commented Jul 30, 2024

A few thoughts off the top of my head:

  • Let's make sure we have clear instructions on how to translate the new scale to existing components like Elevation and the components that consume it (like Card) and ZStack
  • Let's review the Popover component and its usage
  • Once we agree on the new proposed scale and its variable naming, let's agree on a list of follow-up tasks to clean up, lint, and deprecate the older variables like in Add radius scale #64007
  • How does the radii and elevation work relate to the @wordpress/theme effort?

@jameskoster
Copy link
Contributor Author

Let's make sure we have clear instructions on how to translate the new scale to existing components like Elevation and the components that consume it (like Card) and ZStack

Would it make sense to simply map each step in the scale to the value prop in Elevation? Anything above 4 would just use the value associated with the fourth step.

Let's review the Popover component and its usage

Are you asking which value would be applied to Popovers? Generally they contain un-interruptive configuration UI's, so $elevation-30 probably makes most sense. It would be good to add well-defined guidelines around when to use popovers.

How does the radii and elevation work relate to the @wordpress/theme effort?

That's a good question. In terms of elevation the shadow styles will need to be different for light / dark modes. Darker colored themes will require darker shadow styles in order for them to be visible.

I don't think radius should be affected, but another consideration is spacing; the theme component may need to support a 'density' option that affects spacing, type styles, components, etc. That part isn't really clear yet.

@ciampo
Copy link
Contributor

ciampo commented Jul 31, 2024

Would it make sense to simply map each step in the scale to the value prop in Elevation? Anything above 4 would just use the value associated with the fourth step.

That could work, although it could create unexpected changes in consumers. If we went down that way, we'd need to make sure to communicate it to consumers of those components via a dev note.

Are you asking which value would be applied to Popovers? Generally they contain un-interruptive configuration UI's, so $elevation-30 probably makes most sense. It would be good to add well-defined guidelines around when to use popovers.

Absolutely. Changing the default popover box shadow is trivial, but what I really meant was that this is a great opportunity to review all popovers across Gutenberg and standardize their box shadow for better consistency and clarity.

@tyxla
Copy link
Member

tyxla commented Jul 31, 2024

Would it make sense to simply map each step in the scale to the value prop in Elevation? Anything above 4 would just use the value associated with the fourth step.

I think this would create discrepancies with the existing styles of Elevation. Perhaps we could provide a different syntax for the 4 scale values - for example, similar to the radius scale variable names in #64007?

@jasmussen
Copy link
Contributor

Just capturing some small feedback/questions from here, relevant to the PR.

@richtabor
Copy link
Member

Is this more of a system for elevation, or proposing what those elevations should be, or both?

@jameskoster
Copy link
Contributor Author

Perhaps we could provide a different syntax for the 4 scale values - for example, similar to the radius scale variable names in #64007?

That could work, although the proposed naming convention might lead to confusion? Would it be strange if <Elevation value={ 1 } /> produced a stronger shadow than <Elevation value={ 10 } />? Or are you suggesting something different?

Is this more of a system for elevation, or proposing what those elevations should be, or both?

The former, to avoid changing anything in production for now. We can define and apply values separately once we're happy with the scale.

@jasmussen If we want fewer steps in the scale I'd be tempted to combine 10 and 20. We should probably work on some mockups (with rough shadow values) to help decide this.

@jasmussen
Copy link
Contributor

If we want fewer steps in the scale I'd be tempted to combine 10 and 20. We should probably work on some mockups (with rough shadow values) to help decide this.

Seems fine with me.

I'm always just in the category of start with as little as possible and then expand only when the need very clearly presents itself.

@hanneslsm
Copy link

I don't think it's currently needed because it doesn't fit the common logic of elevation (Level 0 and up) and the current design style (would be more skeuomorphic) but want to bring it up anyways, just to be sure:
negative elevation / inset shadow / depth. That'd influence the naming.
Examples could be iFrame or input fields or even buttons.

@tyxla
Copy link
Member

tyxla commented Aug 2, 2024

Perhaps we could provide a different syntax for the 4 scale values - for example, similar to the radius scale variable names in #64007?

That could work, although the proposed naming convention might lead to confusion? Would it be strange if <Elevation value={ 1 } /> produced a stronger shadow than <Elevation value={ 10 } />? Or are you suggesting something different?

My thoughts were around using string small, medum, large, etc. for those 4 particular sizes, and those would convert to their corresponding Elevation values. In addition, Elevation would continue supporting number values as before.

@jameskoster
Copy link
Contributor Author

@hanneslsm shadow styles are already being applied albeit sporadically without well defined intent.

A big part of this effort is about defining how/when to use elevation as we embark on the broader admin design effort (#53322). Please refer to the four suggested steps in the scale which details this.

In terms of mockups it's a little bit tricky because there are as yet undecided details to consider. For instance details like radius, color schemes, type, light/dark modes etc. With that said consider the following rough in terms of those details (including the shadows); they're primarily to demonstrate the 4 steps in the scale in some existing flows and experiences.

$elevation-10 applied to content frame.

Elevation 1

$elevation-20 applied to tooltip, snackbar, bulk-actions toolbar.

Elevation 2

$elevation-30 applied to menu.

Elevation 3

$elevation-40 applied to modal.

Elevation 4

My thoughts were around using string small, medum, large, etc.

@tyxla it can work, but leaves less room for manoeuvrability if we later need to add steps in the scale.

@hanneslsm
Copy link

@hanneslsm shadow styles are already being applied albeit sporadically without well defined intent.

A big part of this effort is about defining how/when to use elevation as we embark on the broader admin design effort (#53322). Please refer to the four suggested steps in the scale which details this.

Thanks for clarifying! Looks good!
In terms of naming I'm also in favor of the numeric scale by the way.

@jameskoster
Copy link
Contributor Author

I don't think there's a huge amount in it, but I've switched the names to match the radius variables, IE to use -small, -medium suffixes. Reason being:

  • It's more human readable.
  • Maps more cleanly to the existing Elevation component.
  • It seems unlikely we'll need to add more steps in the future, but if necessary values like $elevation-x-large can be added, and components remapped as required.
  • Consistency with radius

I also added some examples of where the different values would be applied across the existing set of components.

/packages/components/src/utils/config-values.js is also updated.

Copy link
Contributor

@DaniGuardiola DaniGuardiola left a comment

Choose a reason for hiding this comment

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

This looks correct to me from a technical standpoint. The only concern I have is that the naming might be confusing since it doesn't contain "shadow", yet it's supposed to be an option for shadow property values. However, it's not a big deal so not going to block on that.

Appreciate the comments with added context on usage of each option, it's a nice plus.

Copy link
Contributor

@DaniGuardiola DaniGuardiola left a comment

Choose a reason for hiding this comment

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

Ah, missed that this is currently broken because $shadow-popover is assigned $elevation-10 (similar story with "modal"), guess it's just out of sync after recent changes in naming. After this is corrected, my previous (approval) review stands. Example failure in CI: https://github.com/WordPress/gutenberg/actions/runs/10249250569/job/28352231809?pr=64108

image

@jameskoster
Copy link
Contributor Author

jameskoster commented Aug 7, 2024

Good spot, I fixed that.

@jameskoster
Copy link
Contributor Author

@DaniGuardiola @ciampo do you think this needs a components changelog entry?

@DaniGuardiola
Copy link
Contributor

@jameskoster good question. @ciampo and I discussed and we both think it's not necessary.

Copy link
Contributor

@DaniGuardiola DaniGuardiola left a comment

Choose a reason for hiding this comment

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

Issue was addressed 👍

@@ -74,6 +74,10 @@ export default Object.assign( {}, CONTROL_PROPS, TOGGLE_GROUP_CONTROL_PROPS, {
cardPaddingMedium: `${ space( 4 ) } ${ space( 6 ) }`,
cardPaddingLarge: `${ space( 6 ) } ${ space( 8 ) }`,
popoverShadow: `0 0.7px 1px rgba(0, 0, 0, 0.1), 0 1.2px 1.7px -0.2px rgba(0, 0, 0, 0.1), 0 2.3px 3.3px -0.5px rgba(0, 0, 0, 0.1)`,
Copy link
Contributor

Choose a reason for hiding this comment

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

Since I don't think that popoverShadow is exported from the package, I think it should be OK to remove it and replace its usages with elevationXSmall.

This can be definitely done in one of the follow-up PRs

@jameskoster
Copy link
Contributor Author

Cool. I'll go ahead and merge this. We can continue to refine the scale and values as needed when we begin applying across components.

@jameskoster jameskoster merged commit acc9a38 into trunk Aug 12, 2024
63 of 64 checks passed
@jameskoster jameskoster deleted the add/elevation-scale branch August 12, 2024 08:52
@github-actions github-actions bot added this to the Gutenberg 19.1 milestone Aug 12, 2024
getdave pushed a commit that referenced this pull request Aug 14, 2024
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: DaniGuardiola <daniguardiola@git.wordpress.org>
Co-authored-by: ciampo <mciampini@git.wordpress.org>
Co-authored-by: tyxla <tyxla@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: richtabor <richtabor@git.wordpress.org>
Co-authored-by: hanneslsm <hanneslsm@git.wordpress.org>
@jameskoster jameskoster added the Design System Issues related to the system of combining components according to best practices. label Sep 24, 2024
@jameskoster jameskoster mentioned this pull request Oct 3, 2024
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design System Issues related to the system of combining components according to best practices. [Package] Components /packages/components [Type] Enhancement A suggestion for improvement.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

7 participants