|
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.
|
|
64 | 65 | // Tokens that can be configured through Angular Material's color theming API.
|
65 | 66 | @function get-color-tokens($theme) {
|
66 | 67 | $system: m2-utils.get-system($theme);
|
67 |
| - |
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); |
| 68 | + $disabled: m3-utils.color-with-opacity(map.get($system, on-surface), 38%); |
| 69 | + $disabled-container : m3-utils.color-with-opacity(map.get($system, on-surface), 12%); |
75 | 70 |
|
76 | 71 | // The default for tokens that rely on the theme will use the primary palette
|
77 | 72 | $theme-color-tokens: private-get-color-palette-color-tokens($theme, primary);
|
78 | 73 |
|
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 | 74 | @return map.merge(
|
82 | 75 | $theme-color-tokens,
|
83 | 76 | (
|
84 | 77 | 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, |
| 78 | + slide-toggle-disabled-selected-handle-color: $disabled, |
| 79 | + slide-toggle-disabled-selected-icon-color: $disabled, |
| 80 | + slide-toggle-disabled-selected-track-color: $disabled, |
| 81 | + slide-toggle-disabled-unselected-handle-color: $disabled, |
| 82 | + slide-toggle-disabled-unselected-icon-color: $disabled, |
| 83 | + slide-toggle-disabled-unselected-track-color: $disabled, |
91 | 84 | slide-toggle-handle-elevation-shadow: elevation.get-box-shadow(1),
|
92 |
| - slide-toggle-handle-surface-color: #fff, |
| 85 | + slide-toggle-handle-surface-color: white, |
93 | 86 | 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, |
| 87 | + slide-toggle-unselected-hover-handle-color: map.get($system, surface), |
| 88 | + slide-toggle-unselected-focus-handle-color: map.get($system, surface), |
| 89 | + slide-toggle-unselected-focus-state-layer-color: map.get($system, on-surface), |
| 90 | + slide-toggle-unselected-focus-track-color: map.get($system, outline), |
| 91 | + slide-toggle-unselected-icon-color: map.get($system, on-surface-variant), |
| 92 | + slide-toggle-unselected-handle-color: map.get($system, surface), |
| 93 | + slide-toggle-unselected-hover-state-layer-color: map.get($system, on-surface), |
| 94 | + slide-toggle-unselected-hover-track-color: map.get($system, outline), |
| 95 | + slide-toggle-unselected-pressed-handle-color: map.get($system, surface), |
| 96 | + slide-toggle-unselected-pressed-track-color: map.get($system, outline), |
| 97 | + slide-toggle-unselected-pressed-state-layer-color: map.get($system, on-surface), |
| 98 | + slide-toggle-unselected-track-color: map.get($system, outline), |
107 | 99 | )
|
108 | 100 | );
|
109 | 101 | }
|
110 | 102 |
|
111 | 103 | // 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)); |
| 104 | +@function private-get-color-palette-color-tokens($theme, $color-variant) { |
| 105 | + $system: m2-utils.get-system($theme); |
| 106 | + $system: m3-utils.replace-colors-with-variant($system, primary, $color-variant); |
| 107 | + $selected-track-color: m3-utils.color-with-opacity(map.get($system, primary), 38%); |
117 | 108 |
|
118 | 109 | @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, |
| 110 | + slide-toggle-selected-icon-color: map.get($system, on-primary), |
| 111 | + slide-toggle-selected-focus-state-layer-color: map.get($system, primary), |
| 112 | + slide-toggle-selected-handle-color: map.get($system, primary), |
| 113 | + slide-toggle-selected-hover-state-layer-color: map.get($system, primary), |
| 114 | + slide-toggle-selected-pressed-state-layer-color: map.get($system, primary), |
| 115 | + slide-toggle-selected-focus-handle-color: map.get($system, primary), |
| 116 | + slide-toggle-selected-hover-handle-color: map.get($system, primary), |
| 117 | + slide-toggle-selected-pressed-handle-color: map.get($system, primary), |
| 118 | + slide-toggle-selected-focus-track-color: $selected-track-color, |
| 119 | + slide-toggle-selected-hover-track-color: $selected-track-color, |
| 120 | + slide-toggle-selected-pressed-track-color: $selected-track-color, |
| 121 | + slide-toggle-selected-track-color: $selected-track-color, |
130 | 122 | );
|
131 | 123 | }
|
132 | 124 |
|
|
0 commit comments