@@ -20,6 +20,7 @@ mat-menu {
2020 & ,
2121 .mat-mdc-menu-item .mat-mdc-menu-item-text {
2222 @include mdc-typography .smooth-font ();
23+ flex : 1 ;
2324 white-space : normal ;
2425
2526 @include token-utils .use-tokens (tokens-mat-menu .$prefix , tokens-mat-menu .get-token-slots ()) {
@@ -64,11 +65,37 @@ mat-menu {
6465 }
6566}
6667
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+
6780.mat-mdc-menu-item {
6881 @include mdc-helpers .disable-mdc-fallback-declarations {
6982 @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+ }
7299 }
73100
74101 // MDC's menu items are `<li>` nodes which don't need resets, however ours
@@ -129,22 +156,24 @@ mat-menu {
129156
130157 .mat-icon {
131158 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+ }
133164 }
134165
135166 [dir = ' rtl' ] & {
136167 text-align : right ;
137168
138169 .mat-icon {
139170 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+ }
141174 }
142175 }
143176
144- & .mat-mdc-menu-item-submenu-trigger {
145- @include menu-common .item-submenu-trigger (mdc-list-variables .$side-padding );
146- }
147-
148177 & :not ([disabled ]) {
149178 @include token-utils .use-tokens (tokens-mat-menu .$prefix , tokens-mat-menu .get-token-slots ()) {
150179 & :hover {
@@ -169,7 +198,12 @@ mat-menu {
169198}
170199
171200.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+ }
173207}
174208
175209// Increase specificity because ripple styles are part of the `mat-core` mixin and can
0 commit comments