From 340351ca4bfa88156975adcd2244fde6baa8b244 Mon Sep 17 00:00:00 2001 From: lindsaym-fa Date: Fri, 1 Dec 2023 12:12:49 -0500 Subject: [PATCH 1/4] improve variance between depth levels --- src/themes/chic.css | 4 ++-- src/themes/default.css | 4 ++-- src/themes/depth_2_chunky.css | 27 +++++++++++++++++++++++--- src/themes/depth_3_punchy.css | 36 +++++++++++++++-------------------- src/themes/depth_4_glossy.css | 12 ++++++------ src/themes/glassy.css | 2 +- src/themes/mellow.css | 6 +++--- src/themes/playful.css | 4 ++-- 8 files changed, 55 insertions(+), 40 deletions(-) diff --git a/src/themes/chic.css b/src/themes/chic.css index 7a23821ba..286b27940 100644 --- a/src/themes/chic.css +++ b/src/themes/chic.css @@ -1,5 +1,5 @@ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300..600&display=swap'); -@import 'depth_1_semiflat.css'; /* depth_0_flat.css, depth_1_semiflat.css, depth_2_chunky.css, depth_3_punchy.css, depth_4_glossy.css */ +@import 'depth_3_punchy.css'; /* depth_0_flat.css, depth_1_semiflat.css, depth_2_chunky.css, depth_3_punchy.css, depth_4_glossy.css */ @import 'borders_2_light.css'; /* borders_0_minimal.css, borders_1_feather.css, borders_2_light.css, borders_3_medium.css, borders_4_heavy.css */ :root, @@ -343,7 +343,7 @@ --wa-color-shadow: color-mix( in oklab, - var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 16% + 3%), + var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 6%), transparent ); diff --git a/src/themes/default.css b/src/themes/default.css index bf4e85e72..1dd1b63b6 100644 --- a/src/themes/default.css +++ b/src/themes/default.css @@ -107,7 +107,7 @@ /* Shadow specifies the default color for box shadows that indicate elevation. */ --wa-color-shadow: color-mix( in oklab, - var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 4%), + var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 6%), transparent ); @@ -238,7 +238,7 @@ */ /* Corners are designed to scale according to a single base value. * The base value is intended for calculations and is not used by components directly. */ - --wa-corners-base: 0.25; + --wa-corners-base: 0.375; --wa-corners-xs: calc(var(--wa-corners-base) * 0.75rem); --wa-corners-s: calc(var(--wa-corners-base) * 1rem); --wa-corners-m: calc(var(--wa-corners-base) * 2rem); diff --git a/src/themes/depth_2_chunky.css b/src/themes/depth_2_chunky.css index 3f2d0d622..5d852f1ae 100644 --- a/src/themes/depth_2_chunky.css +++ b/src/themes/depth_2_chunky.css @@ -25,7 +25,7 @@ --wa-shadow-offset-y-level-2: calc(var(--wa-shadow-offset-y-base) * 1.5rem); --wa-shadow-offset-y-level-3: calc(var(--wa-shadow-offset-y-base) * 2rem); - --wa-shadow-offset-x-base: 0; + --wa-shadow-offset-x-base: 0.25; --wa-shadow-offset-x-inset: calc(var(--wa-shadow-offset-x-base) * 0.75rem); --wa-shadow-offset-x-level-1: calc(var(--wa-shadow-offset-x-base) * 1rem); --wa-shadow-offset-x-level-2: calc(var(--wa-shadow-offset-x-base) * 1.5rem); @@ -49,14 +49,35 @@ wa-button { --wa-transition-faster: 0ms; &:not([variant='text']) { - --box-shadow: 0 var(--wa-shadow-offset-y-level-1) var(--wa-shadow-blur-base) var(--box-shadow-color); + --box-shadow: var(--wa-shadow-offset-x-level-1) var(--wa-shadow-offset-y-level-1) var(--wa-shadow-blur-level-1) + var(--box-shadow-color); margin-bottom: var(--wa-shadow-offset-y-level-1); + margin-right: var(--wa-shadow-offset-x-level-1); &:active { --box-shadow: none; - transform: translateY(var(--wa-shadow-offset-y-level-1)); + transform: translateX(var(--wa-shadow-offset-x-level-1)) translateY(var(--wa-shadow-offset-y-level-1)); } } + &[variant='brand'] { + --box-shadow-color: var(--wa-color-brand-spot-darker); + } + + &[variant='success'] { + --box-shadow-color: var(--wa-color-success-spot-darker); + } + + &[variant='neutral'] { + --box-shadow-color: var(--wa-color-neutral-spot-darker); + } + + &[variant='warning'] { + --box-shadow-color: var(--wa-color-warning-spot-darker); + } + + &[variant='danger'] { + --box-shadow-color: var(--wa-color-danger-spot-darker); + } } /* #endregion */ diff --git a/src/themes/depth_3_punchy.css b/src/themes/depth_3_punchy.css index aef243d3d..a1fd723d2 100644 --- a/src/themes/depth_3_punchy.css +++ b/src/themes/depth_3_punchy.css @@ -11,7 +11,7 @@ */ /* Shadow blur is designed to scale according to a single base value to ensure consistent and realistic effects. * The base value is intended for calculations and is not used by components directly. */ - --wa-shadow-blur-base: 0; + --wa-shadow-blur-base: 0.125; --wa-shadow-blur-inset: calc(var(--wa-shadow-blur-base) * 0.75rem); --wa-shadow-blur-level-1: calc(var(--wa-shadow-blur-base) * 1rem); --wa-shadow-blur-level-2: calc(var(--wa-shadow-blur-base) * 1.5rem); @@ -19,13 +19,13 @@ /* Offset values are used in pre-constructed shadows and may be used when creating custom shadows * or transforming elements with shadows. */ - --wa-shadow-offset-y-base: 0.25; + --wa-shadow-offset-y-base: 0.125; --wa-shadow-offset-y-inset: calc(var(--wa-shadow-offset-y-base) * 0.75rem); --wa-shadow-offset-y-level-1: calc(var(--wa-shadow-offset-y-base) * 1rem); --wa-shadow-offset-y-level-2: calc(var(--wa-shadow-offset-y-base) * 1.5rem); --wa-shadow-offset-y-level-3: calc(var(--wa-shadow-offset-y-base) * 2rem); - --wa-shadow-offset-x-base: 0.25; + --wa-shadow-offset-x-base: 0; --wa-shadow-offset-x-inset: calc(var(--wa-shadow-offset-x-base) * 0.75rem); --wa-shadow-offset-x-level-1: calc(var(--wa-shadow-offset-x-base) * 1rem); --wa-shadow-offset-x-level-2: calc(var(--wa-shadow-offset-x-base) * 1.5rem); @@ -44,29 +44,17 @@ /* #region Buttons */ wa-button:not([variant='text']) { - --wa-transition-normal: 0ms; - --wa-transition-fast: 0ms; - --wa-transition-faster: 0ms; - - --box-shadow: var(--wa-shadow-offset-x-level-1) var(--wa-shadow-offset-y-level-1) var(--wa-shadow-blur-level-1) - var(--box-shadow-color); + --box-shadow: inset 0 0.0625rem 0 0 rgb(255 255 255 / 0.2) /* shine */, + inset 0 0.0625rem 0.125rem 0 rgb(255 255 255 / 0.2) /* inner highlight */, + inset 0 -0.0625rem 0.0625rem 0 rgb(0 0 0 / 0.2) /* inner shadow */, var(--wa-shadow-level-1) /* outer shadow */; margin-bottom: var(--wa-shadow-offset-y-level-1); - margin-right: var(--wa-shadow-offset-x-level-1); &:not([disabled]) { - &:hover { - --box-shadow: var(--wa-shadow-offset-x-level-2) var(--wa-shadow-offset-y-level-2) var(--wa-shadow-blur-level-2) - var(--box-shadow-color); - - transform: translateY(calc((var(--wa-shadow-offset-y-level-2) - var(--wa-shadow-offset-y-level-1)) * -1)) - translateX(calc((var(--wa-shadow-offset-x-level-2) - var(--wa-shadow-offset-x-level-1)) * -1)); - } - &:active { - --box-shadow: none; - - transform: translateY(var(--wa-shadow-offset-y-level-1)) translateX(var(--wa-shadow-offset-x-level-1)); + --box-shadow: inset 0 0 0 0 transparent /* shine */, + inset 0 0.125rem 0.125rem 0 rgb(0 0 0 / 0.1) /* inner highlight */, + inset 0 -0.0625rem 0.25rem 0 rgb(0 0 0 / 0.1) /* inner shadow */, 0 0 0 0 transparent /* outer shadow */; } } } @@ -80,4 +68,10 @@ wa-textarea { --box-shadow: var(--wa-shadow-inset); } } + +wa-switch { + --thumb-shadow: inset 0 0.0625rem 0 0 rgb(255 255 255 / 0.2) /* shine */, + inset 0 0.0625rem 0.125rem 0 rgb(255 255 255 / 0.1) /* inner highlight */, + inset 0 -0.0625rem 0.0625rem 0 rgb(0 0 0 / 0.1) /* inner shadow */, var(--wa-shadow-level-1) /* outer shadow */; +} /* #endregion */ diff --git a/src/themes/depth_4_glossy.css b/src/themes/depth_4_glossy.css index 7b1faa388..4072f873b 100644 --- a/src/themes/depth_4_glossy.css +++ b/src/themes/depth_4_glossy.css @@ -102,9 +102,9 @@ /* #region Buttons */ wa-button:not([variant='text']) { --box-shadow: inset 0 0.0625rem 0 0 rgb(255 255 255 / 0.2) /* shine */, - inset 0 0.125rem 0 0 rgb(255 255 255 / 0.05) /* top highlight */, + inset 0 0.125rem 0 0 rgb(255 255 255 / 0.1) /* top highlight */, inset 0 1.25em 0 0 rgb(255 255 255 / 0.1) /* upper tint */, inset 0 -1.125em 0 0 rgb(0 0 0 / 0.04) /* lower shade */, - inset 0 -0.0625rem 0 0 rgb(0 0 0 / 0.1) /* bottom highlight */, var(--wa-shadow-level-1) /* outer shadow */; + inset 0 -0.0625rem 0 0 rgb(0 0 0 / 0.2) /* bottom highlight */, var(--wa-shadow-level-1) /* outer shadow */; margin-bottom: var(--wa-shadow-offset-y-inset); transition: transform var(--wa-transition-faster); @@ -112,7 +112,7 @@ wa-button:not([variant='text']) { &:not([disabled]) { &:hover { --box-shadow: inset 0 0.0625rem 0 0 rgb(255 255 255 / 0.2) /* shine */, - inset 0 0.125rem 0 0 rgb(255 255 255 / 0.05) /* top highlight */, + inset 0 0.125rem 0 0 rgb(255 255 255 / 0.1) /* top highlight */, inset 0 1.25em 0 0 rgb(255 255 255 / 0.1) /* upper tint */, inset 0 -1.125em 0 0 rgb(0 0 0 / 0.04) /* lower shade */, inset 0 -0.0625rem 0 0 rgb(0 0 0 / 0.1) /* bottom highlight */, var(--wa-shadow-level-2) /* outer shadow */; @@ -120,7 +120,7 @@ wa-button:not([variant='text']) { &:active { --box-shadow: inset 0 -0.0625rem 0 0 rgb(255 255 255 / 0.1) /* shine */, - inset 0 0.125rem 0 0 rgb(0 0 0 / 0.08) /* top highlight */, + inset 0 0.125rem 0 0 rgb(0 0 0 / 0.1) /* top highlight */, inset 0 1.25em 0 0 rgb(255 255 255 / 0.08) /* upper tint */, inset 0 -1.125em 0 0 rgb(0 0 0 / 0.04) /* lower shade */, inset 0 -0.125rem 0 0 rgb(255 255 255 / 0.04) /* bottom highlight */, 0 0 0 0 transparent /* outer shadow */; @@ -234,8 +234,8 @@ wa-button:not([outline]) { wa-input:not(:focus), wa-select { &:not([filled]):not([disabled]) { - --box-shadow: var(--wa-shadow-inset), inset 0 1.25em 0 0 rgb(255 255 255 / 0.04) /* upper tint */, - inset 0 -1.125em 0 0 rgb(0 0 0 / 0.02) /* lower shade */; + --box-shadow: var(--wa-shadow-inset), inset 0 1.25em 0 0 rgb(0 0 0 / 0.02) /* upper tint */, + inset 0 -1.125em 0 0 rgb(255 255 255 / 0.05) /* lower shade */; } } diff --git a/src/themes/glassy.css b/src/themes/glassy.css index 3ab5a4a05..cc460f653 100644 --- a/src/themes/glassy.css +++ b/src/themes/glassy.css @@ -108,7 +108,7 @@ /* Shadow specifies the default color for box shadows that indicate elevation. */ --wa-color-shadow: color-mix( in oklab, - var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 4%), + var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 6%), transparent ); diff --git a/src/themes/mellow.css b/src/themes/mellow.css index 27b5d1a9d..772e5acc2 100644 --- a/src/themes/mellow.css +++ b/src/themes/mellow.css @@ -89,7 +89,7 @@ /* Text colors are used for standard text elements. * Text should have a minimum 4.5:1 contrast ratio against surfaces. * Inverse text should support appropriate contrast against background colors with opposing lightness. */ - --wa-color-text-normal: var(--wa-color-base-30); + --wa-color-text-normal: var(--wa-color-base-40); --wa-color-text-quiet: var(--wa-color-base-50); --wa-color-text-link: var(--wa-color-blue-50); @@ -108,7 +108,7 @@ /* Shadow specifies the default color for box shadows that indicate elevation. */ --wa-color-shadow: color-mix( in oklab, - var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 4%), + var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 6%), transparent ); @@ -193,7 +193,7 @@ --wa-font-weight-medium: 500; --wa-font-weight-heavy: 600; - --wa-font-weight-heading: var(--wa-font-weight-heavy); + --wa-font-weight-heading: var(--wa-font-weight-medium); --wa-font-weight-body: var(--wa-font-weight-normal); --wa-font-weight-action: var(--wa-font-weight-medium); diff --git a/src/themes/playful.css b/src/themes/playful.css index 6239a1e90..3eabe38d0 100644 --- a/src/themes/playful.css +++ b/src/themes/playful.css @@ -1,5 +1,5 @@ @import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:wght@300..700&family=Roboto+Slab:wght@300..700&display=swap'); -@import 'depth_3_punchy.css'; +@import 'depth_2_chunky.css'; @import 'borders_4_heavy.css'; :root, @@ -108,7 +108,7 @@ /* Shadow specifies the default color for box shadows that indicate elevation. */ --wa-color-shadow: color-mix( in oklab, - var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 4%), + var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 6%), transparent ); From 4f8417806c9b03da2eef726836f0e17e436c0e6b Mon Sep 17 00:00:00 2001 From: Cory LaViska Date: Wed, 6 Dec 2023 12:02:20 -0500 Subject: [PATCH 2/4] backport 1764 --- docs/pages/resources/changelog.md | 1 + src/components/select/select.component.ts | 19 +++++++++++++------ src/components/select/select.test.ts | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/docs/pages/resources/changelog.md b/docs/pages/resources/changelog.md index 37c63a4b6..a9fc72a0d 100644 --- a/docs/pages/resources/changelog.md +++ b/docs/pages/resources/changelog.md @@ -24,6 +24,7 @@ New versions of Web Awesome are released as-needed and generally occur when a cr - Added the `hover-bridge` feature to `` to support better tooltip accessibility [#1734] - Fixed a bug in `` and `` that made it work differently from `` and `