Skip to content

Commit 907815d

Browse files
andrewseguinAndrew Seguin
and
Andrew Seguin
authored
fix(material/checkbox): hardcode token renames (#30752)
Co-authored-by: Andrew Seguin <andrewseguin@google.com>
1 parent d9ba9c9 commit 907815d

File tree

1 file changed

+47
-66
lines changed

1 file changed

+47
-66
lines changed
Lines changed: 47 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@use 'sass:map';
2-
@use 'sass:meta';
32
@use '../../token-definition';
43

54
// The prefix used to generate the fully qualified name for tokens in this file.
@@ -17,101 +16,59 @@ $prefix: (mat, checkbox);
1716
secondary: (
1817
selected-container-color: map.get($systems, md-sys-color, secondary),
1918
selected-focus-container-color: map.get($systems, md-sys-color, secondary),
20-
selected-focus-icon-color: map.get($systems, md-sys-color, on-secondary),
19+
selected-focus-icon-color: map.get($systems, md-sys-color, secondary),
2120
selected-focus-state-layer-color: map.get($systems, md-sys-color, secondary),
2221
selected-hover-container-color: map.get($systems, md-sys-color, secondary),
23-
selected-hover-icon-color: map.get($systems, md-sys-color, on-secondary),
22+
selected-hover-icon-color: map.get($systems, md-sys-color, secondary),
2423
selected-hover-state-layer-color: map.get($systems, md-sys-color, secondary),
25-
selected-icon-color: map.get($systems, md-sys-color, on-secondary),
24+
selected-icon-color: map.get($systems, md-sys-color, secondary),
2625
selected-pressed-container-color: map.get($systems, md-sys-color, secondary),
27-
selected-pressed-icon-color: map.get($systems, md-sys-color, on-secondary),
26+
selected-pressed-icon-color: map.get($systems, md-sys-color, secondary),
2827
unselected-pressed-state-layer-color: map.get($systems, md-sys-color, secondary),
28+
selected-checkmark-color: map.get($systems, md-sys-color, on-secondary),
2929
),
3030
tertiary: (
3131
selected-container-color: map.get($systems, md-sys-color, tertiary),
3232
selected-focus-container-color: map.get($systems, md-sys-color, tertiary),
33-
selected-focus-icon-color: map.get($systems, md-sys-color, on-tertiary),
33+
selected-focus-icon-color: map.get($systems, md-sys-color, tertiary),
3434
selected-focus-state-layer-color: map.get($systems, md-sys-color, tertiary),
3535
selected-hover-container-color: map.get($systems, md-sys-color, tertiary),
36-
selected-hover-icon-color: map.get($systems, md-sys-color, on-tertiary),
36+
selected-hover-icon-color: map.get($systems, md-sys-color, tertiary),
3737
selected-hover-state-layer-color: map.get($systems, md-sys-color, tertiary),
38-
selected-icon-color: map.get($systems, md-sys-color, on-tertiary),
38+
selected-icon-color: map.get($systems, md-sys-color, tertiary),
3939
selected-pressed-container-color: map.get($systems, md-sys-color, tertiary),
40-
selected-pressed-icon-color: map.get($systems, md-sys-color, on-tertiary),
40+
selected-pressed-icon-color: map.get($systems, md-sys-color, tertiary),
4141
unselected-pressed-state-layer-color: map.get($systems, md-sys-color, tertiary),
42+
selected-checkmark-color: map.get($systems, md-sys-color, on-tertiary),
4243
),
4344
error: (
4445
selected-container-color: map.get($systems, md-sys-color, error),
4546
selected-focus-container-color: map.get($systems, md-sys-color, error),
46-
selected-focus-icon-color: map.get($systems, md-sys-color, on-error),
47+
selected-focus-icon-color: map.get($systems, md-sys-color, error),
4748
selected-focus-state-layer-color: map.get($systems, md-sys-color, error),
4849
selected-hover-container-color: map.get($systems, md-sys-color, error),
49-
selected-hover-icon-color: map.get($systems, md-sys-color, on-error),
50+
selected-hover-icon-color: map.get($systems, md-sys-color, error),
5051
selected-hover-state-layer-color: map.get($systems, md-sys-color, error),
51-
selected-icon-color: map.get($systems, md-sys-color, on-error),
52+
selected-icon-color: map.get($systems, md-sys-color, error),
5253
selected-pressed-container-color: map.get($systems, md-sys-color, error),
53-
selected-pressed-icon-color: map.get($systems, md-sys-color, on-error),
54+
selected-pressed-icon-color: map.get($systems, md-sys-color, error),
5455
unselected-pressed-state-layer-color: map.get($systems, md-sys-color, error),
56+
selected-checkmark-color: map.get($systems, md-sys-color, on-error),
5557
)
5658
);
5759

5860
@return token-definition.namespace-tokens(
5961
$prefix,
6062
(
61-
_fix-tokens($mdc-tokens),
62-
token-definition.map-values($variant-tokens, meta.get-function(_fix-tokens))
63+
$mdc-tokens,
64+
$variant-tokens
6365
),
6466
$token-slots
6567
);
6668
}
6769

68-
/// Renames the official checkbox tokens to match the names actually used in MDCs code (which are
69-
/// different). This is a temporary workaround until MDC updates to use the correct names for the
70-
/// tokens.
71-
/// @param {Map} $tokens The map of checkbox tokens with the official tokens names
72-
/// @param {Map} $all-tokens Map of all checkbox tokens, including hardcoded values.
73-
/// This is necessary in order to do opacity lookups.
74-
/// @return {Map} The given tokens, renamed to be compatible with MDCs token implementation.
75-
@function _fix-tokens($tokens) {
76-
// Need to get the hardcoded values, because they include opacities that are used for the disabled
77-
// state.
78-
$hardcoded-tokens: values((), false);
79-
80-
$rename-keys: (
81-
selected-icon-color: selected-checkmark-color,
82-
selected-disabled-icon-color: disabled-selected-checkmark-color,
83-
selected-container-color: selected-icon-color,
84-
selected-hover-container-color: selected-hover-icon-color,
85-
selected-disabled-container-color: disabled-selected-icon-color,
86-
selected-disabled-container-opacity: disabled-selected-icon-opacity,
87-
selected-focus-container-color: selected-focus-icon-color,
88-
selected-pressed-container-color: selected-pressed-icon-color,
89-
unselected-disabled-outline-color: disabled-unselected-icon-color,
90-
unselected-disabled-container-opacity: disabled-unselected-icon-opacity,
91-
unselected-focus-outline-color: unselected-focus-icon-color,
92-
unselected-hover-outline-color: unselected-hover-icon-color,
93-
unselected-outline-color: unselected-icon-color,
94-
unselected-pressed-outline-color: unselected-pressed-icon-color
95-
);
96-
97-
$remapped-tokens: token-definition.rename-map-keys($tokens, $rename-keys);
98-
$remapped-hardcoded-tokens: token-definition.rename-map-keys($hardcoded-tokens, $rename-keys);
99-
100-
@return token-definition.combine-color-tokens(
101-
$remapped-tokens, $remapped-hardcoded-tokens, (
102-
(
103-
color: disabled-selected-icon-color,
104-
opacity: disabled-selected-icon-opacity,
105-
),
106-
(
107-
color: disabled-unselected-icon-color,
108-
opacity: disabled-unselected-icon-opacity,
109-
),
110-
));
111-
}
112-
11370
@function values($deps, $exclude-hardcoded-values: false) {
114-
@return (
71+
$values: (
11572
container-shape: if($exclude-hardcoded-values, null, 2px),
11673
container-size: if($exclude-hardcoded-values, null, 18px),
11774
error-focus-state-layer-color: map.get($deps, md-sys-color, error),
@@ -123,6 +80,7 @@ $prefix: (mat, checkbox);
12380
icon-size: if($exclude-hardcoded-values, null, 18px),
12481
selected-container-color: map.get($deps, md-sys-color, primary),
12582
selected-disabled-container-color: map.get($deps, md-sys-color, on-surface),
83+
disabled-selected-icon-opacity: 0.38,
12684
selected-disabled-container-opacity: if($exclude-hardcoded-values, null, 0.38),
12785
selected-disabled-container-outline-width: if($exclude-hardcoded-values, null, 0),
12886
selected-disabled-icon-color: map.get($deps, md-sys-color, surface),
@@ -135,25 +93,26 @@ $prefix: (mat, checkbox);
13593
selected-error-pressed-container-color: map.get($deps, md-sys-color, error),
13694
selected-error-pressed-icon-color: map.get($deps, md-sys-color, on-error),
13795
selected-focus-container-color: map.get($deps, md-sys-color, primary),
138-
selected-focus-icon-color: map.get($deps, md-sys-color, on-primary),
96+
selected-focus-icon-color: map.get($deps, md-sys-color, primary),
13997
selected-focus-outline-width: if($exclude-hardcoded-values, null, 0),
14098
selected-focus-state-layer-color: map.get($deps, md-sys-color, primary),
14199
selected-focus-state-layer-opacity: map.get($deps, md-sys-state, focus-state-layer-opacity),
142100
selected-hover-container-color: map.get($deps, md-sys-color, primary),
143-
selected-hover-icon-color: map.get($deps, md-sys-color, on-primary),
101+
selected-hover-icon-color: map.get($deps, md-sys-color, primary),
144102
selected-hover-outline-width: if($exclude-hardcoded-values, null, 0),
145103
selected-hover-state-layer-color: map.get($deps, md-sys-color, primary),
146104
selected-hover-state-layer-opacity: map.get($deps, md-sys-state, hover-state-layer-opacity),
147-
selected-icon-color: map.get($deps, md-sys-color, on-primary),
105+
selected-icon-color: map.get($deps, md-sys-color, primary),
148106
selected-outline-width: if($exclude-hardcoded-values, null, 0),
149107
selected-pressed-container-color: map.get($deps, md-sys-color, primary),
150-
selected-pressed-icon-color: map.get($deps, md-sys-color, on-primary),
108+
selected-pressed-icon-color: map.get($deps, md-sys-color, primary),
151109
selected-pressed-outline-width: if($exclude-hardcoded-values, null, 0),
152110
selected-pressed-state-layer-color: map.get($deps, md-sys-color, on-surface),
153111
selected-pressed-state-layer-opacity: map.get($deps, md-sys-state, pressed-state-layer-opacity),
154112
state-layer-shape: map.get($deps, md-sys-shape, corner-full),
155113
state-layer-size: if($exclude-hardcoded-values, null, 40px),
156114
unselected-disabled-container-opacity: if($exclude-hardcoded-values, null, 0.38),
115+
disabled-unselected-icon-opacity: 0.38,
157116
unselected-disabled-outline-color: map.get($deps, md-sys-color, on-surface),
158117
unselected-disabled-outline-width: if($exclude-hardcoded-values, null, 2px),
159118
unselected-error-focus-outline-color: map.get($deps, md-sys-color, error),
@@ -174,6 +133,28 @@ $prefix: (mat, checkbox);
174133
unselected-pressed-outline-width: if($exclude-hardcoded-values, null, 2px),
175134
unselected-pressed-state-layer-color: map.get($deps, md-sys-color, primary),
176135
unselected-pressed-state-layer-opacity:
177-
map.get($deps, md-sys-state, pressed-state-layer-opacity)
136+
map.get($deps, md-sys-state, pressed-state-layer-opacity),
137+
selected-checkmark-color: map.get($deps, md-sys-color, on-primary),
138+
disabled-selected-checkmark-color: map.get($deps, md-sys-color, surface),
139+
disabled-selected-icon-color: map.get($deps, md-sys-color, on-surface),
140+
disabled-unselected-icon-color: map.get($deps, md-sys-color, on-surface),
141+
unselected-focus-icon-color: map.get($deps, md-sys-color, on-surface),
142+
unselected-hover-icon-color: map.get($deps, md-sys-color, on-surface),
143+
unselected-icon-color: map.get($deps, md-sys-color, on-surface-variant),
144+
unselected-pressed-icon-color: map.get($deps, md-sys-color, on-surface),
178145
);
146+
147+
$values: token-definition.combine-color-tokens(
148+
$values, $values, (
149+
(
150+
color: disabled-selected-icon-color,
151+
opacity: disabled-selected-icon-opacity,
152+
),
153+
(
154+
color: disabled-unselected-icon-color,
155+
opacity: disabled-unselected-icon-opacity,
156+
),
157+
));
158+
159+
@return $values;
179160
}

0 commit comments

Comments
 (0)