@@ -20,6 +20,7 @@ mat-menu {
20
20
& ,
21
21
.mat-mdc-menu-item .mat-mdc-menu-item-text {
22
22
@include mdc-typography .smooth-font ();
23
+ flex : 1 ;
23
24
white-space : normal ;
24
25
25
26
@include token-utils .use-tokens (tokens-mat-menu .$prefix , tokens-mat-menu .get-token-slots ()) {
@@ -64,11 +65,37 @@ mat-menu {
64
65
}
65
66
}
66
67
68
+ .mat-divider {
69
+ // Use margin instead of padding since divider uses border-top for line
70
+ @include token-utils .use-tokens (
71
+ tokens-mat-menu .$prefix ,
72
+ tokens-mat-menu .get-token-slots ()
73
+ ) {
74
+ color : var (#{token-utils .get-token-variable (divider-color )} );
75
+ margin-bottom : var (#{token-utils .get-token-variable (divider-bottom-spacing )} );
76
+ margin-top : var (#{token-utils .get-token-variable (divider-top-spacing )} );
77
+ }
78
+ }
79
+
67
80
.mat-mdc-menu-item {
68
81
@include mdc-helpers .disable-mdc-fallback-declarations {
69
82
@include mdc-list-mixins .item-base ;
70
- @include mdc-list-mixins .item-spacing (
71
- mdc-list-variables .$side-padding , $query : mdc-helpers .$mdc-base-styles-query );
83
+ @include token-utils .use-tokens (tokens-mat-menu .$prefix , tokens-mat-menu .get-token-slots ()) {
84
+ @include mdc-list-mixins .item-spacing (
85
+ var (#{token-utils .get-token-variable (item-leading-spacing )} ),
86
+ var (#{token-utils .get-token-variable (item-trailing-spacing )} ),
87
+ $query : mdc-helpers .$mdc-base-styles-query
88
+ );
89
+
90
+ // stylelint-disable-next-line selector-class-pattern
91
+ & :has (.material-icons , mat-icon , [matButtonIcon ]) {
92
+ @include mdc-list-mixins .item-spacing (
93
+ var (#{token-utils .get-token-variable (item-with-icon-leading-spacing )} ),
94
+ var (#{token-utils .get-token-variable (item-with-icon-trailing-spacing )} ),
95
+ $query : mdc-helpers .$mdc-base-styles-query
96
+ );
97
+ }
98
+ }
72
99
}
73
100
74
101
// MDC's menu items are `<li>` nodes which don't need resets, however ours
@@ -129,22 +156,24 @@ mat-menu {
129
156
130
157
.mat-icon {
131
158
flex-shrink : 0 ;
132
- margin-right : mdc-list-variables .$side-padding ;
159
+ @include token-utils .use-tokens (tokens-mat-menu .$prefix , tokens-mat-menu .get-token-slots ()) {
160
+ margin-right : var (#{token-utils .get-token-variable (item-spacing )} );
161
+ height : var (#{token-utils .get-token-variable (item-icon-size )} );
162
+ width : var (#{token-utils .get-token-variable (item-icon-size )} );
163
+ }
133
164
}
134
165
135
166
[dir = ' rtl' ] & {
136
167
text-align : right ;
137
168
138
169
.mat-icon {
139
170
margin-right : 0 ;
140
- margin-left : mdc-list-variables .$side-padding ;
171
+ @include token-utils .use-tokens (tokens-mat-menu .$prefix , tokens-mat-menu .get-token-slots ()) {
172
+ margin-left : var (#{token-utils .get-token-variable (item-spacing )} );
173
+ }
141
174
}
142
175
}
143
176
144
- & .mat-mdc-menu-item-submenu-trigger {
145
- @include menu-common .item-submenu-trigger (mdc-list-variables .$side-padding );
146
- }
147
-
148
177
& :not ([disabled ]) {
149
178
@include token-utils .use-tokens (tokens-mat-menu .$prefix , tokens-mat-menu .get-token-slots ()) {
150
179
& :hover {
@@ -169,7 +198,12 @@ mat-menu {
169
198
}
170
199
171
200
.mat-mdc-menu-submenu-icon {
172
- @include menu-common .item-submenu-icon (mdc-list-variables .$side-padding );
201
+ @include token-utils .use-tokens (tokens-mat-menu .$prefix , tokens-mat-menu .get-token-slots ()) {
202
+ @include menu-common .item-submenu-icon (
203
+ var (#{token-utils .get-token-variable (item-spacing )} ),
204
+ var (#{token-utils .get-token-variable (item-icon-size )} )
205
+ );
206
+ }
173
207
}
174
208
175
209
// Increase specificity because ripple styles are part of the `mat-core` mixin and can
0 commit comments