@angular/material 20.0.0-next.9 → 20.0.0-rc.1
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.
- package/badge/_badge-theme.scss +27 -14
- package/badge/_m3-badge.scss +39 -67
- package/badge/index.d.ts +2 -2
- package/badge/testing/index.d.ts +1 -1
- package/{badge.d-D0iThVg0.d.ts → badge.d-Cn81aRz4.d.ts} +2 -2
- package/button/index.d.ts +4 -4
- package/button-toggle/_m3-button-toggle.scss +1 -1
- package/checkbox/index.d.ts +4 -4
- package/checkbox/testing/index.d.ts +1 -1
- package/chips/index.d.ts +2 -2
- package/chips/testing/index.d.ts +1 -1
- package/core/color/_all-color.scss +1 -1
- package/core/m2/_typography.scss +1 -1
- package/core/theming/_all-theme.scss +41 -0
- package/core/theming/_color-api-backwards-compatibility.scss +3 -6
- package/core/theming/_definition.scss +72 -72
- package/core/theming/_inspection.scss +24 -22
- package/core/theming/_theming.scss +2 -2
- package/core/tokens/_m3-system.scss +112 -69
- package/core/tokens/_m3-tokens.scss +30 -226
- package/core/tokens/_m3-utils.scss +35 -0
- package/core/tokens/_token-utils.scss +22 -1
- package/core/tokens/m3/_index.scss +6 -8
- package/core/tokens/m3/_md-sys-color.scss +125 -137
- package/core/tokens/m3/_md-sys-elevation.scss +7 -7
- package/core/tokens/m3/_md-sys-motion.scss +27 -38
- package/core/tokens/m3/_md-sys-shape.scss +13 -16
- package/core/tokens/m3/_md-sys-state.scss +5 -5
- package/core/tokens/m3/_md-sys-typescale.scss +107 -306
- package/datepicker/index.d.ts +6 -6
- package/dialog/index.d.ts +2 -2
- package/dialog/testing/index.d.ts +4 -4
- package/{dialog.d-DsYAn2Gk.d.ts → dialog.d-hlN3f-Hk.d.ts} +1 -1
- package/fesm2022/autocomplete.mjs +23 -23
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge.mjs +14 -14
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +11 -11
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +16 -16
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +21 -21
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card.mjs +47 -47
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +13 -13
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips.mjs +49 -49
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/{common-module-DZl8g1kc.mjs → common-module-CF0eSYO4.mjs} +5 -5
- package/fesm2022/{common-module-DZl8g1kc.mjs.map → common-module-CF0eSYO4.mjs.map} +1 -1
- package/fesm2022/core.mjs +24 -24
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +94 -94
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog/testing.mjs +2 -2
- package/fesm2022/dialog.mjs +2 -2
- package/fesm2022/divider.mjs +8 -8
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/{error-options-BWOa3B4G.mjs → error-options-CbAHLQL5.mjs} +7 -7
- package/fesm2022/{error-options-BWOa3B4G.mjs.map → error-options-CbAHLQL5.mjs.map} +1 -1
- package/fesm2022/expansion.mjs +27 -27
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/{form-field-BZd6Vhww.mjs → form-field-sL9_TuE-.mjs} +70 -62
- package/fesm2022/form-field-sL9_TuE-.mjs.map +1 -0
- package/fesm2022/form-field.mjs +3 -3
- package/fesm2022/grid-list.mjs +24 -24
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon/testing.mjs +8 -8
- package/fesm2022/icon/testing.mjs.map +1 -1
- package/fesm2022/{icon-button-4VvBKIK4.mjs → icon-button-BASP1JI8.mjs} +12 -12
- package/fesm2022/icon-button-BASP1JI8.mjs.map +1 -0
- package/fesm2022/{icon-registry-Bk5cM8Z5.mjs → icon-registry-DVLYRZv3.mjs} +4 -4
- package/fesm2022/{icon-registry-Bk5cM8Z5.mjs.map → icon-registry-DVLYRZv3.mjs.map} +1 -1
- package/fesm2022/icon.mjs +12 -12
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/index-BNtCg9r0.mjs +22 -0
- package/fesm2022/{index-BHJ4tVIe.mjs.map → index-BNtCg9r0.mjs.map} +1 -1
- package/fesm2022/index-DxCSjCL3.mjs +20 -0
- package/fesm2022/{index-D2rZ0V78.mjs.map → index-DxCSjCL3.mjs.map} +1 -1
- package/fesm2022/input.mjs +12 -12
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/{internal-form-field-DVvKYBKJ.mjs → internal-form-field-_OHaksOO.mjs} +4 -4
- package/fesm2022/{internal-form-field-DVvKYBKJ.mjs.map → internal-form-field-_OHaksOO.mjs.map} +1 -1
- package/fesm2022/{line-Dwrcg_t9.mjs → line-CtAKiRo6.mjs} +9 -9
- package/fesm2022/{line-Dwrcg_t9.mjs.map → line-CtAKiRo6.mjs.map} +1 -1
- package/fesm2022/list.mjs +59 -59
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu.mjs +20 -20
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/{module-D-cNfopD.mjs → module-ChwDH6BC.mjs} +28 -28
- package/fesm2022/module-ChwDH6BC.mjs.map +1 -0
- package/fesm2022/{module-CTd5xD2i.mjs → module-DToxyW7l.mjs} +7 -7
- package/fesm2022/{module-CTd5xD2i.mjs.map → module-DToxyW7l.mjs.map} +1 -1
- package/fesm2022/{module-qRXgbi2L.mjs → module-DqTK2swA.mjs} +17 -17
- package/fesm2022/{module-qRXgbi2L.mjs.map → module-DqTK2swA.mjs.map} +1 -1
- package/fesm2022/{module-X29xYsIk.mjs → module-m5vWw9-5.mjs} +12 -12
- package/fesm2022/{module-X29xYsIk.mjs.map → module-m5vWw9-5.mjs.map} +1 -1
- package/fesm2022/{option-MOeehkAg.mjs → option-hkPAbXDN.mjs} +10 -10
- package/fesm2022/{option-MOeehkAg.mjs.map → option-hkPAbXDN.mjs.map} +1 -1
- package/fesm2022/paginator.mjs +27 -27
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +10 -10
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +10 -10
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/{pseudo-checkbox-BFGIaGxz.mjs → pseudo-checkbox-Ddidc23S.mjs} +4 -4
- package/fesm2022/{pseudo-checkbox-BFGIaGxz.mjs.map → pseudo-checkbox-Ddidc23S.mjs.map} +1 -1
- package/fesm2022/pseudo-checkbox-module--am9-RIA.mjs +20 -0
- package/fesm2022/{pseudo-checkbox-module-Dxth-mPi.mjs.map → pseudo-checkbox-module--am9-RIA.mjs.map} +1 -1
- package/fesm2022/radio.mjs +19 -19
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/{ripple-CuyVtN3V.mjs → ripple-DUGA2BAa.mjs} +7 -7
- package/fesm2022/{ripple-CuyVtN3V.mjs.map → ripple-DUGA2BAa.mjs.map} +1 -1
- package/fesm2022/{ripple-loader-pOctSZby.mjs → ripple-loader-Xy4bv6Xh.mjs} +5 -5
- package/fesm2022/{ripple-loader-pOctSZby.mjs.map → ripple-loader-Xy4bv6Xh.mjs.map} +1 -1
- package/fesm2022/select.mjs +12 -12
- package/fesm2022/sidenav.mjs +23 -23
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +13 -13
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider.mjs +23 -23
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +28 -28
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort.mjs +15 -15
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper.mjs +43 -43
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/{structural-styles-CasigI3l.mjs → structural-styles-DA18Hchc.mjs} +4 -4
- package/fesm2022/{structural-styles-CasigI3l.mjs.map → structural-styles-DA18Hchc.mjs.map} +1 -1
- package/fesm2022/table.mjs +56 -56
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs.mjs +54 -54
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +20 -20
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +13 -13
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +2 -2
- package/fesm2022/tree.mjs +26 -26
- package/fesm2022/tree.mjs.map +1 -1
- package/form-field/index.d.ts +2 -2
- package/{form-field.d-b9aHrR4I.d.ts → form-field.d-C6p5uYjG.d.ts} +8 -6
- package/icon/index.d.ts +1 -1
- package/{icon-module.d-sA1hmRKS.d.ts → icon-module.d-COXCrhrh.d.ts} +4 -4
- package/input/index.d.ts +4 -4
- package/list/index.d.ts +4 -4
- package/{module.d-BGzxQfCs.d.ts → module.d-D1Ym5Wf2.d.ts} +1 -1
- package/{module.d-CH_8jCsD.d.ts → module.d-DMabQ4_c.d.ts} +2 -2
- package/package.json +2 -2
- package/paginator/index.d.ts +5 -5
- package/paginator/testing/index.d.ts +2 -2
- package/{paginator.d-3kymf0wo.d.ts → paginator.d-DuJ-oYgT.d.ts} +3 -3
- package/prebuilt-themes/azure-blue.css +1 -1
- package/prebuilt-themes/cyan-orange.css +1 -1
- package/prebuilt-themes/magenta-violet.css +1 -1
- package/prebuilt-themes/rose-red.css +1 -1
- package/progress-bar/index.d.ts +4 -4
- package/progress-spinner/index.d.ts +2 -2
- package/progress-spinner/testing/index.d.ts +1 -1
- package/{progress-spinner.d-DtYCWeYd.d.ts → progress-spinner.d-Lfz4Wh5x.d.ts} +4 -4
- package/radio/index.d.ts +6 -6
- package/radio/testing/index.d.ts +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/schema.json +4 -4
- package/schematics/ng-add/theming/create-custom-theme.js +1 -1
- package/schematics/ng-generate/theme-color/index_bundled.js +2 -2
- package/schematics/ng-generate/theme-color/index_bundled.js.map +1 -1
- package/schematics/ng-update/index_bundled.js +54 -2
- package/schematics/ng-update/index_bundled.js.map +1 -1
- package/select/index.d.ts +3 -3
- package/slide-toggle/index.d.ts +4 -4
- package/slide-toggle/testing/index.d.ts +1 -1
- package/slider/index.d.ts +3 -3
- package/stepper/index.d.ts +7 -7
- package/table/index.d.ts +2 -2
- package/tabs/index.d.ts +8 -8
- package/toolbar/index.d.ts +2 -2
- package/tree/testing/index.d.ts +1 -1
- package/core/tokens/m3/_md-ref-palette.scss +0 -100
- package/core/tokens/m3/_md-ref-typeface.scss +0 -14
- package/fesm2022/form-field-BZd6Vhww.mjs.map +0 -1
- package/fesm2022/icon-button-4VvBKIK4.mjs.map +0 -1
- package/fesm2022/index-BHJ4tVIe.mjs +0 -22
- package/fesm2022/index-D2rZ0V78.mjs +0 -20
- package/fesm2022/module-D-cNfopD.mjs.map +0 -1
- package/fesm2022/pseudo-checkbox-module-Dxth-mPi.mjs +0 -20
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@use '../style/validation';
|
|
4
4
|
@use './m2-inspection';
|
|
5
5
|
|
|
6
|
-
$
|
|
6
|
+
$internals: _mat-theming-internals-do-not-access;
|
|
7
7
|
|
|
8
8
|
$_m3-typescales: (
|
|
9
9
|
display-large,
|
|
@@ -30,7 +30,7 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
30
30
|
/// @return {Boolean|Null} true if the theme has errors, else null.
|
|
31
31
|
@function _validate-theme-object($theme) {
|
|
32
32
|
$err: validation.validate-type($theme, 'map') or
|
|
33
|
-
map.get($theme, $
|
|
33
|
+
map.get($theme, $internals, theme-version) == null;
|
|
34
34
|
@return if($err, true, null);
|
|
35
35
|
}
|
|
36
36
|
|
|
@@ -40,7 +40,7 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
40
40
|
/// @return {Number} The version number of the theme (0 if unknown).
|
|
41
41
|
@function get-theme-version($theme) {
|
|
42
42
|
$err: _validate-theme-object($theme);
|
|
43
|
-
@return if($err, 0, map.get($theme, $
|
|
43
|
+
@return if($err, 0, map.get($theme, $internals, theme-version) or 0);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/// Gets the type of theme represented by a theme object (light or dark).
|
|
@@ -55,13 +55,15 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
55
55
|
@if not theme-has($theme, color) {
|
|
56
56
|
@error 'Color information is not available on this theme.';
|
|
57
57
|
}
|
|
58
|
-
@return map.get($theme, $
|
|
58
|
+
@return map.get($theme, $internals, theme-type) or light;
|
|
59
59
|
}
|
|
60
60
|
@else {
|
|
61
61
|
@error #{'Unrecognized theme version:'} $version;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
|
|
66
|
+
|
|
65
67
|
/// Gets a color from a theme object. This function take a different amount of arguments depending
|
|
66
68
|
/// on if it's working with an M2 or M3 theme:
|
|
67
69
|
/// - With an M3 theme it accepts either 2 or 3 arguments. If 2 arguments are passed, the second
|
|
@@ -119,7 +121,7 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
119
121
|
@if not theme-has($theme, color) {
|
|
120
122
|
@error 'Color information is not available on this theme.';
|
|
121
123
|
}
|
|
122
|
-
$color-roles: map.get($theme, $
|
|
124
|
+
$color-roles: map.get($theme, $internals, color-tokens, (mat, theme));
|
|
123
125
|
$result: map.get($color-roles, $color-role-name);
|
|
124
126
|
@if not $result {
|
|
125
127
|
@error #{'Valid color roles are: #{map.keys($color-roles)}. Got:'} $color-role-name;
|
|
@@ -141,7 +143,7 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
141
143
|
@if not theme-has($theme, color) {
|
|
142
144
|
@error 'Color information is not available on this theme.';
|
|
143
145
|
}
|
|
144
|
-
$palettes: map.get($theme, $
|
|
146
|
+
$palettes: map.get($theme, $internals, palettes);
|
|
145
147
|
$palette: map.get($palettes, $palette-name);
|
|
146
148
|
@if not $palette {
|
|
147
149
|
$supported-palettes: map.keys($palettes);
|
|
@@ -185,7 +187,7 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
185
187
|
font-weight: '-weight'
|
|
186
188
|
), $property);
|
|
187
189
|
$token-name: '#{$typescale}#{$property-key}';
|
|
188
|
-
@return map.get($theme, $
|
|
190
|
+
@return map.get($theme, $internals, typography-tokens, (mat, typography), $token-name);
|
|
189
191
|
}
|
|
190
192
|
@else {
|
|
191
193
|
@error #{'Unrecognized theme version:'} $version;
|
|
@@ -204,7 +206,7 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
204
206
|
@if not theme-has($theme, density) {
|
|
205
207
|
@error 'Density information is not available on this theme.';
|
|
206
208
|
}
|
|
207
|
-
@return map.get($theme, $
|
|
209
|
+
@return map.get($theme, $internals, density-scale);
|
|
208
210
|
}
|
|
209
211
|
@else {
|
|
210
212
|
@error #{'Unrecognized theme version:'} $version;
|
|
@@ -222,18 +224,18 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
222
224
|
}
|
|
223
225
|
@else if $version == 1 {
|
|
224
226
|
@if $system == base {
|
|
225
|
-
@return map.get($theme, $
|
|
227
|
+
@return map.get($theme, $internals, base-tokens) != null;
|
|
226
228
|
}
|
|
227
229
|
@if $system == color {
|
|
228
|
-
@return map.get($theme, $
|
|
229
|
-
map.get($theme, $
|
|
230
|
-
map.get($theme, $
|
|
230
|
+
@return map.get($theme, $internals, color-tokens) != null and
|
|
231
|
+
map.get($theme, $internals, theme-type) != null and
|
|
232
|
+
map.get($theme, $internals, palettes) != null;
|
|
231
233
|
}
|
|
232
234
|
@if $system == typography {
|
|
233
|
-
@return map.get($theme, $
|
|
235
|
+
@return map.get($theme, $internals, typography-tokens) != null;
|
|
234
236
|
}
|
|
235
237
|
@if $system == density {
|
|
236
|
-
@return map.get($theme, $
|
|
238
|
+
@return map.get($theme, $internals, density-scale) != null;
|
|
237
239
|
}
|
|
238
240
|
@error 'Valid systems are: base, color, typography, density. Got:' $system;
|
|
239
241
|
}
|
|
@@ -259,19 +261,19 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
259
261
|
@else if $version == 1 {
|
|
260
262
|
@each $system in $systems {
|
|
261
263
|
@if $system == base {
|
|
262
|
-
$theme: map.deep-remove($theme, $
|
|
264
|
+
$theme: map.deep-remove($theme, $internals, base-tokens);
|
|
263
265
|
}
|
|
264
266
|
@else if $system == color {
|
|
265
|
-
$theme: map.deep-remove($theme, $
|
|
266
|
-
$theme: map.deep-remove($theme, $
|
|
267
|
-
$theme: map.deep-remove($theme, $
|
|
267
|
+
$theme: map.deep-remove($theme, $internals, color-tokens);
|
|
268
|
+
$theme: map.deep-remove($theme, $internals, theme-type);
|
|
269
|
+
$theme: map.deep-remove($theme, $internals, palettes);
|
|
268
270
|
}
|
|
269
271
|
@else if $system == typography {
|
|
270
|
-
$theme: map.deep-remove($theme, $
|
|
272
|
+
$theme: map.deep-remove($theme, $internals, typography-tokens);
|
|
271
273
|
}
|
|
272
274
|
@else if $system == density {
|
|
273
|
-
$theme: map.deep-remove($theme, $
|
|
274
|
-
$theme: map.deep-remove($theme, $
|
|
275
|
+
$theme: map.deep-remove($theme, $internals, density-scale);
|
|
276
|
+
$theme: map.deep-remove($theme, $internals, density-tokens);
|
|
275
277
|
}
|
|
276
278
|
}
|
|
277
279
|
@return $theme;
|
|
@@ -297,7 +299,7 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
297
299
|
}
|
|
298
300
|
$result: ();
|
|
299
301
|
@each $system in $systems {
|
|
300
|
-
$result: map.deep-merge($result, map.get($theme, $
|
|
302
|
+
$result: map.deep-merge($result, map.get($theme, $internals, '#{$system}-tokens') or ());
|
|
301
303
|
}
|
|
302
304
|
|
|
303
305
|
@return $result;
|
|
@@ -15,13 +15,13 @@ $_generate-default-density: true !default;
|
|
|
15
15
|
|
|
16
16
|
// Warning that will be printed if duplicated styles are generated by a theme.
|
|
17
17
|
$_duplicate-warning: 'Read more about how style duplication can be avoided in a dedicated ' +
|
|
18
|
-
'guide. https://v18.material.angular.
|
|
18
|
+
'guide. https://v18.material.angular.dev/guide/duplicate-theming-styles';
|
|
19
19
|
|
|
20
20
|
// Warning that will be printed if the legacy theming API is used.
|
|
21
21
|
$private-legacy-theme-warning: 'Angular Material themes should be created from a map containing ' +
|
|
22
22
|
'the keys "color", "typography", and "density". The color value should be a map containing the ' +
|
|
23
23
|
'palette values for "primary", "accent", and "warn". ' +
|
|
24
|
-
'See https://material.angular.
|
|
24
|
+
'See https://material.angular.dev/guide/theming for more information.';
|
|
25
25
|
|
|
26
26
|
// Flag whether to disable theme definitions copying color values to the top-level theme config.
|
|
27
27
|
// This copy is to preserve backwards compatibility.
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
@use '../style/sass-utils';
|
|
20
20
|
@use '../theming/config-validation';
|
|
21
21
|
@use '../theming/definition';
|
|
22
|
+
@use '../theming/palettes';
|
|
22
23
|
@use './m3';
|
|
23
24
|
@use './m3-tokens';
|
|
24
25
|
@use 'sass:list';
|
|
@@ -63,9 +64,40 @@
|
|
|
63
64
|
$color: map.set($color, theme-type, color-scheme);
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
$color-config:
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
$color-config: $color;
|
|
68
|
+
@if ($is-palette) {
|
|
69
|
+
$color: map.set($color, tertiary, $color);
|
|
70
|
+
$color-config: (
|
|
71
|
+
definition.$internals: (
|
|
72
|
+
palettes: (
|
|
73
|
+
primary: map.remove($color, neutral, neutral-variant, secondary),
|
|
74
|
+
secondary: map.get($color, secondary),
|
|
75
|
+
tertiary: map.remove($color, neutral, neutral-variant, secondary, error),
|
|
76
|
+
neutral: map.get($color, neutral),
|
|
77
|
+
neutral-variant: map.get($color, neutral-variant),
|
|
78
|
+
error: map.get($color, error),
|
|
79
|
+
),
|
|
80
|
+
theme-type: color-scheme,
|
|
81
|
+
)
|
|
82
|
+
);
|
|
83
|
+
} @else {
|
|
84
|
+
$primary: map.get($color, primary) or palettes.$violet-palette;
|
|
85
|
+
$tertiary: map.get($color, tertiary) or $primary;
|
|
86
|
+
$color-config: (
|
|
87
|
+
definition.$internals: (
|
|
88
|
+
palettes: (
|
|
89
|
+
primary: map.remove($primary, neutral, neutral-variant, secondary),
|
|
90
|
+
secondary: map.get($primary, secondary),
|
|
91
|
+
tertiary: map.remove($tertiary, neutral, neutral-variant, secondary, error),
|
|
92
|
+
neutral: map.get($primary, neutral),
|
|
93
|
+
neutral-variant: map.get($primary, neutral-variant),
|
|
94
|
+
error: map.get($primary, error),
|
|
95
|
+
),
|
|
96
|
+
theme-type: map.get($color, theme-type),
|
|
97
|
+
)
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
|
|
69
101
|
@include system-level-colors($color-config, $overrides, definition.$system-fallback-prefix);
|
|
70
102
|
@include system-level-elevation($color-config, $overrides, definition.$system-fallback-prefix);
|
|
71
103
|
}
|
|
@@ -73,9 +105,31 @@
|
|
|
73
105
|
$typography: map.get($config, typography);
|
|
74
106
|
$typography-config: null;
|
|
75
107
|
@if ($typography) {
|
|
76
|
-
$
|
|
77
|
-
|
|
78
|
-
|
|
108
|
+
$plain: (Roboto, sans-serif);
|
|
109
|
+
$brand: $plain;
|
|
110
|
+
$bold: 700;
|
|
111
|
+
$medium: 500;
|
|
112
|
+
$regular: 400;
|
|
113
|
+
@if (meta.type-of($typography) == map) {
|
|
114
|
+
$plain: map.get($typography, plain-family);
|
|
115
|
+
$brand: map.get($typography, brand-family) or $plain;
|
|
116
|
+
$bold: map.get($typography, bold-weight) or $bold;
|
|
117
|
+
$medium: map.get($typography, medium-weight) or $medium;
|
|
118
|
+
$regular: map.get($typography, regular-weight) or $regular;
|
|
119
|
+
} @else {
|
|
120
|
+
$plain: $typography;
|
|
121
|
+
}
|
|
122
|
+
$typography-config: (
|
|
123
|
+
definition.$internals: (
|
|
124
|
+
font-definition: (
|
|
125
|
+
plain: $plain,
|
|
126
|
+
brand: $brand,
|
|
127
|
+
bold: $bold,
|
|
128
|
+
medium: $medium,
|
|
129
|
+
regular: $regular,
|
|
130
|
+
)
|
|
131
|
+
)
|
|
132
|
+
);
|
|
79
133
|
@include system-level-typography(
|
|
80
134
|
$typography-config, $overrides, definition.$system-fallback-prefix);
|
|
81
135
|
}
|
|
@@ -83,10 +137,12 @@
|
|
|
83
137
|
$density: map.get($config, density);
|
|
84
138
|
$density-config: null;
|
|
85
139
|
@if ($density) {
|
|
86
|
-
$
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
140
|
+
$scale: 0;
|
|
141
|
+
@if (meta.type-of($density) == map) {
|
|
142
|
+
$scale: map.get($density, scale);
|
|
143
|
+
} @else {
|
|
144
|
+
$scale: $density;
|
|
145
|
+
}
|
|
90
146
|
@if ($scale != 0) {
|
|
91
147
|
// Emit component-level density tokens if the scale is lower than 0. The density tokens
|
|
92
148
|
// do not fallback to any system-level values and must be defined if the scale is different.
|
|
@@ -130,8 +186,14 @@
|
|
|
130
186
|
/// change the primary color to red, use `mat.theme-overrides((primary: red));`
|
|
131
187
|
@mixin theme-overrides($overrides, $prefix: definition.$system-fallback-prefix) {
|
|
132
188
|
$sys-names: map-merge-all(
|
|
133
|
-
m3.md-sys-color-values-light(),
|
|
134
|
-
m3.md-sys-typescale-values(
|
|
189
|
+
m3.md-sys-color-values-light(palettes.$blue-palette),
|
|
190
|
+
m3.md-sys-typescale-values((
|
|
191
|
+
brand: (Roboto),
|
|
192
|
+
plain: (Roboto),
|
|
193
|
+
bold: 700,
|
|
194
|
+
medium: 500,
|
|
195
|
+
regular: 400
|
|
196
|
+
)),
|
|
135
197
|
m3.md-sys-elevation-values(),
|
|
136
198
|
m3.md-sys-shape-values(),
|
|
137
199
|
m3.md-sys-state-values());
|
|
@@ -146,36 +208,21 @@
|
|
|
146
208
|
}
|
|
147
209
|
|
|
148
210
|
@mixin system-level-colors($theme, $overrides: (), $prefix: null) {
|
|
149
|
-
$palettes: map.get($theme,
|
|
150
|
-
$
|
|
151
|
-
neutral: map.get($palettes, neutral),
|
|
152
|
-
neutral-variant: map.get($palettes, neutral-variant),
|
|
153
|
-
secondary: map.get($palettes, secondary),
|
|
154
|
-
error: map.get($palettes, error),
|
|
155
|
-
);
|
|
156
|
-
|
|
157
|
-
$type: map.get($theme, _mat-theming-internals-do-not-access, theme-type);
|
|
158
|
-
$primary: map.merge(map.get($palettes, primary), $base-palettes);
|
|
159
|
-
$tertiary: map.merge(map.get($palettes, tertiary), $base-palettes);
|
|
160
|
-
$error: map.get($palettes, error);
|
|
211
|
+
$palettes: map.get($theme, definition.$internals, palettes);
|
|
212
|
+
$type: map.get($theme, definition.$internals, theme-type);
|
|
161
213
|
|
|
162
214
|
@if (not $prefix) {
|
|
163
|
-
$prefix: map.get($theme,
|
|
215
|
+
$prefix: map.get($theme, definition.$internals,
|
|
164
216
|
color-system-variables-prefix) or definition.$system-level-prefix;
|
|
165
217
|
}
|
|
166
218
|
|
|
167
|
-
$ref: (
|
|
168
|
-
md-ref-palette: m3-tokens.generate-ref-palette-tokens($primary, $tertiary, $error)
|
|
169
|
-
);
|
|
170
219
|
|
|
171
|
-
$sys-colors: _generate-sys-colors($
|
|
220
|
+
$sys-colors: _generate-sys-colors($palettes, $type);
|
|
172
221
|
|
|
173
222
|
// Manually insert a subset of palette values that are used directly by components
|
|
174
223
|
// instead of system variables.
|
|
175
|
-
$sys-colors: map.set($sys-colors,
|
|
176
|
-
|
|
177
|
-
$sys-colors: map.set($sys-colors,
|
|
178
|
-
'neutral10', map.get($ref, md-ref-palette, neutral10));
|
|
224
|
+
$sys-colors: map.set($sys-colors, neutral-variant20, map.get($palettes, neutral-variant, 20));
|
|
225
|
+
$sys-colors: map.set($sys-colors, neutral10, map.get($palettes, neutral, 10));
|
|
179
226
|
|
|
180
227
|
& {
|
|
181
228
|
@each $name, $value in $sys-colors {
|
|
@@ -184,13 +231,13 @@
|
|
|
184
231
|
}
|
|
185
232
|
}
|
|
186
233
|
|
|
187
|
-
@function _generate-sys-colors($
|
|
188
|
-
$light-sys-colors: m3.md-sys-color-values-light($
|
|
234
|
+
@function _generate-sys-colors($palettes, $type) {
|
|
235
|
+
$light-sys-colors: m3.md-sys-color-values-light($palettes);
|
|
189
236
|
@if ($type == light) {
|
|
190
237
|
@return $light-sys-colors;
|
|
191
238
|
}
|
|
192
239
|
|
|
193
|
-
$dark-sys-colors: m3.md-sys-color-values-dark($
|
|
240
|
+
$dark-sys-colors: m3.md-sys-color-values-dark($palettes);
|
|
194
241
|
@if ($type == dark) {
|
|
195
242
|
@return $dark-sys-colors;
|
|
196
243
|
}
|
|
@@ -209,23 +256,15 @@
|
|
|
209
256
|
}
|
|
210
257
|
|
|
211
258
|
@mixin system-level-typography($theme, $overrides: (), $prefix: null) {
|
|
212
|
-
$font-definition: map.get($theme,
|
|
213
|
-
$brand: map.get($font-definition, brand);
|
|
214
|
-
$plain: map.get($font-definition, plain);
|
|
215
|
-
$bold: map.get($font-definition, bold);
|
|
216
|
-
$medium: map.get($font-definition, medium);
|
|
217
|
-
$regular: map.get($font-definition, regular);
|
|
218
|
-
$ref: (md-ref-typeface:
|
|
219
|
-
m3-tokens.generate-ref-typeface-tokens($brand, $plain, $bold, $medium, $regular)
|
|
220
|
-
);
|
|
259
|
+
$font-definition: map.get($theme, definition.$internals, font-definition);
|
|
221
260
|
|
|
222
261
|
@if (not $prefix) {
|
|
223
|
-
$prefix: map.get($theme,
|
|
262
|
+
$prefix: map.get($theme, definition.$internals,
|
|
224
263
|
typography-system-variables-prefix) or definition.$system-level-prefix;
|
|
225
264
|
}
|
|
226
265
|
|
|
227
266
|
& {
|
|
228
|
-
@each $name, $value in m3.md-sys-typescale-values($
|
|
267
|
+
@each $name, $value in m3.md-sys-typescale-values($font-definition) {
|
|
229
268
|
--#{$prefix}-#{$name}: #{map.get($overrides, $name) or $value};
|
|
230
269
|
}
|
|
231
270
|
}
|
|
@@ -233,7 +272,7 @@
|
|
|
233
272
|
|
|
234
273
|
@mixin system-level-elevation($theme, $overrides: (), $prefix: definition.$system-level-prefix) {
|
|
235
274
|
$shadow-color: map.get(
|
|
236
|
-
$theme,
|
|
275
|
+
$theme, definition.$internals, palettes, neutral, 0);
|
|
237
276
|
|
|
238
277
|
@each $name, $value in m3.md-sys-elevation-values() {
|
|
239
278
|
$level: map.get($overrides, $name) or $value;
|
|
@@ -275,27 +314,6 @@
|
|
|
275
314
|
// system fallback variables referencing Material's system keys.
|
|
276
315
|
// Includes density token fallbacks where density is 0.
|
|
277
316
|
@function create-system-fallbacks() {
|
|
278
|
-
$app-vars: (
|
|
279
|
-
'md-sys-color':
|
|
280
|
-
_create-system-app-vars-map(m3.md-sys-color-values-light()),
|
|
281
|
-
'md-sys-typescale':
|
|
282
|
-
_create-system-app-vars-map(m3.md-sys-typescale-values()),
|
|
283
|
-
'md-sys-elevation':
|
|
284
|
-
_create-system-app-vars-map(m3.md-sys-elevation-values()),
|
|
285
|
-
'md-sys-state':
|
|
286
|
-
_create-system-app-vars-map(m3.md-sys-state-values()),
|
|
287
|
-
'md-sys-shape':
|
|
288
|
-
_create-system-app-vars-map(m3.md-sys-shape-values()),
|
|
289
|
-
// Add a subset of palette-specific colors used by components instead of system values
|
|
290
|
-
'md-ref-palette':
|
|
291
|
-
_create-system-app-vars-map(
|
|
292
|
-
(
|
|
293
|
-
neutral10: '', // Form field native select option text color
|
|
294
|
-
neutral-variant20: '', // Sidenav scrim (container background shadow when opened),
|
|
295
|
-
)
|
|
296
|
-
),
|
|
297
|
-
);
|
|
298
|
-
|
|
299
317
|
@return sass-utils.deep-merge-all(
|
|
300
318
|
m3-tokens.generate-tokens($app-vars, true, true),
|
|
301
319
|
get-density-tokens(0),
|
|
@@ -310,3 +328,28 @@
|
|
|
310
328
|
}
|
|
311
329
|
@return $result;
|
|
312
330
|
}
|
|
331
|
+
|
|
332
|
+
$placeholder-palettes: m3.md-sys-color-values-light(palettes.$blue-palette);
|
|
333
|
+
$placeholder-palettes: map.set($placeholder-palettes, primary, palettes.$blue-palette);
|
|
334
|
+
$app-vars: (
|
|
335
|
+
'md-sys-color': _create-system-app-vars-map(m3.md-sys-color-values-light($placeholder-palettes)),
|
|
336
|
+
'md-sys-typescale': _create-system-app-vars-map(m3.md-sys-typescale-values((
|
|
337
|
+
brand: (Roboto),
|
|
338
|
+
plain: (Roboto),
|
|
339
|
+
bold: 700,
|
|
340
|
+
medium: 500,
|
|
341
|
+
regular: 400
|
|
342
|
+
))),
|
|
343
|
+
'md-sys-elevation': _create-system-app-vars-map(m3.md-sys-elevation-values()),
|
|
344
|
+
'md-sys-state': _create-system-app-vars-map(m3.md-sys-state-values()),
|
|
345
|
+
'md-sys-shape': _create-system-app-vars-map(m3.md-sys-shape-values()),
|
|
346
|
+
// Add a subset of palette-specific colors used by components instead of system values
|
|
347
|
+
'md-ref-palette': _create-system-app-vars-map(
|
|
348
|
+
(
|
|
349
|
+
neutral10: '', // Form field native select option text color
|
|
350
|
+
neutral-variant20: '', // Sidenav scrim (container background shadow when opened),
|
|
351
|
+
)
|
|
352
|
+
),
|
|
353
|
+
);
|
|
354
|
+
|
|
355
|
+
$theme-with-system-vars: (definition.$internals: $app-vars);
|