|
17 | 17 | // go/keep-sorted end |
18 | 18 |
|
19 | 19 | @mixin theme($tokens) { |
20 | | - $list-item-supported-tokens: tokens.$md-comp-menu-list-item-supported-tokens; |
21 | 20 | $supported-tokens: tokens.$md-comp-menu-item-supported-tokens; |
22 | 21 |
|
23 | 22 | @each $token, $value in $tokens { |
24 | | - @if list.index($supported-tokens, $token) == |
25 | | - null and |
26 | | - list.index($list-item-supported-tokens, $token) == |
27 | | - null |
28 | | - { |
| 23 | + @if list.index($supported-tokens, $token) == null { |
29 | 24 | @error 'Token `#{$token}` is not a supported token.'; |
30 | 25 | } |
31 | 26 |
|
32 | 27 | @if $value and list.index($supported-tokens, $token) == null { |
33 | 28 | --md-menu-item-#{$token}: #{$value}; |
34 | 29 | } |
35 | | - |
36 | | - @if $value and list.index($list-item-supported-tokens, $token) == null { |
37 | | - --md-list-item-#{$token}: #{$value}; |
38 | | - } |
39 | 30 | } |
40 | 31 | } |
41 | 32 |
|
42 | 33 | @mixin styles() { |
43 | | - $list-item-tokens: tokens.md-comp-menu-list-item-values(); |
44 | | - @each $token, $value in $list-item-tokens { |
45 | | - $list-item-tokens: map.set( |
46 | | - $list-item-tokens, |
47 | | - $token, |
48 | | - var(--md-menu-item-#{$token}, #{$value}) |
49 | | - ); |
50 | | - } |
51 | 34 | $tokens: tokens.md-comp-menu-item-values(); |
52 | 35 | @each $token, $value in $tokens { |
53 | 36 | $tokens: map.set($tokens, $token, var(--md-menu-item-#{$token}, #{$value})); |
54 | 37 | } |
55 | 38 |
|
56 | 39 | :host { |
57 | | - border-radius: map.get($list-item-tokens, 'container-shape'); |
| 40 | + border-radius: map.get($tokens, 'container-shape'); |
58 | 41 | display: flex; |
59 | 42 |
|
60 | 43 | @include ripple.theme( |
61 | 44 | ( |
62 | | - hover-color: map.get($list-item-tokens, 'hover-state-layer-color'), |
63 | | - hover-opacity: map.get($list-item-tokens, 'hover-state-layer-opacity'), |
64 | | - pressed-color: map.get($list-item-tokens, 'pressed-state-layer-color'), |
65 | | - pressed-opacity: |
66 | | - map.get($list-item-tokens, 'pressed-state-layer-opacity'), |
| 45 | + hover-color: map.get($tokens, 'hover-state-layer-color'), |
| 46 | + hover-opacity: map.get($tokens, 'hover-state-layer-opacity'), |
| 47 | + pressed-color: map.get($tokens, 'pressed-state-layer-color'), |
| 48 | + pressed-opacity: map.get($tokens, 'pressed-state-layer-opacity'), |
67 | 49 | ) |
68 | 50 | ); |
69 | 51 | } |
70 | 52 |
|
71 | 53 | :host([disabled]) { |
72 | | - opacity: map.get($list-item-tokens, 'disabled-opacity'); |
| 54 | + opacity: map.get($tokens, 'disabled-opacity'); |
73 | 55 | pointer-events: none; |
74 | 56 | } |
75 | 57 |
|
|
121 | 103 | md-item { |
122 | 104 | border-radius: inherit; |
123 | 105 | flex: 1; |
124 | | - color: map.get($list-item-tokens, 'label-text-color'); |
125 | | - font-family: map.get($list-item-tokens, 'label-text-font'); |
126 | | - font-size: map.get($list-item-tokens, 'label-text-size'); |
127 | | - line-height: map.get($list-item-tokens, 'label-text-line-height'); |
128 | | - font-weight: map.get($list-item-tokens, 'label-text-weight'); |
129 | | - min-height: map.get($list-item-tokens, 'one-line-container-height'); |
130 | | - padding-top: map.get($list-item-tokens, 'top-space'); |
131 | | - padding-bottom: map.get($list-item-tokens, 'bottom-space'); |
132 | | - padding-inline-start: map.get($list-item-tokens, 'leading-space'); |
133 | | - padding-inline-end: map.get($list-item-tokens, 'trailing-space'); |
| 106 | + color: map.get($tokens, 'label-text-color'); |
| 107 | + font-family: map.get($tokens, 'label-text-font'); |
| 108 | + font-size: map.get($tokens, 'label-text-size'); |
| 109 | + line-height: map.get($tokens, 'label-text-line-height'); |
| 110 | + font-weight: map.get($tokens, 'label-text-weight'); |
| 111 | + min-height: map.get($tokens, 'one-line-container-height'); |
| 112 | + padding-top: map.get($tokens, 'top-space'); |
| 113 | + padding-bottom: map.get($tokens, 'bottom-space'); |
| 114 | + padding-inline-start: map.get($tokens, 'leading-space'); |
| 115 | + padding-inline-end: map.get($tokens, 'trailing-space'); |
134 | 116 | } |
135 | 117 |
|
136 | 118 | md-item[multiline] { |
137 | | - min-height: map.get($list-item-tokens, 'two-line-container-height'); |
| 119 | + min-height: map.get($tokens, 'two-line-container-height'); |
138 | 120 | } |
139 | 121 |
|
140 | 122 | [slot='supporting-text'] { |
141 | | - color: map.get($list-item-tokens, 'supporting-text-color'); |
142 | | - font-family: map.get($list-item-tokens, 'supporting-text-font'); |
143 | | - font-size: map.get($list-item-tokens, 'supporting-text-size'); |
144 | | - line-height: map.get($list-item-tokens, 'supporting-text-line-height'); |
145 | | - font-weight: map.get($list-item-tokens, 'supporting-text-weight'); |
| 123 | + color: map.get($tokens, 'supporting-text-color'); |
| 124 | + font-family: map.get($tokens, 'supporting-text-font'); |
| 125 | + font-size: map.get($tokens, 'supporting-text-size'); |
| 126 | + line-height: map.get($tokens, 'supporting-text-line-height'); |
| 127 | + font-weight: map.get($tokens, 'supporting-text-weight'); |
146 | 128 | } |
147 | 129 |
|
148 | 130 | [slot='trailing-supporting-text'] { |
149 | | - color: map.get($list-item-tokens, 'trailing-supporting-text-color'); |
150 | | - font-family: map.get($list-item-tokens, 'trailing-supporting-text-font'); |
151 | | - font-size: map.get($list-item-tokens, 'trailing-supporting-text-size'); |
152 | | - line-height: map.get( |
153 | | - $list-item-tokens, |
154 | | - 'trailing-supporting-text-line-height' |
155 | | - ); |
156 | | - font-weight: map.get($list-item-tokens, 'trailing-supporting-text-weight'); |
| 131 | + color: map.get($tokens, 'trailing-supporting-text-color'); |
| 132 | + font-family: map.get($tokens, 'trailing-supporting-text-font'); |
| 133 | + font-size: map.get($tokens, 'trailing-supporting-text-size'); |
| 134 | + line-height: map.get($tokens, 'trailing-supporting-text-line-height'); |
| 135 | + font-weight: map.get($tokens, 'trailing-supporting-text-weight'); |
157 | 136 | } |
158 | 137 |
|
159 | 138 | :is([slot='start'], [slot='end'])::slotted(*) { |
160 | 139 | fill: currentColor; |
161 | 140 | } |
162 | 141 |
|
163 | 142 | [slot='start'] { |
164 | | - color: map.get($list-item-tokens, 'leading-icon-color'); |
| 143 | + color: map.get($tokens, 'leading-icon-color'); |
165 | 144 | } |
166 | 145 |
|
167 | 146 | [slot='end'] { |
168 | | - color: map.get($list-item-tokens, 'trailing-icon-color'); |
| 147 | + color: map.get($tokens, 'trailing-icon-color'); |
169 | 148 | } |
170 | 149 |
|
171 | 150 | .list-item { |
172 | | - background-color: map.get($list-item-tokens, 'container-color'); |
| 151 | + background-color: map.get($tokens, 'container-color'); |
173 | 152 | } |
174 | 153 |
|
175 | 154 | .list-item.selected { |
|
0 commit comments