Skip to content

Commit f84f6a1

Browse files
committed
refactor(material/button): switch flat-button to density tokens
1 parent 06559a0 commit f84f6a1

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

src/material/button/_button-theme.scss

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,9 +226,13 @@
226226
@mixin density($theme) {
227227
$density-scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
228228

229+
.mat-mdc-unelevated-button {
230+
$density-tokens: tokens-mdc-button-filled.get-density-tokens($theme);
231+
@include mdc-button-filled-theme.theme($density-tokens);
232+
}
233+
229234
.mat-mdc-button,
230235
.mat-mdc-raised-button,
231-
.mat-mdc-unelevated-button,
232236
.mat-mdc-outlined-button {
233237
// Use `mat-mdc-button-base` to increase the specificity over the button's structural styles.
234238
&.mat-mdc-button-base {

src/material/core/tokens/m2/mdc/_button-filled.scss

Lines changed: 17 additions & 3 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, button-filled);
@@ -15,8 +17,6 @@ $prefix: (mdc, button-filled);
1517
@function get-unthemable-tokens() {
1618
@return (
1719
container-elevation: 0,
18-
container-height: 36px,
19-
container-shape: 4px,
2020
disabled-container-elevation: 0,
2121
focus-container-elevation: 0,
2222
hover-container-elevation: 0,
@@ -77,7 +77,21 @@ $prefix: (mdc, button-filled);
7777

7878
// Tokens that can be configured through Angular Material's density theming API.
7979
@function get-density-tokens($theme) {
80-
@return ();
80+
$scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
81+
82+
@return (
83+
container-height:
84+
map.get(
85+
(
86+
0: 36px,
87+
-1: 32px,
88+
-2: 28px,
89+
-3: 24px,
90+
),
91+
$scale
92+
),
93+
container-shape: 4px
94+
);
8195
}
8296

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

src/material/core/tokens/tests/test-validate-tokens.scss

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
@use 'sass:map';
33

44
@use '@material/button/button-protected-theme' as mdc-button-protected-theme;
5+
@use '@material/button/button-filled-theme' as mdc-button-filled-theme;
56
@use '@material/card/elevated-card-theme' as mdc-elevated-card-theme;
67
@use '@material/card/outlined-card-theme' as mdc-outlined-card-theme;
78
@use '@material/checkbox/checkbox-theme' as mdc-checkbox-theme;
@@ -25,6 +26,7 @@
2526
@use '@material/theme/validate' as mdc-validate;
2627

2728
@use '../m2/mdc/button-protected' as tokens-mdc-button-protected;
29+
@use '../m2/mdc/button-filled' as tokens-mdc-button-filled;
2830
@use '../m2/mdc/circular-progress' as tokens-mdc-circular-progress;
2931
@use '../m2/mdc/linear-progress' as tokens-mdc-linear-progress;
3032
@use '../m2/mdc/elevated-card' as tokens-mdc-elevated-card;
@@ -160,8 +162,8 @@
160162
);
161163
@include validate-slots(
162164
$component: 'm2.mdc.button-filled',
163-
$slots: tokens-mdc-extended-fab.get-token-slots(),
164-
$reference: mdc-extended-fab-theme.$extended-light-theme
165+
$slots: tokens-mdc-button-filled.get-token-slots(),
166+
$reference: mdc-button-filled-theme.$light-theme
165167
);
166168
@include validate-slots(
167169
$component: 'm2.mdc.button-protected',

0 commit comments

Comments
 (0)