Skip to content

Commit e8f16b6

Browse files
allan-chencopybara-github
authored andcommitted
fix(elevation): emit disabled state elevation styles
PiperOrigin-RevId: 402396467
1 parent 6d91d34 commit e8f16b6

File tree

3 files changed

+26
-15
lines changed

3 files changed

+26
-15
lines changed

components/button/lib/_elevation-theme.scss

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ $_selectors: button-theme.$selectors;
4848
@include elevation-overlay-theme.theme-styles(
4949
(
5050
surface-tint-layer-color: $overlay-tint-color,
51-
),
52-
$selectors: $_selectors
51+
)
5352
);
5453
}
5554

components/elevation/lib/_elevation-overlay-theme.scss

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@
1111
$_default-theme: (
1212
surface-tint-layer-color: transparent,
1313
overlay-opacity: 0,
14+
disabled-overlay-opacity: 0,
1415
focus-overlay-opacity: 0,
1516
hover-overlay-opacity: 0,
1617
pressed-overlay-opacity: 0,
1718
);
1819

19-
$selectors: (
20+
$_selectors: (
2021
enabled: ':enabled',
2122
disabled: ':disabled',
2223
focus: ':focus',
@@ -25,16 +26,12 @@ $selectors: (
2526
);
2627

2728
@mixin theme-styles($theme, $selectors: $_selectors) {
28-
@include _overlay-color(
29-
(
30-
default: map.get($theme, surface-tint-layer-color),
31-
),
32-
$selectors
33-
);
29+
@include _set-overlay-color(map.get($theme, surface-tint-layer-color));
3430

3531
@include _overlay-opacity(
3632
(
3733
default: map.get($theme, overlay-opacity),
34+
disabled: map.get($theme, disabled-overlay-opacity),
3835
focus: map.get($theme, focus-overlay-opacity),
3936
hover: map.get($theme, hover-overlay-opacity),
4037
pressed: map.get($theme, pressed-overlay-opacity),
@@ -43,12 +40,6 @@ $selectors: (
4340
);
4441
}
4542

46-
@mixin _overlay-color($color-map, $selectors: $_selectors) {
47-
@include state.default($selectors) {
48-
@include _set-overlay-color(state.get-default-state($color-map));
49-
}
50-
}
51-
5243
@mixin _set-overlay-color($color) {
5344
.md3-elevation-overlay {
5445
@include theme.property(background-color, $color);
@@ -60,6 +51,10 @@ $selectors: (
6051
@include _set-overlay-opacity(state.get-default-state($opacity-map));
6152
}
6253

54+
@include state.disabled($selectors) {
55+
@include _set-overlay-opacity(state.get-disabled-state($opacity-map));
56+
}
57+
6358
@include state.hover($selectors) {
6459
@include _set-overlay-opacity(state.get-hover-state($opacity-map));
6560
}

components/elevation/lib/_elevation-theme.scss

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ $_shadow-map: (
4848
/// Represents the configurable values of the elevation theme.
4949
///
5050
$_theme-values: (
51+
disabled-shadow: null,
52+
disabled-overlay-opacity: null,
5153
focus-shadow: null,
5254
focus-overlay-opacity: null,
5355
hover-shadow: null,
@@ -90,6 +92,7 @@ $_theme-values: (
9092
@include _box-shadow(
9193
(
9294
default: map.get($theme, shadow),
95+
disabled: map.get($theme, disabled-shadow),
9396
focus: map.get($theme, focus-shadow),
9497
hover: map.get($theme, hover-shadow),
9598
pressed: map.get($theme, pressed-shadow),
@@ -100,6 +103,7 @@ $_theme-values: (
100103
@include elevation-overlay-theme.theme-styles(
101104
(
102105
overlay-opacity: map.get($theme, overlay-opacity),
106+
disabled-overlay-opacity: map.get($theme, disabled-overlay-opacity),
103107
focus-overlay-opacity: map.get($theme, focus-overlay-opacity),
104108
hover-overlay-opacity: map.get($theme, hover-overlay-opacity),
105109
pressed-overlay-opacity: map.get($theme, pressed-overlay-opacity),
@@ -129,6 +133,10 @@ $_theme-values: (
129133
@include state.pressed($selectors) {
130134
@include _set-box-shadow(state.get-pressed-state($shadow-map));
131135
}
136+
137+
@include state.disabled($selectors) {
138+
@include _set-box-shadow(state.get-disabled-state($shadow-map));
139+
}
132140
}
133141

134142
///
@@ -188,10 +196,12 @@ $_theme-values: (
188196

189197
$theme: (
190198
shadow: state.get-default-state($shadow-map),
199+
disabled-shadow: state.get-disabled-state($shadow-map),
191200
focus-shadow: state.get-focus-state($shadow-map),
192201
hover-shadow: state.get-hover-state($shadow-map),
193202
pressed-shadow: state.get-pressed-state($shadow-map),
194203
overlay-opacity: state.get-default-state($opacity-map),
204+
disabled-overlay-opacity: state.get-disabled-state($opacity-map),
195205
focus-overlay-opacity: state.get-focus-state($opacity-map),
196206
hover-overlay-opacity: state.get-hover-state($opacity-map),
197207
pressed-overlay-opacity: state.get-pressed-state($opacity-map),
@@ -236,6 +246,11 @@ $_theme-values: (
236246
state.get-default-state($elevation-map),
237247
$shadow-color
238248
),
249+
disabled:
250+
_resolve-box-shadow-by-dp(
251+
state.get-disabled-state($elevation-map),
252+
$shadow-color
253+
),
239254
focus:
240255
_resolve-box-shadow-by-dp(
241256
state.get-focus-state($elevation-map),
@@ -263,6 +278,8 @@ $_theme-values: (
263278
@return (
264279
default:
265280
_resolve-overlay-opacity-by-dp(state.get-default-state($elevation-map)),
281+
disabled:
282+
_resolve-overlay-opacity-by-dp(state.get-disabled-state($elevation-map)),
266283
focus: _resolve-overlay-opacity-by-dp(state.get-focus-state($elevation-map)),
267284
hover: _resolve-overlay-opacity-by-dp(state.get-hover-state($elevation-map)),
268285
pressed:

0 commit comments

Comments
 (0)