Skip to content

Commit 69d5ebd

Browse files
authored
refactor(material/button): switch outlined-button to density tokens (#27986)
1 parent e9fc04d commit 69d5ebd

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

src/material/button/_button-theme.scss

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use '@material/button/button' as mdc-button;
2-
@use '@material/button/button-theme' as mdc-button-theme;
32
@use '@material/button/button-text-theme' as mdc-button-text-theme;
43
@use '@material/button/button-filled-theme' as mdc-button-filled-theme;
54
@use '@material/button/button-protected-theme' as mdc-button-protected-theme;
@@ -256,11 +255,9 @@
256255
}
257256

258257
.mat-mdc-outlined-button {
259-
// Use `mat-mdc-button-base` to increase the specificity over the button's structural styles.
260-
&.mat-mdc-button-base {
261-
@include mdc-button-theme.density($density-scale, $query: mdc-helpers.$mdc-base-styles-query);
262-
@include button-theme-private.touch-target-density($density-scale);
263-
}
258+
$density-tokens: tokens-mdc-outlined-button.get-density-tokens($theme);
259+
@include mdc-button-outlined-theme.theme($density-tokens);
260+
@include button-theme-private.touch-target-density($density-scale);
264261
}
265262
}
266263

src/material/core/tokens/m2/mdc/_outlined-button.scss

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
@use 'sass:map';
12
@use '../../token-utils';
23
@use '../../../mdc-helpers/mdc-helpers';
34
@use '../../../style/sass-utils';
45
@use '../../../theming/inspection';
6+
@use '../../../theming/theming';
57

68
// The prefix used to generate the fully qualified name for tokens in this file.
79
$prefix: (mdc, outlined-button);
@@ -49,9 +51,7 @@ $prefix: (mdc, outlined-button);
4951
label-text-font: null,
5052
label-text-weight: null,
5153
label-text-tracking: null,
52-
label-text-transform: null,
53-
54-
container-height: 36px
54+
label-text-transform: null
5555
);
5656
}
5757

@@ -82,7 +82,20 @@ $prefix: (mdc, outlined-button);
8282

8383
// Tokens that can be configured through Angular Material's density theming API.
8484
@function get-density-tokens($theme) {
85-
@return ();
85+
$scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
86+
87+
@return (
88+
container-height:
89+
map.get(
90+
(
91+
0: 36px,
92+
-1: 32px,
93+
-2: 28px,
94+
-3: 24px,
95+
),
96+
$scale
97+
)
98+
);
8699
}
87100

88101
// Combines the tokens generated by the above functions into a single map with placeholder values.

0 commit comments

Comments
 (0)