From 7403ce1a9ebde15efebb5172bbdf22fe2b83b2e1 Mon Sep 17 00:00:00 2001 From: Elizabeth Mitchell Date: Tue, 9 May 2023 20:14:41 -0700 Subject: [PATCH] feat(iconbutton): add disabled-icon-opacity token PiperOrigin-RevId: 530782342 --- iconbutton/lib/_filled-icon-button.scss | 4 ++++ iconbutton/lib/_filled-tonal-icon-button.scss | 4 ++++ iconbutton/lib/_outlined-icon-button.scss | 4 ++++ iconbutton/lib/_shared.scss | 3 +-- iconbutton/lib/_standard-icon-button.scss | 4 ++++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/iconbutton/lib/_filled-icon-button.scss b/iconbutton/lib/_filled-icon-button.scss index 80d489582d..90274c9719 100644 --- a/iconbutton/lib/_filled-icon-button.scss +++ b/iconbutton/lib/_filled-icon-button.scss @@ -98,6 +98,10 @@ ); } + .icon-button:disabled .icon { + opacity: var(--_disabled-icon-opacity); + } + .toggle-filled { &:not(:disabled) { background-color: var(--_unselected-container-color); diff --git a/iconbutton/lib/_filled-tonal-icon-button.scss b/iconbutton/lib/_filled-tonal-icon-button.scss index ad12ab012c..c9a43d7f4a 100644 --- a/iconbutton/lib/_filled-tonal-icon-button.scss +++ b/iconbutton/lib/_filled-tonal-icon-button.scss @@ -100,6 +100,10 @@ $_custom-property-prefix: 'filled-tonal-icon-button'; ); } + .icon-button:disabled .icon { + opacity: var(--_disabled-icon-opacity); + } + .toggle-filled-tonal { &:not(:disabled) { background-color: var(--_unselected-container-color); diff --git a/iconbutton/lib/_outlined-icon-button.scss b/iconbutton/lib/_outlined-icon-button.scss index c96be42638..c4dcb4227b 100644 --- a/iconbutton/lib/_outlined-icon-button.scss +++ b/iconbutton/lib/_outlined-icon-button.scss @@ -108,6 +108,10 @@ } } + .outlined:disabled .icon { + opacity: var(--_disabled-icon-opacity); + } + .outlined::before { block-size: 100%; border-style: solid; diff --git a/iconbutton/lib/_shared.scss b/iconbutton/lib/_shared.scss index dcdbcaf58a..110e432bdf 100644 --- a/iconbutton/lib/_shared.scss +++ b/iconbutton/lib/_shared.scss @@ -110,7 +110,7 @@ // changes, so the opacity value is null), use the default opacity value. // Otherwise, the color is not flattened, meaning that the color would // be applied without any opacity, which is incorrect. - $opacity-keys: [ 'disabled-container-opacity', 'disabled-icon-opacity', + $opacity-keys: [ 'disabled-container-opacity', 'disabled-selected-container-opacity' ]; @each $opacity-key in $opacity-keys { @@ -153,7 +153,6 @@ color-key: 'disabled-container-color', opacity-key: 'disabled-container-opacity' ), - (color-key: 'disabled-icon-color', opacity-key: 'disabled-icon-opacity'), ( color-key: 'disabled-selected-container-color', opacity-key: 'disabled-selected-container-opacity' diff --git a/iconbutton/lib/_standard-icon-button.scss b/iconbutton/lib/_standard-icon-button.scss index 30180c8cad..7718b8557c 100644 --- a/iconbutton/lib/_standard-icon-button.scss +++ b/iconbutton/lib/_standard-icon-button.scss @@ -81,6 +81,10 @@ } } + .standard:disabled .icon { + opacity: var(--_disabled-icon-opacity); + } + .selected { &:not(:disabled) { color: var(--_selected-icon-color);