Skip to content

Commit eed1abd

Browse files
asynclizcopybara-github
authored andcommitted
chore(button): remove resolvers
PiperOrigin-RevId: 518375891
1 parent 90b5b4f commit eed1abd

11 files changed

+154
-148
lines changed

button/lib/_elevated-button.scss

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,48 +7,27 @@
77
@use 'sass:map';
88
// go/keep-sorted end
99
// go/keep-sorted start
10-
@use '../../sass/shape';
1110
@use '../../sass/theme';
1211
@use '../../tokens';
13-
@use './shared';
1412
// go/keep-sorted end
1513

16-
$_custom-property-prefix: 'elevated-button';
17-
1814
@mixin theme($tokens) {
1915
$tokens: theme.validate-theme(
20-
_resolve-tokens(tokens.md-comp-elevated-button-values()),
21-
_resolve-tokens($tokens)
16+
tokens.md-comp-elevated-button-values(),
17+
$tokens
2218
);
23-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
24-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
2519

26-
@include theme.emit-theme-vars($tokens);
20+
@each $token, $value in $tokens {
21+
--md-elevated-button-#{$token}: #{$value};
22+
}
2723
}
2824

2925
@mixin styles() {
3026
$tokens: tokens.md-comp-elevated-button-values();
3127

32-
// TODO(b/198759625): Remove once spacing tokens are formally added
33-
$tokens: map.set($tokens, 'spacing-leading', 24px);
34-
$tokens: map.set($tokens, 'spacing-trailing', 24px);
35-
$tokens: map.set($tokens, 'with-icon-spacing-leading', 16px);
36-
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 24px);
37-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 24px);
38-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 16px);
39-
40-
$tokens: _resolve-tokens($tokens);
41-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
42-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
43-
4428
:host {
4529
@each $token, $value in $tokens {
4630
--_#{$token}: #{$value};
4731
}
4832
}
4933
}
50-
51-
@function _resolve-tokens($tokens) {
52-
$tokens: shared.remove-unsupported-tokens($tokens);
53-
@return $tokens;
54-
}

button/lib/_filled-button.scss

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,47 +7,24 @@
77
@use 'sass:map';
88
// go/keep-sorted end
99
// go/keep-sorted start
10-
@use '../../sass/shape';
1110
@use '../../sass/theme';
1211
@use '../../tokens';
13-
@use './shared';
1412
// go/keep-sorted end
1513

16-
$_custom-property-prefix: 'filled-button';
17-
1814
@mixin theme($tokens) {
19-
$tokens: theme.validate-theme(
20-
_resolve-tokens(tokens.md-comp-filled-button-values()),
21-
_resolve-tokens($tokens)
22-
);
23-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
24-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
15+
$tokens: theme.validate-theme(tokens.md-comp-filled-button-values(), $tokens);
2516

26-
@include theme.emit-theme-vars($tokens);
17+
@each $token, $value in $tokens {
18+
--md-filled-button-#{$token}: #{$value};
19+
}
2720
}
2821

2922
@mixin styles() {
3023
$tokens: tokens.md-comp-filled-button-values();
3124

32-
// TODO(b/198759625): Remove once spacing tokens are formally added
33-
$tokens: map.set($tokens, 'spacing-leading', 24px);
34-
$tokens: map.set($tokens, 'spacing-trailing', 24px);
35-
$tokens: map.set($tokens, 'with-icon-spacing-leading', 16px);
36-
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 24px);
37-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 24px);
38-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 16px);
39-
$tokens: _resolve-tokens($tokens);
40-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
41-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
42-
4325
:host {
4426
@each $token, $value in $tokens {
4527
--_#{$token}: #{$value};
4628
}
4729
}
4830
}
49-
50-
@function _resolve-tokens($tokens) {
51-
$tokens: shared.remove-unsupported-tokens($tokens);
52-
@return $tokens;
53-
}

button/lib/_outlined-button.scss

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,27 @@
77
@use 'sass:map';
88
// go/keep-sorted end
99
// go/keep-sorted start
10-
@use '../../sass/shape';
1110
@use '../../sass/theme';
1211
@use '../../tokens';
13-
@use './shared';
1412
// go/keep-sorted end
1513

1614
// stylelint-disable selector-class-pattern --
1715
// Selector '.md3-*' should only be used in this project.
1816

19-
$_custom-property-prefix: 'outlined-button';
20-
2117
@mixin theme($tokens) {
2218
$tokens: theme.validate-theme(
23-
_resolve-tokens(tokens.md-comp-outlined-button-values()),
24-
_resolve-tokens($tokens)
19+
tokens.md-comp-outlined-button-values(),
20+
$tokens
2521
);
26-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
27-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
2822

29-
@include theme.emit-theme-vars($tokens);
23+
@each $token, $value in $tokens {
24+
--md-elevated-button-#{$token}: #{$value};
25+
}
3026
}
3127

3228
@mixin styles() {
3329
$tokens: tokens.md-comp-outlined-button-values();
3430

35-
// TODO(b/198759625): Remove once spacing tokens are formally added
36-
$tokens: map.set($tokens, 'spacing-leading', 24px);
37-
$tokens: map.set($tokens, 'spacing-trailing', 24px);
38-
$tokens: map.set($tokens, 'with-icon-spacing-leading', 16px);
39-
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 24px);
40-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 24px);
41-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 16px);
42-
$tokens: _resolve-tokens($tokens);
43-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
44-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
45-
4631
:host {
4732
@each $token, $value in $tokens {
4833
--_#{$token}: #{$value};

button/lib/_shared.scss

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -150,21 +150,3 @@
150150
inline-size: 100%;
151151
}
152152
}
153-
154-
@function remove-unsupported-tokens($tokens) {
155-
// b/193825150: Text and Outlined Button don't have `container-shadow-color`,
156-
// leaving `container-elevation` useless.
157-
@if not map.get($tokens, 'container-shadow-color') {
158-
$tokens: map.remove($tokens, 'container-elevation');
159-
}
160-
161-
$unsupported-tokens: (
162-
// TODO(b/233225796): Clean up this removal of `dragged` tokens.
163-
'dragged-container-elevation',
164-
'dragged-label-text-color',
165-
'dragged-state-layer-color',
166-
'dragged-state-layer-opacity',
167-
'with-icon-dragged-icon-color'
168-
);
169-
@return map.remove($tokens, $unsupported-tokens);
170-
}

button/lib/_text-button.scss

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,55 +7,30 @@
77
@use 'sass:map';
88
// go/keep-sorted end
99
// go/keep-sorted start
10-
@use '../../sass/shape';
1110
@use '../../sass/theme';
1211
@use '../../tokens';
13-
@use './shared';
1412
// go/keep-sorted end
1513

1614
$_custom-property-prefix: 'text-button';
1715

1816
@mixin theme($tokens) {
19-
$tokens: theme.validate-theme(
20-
_resolve-tokens(tokens.md-comp-text-button-values()),
21-
_resolve-tokens($tokens)
22-
);
23-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
24-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
17+
$tokens: theme.validate-theme(tokens.md-comp-text-button-values(), $tokens);
2518

26-
@include theme.emit-theme-vars($tokens);
19+
@each $token, $value in $tokens {
20+
--md-elevated-button-#{$token}: #{$value};
21+
}
2722
}
2823

2924
@mixin styles() {
3025
$tokens: tokens.md-comp-text-button-values();
3126

32-
// TODO(b/198759625): Remove once spacing tokens are formally added
33-
$tokens: map.set($tokens, 'spacing-leading', 12px);
34-
$tokens: map.set($tokens, 'spacing-trailing', 12px);
35-
$tokens: map.set($tokens, 'with-icon-spacing-leading', 12px);
36-
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 16px);
37-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 16px);
38-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 12px);
39-
$tokens: _resolve-tokens($tokens);
40-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
41-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
42-
4327
:host {
4428
@each $token, $value in $tokens {
4529
--_#{$token}: #{$value};
4630
}
4731

4832
--_container-color: none;
33+
--_disabled-container-color: none;
34+
--_disabled-container-opacity: 0;
4935
}
5036
}
51-
52-
@function _resolve-tokens($tokens) {
53-
// TODO(b/233066105): Clean up this removal of extraneous tokens
54-
$tokens: map.remove(
55-
$tokens,
56-
'disabled-container-color',
57-
'disabled-container-opacity'
58-
);
59-
$tokens: shared.remove-unsupported-tokens($tokens);
60-
@return $tokens;
61-
}

button/lib/_tonal-button.scss

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,44 +10,25 @@
1010
@use '../../sass/shape';
1111
@use '../../sass/theme';
1212
@use '../../tokens';
13-
@use './shared';
1413
// go/keep-sorted end
1514

16-
$_custom-property-prefix: 'tonal-button';
17-
1815
@mixin theme($tokens) {
1916
$tokens: theme.validate-theme(
20-
_resolve-tokens(tokens.md-comp-filled-tonal-button-values()),
21-
_resolve-tokens($tokens)
17+
tokens.md-comp-filled-tonal-button-values(),
18+
$tokens
2219
);
23-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
24-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
2520

26-
@include theme.emit-theme-vars($tokens);
21+
@each $token, $value in $tokens {
22+
--md-elevated-button-#{$token}: #{$value};
23+
}
2724
}
2825

2926
@mixin styles() {
3027
$tokens: tokens.md-comp-filled-tonal-button-values();
3128

32-
// TODO(b/198759625): Remove once spacing tokens are formally added
33-
$tokens: map.set($tokens, 'spacing-leading', 24px);
34-
$tokens: map.set($tokens, 'spacing-trailing', 24px);
35-
$tokens: map.set($tokens, 'with-icon-spacing-leading', 16px);
36-
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 24px);
37-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 24px);
38-
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 16px);
39-
$tokens: _resolve-tokens($tokens);
40-
$tokens: theme.create-theme-vars($tokens, $_custom-property-prefix);
41-
$tokens: shape.resolve-tokens($tokens, 'container-shape');
42-
4329
:host {
4430
@each $token, $value in $tokens {
4531
--_#{$token}: #{$value};
4632
}
4733
}
4834
}
49-
50-
@function _resolve-tokens($tokens) {
51-
$tokens: shared.remove-unsupported-tokens($tokens);
52-
@return $tokens;
53-
}

tokens/_md-comp-elevated-button.scss

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
@use 'sass:map';
88
// go/keep-sorted end
99
// go/keep-sorted start
10+
@use '../sass/shape';
1011
@use './md-sys-color';
1112
@use './md-sys-elevation';
1213
@use './md-sys-shape';
@@ -33,6 +34,25 @@ $_unsupported-tokens: (
3334

3435
@function values($deps: $_default, $exclude-hardcoded-values: false) {
3536
$tokens: md-comp-elevated-button.values($deps, $exclude-hardcoded-values);
37+
@if not $exclude-hardcoded-values {
38+
// TODO(b/198759625): Remove once spacing tokens are formally added
39+
$tokens: map.set($tokens, 'spacing-leading', 24px);
40+
$tokens: map.set($tokens, 'spacing-trailing', 24px);
41+
$tokens: map.set($tokens, 'with-icon-spacing-leading', 16px);
42+
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 24px);
43+
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 24px);
44+
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 16px);
45+
}
46+
3647
$tokens: map.remove($tokens, $_unsupported-tokens...);
48+
@each $token, $value in $tokens {
49+
$tokens: map.set(
50+
$tokens,
51+
$token,
52+
var(--md-elevated-button-#{$token}, #{$value})
53+
);
54+
}
55+
56+
$tokens: shape.resolve-tokens($tokens, 'container-shape');
3757
@return $tokens;
3858
}

tokens/_md-comp-filled-button.scss

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
@use 'sass:map';
88
// go/keep-sorted end
99
// go/keep-sorted start
10+
@use '../sass/shape';
1011
@use './md-sys-color';
1112
@use './md-sys-elevation';
1213
@use './md-sys-shape';
@@ -33,6 +34,25 @@ $_unsupported-tokens: (
3334

3435
@function values($deps: $_default, $exclude-hardcoded-values: false) {
3536
$tokens: md-comp-filled-button.values($deps, $exclude-hardcoded-values);
37+
@if not $exclude-hardcoded-values {
38+
// TODO(b/198759625): Remove once spacing tokens are formally added
39+
$tokens: map.set($tokens, 'spacing-leading', 24px);
40+
$tokens: map.set($tokens, 'spacing-trailing', 24px);
41+
$tokens: map.set($tokens, 'with-icon-spacing-leading', 16px);
42+
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 24px);
43+
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 24px);
44+
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 16px);
45+
}
46+
3647
$tokens: map.remove($tokens, $_unsupported-tokens...);
48+
@each $token, $value in $tokens {
49+
$tokens: map.set(
50+
$tokens,
51+
$token,
52+
var(--md-filled-button-#{$token}, #{$value})
53+
);
54+
}
55+
56+
$tokens: shape.resolve-tokens($tokens, 'container-shape');
3757
@return $tokens;
3858
}

tokens/_md-comp-filled-tonal-button.scss

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
@use 'sass:map';
88
// go/keep-sorted end
99
// go/keep-sorted start
10+
@use '../sass/shape';
1011
@use './md-sys-color';
1112
@use './md-sys-elevation';
1213
@use './md-sys-shape';
@@ -33,6 +34,26 @@ $_unsupported-tokens: (
3334

3435
@function values($deps: $_default, $exclude-hardcoded-values: false) {
3536
$tokens: md-comp-filled-tonal-button.values($deps, $exclude-hardcoded-values);
37+
@if not $exclude-hardcoded-values {
38+
// TODO(b/198759625): Remove once spacing tokens are formally added
39+
$tokens: map.set($tokens, 'spacing-leading', 24px);
40+
$tokens: map.set($tokens, 'spacing-trailing', 24px);
41+
$tokens: map.set($tokens, 'with-icon-spacing-leading', 16px);
42+
$tokens: map.set($tokens, 'with-icon-spacing-trailing', 24px);
43+
$tokens: map.set($tokens, 'with-trailing-icon-spacing-leading', 24px);
44+
$tokens: map.set($tokens, 'with-trailing-icon-spacing-trailing', 16px);
45+
}
46+
3647
$tokens: map.remove($tokens, $_unsupported-tokens...);
48+
@each $token, $value in $tokens {
49+
// TODO: change to filled-tonal-button
50+
$tokens: map.set(
51+
$tokens,
52+
$token,
53+
var(--md-tonal-button-#{$token}, #{$value})
54+
);
55+
}
56+
57+
$tokens: shape.resolve-tokens($tokens, 'container-shape');
3758
@return $tokens;
3859
}

0 commit comments

Comments
 (0)