99@use ' sass:map' ;
1010@use ' ../../ripple/ripple' ;
1111@use ' ../../sass/theme' ;
12+ @use ' ../../focus/focus-ring' ;
1213@use ' ../../tokens' ;
1314@use ' ./shared' ;
1415
@@ -17,6 +18,7 @@ $_custom-property-prefix: 'icon-button';
1718@mixin theme ($tokens ) {
1819 $tokens : theme .validate-theme (tokens .md-comp-icon-button-values (), $tokens );
1920 $tokens : shared .flatten-disabled-colors ($tokens );
21+ $tokens : shared .resolve-shape-tokens ($tokens , $property : ' state-layer-shape' );
2022 $tokens : theme .create-theme-vars ($tokens , $_custom-property-prefix );
2123
2224 @include theme .emit-theme-vars ($tokens );
@@ -25,12 +27,24 @@ $_custom-property-prefix: 'icon-button';
2527@mixin styles () {
2628 $tokens : tokens .md-comp-icon-button-values ();
2729 $tokens : shared .flatten-disabled-colors ($tokens );
30+ $tokens : shared .resolve-shape-tokens ($tokens , $property : ' state-layer-shape' );
2831 $tokens : theme .create-theme-vars ($tokens , $_custom-property-prefix );
2932
3033 :host {
3134 @each $token , $value in $tokens {
3235 --_ #{$token } : #{$value } ;
3336 }
37+
38+ @include focus-ring .theme (
39+ (
40+ shape: (
41+ var (--_state-layer-shape-start-start ),
42+ var (--_state-layer-shape-start-end ),
43+ var (--_state-layer-shape-end-end ),
44+ var (--_state-layer-shape-end-start ),
45+ ),
46+ )
47+ );
3448 }
3549
3650 .md3-icon-button--standard {
@@ -102,4 +116,12 @@ $_custom-property-prefix: 'icon-button';
102116 )
103117 );
104118 }
119+
120+ md-ripple {
121+ // TODO(b/263517885): replace with ripple.theme(state-layer-shape)
122+ border-start-start-radius : var (--_state-layer-shape-start-start );
123+ border-start-end-radius : var (--_state-layer-shape-start-end );
124+ border-end-start-radius : var (--_state-layer-shape-end-start );
125+ border-end-end-radius : var (--_state-layer-shape-end-end );
126+ }
105127}
0 commit comments