|
3 | 3 | @use '../core/theming/theming';
|
4 | 4 | @use 'sass:map';
|
5 | 5 | @use '../core/tokens/m2-utils';
|
| 6 | +@use '../core/tokens/m3-utils'; |
6 | 7 |
|
7 | 8 | // Tokens that can't be configured through Angular Material's current theming API,
|
8 | 9 | // but may be in a future version of the theming API.
|
|
17 | 18 | // The m2 slide-toggle uses transforms to hide & show the tracks while
|
18 | 19 | // the m3 slide-toggle uses opacity.
|
19 | 20 | @return (
|
20 |
| - slide-toggle-disabled-handle-opacity: null, |
| 21 | + slide-toggle-disabled-handle-opacity: 0.38, |
21 | 22 | slide-toggle-disabled-selected-handle-opacity: 0.38,
|
22 | 23 | slide-toggle-disabled-selected-icon-opacity: 0.38,
|
23 | 24 | slide-toggle-disabled-track-opacity: 0.12,
|
|
65 | 66 | @function get-color-tokens($theme) {
|
66 | 67 | $system: m2-utils.get-system($theme);
|
67 | 68 |
|
68 |
| - $is-dark: inspection.get-theme-type($theme) == dark; |
69 |
| - $on-surface: if($is-dark, #f5f5f5, #424242); |
70 |
| - $hairline: if($is-dark, #616161, #e0e0e0); |
71 |
| - $on-surface-variant: if($is-dark, #9e9e9e, #616161); |
72 |
| - $on-surface-state-content: if($is-dark, #fafafa, #212121); |
73 |
| - $disabled-handle-color: if($is-dark, #000, #424242); |
74 |
| - $icon-color: if($is-dark, #212121, #fff); |
75 |
| - |
76 |
| - // The default for tokens that rely on the theme will use the primary palette |
77 |
| - $theme-color-tokens: private-get-color-palette-color-tokens($theme, primary); |
78 |
| - |
79 |
| - // TODO(crisbeto): `handle-surface-color` was hardcoded to `var(--mat-surface-color, #fff)` |
80 |
| - // which made it basically hardcoded to #fff. Should it be based on the theme? |
81 | 69 | @return map.merge(
|
82 |
| - $theme-color-tokens, |
| 70 | + private-get-color-palette-color-tokens($theme, primary), |
83 | 71 | (
|
84 | 72 | slide-toggle-disabled-handle-elevation-shadow: elevation.get-box-shadow(0),
|
85 |
| - slide-toggle-disabled-selected-handle-color: $disabled-handle-color, |
86 |
| - slide-toggle-disabled-selected-icon-color: $icon-color, |
87 |
| - slide-toggle-disabled-selected-track-color: $on-surface, |
88 |
| - slide-toggle-disabled-unselected-handle-color: $disabled-handle-color, |
89 |
| - slide-toggle-disabled-unselected-icon-color: $icon-color, |
90 |
| - slide-toggle-disabled-unselected-track-color: $on-surface, |
| 73 | + slide-toggle-disabled-selected-handle-color: map.get($system, on-surface), |
| 74 | + slide-toggle-disabled-selected-track-color: map.get($system, on-surface), |
| 75 | + slide-toggle-disabled-unselected-handle-color: map.get($system, on-surface), |
| 76 | + slide-toggle-disabled-unselected-icon-color: map.get($system, surface-variant), |
| 77 | + slide-toggle-disabled-unselected-track-color: map.get($system, on-surface), |
91 | 78 | slide-toggle-handle-elevation-shadow: elevation.get-box-shadow(1),
|
92 |
| - slide-toggle-handle-surface-color: #fff, |
| 79 | + slide-toggle-handle-surface-color: map.get($system, surface), |
93 | 80 | slide-toggle-label-text-color: map.get($system, on-surface),
|
94 |
| - slide-toggle-selected-icon-color: $icon-color, |
95 |
| - slide-toggle-unselected-hover-handle-color: $on-surface-state-content, |
96 |
| - slide-toggle-unselected-focus-handle-color: $on-surface-state-content, |
97 |
| - slide-toggle-unselected-focus-state-layer-color: $on-surface, |
98 |
| - slide-toggle-unselected-focus-track-color: $hairline, |
99 |
| - slide-toggle-unselected-icon-color: $icon-color, |
100 |
| - slide-toggle-unselected-handle-color: $on-surface-variant, |
101 |
| - slide-toggle-unselected-hover-state-layer-color: $on-surface, |
102 |
| - slide-toggle-unselected-hover-track-color: $hairline, |
103 |
| - slide-toggle-unselected-pressed-handle-color: $on-surface-state-content, |
104 |
| - slide-toggle-unselected-pressed-track-color: $hairline, |
105 |
| - slide-toggle-unselected-pressed-state-layer-color: $on-surface, |
106 |
| - slide-toggle-unselected-track-color: $hairline, |
| 81 | + slide-toggle-unselected-hover-handle-color: map.get($system, inverse-surface), |
| 82 | + slide-toggle-unselected-focus-handle-color: map.get($system, inverse-surface), |
| 83 | + slide-toggle-unselected-focus-state-layer-color: map.get($system, on-surface), |
| 84 | + slide-toggle-unselected-focus-track-color: map.get($system, outline), |
| 85 | + slide-toggle-unselected-icon-color: map.get($system, surface-variant), |
| 86 | + slide-toggle-unselected-handle-color: map.get($system, on-surface-variant), |
| 87 | + slide-toggle-unselected-hover-state-layer-color: map.get($system, on-surface), |
| 88 | + slide-toggle-unselected-hover-track-color: map.get($system, outline), |
| 89 | + slide-toggle-unselected-pressed-handle-color: map.get($system, inverse-surface), |
| 90 | + slide-toggle-unselected-pressed-track-color: map.get($system, outline), |
| 91 | + slide-toggle-unselected-pressed-state-layer-color: map.get($system, on-surface), |
| 92 | + slide-toggle-unselected-track-color: map.get($system, outline), |
107 | 93 | )
|
108 | 94 | );
|
109 | 95 | }
|
110 | 96 |
|
111 | 97 | // Generates the mapping for the properties that change based on the slide toggle color.
|
112 |
| -@function private-get-color-palette-color-tokens($theme, $palette-name) { |
113 |
| - $is-dark: inspection.get-theme-type($theme) == dark; |
114 |
| - $palette-color: inspection.get-theme-color($theme, $palette-name, if($is-dark, 300, 600)); |
115 |
| - $state-content: inspection.get-theme-color($theme, $palette-name, if($is-dark, 200, 900)); |
116 |
| - $inverse: inspection.get-theme-color($theme, $palette-name, if($is-dark, 600, 300)); |
| 98 | +@function private-get-color-palette-color-tokens($theme, $color-variant) { |
| 99 | + $system: m2-utils.get-system($theme); |
| 100 | + $system: m3-utils.replace-colors-with-variant($system, primary, $color-variant); |
117 | 101 |
|
118 | 102 | @return (
|
119 |
| - slide-toggle-selected-focus-state-layer-color: $palette-color, |
120 |
| - slide-toggle-selected-handle-color: $palette-color, |
121 |
| - slide-toggle-selected-hover-state-layer-color: $palette-color, |
122 |
| - slide-toggle-selected-pressed-state-layer-color: $palette-color, |
123 |
| - slide-toggle-selected-focus-handle-color: $state-content, |
124 |
| - slide-toggle-selected-hover-handle-color: $state-content, |
125 |
| - slide-toggle-selected-pressed-handle-color: $state-content, |
126 |
| - slide-toggle-selected-focus-track-color: $inverse, |
127 |
| - slide-toggle-selected-hover-track-color: $inverse, |
128 |
| - slide-toggle-selected-pressed-track-color: $inverse, |
129 |
| - slide-toggle-selected-track-color: $inverse, |
| 103 | + slide-toggle-selected-icon-color: map.get($system, on-primary), |
| 104 | + slide-toggle-disabled-selected-icon-color: map.get($system, on-primary), |
| 105 | + slide-toggle-selected-focus-state-layer-color: map.get($system, primary), |
| 106 | + slide-toggle-selected-handle-color: map.get($system, primary), |
| 107 | + slide-toggle-selected-hover-state-layer-color: map.get($system, primary), |
| 108 | + slide-toggle-selected-pressed-state-layer-color: map.get($system, primary), |
| 109 | + slide-toggle-selected-focus-handle-color: map.get($system, primary), |
| 110 | + slide-toggle-selected-hover-handle-color: map.get($system, primary), |
| 111 | + slide-toggle-selected-pressed-handle-color: map.get($system, primary), |
| 112 | + slide-toggle-selected-focus-track-color: map.get($system, inverse-primary), |
| 113 | + slide-toggle-selected-hover-track-color: map.get($system, inverse-primary), |
| 114 | + slide-toggle-selected-pressed-track-color: map.get($system, inverse-primary), |
| 115 | + slide-toggle-selected-track-color: map.get($system, inverse-primary), |
130 | 116 | );
|
131 | 117 | }
|
132 | 118 |
|
|
0 commit comments