@material/web 1.2.0 → 1.2.1-nightly.6ecda49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/button/internal/_elevated-button.scss +7 -30
  2. package/button/internal/_filled-button.scss +7 -30
  3. package/button/internal/_filled-tonal-button.scss +7 -30
  4. package/button/internal/_outlined-button.scss +7 -30
  5. package/button/internal/_text-button.scss +7 -30
  6. package/button/internal/elevated-styles.css.js +1 -1
  7. package/button/internal/elevated-styles.css.js.map +1 -1
  8. package/button/internal/filled-styles.css.js +1 -1
  9. package/button/internal/filled-styles.css.js.map +1 -1
  10. package/button/internal/filled-tonal-styles.css.js +1 -1
  11. package/button/internal/filled-tonal-styles.css.js.map +1 -1
  12. package/button/internal/outlined-styles.css.js +1 -1
  13. package/button/internal/outlined-styles.css.js.map +1 -1
  14. package/button/internal/text-styles.css.js +1 -1
  15. package/button/internal/text-styles.css.js.map +1 -1
  16. package/checkbox/internal/_checkbox.scss +3 -37
  17. package/chips/internal/_assist-chip.scss +8 -30
  18. package/chips/internal/_filter-chip.scss +8 -30
  19. package/chips/internal/_input-chip.scss +8 -30
  20. package/chips/internal/_suggestion-chip.scss +8 -30
  21. package/chips/internal/assist-styles.css.js +1 -1
  22. package/chips/internal/assist-styles.css.js.map +1 -1
  23. package/chips/internal/filter-styles.css.js +1 -1
  24. package/chips/internal/filter-styles.css.js.map +1 -1
  25. package/chips/internal/input-styles.css.js +1 -1
  26. package/chips/internal/input-styles.css.js.map +1 -1
  27. package/chips/internal/suggestion-styles.css.js +1 -1
  28. package/chips/internal/suggestion-styles.css.js.map +1 -1
  29. package/dialog/internal/_dialog.scss +3 -40
  30. package/divider/internal/_divider.scss +3 -4
  31. package/elevation/internal/_elevation.scss +3 -4
  32. package/fab/internal/_fab-branded.scss +8 -50
  33. package/fab/internal/_fab.scss +13 -70
  34. package/fab/internal/fab-branded-styles.css.js +1 -1
  35. package/fab/internal/fab-branded-styles.css.js.map +1 -1
  36. package/fab/internal/fab-styles.css.js +1 -1
  37. package/fab/internal/fab-styles.css.js.map +1 -1
  38. package/field/internal/_filled-field.scss +6 -23
  39. package/field/internal/_outlined-field.scss +6 -20
  40. package/field/internal/filled-styles.css.js +1 -1
  41. package/field/internal/filled-styles.css.js.map +1 -1
  42. package/field/internal/outlined-styles.css.js +1 -1
  43. package/field/internal/outlined-styles.css.js.map +1 -1
  44. package/focus/internal/_focus-ring.scss +14 -38
  45. package/icon/internal/_icon.scss +3 -4
  46. package/iconbutton/internal/_filled-icon-button.scss +7 -30
  47. package/iconbutton/internal/_filled-tonal-icon-button.scss +7 -30
  48. package/iconbutton/internal/_icon-button.scss +4 -2
  49. package/iconbutton/internal/_outlined-icon-button.scss +7 -30
  50. package/iconbutton/internal/filled-styles.css.js +1 -1
  51. package/iconbutton/internal/filled-styles.css.js.map +1 -1
  52. package/iconbutton/internal/filled-tonal-styles.css.js +1 -1
  53. package/iconbutton/internal/filled-tonal-styles.css.js.map +1 -1
  54. package/iconbutton/internal/outlined-styles.css.js +1 -1
  55. package/iconbutton/internal/outlined-styles.css.js.map +1 -1
  56. package/labs/card/internal/_elevated-card.scss +4 -2
  57. package/labs/card/internal/_filled-card.scss +4 -2
  58. package/labs/card/internal/_outlined-card.scss +4 -2
  59. package/labs/segmentedbutton/internal/outlined-styles.css.js +1 -1
  60. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -1
  61. package/labs/segmentedbuttonset/internal/_outlined-segmented-button-set.scss +9 -20
  62. package/labs/segmentedbuttonset/internal/outlined-styles.css.js +1 -1
  63. package/labs/segmentedbuttonset/internal/outlined-styles.css.js.map +1 -1
  64. package/list/internal/_list.scss +3 -4
  65. package/list/internal/listitem/_list-item.scss +3 -4
  66. package/menu/internal/_menu.scss +3 -4
  67. package/menu/internal/menuitem/_menu-item.scss +3 -4
  68. package/package.json +1 -1
  69. package/progress/internal/_circular-progress.scss +4 -2
  70. package/progress/internal/_linear-progress.scss +4 -2
  71. package/radio/internal/_radio.scss +3 -4
  72. package/ripple/internal/_ripple.scss +3 -4
  73. package/select/internal/_filled-select.scss +7 -45
  74. package/select/internal/_outlined-select.scss +7 -30
  75. package/select/internal/filled-select-styles.css.js +1 -1
  76. package/select/internal/filled-select-styles.css.js.map +1 -1
  77. package/select/internal/outlined-select-styles.css.js +1 -1
  78. package/select/internal/outlined-select-styles.css.js.map +1 -1
  79. package/slider/internal/_slider.scss +4 -2
  80. package/switch/internal/_switch.scss +3 -52
  81. package/tabs/internal/_primary-tab.scss +8 -30
  82. package/tabs/internal/_secondary-tab.scss +8 -30
  83. package/tabs/internal/primary-tab-styles.css.js +1 -1
  84. package/tabs/internal/primary-tab-styles.css.js.map +1 -1
  85. package/tabs/internal/secondary-tab-styles.css.js +1 -1
  86. package/tabs/internal/secondary-tab-styles.css.js.map +1 -1
  87. package/textfield/internal/_filled-text-field.scss +6 -58
  88. package/textfield/internal/_outlined-text-field.scss +6 -51
  89. package/textfield/internal/filled-styles.css.js +1 -1
  90. package/textfield/internal/filled-styles.css.js.map +1 -1
  91. package/textfield/internal/outlined-styles.css.js +1 -1
  92. package/textfield/internal/outlined-styles.css.js.map +1 -1
  93. package/tokens/_md-comp-assist-chip.scss +40 -7
  94. package/tokens/_md-comp-badge.scss +14 -1
  95. package/tokens/_md-comp-checkbox.scss +36 -2
  96. package/tokens/_md-comp-circular-progress.scss +17 -1
  97. package/tokens/_md-comp-dialog.scss +28 -2
  98. package/tokens/_md-comp-divider.scss +19 -2
  99. package/tokens/_md-comp-elevated-button.scss +40 -7
  100. package/tokens/_md-comp-elevated-card.scss +20 -1
  101. package/tokens/_md-comp-elevation.scss +18 -1
  102. package/tokens/_md-comp-fab-branded.scss +49 -3
  103. package/tokens/_md-comp-fab.scss +55 -2
  104. package/tokens/_md-comp-filled-button.scss +40 -7
  105. package/tokens/_md-comp-filled-card.scss +20 -1
  106. package/tokens/_md-comp-filled-field.scss +36 -2
  107. package/tokens/_md-comp-filled-icon-button.scss +35 -2
  108. package/tokens/_md-comp-filled-select.scss +35 -2
  109. package/tokens/_md-comp-filled-text-field.scss +59 -3
  110. package/tokens/_md-comp-filled-tonal-button.scss +40 -7
  111. package/tokens/_md-comp-filled-tonal-icon-button.scss +39 -2
  112. package/tokens/_md-comp-filter-chip.scss +40 -7
  113. package/tokens/_md-comp-focus-ring.scss +35 -2
  114. package/tokens/_md-comp-icon-button.scss +20 -1
  115. package/tokens/_md-comp-icon.scss +15 -1
  116. package/tokens/_md-comp-input-chip.scss +40 -7
  117. package/tokens/_md-comp-item.scss +1 -0
  118. package/tokens/_md-comp-linear-progress.scss +20 -2
  119. package/tokens/_md-comp-list-item.scss +17 -2
  120. package/tokens/_md-comp-list.scss +16 -2
  121. package/tokens/_md-comp-menu-item.scss +17 -2
  122. package/tokens/_md-comp-menu.scss +13 -3
  123. package/tokens/_md-comp-navigation-bar.scss +23 -2
  124. package/tokens/_md-comp-navigation-drawer.scss +23 -2
  125. package/tokens/_md-comp-outlined-button.scss +40 -7
  126. package/tokens/_md-comp-outlined-card.scss +20 -1
  127. package/tokens/_md-comp-outlined-field.scss +36 -2
  128. package/tokens/_md-comp-outlined-icon-button.scss +39 -2
  129. package/tokens/_md-comp-outlined-segmented-button.scss +36 -2
  130. package/tokens/_md-comp-outlined-select.scss +36 -3
  131. package/tokens/_md-comp-outlined-text-field.scss +55 -3
  132. package/tokens/_md-comp-primary-tab.scss +33 -2
  133. package/tokens/_md-comp-radio.scss +16 -1
  134. package/tokens/_md-comp-ripple.scss +12 -2
  135. package/tokens/_md-comp-secondary-tab.scss +30 -1
  136. package/tokens/_md-comp-slider.scss +13 -1
  137. package/tokens/_md-comp-suggestion-chip.scss +40 -7
  138. package/tokens/_md-comp-switch.scss +43 -2
  139. package/tokens/_md-comp-text-button.scss +40 -7
  140. package/tokens/internal/_shape.scss +93 -0
  141. package/tokens/internal/_validate.scss +1 -1
@@ -5,8 +5,10 @@
5
5
 
6
6
  // go/keep-sorted start
7
7
  @use 'sass:map';
8
+ @use 'sass:string';
8
9
  // go/keep-sorted end
9
10
  // go/keep-sorted start
11
+ @use './internal/shape';
10
12
  @use './internal/validate';
11
13
  @use './md-sys-color';
12
14
  @use './md-sys-elevation';
@@ -23,6 +25,10 @@ $supported-tokens: (
23
25
  'container-height',
24
26
  'container-shadow-color',
25
27
  'container-shape',
28
+ 'container-shape-end-end',
29
+ 'container-shape-end-start',
30
+ 'container-shape-start-end',
31
+ 'container-shape-start-start',
26
32
  'disabled-container-color',
27
33
  'disabled-container-elevation',
28
34
  'disabled-container-opacity',
@@ -76,12 +82,15 @@ $_default: (
76
82
  'md-sys-typescale': md-sys-typescale.values(),
77
83
  );
78
84
 
79
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
80
- $tokens: validate.values(
81
- md-comp-filled-button.values($deps, $exclude-hardcoded-values),
82
- $supported-tokens: $supported-tokens,
83
- $unsupported-tokens: $unsupported-tokens,
84
- $new-tokens: (
85
+ @function values(
86
+ $deps: $_default,
87
+ $exclude-hardcoded-values: false,
88
+ $exclude-custom-properties: true
89
+ ) {
90
+ $tokens: md-comp-filled-button.values($deps, $exclude-hardcoded-values);
91
+ $new-tokens: map.merge(
92
+ shape.get-new-logical-shape-tokens($tokens, 'container-shape'),
93
+ (
85
94
  // b/198759625 - Remove once spacing tokens are formally added
86
95
  // go/keep-sorted start
87
96
  'leading-space': if($exclude-hardcoded-values, null, 24px),
@@ -95,7 +104,14 @@ $_default: (
95
104
  'with-trailing-icon-trailing-space':
96
105
  if($exclude-hardcoded-values, null, 16px),
97
106
  // go/keep-sorted end
98
- ),
107
+ )
108
+ );
109
+
110
+ $tokens: validate.values(
111
+ $tokens,
112
+ $supported-tokens: $supported-tokens,
113
+ $unsupported-tokens: $unsupported-tokens,
114
+ $new-tokens: $new-tokens,
99
115
  $renamed-tokens: (
100
116
  // Remove "with-*" prefixes (b/273534858)
101
117
  'with-icon-disabled-icon-color': 'disabled-icon-color',
@@ -108,5 +124,22 @@ $_default: (
108
124
  )
109
125
  );
110
126
 
127
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
128
+ // See b/321816473.
129
+ @if not $exclude-custom-properties {
130
+ @each $token, $value in $tokens {
131
+ @if string.index($token, 'container-shape-') == 1 {
132
+ // Add fallback to shorthand for logical shape properties.
133
+ $value: var(--md-filled-button-container-shape, #{$value});
134
+ }
135
+
136
+ $tokens: map.set(
137
+ $tokens,
138
+ $token,
139
+ var(--md-filled-button-#{$token}, #{$value})
140
+ );
141
+ }
142
+ }
143
+
111
144
  @return $tokens;
112
145
  }
@@ -3,6 +3,9 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  //
5
5
 
6
+ // go/keep-sorted start
7
+ @use 'sass:map';
8
+ // go/keep-sorted end
6
9
  // go/keep-sorted start
7
10
  @use './internal/validate';
8
11
  @use './md-sys-color';
@@ -52,12 +55,28 @@ $_default: (
52
55
  'md-sys-state': md-sys-state.values(),
53
56
  );
54
57
 
55
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
58
+ @function values(
59
+ $deps: $_default,
60
+ $exclude-hardcoded-values: false,
61
+ $exclude-custom-properties: true
62
+ ) {
56
63
  $tokens: validate.values(
57
64
  md-comp-filled-card.values($deps, $exclude-hardcoded-values),
58
65
  $supported-tokens: $supported-tokens,
59
66
  $unsupported-tokens: $unsupported-tokens
60
67
  );
61
68
 
69
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
70
+ // See b/321816473.
71
+ @if not $exclude-custom-properties {
72
+ @each $token, $value in $tokens {
73
+ $tokens: map.set(
74
+ $tokens,
75
+ $token,
76
+ var(--md-filled-card-#{$token}, #{$value})
77
+ );
78
+ }
79
+ }
80
+
62
81
  @return $tokens;
63
82
  }
@@ -5,8 +5,10 @@
5
5
 
6
6
  // go/keep-sorted start
7
7
  @use 'sass:map';
8
+ @use 'sass:string';
8
9
  // go/keep-sorted end
9
10
  // go/keep-sorted start
11
+ @use './internal/shape';
10
12
  @use './internal/validate';
11
13
  @use './md-sys-color';
12
14
  @use './md-sys-shape';
@@ -22,6 +24,10 @@ $supported-tokens: (
22
24
  'bottom-space',
23
25
  'container-color',
24
26
  'container-shape',
27
+ 'container-shape-end-end',
28
+ 'container-shape-end-start',
29
+ 'container-shape-start-end',
30
+ 'container-shape-start-start',
25
31
  'content-color',
26
32
  'content-font',
27
33
  'content-line-height',
@@ -110,7 +116,11 @@ $_default: (
110
116
  'md-sys-typescale': md-sys-typescale.values(),
111
117
  );
112
118
 
113
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
119
+ @function values(
120
+ $deps: $_default,
121
+ $exclude-hardcoded-values: false,
122
+ $exclude-custom-properties: true
123
+ ) {
114
124
  $text-field: md-comp-filled-text-field.values(
115
125
  $deps,
116
126
  $exclude-hardcoded-values
@@ -249,5 +259,29 @@ $_default: (
249
259
  // go/keep-sorted end
250
260
  );
251
261
 
252
- @return validate.values($tokens, $supported-tokens: $supported-tokens);
262
+ $new-tokens: shape.get-new-logical-shape-tokens($tokens, 'container-shape');
263
+ $tokens: validate.values(
264
+ $tokens,
265
+ $supported-tokens: $supported-tokens,
266
+ $new-tokens: $new-tokens
267
+ );
268
+
269
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
270
+ // See b/321816473.
271
+ @if not $exclude-custom-properties {
272
+ @each $token, $value in $tokens {
273
+ @if string.index($token, 'container-shape-') == 1 {
274
+ // Add fallback to shorthand for logical shape properties.
275
+ $value: var(--md-filled-field-container-shape, #{$value});
276
+ }
277
+
278
+ $tokens: map.set(
279
+ $tokens,
280
+ $token,
281
+ var(--md-filled-field-#{$token}, #{$value})
282
+ );
283
+ }
284
+ }
285
+
286
+ @return $tokens;
253
287
  }
@@ -4,6 +4,11 @@
4
4
  //
5
5
 
6
6
  // go/keep-sorted start
7
+ @use 'sass:map';
8
+ @use 'sass:string';
9
+ // go/keep-sorted end
10
+ // go/keep-sorted start
11
+ @use './internal/shape';
7
12
  @use './internal/validate';
8
13
  @use './md-sys-color';
9
14
  @use './md-sys-shape';
@@ -16,6 +21,10 @@ $supported-tokens: (
16
21
  'container-color',
17
22
  'container-height',
18
23
  'container-shape',
24
+ 'container-shape-end-end',
25
+ 'container-shape-end-start',
26
+ 'container-shape-start-end',
27
+ 'container-shape-start-start',
19
28
  'container-width',
20
29
  'disabled-container-color',
21
30
  'disabled-container-opacity',
@@ -64,11 +73,18 @@ $_default: (
64
73
  'md-sys-state': md-sys-state.values(),
65
74
  );
66
75
 
67
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
76
+ @function values(
77
+ $deps: $_default,
78
+ $exclude-hardcoded-values: false,
79
+ $exclude-custom-properties: true
80
+ ) {
81
+ $tokens: md-comp-filled-icon-button.values($deps, $exclude-hardcoded-values);
82
+ $new-tokens: shape.get-new-logical-shape-tokens($tokens, 'container-shape');
68
83
  $tokens: validate.values(
69
- md-comp-filled-icon-button.values($deps, $exclude-hardcoded-values),
84
+ $tokens,
70
85
  $supported-tokens: $supported-tokens,
71
86
  $unsupported-tokens: $unsupported-tokens,
87
+ $new-tokens: $new-tokens,
72
88
  $renamed-tokens: (
73
89
  // TODO(b/292244480): remove default unselected prefix
74
90
  'toggle-unselected-focus-icon-color': 'toggle-focus-icon-color',
@@ -84,5 +100,22 @@ $_default: (
84
100
  )
85
101
  );
86
102
 
103
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
104
+ // See b/321816473.
105
+ @if not $exclude-custom-properties {
106
+ @each $token, $value in $tokens {
107
+ @if string.index($token, 'container-shape-') == 1 {
108
+ // Add fallback to shorthand for logical shape properties.
109
+ $value: var(--md-filled-icon-button-container-shape, #{$value});
110
+ }
111
+
112
+ $tokens: map.set(
113
+ $tokens,
114
+ $token,
115
+ var(--md-filled-icon-button-#{$token}, #{$value})
116
+ );
117
+ }
118
+ }
119
+
87
120
  @return $tokens;
88
121
  }
@@ -5,8 +5,10 @@
5
5
 
6
6
  // go/keep-sorted start
7
7
  @use 'sass:map';
8
+ @use 'sass:string';
8
9
  // go/keep-sorted end
9
10
  // go/keep-sorted start
11
+ @use './internal/shape';
10
12
  @use './internal/validate';
11
13
  @use './md-sys-color';
12
14
  @use './md-sys-elevation';
@@ -22,6 +24,10 @@ $supported-tokens: (
22
24
  'text-field-active-indicator-height',
23
25
  'text-field-container-color',
24
26
  'text-field-container-shape',
27
+ 'text-field-container-shape-end-end',
28
+ 'text-field-container-shape-end-start',
29
+ 'text-field-container-shape-start-end',
30
+ 'text-field-container-shape-start-start',
25
31
  'text-field-disabled-active-indicator-color',
26
32
  'text-field-disabled-active-indicator-height',
27
33
  'text-field-disabled-active-indicator-opacity',
@@ -150,7 +156,11 @@ $_default: (
150
156
  );
151
157
  }
152
158
 
153
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
159
+ @function values(
160
+ $deps: $_default,
161
+ $exclude-hardcoded-values: false,
162
+ $exclude-custom-properties: true
163
+ ) {
154
164
  $original-tokens: md-comp-filled-select.values(
155
165
  $deps,
156
166
  $exclude-hardcoded-values
@@ -159,11 +169,34 @@ $_default: (
159
169
  $original-tokens,
160
170
  _get-override-tokens($exclude-hardcoded-values)
161
171
  );
172
+ $new-tokens: shape.get-new-logical-shape-tokens(
173
+ $original-tokens,
174
+ 'text-field-container-shape'
175
+ );
176
+
162
177
  $tokens: validate.values(
163
178
  $original-tokens,
164
179
  $supported-tokens: $supported-tokens,
165
- $unsupported-tokens: $unsupported-tokens
180
+ $unsupported-tokens: $unsupported-tokens,
181
+ $new-tokens: $new-tokens
166
182
  );
167
183
 
184
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
185
+ // See b/321816473.
186
+ @if not $exclude-custom-properties {
187
+ @each $token, $value in $tokens {
188
+ @if string.index($token, 'text-field-container-shape-') == 1 {
189
+ // Add fallback to shorthand for logical shape properties.
190
+ $value: var(--md-filled-select-text-field-container-shape, #{$value});
191
+ }
192
+
193
+ $tokens: map.set(
194
+ $tokens,
195
+ $token,
196
+ var(--md-filled-select-#{$token}, #{$value})
197
+ );
198
+ }
199
+ }
200
+
168
201
  @return $tokens;
169
202
  }
@@ -5,8 +5,10 @@
5
5
 
6
6
  // go/keep-sorted start
7
7
  @use 'sass:map';
8
+ @use 'sass:string';
8
9
  // go/keep-sorted end
9
10
  // go/keep-sorted start
11
+ @use './internal/shape';
10
12
  @use './internal/validate';
11
13
  @use './md-sys-color';
12
14
  @use './md-sys-shape';
@@ -19,9 +21,14 @@ $supported-tokens: (
19
21
  // go/keep-sorted start
20
22
  'active-indicator-color',
21
23
  'active-indicator-height',
24
+ 'bottom-space',
22
25
  'caret-color',
23
26
  'container-color',
24
27
  'container-shape',
28
+ 'container-shape-end-end',
29
+ 'container-shape-end-start',
30
+ 'container-shape-start-end',
31
+ 'container-shape-start-start',
25
32
  'disabled-active-indicator-color',
26
33
  'disabled-active-indicator-height',
27
34
  'disabled-active-indicator-opacity',
@@ -60,6 +67,7 @@ $supported-tokens: (
60
67
  'error-trailing-icon-color',
61
68
  'focus-active-indicator-color',
62
69
  'focus-active-indicator-height',
70
+ 'focus-caret-color',
63
71
  'focus-input-text-color',
64
72
  'focus-label-text-color',
65
73
  'focus-leading-icon-color',
@@ -79,8 +87,10 @@ $supported-tokens: (
79
87
  'input-text-line-height',
80
88
  'input-text-placeholder-color',
81
89
  'input-text-prefix-color',
90
+ 'input-text-prefix-trailing-space',
82
91
  'input-text-size',
83
92
  'input-text-suffix-color',
93
+ 'input-text-suffix-leading-space',
84
94
  'input-text-weight',
85
95
  'label-text-color',
86
96
  'label-text-font',
@@ -91,13 +101,18 @@ $supported-tokens: (
91
101
  'label-text-weight',
92
102
  'leading-icon-color',
93
103
  'leading-icon-size',
104
+ 'leading-space',
94
105
  'supporting-text-color',
95
106
  'supporting-text-font',
96
107
  'supporting-text-line-height',
97
108
  'supporting-text-size',
98
109
  'supporting-text-weight',
110
+ 'top-space',
99
111
  'trailing-icon-color',
100
112
  'trailing-icon-size',
113
+ 'trailing-space',
114
+ 'with-label-bottom-space',
115
+ 'with-label-top-space',
101
116
  // go/keep-sorted end
102
117
  );
103
118
 
@@ -119,11 +134,35 @@ $_default: (
119
134
  'md-sys-typescale': md-sys-typescale.values(),
120
135
  );
121
136
 
122
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
137
+ @function values(
138
+ $deps: $_default,
139
+ $exclude-hardcoded-values: false,
140
+ $exclude-custom-properties: true
141
+ ) {
142
+ $tokens: md-comp-filled-text-field.values($deps, $exclude-hardcoded-values);
143
+ $new-tokens: map.merge(
144
+ shape.get-new-logical-shape-tokens($tokens, 'container-shape'),
145
+ (
146
+ 'leading-space': if($exclude-hardcoded-values, null, 16px),
147
+ 'trailing-space': if($exclude-hardcoded-values, null, 16px),
148
+ 'top-space': if($exclude-hardcoded-values, null, 16px),
149
+ 'bottom-space': if($exclude-hardcoded-values, null, 16px),
150
+ 'input-text-prefix-trailing-space':
151
+ if($exclude-hardcoded-values, null, 2px),
152
+ 'input-text-suffix-leading-space':
153
+ if($exclude-hardcoded-values, null, 2px),
154
+ 'with-label-top-space': if($exclude-hardcoded-values, null, 8px),
155
+ 'with-label-bottom-space': if($exclude-hardcoded-values, null, 8px),
156
+ // TODO(b/270705687): remove when focus-caret-color token added
157
+ 'focus-caret-color': map.get($deps, 'md-sys-color', 'primary'),
158
+ )
159
+ );
160
+
123
161
  $tokens: validate.values(
124
- md-comp-filled-text-field.values($deps, $exclude-hardcoded-values),
162
+ $tokens,
125
163
  $supported-tokens: $supported-tokens,
126
- $unsupported-tokens: $unsupported-tokens
164
+ $unsupported-tokens: $unsupported-tokens,
165
+ $new-tokens: $new-tokens
127
166
  );
128
167
 
129
168
  $tokens: map.merge(
@@ -134,5 +173,22 @@ $_default: (
134
173
  )
135
174
  );
136
175
 
176
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
177
+ // See b/321816473.
178
+ @if not $exclude-custom-properties {
179
+ @each $token, $value in $tokens {
180
+ @if string.index($token, 'container-shape-') == 1 {
181
+ // Add fallback to shorthand for logical shape properties.
182
+ $value: var(--md-filled-text-field-container-shape, #{$value});
183
+ }
184
+
185
+ $tokens: map.set(
186
+ $tokens,
187
+ $token,
188
+ var(--md-filled-text-field-#{$token}, #{$value})
189
+ );
190
+ }
191
+ }
192
+
137
193
  @return $tokens;
138
194
  }
@@ -5,8 +5,10 @@
5
5
 
6
6
  // go/keep-sorted start
7
7
  @use 'sass:map';
8
+ @use 'sass:string';
8
9
  // go/keep-sorted end
9
10
  // go/keep-sorted start
11
+ @use './internal/shape';
10
12
  @use './internal/validate';
11
13
  @use './md-sys-color';
12
14
  @use './md-sys-elevation';
@@ -23,6 +25,10 @@ $supported-tokens: (
23
25
  'container-height',
24
26
  'container-shadow-color',
25
27
  'container-shape',
28
+ 'container-shape-end-end',
29
+ 'container-shape-end-start',
30
+ 'container-shape-start-end',
31
+ 'container-shape-start-start',
26
32
  'disabled-container-color',
27
33
  'disabled-container-elevation',
28
34
  'disabled-container-opacity',
@@ -76,12 +82,15 @@ $_default: (
76
82
  'md-sys-typescale': md-sys-typescale.values(),
77
83
  );
78
84
 
79
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
80
- $tokens: validate.values(
81
- md-comp-filled-tonal-button.values($deps, $exclude-hardcoded-values),
82
- $supported-tokens: $supported-tokens,
83
- $unsupported-tokens: $unsupported-tokens,
84
- $new-tokens: (
85
+ @function values(
86
+ $deps: $_default,
87
+ $exclude-hardcoded-values: false,
88
+ $exclude-custom-properties: true
89
+ ) {
90
+ $tokens: md-comp-filled-tonal-button.values($deps, $exclude-hardcoded-values);
91
+ $new-tokens: map.merge(
92
+ shape.get-new-logical-shape-tokens($tokens, 'container-shape'),
93
+ (
85
94
  // b/198759625 - Remove once spacing tokens are formally added
86
95
  // go/keep-sorted start
87
96
  'leading-space': if($exclude-hardcoded-values, null, 24px),
@@ -95,7 +104,14 @@ $_default: (
95
104
  'with-trailing-icon-trailing-space':
96
105
  if($exclude-hardcoded-values, null, 16px),
97
106
  // go/keep-sorted end
98
- ),
107
+ )
108
+ );
109
+
110
+ $tokens: validate.values(
111
+ $tokens,
112
+ $supported-tokens: $supported-tokens,
113
+ $unsupported-tokens: $unsupported-tokens,
114
+ $new-tokens: $new-tokens,
99
115
  $renamed-tokens: (
100
116
  // Remove "with-*" prefixes (b/273534858)
101
117
  'with-icon-disabled-icon-color': 'disabled-icon-color',
@@ -108,5 +124,22 @@ $_default: (
108
124
  )
109
125
  );
110
126
 
127
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
128
+ // See b/321816473.
129
+ @if not $exclude-custom-properties {
130
+ @each $token, $value in $tokens {
131
+ @if string.index($token, 'container-shape-') == 1 {
132
+ // Add fallback to shorthand for logical shape properties.
133
+ $value: var(--md-filled-tonal-button-container-shape, #{$value});
134
+ }
135
+
136
+ $tokens: map.set(
137
+ $tokens,
138
+ $token,
139
+ var(--md-filled-tonal-button-#{$token}, #{$value})
140
+ );
141
+ }
142
+ }
143
+
111
144
  @return $tokens;
112
145
  }
@@ -4,6 +4,11 @@
4
4
  //
5
5
 
6
6
  // go/keep-sorted start
7
+ @use 'sass:map';
8
+ @use 'sass:string';
9
+ // go/keep-sorted end
10
+ // go/keep-sorted start
11
+ @use './internal/shape';
7
12
  @use './internal/validate';
8
13
  @use './md-sys-color';
9
14
  @use './md-sys-shape';
@@ -16,6 +21,10 @@ $supported-tokens: (
16
21
  'container-color',
17
22
  'container-height',
18
23
  'container-shape',
24
+ 'container-shape-end-end',
25
+ 'container-shape-end-start',
26
+ 'container-shape-start-end',
27
+ 'container-shape-start-start',
19
28
  'container-width',
20
29
  'disabled-container-color',
21
30
  'disabled-container-opacity',
@@ -64,11 +73,22 @@ $_default: (
64
73
  'md-sys-state': md-sys-state.values(),
65
74
  );
66
75
 
67
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
76
+ @function values(
77
+ $deps: $_default,
78
+ $exclude-hardcoded-values: false,
79
+ $exclude-custom-properties: true
80
+ ) {
81
+ $tokens: md-comp-filled-tonal-icon-button.values(
82
+ $deps,
83
+ $exclude-hardcoded-values
84
+ );
85
+
86
+ $new-tokens: shape.get-new-logical-shape-tokens($tokens, 'container-shape');
68
87
  $tokens: validate.values(
69
- md-comp-filled-tonal-icon-button.values($deps, $exclude-hardcoded-values),
88
+ $tokens,
70
89
  $supported-tokens: $supported-tokens,
71
90
  $unsupported-tokens: $unsupported-tokens,
91
+ $new-tokens: $new-tokens,
72
92
  $renamed-tokens: (
73
93
  // TODO(b/292244480): remove default unselected prefix
74
94
  'toggle-unselected-focus-icon-color': 'toggle-focus-icon-color',
@@ -84,5 +104,22 @@ $_default: (
84
104
  )
85
105
  );
86
106
 
107
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
108
+ // See b/321816473.
109
+ @if not $exclude-custom-properties {
110
+ @each $token, $value in $tokens {
111
+ @if string.index($token, 'container-shape-') == 1 {
112
+ // Add fallback to shorthand for logical shape properties.
113
+ $value: var(--md-filled-tonal-icon-button-container-shape, #{$value});
114
+ }
115
+
116
+ $tokens: map.set(
117
+ $tokens,
118
+ $token,
119
+ var(--md-filled-tonal-icon-button-#{$token}, #{$value})
120
+ );
121
+ }
122
+ }
123
+
87
124
  @return $tokens;
88
125
  }
@@ -5,8 +5,10 @@
5
5
 
6
6
  // go/keep-sorted start
7
7
  @use 'sass:map';
8
+ @use 'sass:string';
8
9
  // go/keep-sorted end
9
10
  // go/keep-sorted start
11
+ @use './internal/shape';
10
12
  @use './internal/validate';
11
13
  @use './md-sys-color';
12
14
  @use './md-sys-elevation';
@@ -20,6 +22,10 @@ $supported-tokens: (
20
22
  // go/keep-sorted start
21
23
  'container-height',
22
24
  'container-shape',
25
+ 'container-shape-end-end',
26
+ 'container-shape-end-start',
27
+ 'container-shape-start-end',
28
+ 'container-shape-start-start',
23
29
  'disabled-label-text-color',
24
30
  'disabled-label-text-opacity',
25
31
  'disabled-leading-icon-color',
@@ -127,12 +133,15 @@ $_default: (
127
133
  'md-sys-typescale': md-sys-typescale.values(),
128
134
  );
129
135
 
130
- @function values($deps: $_default, $exclude-hardcoded-values: false) {
131
- $tokens: validate.values(
132
- md-comp-filter-chip.values($deps, $exclude-hardcoded-values),
133
- $supported-tokens: $supported-tokens,
134
- $unsupported-tokens: $unsupported-tokens,
135
- $new-tokens: (
136
+ @function values(
137
+ $deps: $_default,
138
+ $exclude-hardcoded-values: false,
139
+ $exclude-custom-properties: true
140
+ ) {
141
+ $tokens: md-comp-filter-chip.values($deps, $exclude-hardcoded-values);
142
+ $new-tokens: map.merge(
143
+ shape.get-new-logical-shape-tokens($tokens, 'container-shape'),
144
+ (
136
145
  'leading-space': if($exclude-hardcoded-values, null, 16px),
137
146
  'trailing-space': if($exclude-hardcoded-values, null, 16px),
138
147
  'icon-label-space': if($exclude-hardcoded-values, null, 8px),
@@ -140,7 +149,14 @@ $_default: (
140
149
  if($exclude-hardcoded-values, null, 8px),
141
150
  'with-trailing-icon-trailing-space':
142
151
  if($exclude-hardcoded-values, null, 8px),
143
- ),
152
+ )
153
+ );
154
+
155
+ $tokens: validate.values(
156
+ $tokens,
157
+ $supported-tokens: $supported-tokens,
158
+ $unsupported-tokens: $unsupported-tokens,
159
+ $new-tokens: $new-tokens,
144
160
  $renamed-tokens: (
145
161
  // Remove "unselected-*" and "flat-*" prefix (b/275577569)
146
162
  'elevated-unselected-container-color': 'elevated-container-color',
@@ -230,5 +246,22 @@ $_default: (
230
246
  )
231
247
  );
232
248
 
249
+ // Default to `$exclude-custom-properties: false` in the next breaking change.
250
+ // See b/321816473.
251
+ @if not $exclude-custom-properties {
252
+ @each $token, $value in $tokens {
253
+ @if string.index($token, 'container-shape-') == 1 {
254
+ // Add fallback to shorthand for logical shape properties.
255
+ $value: var(--md-filter-chip-container-shape, #{$value});
256
+ }
257
+
258
+ $tokens: map.set(
259
+ $tokens,
260
+ $token,
261
+ var(--md-filter-chip-#{$token}, #{$value})
262
+ );
263
+ }
264
+ }
265
+
233
266
  @return $tokens;
234
267
  }