@angular/material 20.0.0-rc.1 → 20.0.0-rc.2
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/autocomplete/_autocomplete-theme.scss +17 -37
- package/autocomplete/_m2-autocomplete.scss +3 -6
- package/autocomplete/_m3-autocomplete.scss +14 -9
- package/badge/_badge-theme.scss +9 -35
- package/badge/_m2-badge.scss +32 -35
- package/badge/_m3-badge.scss +31 -32
- package/bottom-sheet/_bottom-sheet-theme.scss +16 -27
- package/bottom-sheet/_m2-bottom-sheet.scss +11 -11
- package/bottom-sheet/_m3-bottom-sheet.scss +18 -17
- package/button/_button-theme.scss +29 -46
- package/button/_fab-theme.scss +22 -41
- package/button/_icon-button-theme.scss +29 -46
- package/button/_m2-button.scss +135 -133
- package/button/_m2-fab.scss +51 -53
- package/button/_m2-icon-button.scss +14 -17
- package/button/_m3-button.scss +145 -240
- package/button/_m3-fab.scss +69 -166
- package/button/_m3-icon-button.scss +28 -56
- package/button-toggle/_button-toggle-theme.scss +23 -49
- package/button-toggle/_m2-button-toggle.scss +45 -37
- package/button-toggle/_m3-button-toggle.scss +53 -53
- package/card/_card-theme.scss +16 -37
- package/card/_m2-card.scss +24 -25
- package/card/_m3-card.scss +32 -36
- package/checkbox/_checkbox-theme.scss +25 -52
- package/checkbox/_m2-checkbox.scss +32 -35
- package/checkbox/_m3-checkbox.scss +49 -84
- package/chips/_chips-theme.scss +24 -44
- package/chips/_m2-chip.scss +47 -51
- package/chips/_m3-chip.scss +63 -110
- package/core/_core-theme.scss +58 -56
- package/core/_core.scss +15 -18
- package/core/_m2-app.scss +3 -7
- package/core/_m3-app.scss +37 -24
- package/core/option/_m2-optgroup.scss +6 -9
- package/core/option/_m2-option.scss +10 -13
- package/core/option/_m3-optgroup.scss +16 -13
- package/core/option/_m3-option.scss +28 -48
- package/core/option/_optgroup-theme.scss +14 -25
- package/core/option/_option-theme.scss +22 -33
- package/core/ripple/_m2-ripple.scss +1 -4
- package/core/ripple/_m3-ripple.scss +11 -13
- package/core/ripple/_ripple-theme.scss +15 -33
- package/core/ripple/_ripple.scss +5 -5
- package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +10 -11
- package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +25 -40
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +16 -27
- package/core/style/_sass-utils.scss +0 -29
- package/core/theming/_color-api-backwards-compatibility.scss +46 -29
- package/core/theming/_definition.scss +6 -0
- package/core/theming/_inspection.scss +0 -25
- package/core/tokens/_m3-system.scss +19 -68
- package/core/tokens/_m3-tokens.scss +0 -128
- package/core/tokens/_m3-utils.scss +11 -83
- package/core/tokens/_token-utils.scss +52 -246
- package/core/tokens/m3/_index.scss +1 -0
- package/core/tokens/m3/_theme.scss +47 -0
- package/datepicker/_datepicker-theme.scss +24 -39
- package/datepicker/_m2-datepicker.scss +55 -50
- package/datepicker/_m3-datepicker.scss +65 -113
- package/datepicker/index.d.ts +1 -0
- package/dialog/_dialog-theme.scss +15 -27
- package/dialog/_m2-dialog.scss +25 -26
- package/dialog/_m3-dialog.scss +35 -35
- package/divider/_divider-theme.scss +14 -25
- package/divider/_m2-divider.scss +2 -5
- package/divider/_m3-divider.scss +13 -13
- package/expansion/_expansion-theme.scss +15 -33
- package/expansion/_m2-expansion.scss +28 -27
- package/expansion/_m3-expansion.scss +41 -36
- package/fesm2022/animation-DfMFjxHu.mjs.map +1 -1
- package/fesm2022/autocomplete/testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs +23 -23
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge/testing.mjs.map +1 -1
- package/fesm2022/badge.mjs +11 -11
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +11 -11
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button/testing.mjs.map +1 -1
- package/fesm2022/button-toggle/testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +19 -23
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +20 -20
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card/testing.mjs.map +1 -1
- package/fesm2022/card.mjs +47 -47
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox/testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +11 -11
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips/testing.mjs.map +1 -1
- package/fesm2022/chips.mjs +52 -52
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/{common-module-CF0eSYO4.mjs → common-module-BeAwwoi6.mjs} +5 -5
- package/fesm2022/common-module-BeAwwoi6.mjs.map +1 -0
- package/fesm2022/core/testing.mjs.map +1 -1
- package/fesm2022/core.mjs +24 -24
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -1
- package/fesm2022/date-range-input-harness-Bp1T4oUe.mjs.map +1 -1
- package/fesm2022/datepicker/testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +99 -95
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog/testing.mjs +18 -5
- package/fesm2022/dialog/testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +2 -2
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider/testing.mjs.map +1 -1
- package/fesm2022/divider.mjs +8 -8
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/{error-options-CbAHLQL5.mjs → error-options-C79tZCHG.mjs} +7 -7
- package/fesm2022/error-options-C79tZCHG.mjs.map +1 -0
- package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -1
- package/fesm2022/expansion/testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +28 -28
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field/testing/control.mjs.map +1 -1
- package/fesm2022/form-field/testing.mjs.map +1 -1
- package/fesm2022/{form-field-sL9_TuE-.mjs → form-field-Cdw3iYrm.mjs} +33 -33
- package/fesm2022/form-field-Cdw3iYrm.mjs.map +1 -0
- package/fesm2022/form-field.mjs +3 -3
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list/testing.mjs.map +1 -1
- 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-BASP1JI8.mjs → icon-button-D5zzuoJc.mjs} +9 -9
- package/fesm2022/icon-button-D5zzuoJc.mjs.map +1 -0
- package/fesm2022/{icon-registry-DVLYRZv3.mjs → icon-registry-DVrJNtTv.mjs} +4 -4
- package/fesm2022/icon-registry-DVrJNtTv.mjs.map +1 -0
- package/fesm2022/icon.mjs +10 -10
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/{index-BNtCg9r0.mjs → index-CrjYeoWX.mjs} +9 -9
- package/fesm2022/index-CrjYeoWX.mjs.map +1 -0
- package/fesm2022/{index-DxCSjCL3.mjs → index-DTIUI_kX.mjs} +7 -7
- package/fesm2022/index-DTIUI_kX.mjs.map +1 -0
- package/fesm2022/input/testing.mjs.map +1 -1
- package/fesm2022/input-harness-oQzj5EsQ.mjs.map +1 -1
- package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -1
- package/fesm2022/input.mjs +12 -12
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/{internal-form-field-_OHaksOO.mjs → internal-form-field-B9_shC5z.mjs} +4 -4
- package/fesm2022/internal-form-field-B9_shC5z.mjs.map +1 -0
- package/fesm2022/{line-CtAKiRo6.mjs → line-XysKlyvU.mjs} +9 -9
- package/fesm2022/line-XysKlyvU.mjs.map +1 -0
- package/fesm2022/list/testing.mjs.map +1 -1
- package/fesm2022/list.mjs +55 -55
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/material.mjs.map +1 -1
- package/fesm2022/menu/testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +20 -20
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/{module-DToxyW7l.mjs → module-CVpKZX1V.mjs} +7 -7
- package/fesm2022/module-CVpKZX1V.mjs.map +1 -0
- package/fesm2022/{module-ChwDH6BC.mjs → module-CdXqcjot.mjs} +28 -28
- package/fesm2022/module-CdXqcjot.mjs.map +1 -0
- package/fesm2022/{module-m5vWw9-5.mjs → module-CwYXiMoV.mjs} +12 -12
- package/fesm2022/module-CwYXiMoV.mjs.map +1 -0
- package/fesm2022/{module-DqTK2swA.mjs → module-r2U_2G3G.mjs} +17 -17
- package/fesm2022/module-r2U_2G3G.mjs.map +1 -0
- package/fesm2022/{option-hkPAbXDN.mjs → option-D4ZNnnWi.mjs} +11 -11
- package/fesm2022/option-D4ZNnnWi.mjs.map +1 -0
- package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -1
- package/fesm2022/paginator/testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs +25 -25
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar/testing.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +8 -8
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner/testing.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +8 -8
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/{pseudo-checkbox-Ddidc23S.mjs → pseudo-checkbox-DQugCpur.mjs} +4 -4
- package/fesm2022/pseudo-checkbox-DQugCpur.mjs.map +1 -0
- package/fesm2022/{pseudo-checkbox-module--am9-RIA.mjs → pseudo-checkbox-module-BXWS_-PP.mjs} +7 -7
- package/fesm2022/pseudo-checkbox-module-BXWS_-PP.mjs.map +1 -0
- package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -1
- package/fesm2022/radio/testing.mjs.map +1 -1
- package/fesm2022/radio.mjs +19 -16
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/{ripple-DUGA2BAa.mjs → ripple-BtLhcfGO.mjs} +7 -7
- package/fesm2022/ripple-BtLhcfGO.mjs.map +1 -0
- package/fesm2022/{ripple-loader-Xy4bv6Xh.mjs → ripple-loader-DBdhLqHy.mjs} +5 -5
- package/fesm2022/ripple-loader-DBdhLqHy.mjs.map +1 -0
- package/fesm2022/select/testing.mjs.map +1 -1
- package/fesm2022/select.mjs +12 -12
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav/testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +29 -25
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle/testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +11 -11
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider/testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +21 -21
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar/testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +29 -29
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort/testing.mjs.map +1 -1
- package/fesm2022/sort.mjs +15 -15
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper/testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +38 -38
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/{structural-styles-DA18Hchc.mjs → structural-styles-DWEe15sC.mjs} +4 -4
- package/fesm2022/structural-styles-DWEe15sC.mjs.map +1 -0
- package/fesm2022/table/testing.mjs.map +1 -1
- package/fesm2022/table.mjs +56 -56
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs/testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +67 -63
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker/testing.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +20 -20
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar/testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +12 -12
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip/testing.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +2 -2
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree/testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +26 -26
- package/fesm2022/tree.mjs.map +1 -1
- package/form-field/_form-field-theme.scss +23 -55
- package/form-field/_m2-form-field.scss +112 -91
- package/form-field/_m3-form-field.scss +116 -131
- package/grid-list/_grid-list-theme.scss +13 -23
- package/grid-list/_m2-grid-list.scss +8 -7
- package/grid-list/_m3-grid-list.scss +14 -15
- package/icon/_icon-theme.scss +20 -30
- package/icon/_m2-icon.scss +1 -4
- package/icon/_m3-icon.scss +13 -27
- package/input/_input-theme.scss +7 -40
- package/list/_list-theme.scss +22 -52
- package/list/_m2-list.scss +56 -55
- package/list/_m3-list.scss +69 -67
- package/menu/_m2-menu.scss +22 -25
- package/menu/_m3-menu.scss +35 -38
- package/menu/_menu-theme.scss +15 -27
- package/package.json +2 -2
- package/paginator/_m2-paginator.scss +16 -17
- package/paginator/_m3-paginator.scss +28 -27
- package/paginator/_paginator-theme.scss +14 -40
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/progress-bar/_m2-progress-bar.scss +5 -8
- package/progress-bar/_m3-progress-bar.scss +17 -26
- package/progress-bar/_progress-bar-theme.scss +17 -27
- package/progress-spinner/_m2-progress-spinner.scss +3 -6
- package/progress-spinner/_m3-progress-spinner.scss +15 -22
- package/progress-spinner/_progress-spinner-theme.scss +20 -43
- package/radio/_m2-radio.scss +24 -27
- package/radio/_m3-radio.scss +44 -58
- package/radio/_radio-theme.scss +23 -50
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/index_bundled.js +2 -0
- package/schematics/ng-update/index_bundled.js.map +1 -1
- package/select/_m2-select.scss +15 -18
- package/select/_m3-select.scss +32 -38
- package/select/_select-theme.scss +23 -50
- package/sidenav/_m2-sidenav.scss +9 -12
- package/sidenav/_m3-sidenav.scss +20 -22
- package/sidenav/_sidenav-theme.scss +14 -25
- package/slide-toggle/_m2-slide-toggle.scss +82 -83
- package/slide-toggle/_m3-slide-toggle.scss +102 -143
- package/slide-toggle/_slide-toggle-theme.scss +26 -61
- package/slider/_m2-slider.scss +46 -46
- package/slider/_m3-slider.scss +54 -109
- package/slider/_slider-theme.scss +23 -34
- package/snack-bar/_m2-snack-bar.scss +10 -11
- package/snack-bar/_m3-snack-bar.scss +20 -19
- package/snack-bar/_snack-bar-theme.scss +14 -26
- package/sort/_m2-sort.scss +1 -4
- package/sort/_m3-sort.scss +11 -9
- package/sort/_sort-theme.scss +15 -27
- package/stepper/_m2-stepper.scss +32 -31
- package/stepper/_m3-stepper.scss +44 -79
- package/stepper/_stepper-theme.scss +22 -50
- package/table/_m2-table.scss +25 -26
- package/table/_m3-table.scss +36 -27
- package/table/_table-theme.scss +15 -32
- package/tabs/_m2-tabs.scss +26 -29
- package/tabs/_m3-tabs.scss +40 -51
- package/tabs/_tabs-theme.scss +37 -58
- package/tabs/index.d.ts +5 -3
- package/timepicker/_m2-timepicker.scss +3 -6
- package/timepicker/_m3-timepicker.scss +14 -15
- package/timepicker/_timepicker-theme.scss +20 -45
- package/toolbar/_m2-toolbar.scss +11 -12
- package/toolbar/_m3-toolbar.scss +22 -17
- package/toolbar/_toolbar-theme.scss +13 -37
- package/tooltip/_m2-tooltip.scss +9 -11
- package/tooltip/_m3-tooltip.scss +19 -19
- package/tooltip/_tooltip-theme.scss +17 -35
- package/tree/_m2-tree.scss +6 -9
- package/tree/_m3-tree.scss +19 -16
- package/tree/_tree-theme.scss +14 -36
- package/fesm2022/common-module-CF0eSYO4.mjs.map +0 -1
- package/fesm2022/error-options-CbAHLQL5.mjs.map +0 -1
- package/fesm2022/form-field-sL9_TuE-.mjs.map +0 -1
- package/fesm2022/icon-button-BASP1JI8.mjs.map +0 -1
- package/fesm2022/icon-registry-DVLYRZv3.mjs.map +0 -1
- package/fesm2022/index-BNtCg9r0.mjs.map +0 -1
- package/fesm2022/index-DxCSjCL3.mjs.map +0 -1
- package/fesm2022/internal-form-field-_OHaksOO.mjs.map +0 -1
- package/fesm2022/line-CtAKiRo6.mjs.map +0 -1
- package/fesm2022/module-ChwDH6BC.mjs.map +0 -1
- package/fesm2022/module-DToxyW7l.mjs.map +0 -1
- package/fesm2022/module-DqTK2swA.mjs.map +0 -1
- package/fesm2022/module-m5vWw9-5.mjs.map +0 -1
- package/fesm2022/option-hkPAbXDN.mjs.map +0 -1
- package/fesm2022/pseudo-checkbox-Ddidc23S.mjs.map +0 -1
- package/fesm2022/pseudo-checkbox-module--am9-RIA.mjs.map +0 -1
- package/fesm2022/ripple-DUGA2BAa.mjs.map +0 -1
- package/fesm2022/ripple-loader-Xy4bv6Xh.mjs.map +0 -1
- package/fesm2022/structural-styles-DA18Hchc.mjs.map +0 -1
- package/schematics/tsconfig.json +0 -26
|
@@ -24,92 +24,109 @@
|
|
|
24
24
|
$_overrides-only: true;
|
|
25
25
|
|
|
26
26
|
@mixin _color-variant-styles($theme, $color-variant) {
|
|
27
|
-
$primary
|
|
28
|
-
|
|
29
|
-
// Some components use the secondary color rather than primary color for `.mat-primary`.
|
|
30
|
-
// Those components should use the $secondary-color-variant.
|
|
31
|
-
$secondary-options: (
|
|
32
|
-
color-variant: if($color-variant == primary, secondary, $color-variant),
|
|
33
|
-
emit-overrides-only: $_overrides-only
|
|
34
|
-
);
|
|
27
|
+
$secondary-when-primary: if($color-variant == primary, secondary, $color-variant);
|
|
35
28
|
|
|
36
29
|
& {
|
|
37
|
-
@
|
|
30
|
+
@if ($color-variant != primary) {
|
|
31
|
+
@include option-theme.color($theme, $secondary-when-primary);
|
|
32
|
+
}
|
|
38
33
|
}
|
|
39
34
|
|
|
40
35
|
& {
|
|
41
|
-
@
|
|
36
|
+
@if ($color-variant != primary) {
|
|
37
|
+
@include progress-spinner-theme.color($theme, $color-variant);
|
|
38
|
+
}
|
|
42
39
|
}
|
|
43
40
|
|
|
44
41
|
& {
|
|
45
|
-
@
|
|
42
|
+
@if ($color-variant != primary) {
|
|
43
|
+
@include pseudo-checkbox-theme.color($theme, $color-variant);
|
|
44
|
+
}
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
& {
|
|
49
|
-
@include stepper-theme.color($theme, $
|
|
48
|
+
@include stepper-theme.color($theme, $color-variant);
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
&.mat-icon {
|
|
53
|
-
@include icon-theme.color($theme, $
|
|
52
|
+
@include icon-theme.color($theme, $color-variant);
|
|
54
53
|
}
|
|
55
54
|
|
|
56
55
|
&.mat-mdc-checkbox {
|
|
57
|
-
@
|
|
56
|
+
@if ($color-variant != primary) {
|
|
57
|
+
@include checkbox-theme.color($theme, $color-variant);
|
|
58
|
+
}
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
&.mat-mdc-slider {
|
|
61
|
-
@
|
|
62
|
+
@if ($color-variant != primary) {
|
|
63
|
+
@include slider-theme.color($theme, $color-variant);
|
|
64
|
+
}
|
|
62
65
|
}
|
|
63
66
|
|
|
64
67
|
&.mat-mdc-tab-group,
|
|
65
68
|
&.mat-mdc-tab-nav-bar {
|
|
66
|
-
|
|
69
|
+
@include tabs-theme.color($theme, $color-variant);
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
&.mat-mdc-slide-toggle {
|
|
70
|
-
@include slide-toggle-theme.color($theme, $
|
|
73
|
+
@include slide-toggle-theme.color($theme, $color-variant);
|
|
71
74
|
}
|
|
72
75
|
|
|
73
76
|
&.mat-mdc-form-field {
|
|
74
|
-
@
|
|
77
|
+
@if ($color-variant != primary) {
|
|
78
|
+
@include select-theme.color($theme, $color-variant);
|
|
79
|
+
}
|
|
75
80
|
}
|
|
76
81
|
|
|
77
82
|
&.mat-mdc-radio-button {
|
|
78
|
-
@
|
|
83
|
+
@if ($color-variant != primary) {
|
|
84
|
+
@include radio-theme.color($theme, $color-variant);
|
|
85
|
+
}
|
|
79
86
|
}
|
|
80
87
|
|
|
81
88
|
&.mat-mdc-progress-bar {
|
|
82
|
-
@
|
|
89
|
+
@if ($color-variant != primary) {
|
|
90
|
+
@include progress-bar-theme.color($theme, $color-variant);
|
|
91
|
+
}
|
|
83
92
|
}
|
|
84
93
|
|
|
85
94
|
&.mat-mdc-form-field {
|
|
86
|
-
@
|
|
95
|
+
@if ($color-variant != primary) {
|
|
96
|
+
@include form-field-theme.color($theme, $color-variant);
|
|
97
|
+
}
|
|
87
98
|
}
|
|
88
99
|
|
|
89
100
|
&.mat-datepicker-content {
|
|
90
|
-
@include datepicker-theme.color($theme, $
|
|
101
|
+
@include datepicker-theme.color($theme, $color-variant);
|
|
91
102
|
}
|
|
92
103
|
|
|
93
104
|
&.mat-mdc-button-base {
|
|
94
|
-
@
|
|
95
|
-
|
|
105
|
+
@if ($color-variant != primary) {
|
|
106
|
+
@include button-theme.color($theme, $color-variant);
|
|
107
|
+
}
|
|
108
|
+
@include icon-button-theme.color($theme, $color-variant);
|
|
96
109
|
}
|
|
97
110
|
|
|
98
111
|
&.mat-mdc-standard-chip {
|
|
99
|
-
@
|
|
112
|
+
@if ($color-variant != primary) {
|
|
113
|
+
@include chips-theme.color($theme, $secondary-when-primary);
|
|
114
|
+
}
|
|
100
115
|
}
|
|
101
116
|
|
|
102
117
|
.mdc-list-item__start,
|
|
103
118
|
.mdc-list-item__end {
|
|
104
|
-
@
|
|
105
|
-
|
|
119
|
+
@if ($color-variant != primary) {
|
|
120
|
+
@include checkbox-theme.color($theme, $color-variant);
|
|
121
|
+
@include radio-theme.color($theme, $color-variant);
|
|
122
|
+
}
|
|
106
123
|
}
|
|
107
124
|
|
|
108
125
|
// M3 dropped support for warn/error color FABs.
|
|
109
|
-
@if $color-variant != error {
|
|
126
|
+
@if $color-variant != error and $color-variant != primary {
|
|
110
127
|
&.mat-mdc-fab,
|
|
111
128
|
&.mat-mdc-mini-fab {
|
|
112
|
-
@include fab-theme.color($theme, $
|
|
129
|
+
@include fab-theme.color($theme, $color-variant);
|
|
113
130
|
}
|
|
114
131
|
}
|
|
115
132
|
}
|
|
@@ -89,6 +89,12 @@ $theme-version: 1;
|
|
|
89
89
|
md-sys-motion: m3.md-sys-motion-values(),
|
|
90
90
|
md-sys-shape: m3.md-sys-shape-values(),
|
|
91
91
|
md-sys-state: m3.md-sys-state-values(),
|
|
92
|
+
md-ref-palette: (
|
|
93
|
+
// Form field native select option text color
|
|
94
|
+
neutral10: map.get($palettes, neutral, 10),
|
|
95
|
+
// Sidenav scrim (container background shadow when opened),
|
|
96
|
+
neutral-variant20: map.get($palettes, neutral-variant, 20),
|
|
97
|
+
),
|
|
92
98
|
md-sys-typescale:
|
|
93
99
|
m3-tokens.get-sys-typeface($typography, $typography-system-variables-prefix),
|
|
94
100
|
palettes: $palettes,
|
|
@@ -280,31 +280,6 @@ $_typography-properties: (font, font-family, line-height, font-size, letter-spac
|
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
282
|
|
|
283
|
-
/// Gets the set of tokens from the given theme, limited to those affected by the requested theming
|
|
284
|
-
/// systems.
|
|
285
|
-
/// @param {Map} $theme The theme to get tokens from.
|
|
286
|
-
/// @param {String...} $systems The theming systems to get tokens for. Valid values are: color,
|
|
287
|
-
/// typography, density, base. If no systems are passed, all tokens will be returned.
|
|
288
|
-
/// @return {Map} The requested tokens for the theme.
|
|
289
|
-
@function get-theme-tokens($theme, $systems...) {
|
|
290
|
-
$systems: if(list.length($systems) == 0, (color, typography, density, base), $systems);
|
|
291
|
-
$err: _validate-theme-object($theme);
|
|
292
|
-
@if $err {
|
|
293
|
-
@error #{'Expected $theme to be an Angular Material theme object. Got:'} $theme;
|
|
294
|
-
}
|
|
295
|
-
$err: validation.validate-allowed-values($systems, color, typography, density, base);
|
|
296
|
-
@if $err {
|
|
297
|
-
@error #{'Expected $systems to contain valid system names (color, typography, density, or'}
|
|
298
|
-
#{'base). Got invalid system names:'} $err;
|
|
299
|
-
}
|
|
300
|
-
$result: ();
|
|
301
|
-
@each $system in $systems {
|
|
302
|
-
$result: map.deep-merge($result, map.get($theme, $internals, '#{$system}-tokens') or ());
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
@return $result;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
283
|
/// Gets a version of the theme with a modified typography config that preserves old behavior in
|
|
309
284
|
/// some components that previously used `private-typography-to-2014-config`.
|
|
310
285
|
/// Do not introduce new usages of this, it should be cleaned up and removed.
|
|
@@ -16,13 +16,10 @@
|
|
|
16
16
|
@use '../../toolbar/m3-toolbar';
|
|
17
17
|
@use '../../tree/m3-tree';
|
|
18
18
|
@use '../style/elevation';
|
|
19
|
-
@use '../style/sass-utils';
|
|
20
19
|
@use '../theming/config-validation';
|
|
21
20
|
@use '../theming/definition';
|
|
22
21
|
@use '../theming/palettes';
|
|
23
22
|
@use './m3';
|
|
24
|
-
@use './m3-tokens';
|
|
25
|
-
@use 'sass:list';
|
|
26
23
|
@use 'sass:map';
|
|
27
24
|
@use 'sass:meta';
|
|
28
25
|
|
|
@@ -147,9 +144,9 @@
|
|
|
147
144
|
// Emit component-level density tokens if the scale is lower than 0. The density tokens
|
|
148
145
|
// do not fallback to any system-level values and must be defined if the scale is different.
|
|
149
146
|
$density-tokens: get-density-tokens($scale);
|
|
150
|
-
@each $
|
|
147
|
+
@each $tokens in $density-tokens {
|
|
151
148
|
@each $token-name, $token-value in $tokens {
|
|
152
|
-
|
|
149
|
+
--mat-#{$token-name}: #{$token-value};
|
|
153
150
|
}
|
|
154
151
|
}
|
|
155
152
|
}
|
|
@@ -162,23 +159,23 @@
|
|
|
162
159
|
// Gets all density-related tokens from the components.
|
|
163
160
|
@function get-density-tokens($scale) {
|
|
164
161
|
@return (
|
|
165
|
-
m3-checkbox
|
|
166
|
-
m3-chip
|
|
167
|
-
m3-expansion
|
|
168
|
-
m3-fab
|
|
169
|
-
m3-button
|
|
170
|
-
m3-form-field
|
|
171
|
-
m3-icon-button
|
|
172
|
-
m3-list
|
|
173
|
-
m3-paginator
|
|
174
|
-
m3-radio
|
|
175
|
-
m3-tabs
|
|
176
|
-
m3-select
|
|
177
|
-
m3-button-toggle
|
|
178
|
-
m3-stepper
|
|
179
|
-
m3-table
|
|
180
|
-
m3-toolbar
|
|
181
|
-
m3-tree
|
|
162
|
+
m3-checkbox.get-density-tokens($scale),
|
|
163
|
+
m3-chip.get-density-tokens($scale),
|
|
164
|
+
m3-expansion.get-density-tokens($scale),
|
|
165
|
+
m3-fab.get-density-tokens($scale),
|
|
166
|
+
m3-button.get-density-tokens($scale),
|
|
167
|
+
m3-form-field.get-density-tokens($scale),
|
|
168
|
+
m3-icon-button.get-density-tokens($scale),
|
|
169
|
+
m3-list.get-density-tokens($scale),
|
|
170
|
+
m3-paginator.get-density-tokens($scale),
|
|
171
|
+
m3-radio.get-density-tokens($scale),
|
|
172
|
+
m3-tabs.get-density-tokens($scale),
|
|
173
|
+
m3-select.get-density-tokens($scale),
|
|
174
|
+
m3-button-toggle.get-density-tokens($scale),
|
|
175
|
+
m3-stepper.get-density-tokens($scale),
|
|
176
|
+
m3-table.get-density-tokens($scale),
|
|
177
|
+
m3-toolbar.get-density-tokens($scale),
|
|
178
|
+
m3-tree.get-density-tokens($scale),
|
|
182
179
|
);
|
|
183
180
|
}
|
|
184
181
|
|
|
@@ -299,27 +296,6 @@
|
|
|
299
296
|
}
|
|
300
297
|
}
|
|
301
298
|
|
|
302
|
-
// Return a new map where the values are the same as the provided map's
|
|
303
|
-
// keys, prefixed with "--mat-sys-". For example:
|
|
304
|
-
// (key1: '', key2: '') --> (key1: --mat-sys-key1, key2: --mat-sys-key2)
|
|
305
|
-
@function _create-system-app-vars-map($map) {
|
|
306
|
-
$new-map: ();
|
|
307
|
-
@each $key, $value in $map {
|
|
308
|
-
$new-map: map.set($new-map, $key, --#{definition.$system-fallback-prefix}-#{$key});
|
|
309
|
-
}
|
|
310
|
-
@return $new-map;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
// Create a components tokens map where values are based on
|
|
314
|
-
// system fallback variables referencing Material's system keys.
|
|
315
|
-
// Includes density token fallbacks where density is 0.
|
|
316
|
-
@function create-system-fallbacks() {
|
|
317
|
-
@return sass-utils.deep-merge-all(
|
|
318
|
-
m3-tokens.generate-tokens($app-vars, true, true),
|
|
319
|
-
get-density-tokens(0),
|
|
320
|
-
);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
299
|
/// Creates a single merged map from the provided variable-length map arguments
|
|
324
300
|
@function map-merge-all($maps...) {
|
|
325
301
|
$result: ();
|
|
@@ -328,28 +304,3 @@
|
|
|
328
304
|
}
|
|
329
305
|
@return $result;
|
|
330
306
|
}
|
|
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);
|
|
@@ -1,75 +1,7 @@
|
|
|
1
|
-
@use '../../autocomplete/m3-autocomplete';
|
|
2
|
-
@use '../../bottom-sheet/m3-bottom-sheet';
|
|
3
|
-
@use '../../button-toggle/m3-button-toggle';
|
|
4
|
-
@use '../../button/m3-button';
|
|
5
|
-
@use '../../button/m3-fab';
|
|
6
|
-
@use '../../button/m3-icon-button';
|
|
7
|
-
@use '../../card/m3-card';
|
|
8
|
-
@use '../../checkbox/m3-checkbox';
|
|
9
|
-
@use '../../chips/m3-chip';
|
|
10
|
-
@use '../../datepicker/m3-datepicker';
|
|
11
|
-
@use '../../dialog/m3-dialog';
|
|
12
|
-
@use '../../divider/m3-divider';
|
|
13
|
-
@use '../../expansion/m3-expansion';
|
|
14
|
-
@use '../../form-field/m3-form-field';
|
|
15
|
-
@use '../../grid-list/m3-grid-list';
|
|
16
|
-
@use '../../icon/m3-icon';
|
|
17
|
-
@use '../../list/m3-list';
|
|
18
|
-
@use '../../menu/m3-menu';
|
|
19
|
-
@use '../../paginator/m3-paginator';
|
|
20
|
-
@use '../../progress-bar/m3-progress-bar';
|
|
21
|
-
@use '../../progress-spinner/m3-progress-spinner';
|
|
22
|
-
@use '../../radio/m3-radio';
|
|
23
|
-
@use '../../select/m3-select';
|
|
24
|
-
@use '../../sidenav/m3-sidenav';
|
|
25
|
-
@use '../../slide-toggle/m3-slide-toggle';
|
|
26
|
-
@use '../../slider/m3-slider';
|
|
27
|
-
@use '../../snack-bar/m3-snack-bar';
|
|
28
|
-
@use '../../sort/m3-sort';
|
|
29
|
-
@use '../../stepper/m3-stepper';
|
|
30
|
-
@use '../../table/m3-table';
|
|
31
|
-
@use '../../tabs/m3-tabs';
|
|
32
|
-
@use '../../timepicker/m3-timepicker';
|
|
33
|
-
@use '../../toolbar/m3-toolbar';
|
|
34
|
-
@use '../../tooltip/m3-tooltip';
|
|
35
|
-
@use '../../tree/m3-tree';
|
|
36
|
-
@use '../m2' as m2-theming;
|
|
37
|
-
@use '../m3-app';
|
|
38
|
-
@use '../option/m3-optgroup';
|
|
39
|
-
@use '../option/m3-option';
|
|
40
|
-
@use '../ripple/m3-ripple';
|
|
41
|
-
@use '../selection/pseudo-checkbox/m3-pseudo-checkbox';
|
|
42
1
|
@use '../style/sass-utils';
|
|
43
|
-
@use './m2-tokens';
|
|
44
2
|
@use './m3';
|
|
45
3
|
@use 'sass:map';
|
|
46
4
|
|
|
47
|
-
$_cached-token-slots: null;
|
|
48
|
-
|
|
49
|
-
/// Determines the token slots for all components.
|
|
50
|
-
@function _get-token-slots() {
|
|
51
|
-
// Cache the slots since they're constant and calculating
|
|
52
|
-
// them appears to be expensive (see #29009).
|
|
53
|
-
@if ($_cached-token-slots) {
|
|
54
|
-
@return $_cached-token-slots;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// TODO(mmalerba): Refactor this to not depend on the legacy theme when moving out of
|
|
58
|
-
// material-experimental. This is a hack for now because there is no good way to get the token
|
|
59
|
-
// slots in material-experimental without exposing them all from material.
|
|
60
|
-
$fake-theme: m2-theming.define-light-theme((
|
|
61
|
-
color: (
|
|
62
|
-
primary: m2-theming.define-palette(m2-theming.$red-palette),
|
|
63
|
-
accent: m2-theming.define-palette(m2-theming.$red-palette),
|
|
64
|
-
warn: m2-theming.define-palette(m2-theming.$red-palette),
|
|
65
|
-
),
|
|
66
|
-
typography: m2-theming.define-typography-config(),
|
|
67
|
-
density: 0
|
|
68
|
-
));
|
|
69
|
-
$_cached-token-slots: m2-tokens.m2-tokens-from-theme($fake-theme) !global;
|
|
70
|
-
@return $_cached-token-slots;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
5
|
/// Generates a set of namespaced tokens for all components.
|
|
74
6
|
/// @param {Map} $systems The MDC system tokens
|
|
75
7
|
/// @param {Boolean} $include-non-systemized Whether to include non-systemized tokens
|
|
@@ -86,8 +18,6 @@ $_cached-token-slots: null;
|
|
|
86
18
|
), $systems);
|
|
87
19
|
$exclude-hardcoded: not $include-non-systemized;
|
|
88
20
|
|
|
89
|
-
$token-slots: _get-token-slots();
|
|
90
|
-
|
|
91
21
|
// TODO(mmalerba): Fill in remaining tokens.
|
|
92
22
|
$result: sass-utils.deep-merge-all(
|
|
93
23
|
// Add the system color & typography tokens (so we can give users access via an API).
|
|
@@ -95,7 +25,6 @@ $_cached-token-slots: null;
|
|
|
95
25
|
(mat, theme): map.get($systems, md-sys-color),
|
|
96
26
|
(mat, typography): map.get($systems, md-sys-typescale),
|
|
97
27
|
),
|
|
98
|
-
get-m3-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
99
28
|
);
|
|
100
29
|
|
|
101
30
|
@return $result;
|
|
@@ -191,60 +120,3 @@ $_cached-token-slots: null;
|
|
|
191
120
|
md-sys-shape: m3.md-sys-shape-values(),
|
|
192
121
|
), $include-non-systemized: true);
|
|
193
122
|
}
|
|
194
|
-
|
|
195
|
-
/// Gets the full set of M3 tokens for the given theme object.
|
|
196
|
-
/// @param {Map} $systems The MDC system tokens
|
|
197
|
-
/// @param {Boolean} $exclude-hardcoded Whether to exclude hardcoded token values
|
|
198
|
-
/// @param {Map} $token-slots Possible token slots
|
|
199
|
-
/// @return {Map} Full set of M3 tokens
|
|
200
|
-
@function get-m3-tokens($systems, $exclude-hardcoded, $token-slots) {
|
|
201
|
-
$tokens-list: (
|
|
202
|
-
m3-app.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
203
|
-
m3-autocomplete.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
204
|
-
m3-bottom-sheet.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
205
|
-
m3-button-toggle.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
206
|
-
m3-button.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
207
|
-
m3-card.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
208
|
-
m3-checkbox.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
209
|
-
m3-chip.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
210
|
-
m3-datepicker.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
211
|
-
m3-dialog.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
212
|
-
m3-divider.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
213
|
-
m3-expansion.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
214
|
-
m3-fab.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
215
|
-
m3-form-field.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
216
|
-
m3-grid-list.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
217
|
-
m3-icon-button.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
218
|
-
m3-icon.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
219
|
-
m3-list.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
220
|
-
m3-menu.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
221
|
-
m3-optgroup.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
222
|
-
m3-option.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
223
|
-
m3-paginator.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
224
|
-
m3-progress-bar.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
225
|
-
m3-progress-spinner.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
226
|
-
m3-pseudo-checkbox.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
227
|
-
m3-radio.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
228
|
-
m3-ripple.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
229
|
-
m3-tabs.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
230
|
-
m3-select.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
231
|
-
m3-sidenav.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
232
|
-
m3-slide-toggle.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
233
|
-
m3-slider.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
234
|
-
m3-snack-bar.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
235
|
-
m3-sort.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
236
|
-
m3-stepper.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
237
|
-
m3-table.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
238
|
-
m3-timepicker.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
239
|
-
m3-toolbar.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
240
|
-
m3-tooltip.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
241
|
-
m3-tree.get-tokens($systems, $exclude-hardcoded, $token-slots),
|
|
242
|
-
);
|
|
243
|
-
|
|
244
|
-
$merged-tokens: ();
|
|
245
|
-
@each $tokens in $tokens-list {
|
|
246
|
-
$merged-tokens: map.deep-merge($merged-tokens, $tokens);
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
@return $merged-tokens;
|
|
250
|
-
}
|
|
@@ -1,90 +1,7 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
|
-
@use 'sass:list';
|
|
3
2
|
@use 'sass:meta';
|
|
4
3
|
@use 'sass:string';
|
|
5
4
|
|
|
6
|
-
/// Gets the MDC tokens for the given prefix, M3 token values, and supported token slots.
|
|
7
|
-
/// @param {List} $prefix The token prefix for the given tokens.
|
|
8
|
-
/// @param {Map|(Map, Map)} $values A map of M3 token values for the given prefix.
|
|
9
|
-
/// This param may also be a tuple of maps, the first one representing the default M3 token values,
|
|
10
|
-
// and the second containing overrides for different color variants.
|
|
11
|
-
// Single map example:
|
|
12
|
-
// (token1: green, token2: 2px)
|
|
13
|
-
// Tuple example:
|
|
14
|
-
// (
|
|
15
|
-
// (token1: green, token2: 2px),
|
|
16
|
-
// (
|
|
17
|
-
// secondary: (token1: blue),
|
|
18
|
-
// error: (token1: red),
|
|
19
|
-
// )
|
|
20
|
-
// )
|
|
21
|
-
/// @param {Map} $slots A map of token slots, with null value indicating the token is not supported.
|
|
22
|
-
/// @param {String|null} $variant The name of the variant the token values are for.
|
|
23
|
-
/// @return {Map} A map of fully qualified token names to values, for only the supported tokens.
|
|
24
|
-
@function namespace($prefix, $values, $slots, $variant: null) {
|
|
25
|
-
$result: ();
|
|
26
|
-
@if $variant == null and meta.type-of($values) == 'list' and list.length($values == 2) {
|
|
27
|
-
$variants: list.nth($values, 2);
|
|
28
|
-
$values: list.nth($values, 1);
|
|
29
|
-
@each $variant, $overrides in $variants {
|
|
30
|
-
|
|
31
|
-
$result: map.merge($result, namespace($prefix, $overrides, $slots, $variant));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
$used-token-names: map.keys(_filter-nulls(map.get($slots, $prefix)));
|
|
35
|
-
$used-m3-tokens: _pick(_filter-nulls($values), $used-token-names);
|
|
36
|
-
$prefix: if($variant == null, $prefix, list.append($prefix, $variant));
|
|
37
|
-
@return map.merge($result, ($prefix: $used-m3-tokens));
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/// Hardcode the given value, or null if hardcoded values are excluded.
|
|
41
|
-
@function hardcode($value, $exclude-hardcoded) {
|
|
42
|
-
@return if($exclude-hardcoded, null, $value);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/// Picks a submap containing only the given keys out the given map.
|
|
46
|
-
/// @param {Map} $map The map to pick from.
|
|
47
|
-
/// @param {List} $keys The map keys to pick.
|
|
48
|
-
/// @return {Map} A submap containing only the given keys.
|
|
49
|
-
@function _pick($map, $keys) {
|
|
50
|
-
$result: ();
|
|
51
|
-
@each $key in $keys {
|
|
52
|
-
@if map.has-key($map, $key) {
|
|
53
|
-
$result: map.set($result, $key, map.get($map, $key));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
@return $result;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
/// Filters keys with a null value out of the map.
|
|
61
|
-
/// @param {Map} $map The map to filter.
|
|
62
|
-
/// @return {Map} The given map with all of the null keys filtered out.
|
|
63
|
-
@function _filter-nulls($map) {
|
|
64
|
-
$result: ();
|
|
65
|
-
@each $key, $val in $map {
|
|
66
|
-
@if $val != null {
|
|
67
|
-
$result: map.set($result, $key, $val);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
@return $result;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/// Sets all of the standard typography tokens for the given token base name to the given typography
|
|
74
|
-
/// level.
|
|
75
|
-
/// @param {Map} $systems The MDC system tokens
|
|
76
|
-
/// @param {String} $base-name The token base name to get the typography tokens for
|
|
77
|
-
/// @param {String} $typography-level The typography level to base the token values on
|
|
78
|
-
/// @return {Map} A map containing the typography tokens for the given base token name
|
|
79
|
-
@function generate-typography-tokens($systems, $base-name, $typography-level) {
|
|
80
|
-
$result: ();
|
|
81
|
-
@each $prop in (font, line-height, size, tracking, weight) {
|
|
82
|
-
$result: map.set($result, #{$base-name}-#{$prop},
|
|
83
|
-
map.get($systems, md-sys-typescale, #{$typography-level}-#{$prop}));
|
|
84
|
-
}
|
|
85
|
-
@return $result;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
5
|
// Replaces color tokens in the map with those defined as the variant color.
|
|
89
6
|
@function replace-colors-with-variant($system, $color, $variant) {
|
|
90
7
|
$system: map.set($system, on-#{$color}, map.get($system, on-#{$variant}));
|
|
@@ -107,6 +24,8 @@
|
|
|
107
24
|
map.get($theme, _mat-theming-internals-do-not-access, md-sys-state));
|
|
108
25
|
$system: map.merge($system,
|
|
109
26
|
map.get($theme, _mat-theming-internals-do-not-access, md-sys-typescale));
|
|
27
|
+
$system: map.merge($system,
|
|
28
|
+
map.get($theme, _mat-theming-internals-do-not-access, md-ref-palette));
|
|
110
29
|
@return $system;
|
|
111
30
|
}
|
|
112
31
|
|
|
@@ -116,5 +35,14 @@
|
|
|
116
35
|
@if (meta.type-of($color) == string and string.index($color, '--') == 1) {
|
|
117
36
|
$color: var($color);
|
|
118
37
|
}
|
|
38
|
+
|
|
39
|
+
// Opacity may be a system level value less than 1, instead of the intended
|
|
40
|
+
// whole percentage, e.g. 38%. Remove this support when possible.
|
|
41
|
+
@if (meta.type-of($opacity) == string and string.index($opacity, '--') == 1) {
|
|
42
|
+
$opacity: 'calc(var(#{$opacity}) * 100%)';
|
|
43
|
+
} @else if (meta.type-of($opacity) == number and $opacity < 1) {
|
|
44
|
+
$opacity: '#{$opacity * 100}%';
|
|
45
|
+
}
|
|
46
|
+
|
|
119
47
|
@return color-mix(in srgb, #{$color} #{$opacity}, transparent);
|
|
120
48
|
}
|