fix(menu): allow text wrapping in menu items (#11430)

Allows for the text inside menu items to wrap, instead of having it be truncated. The text was being truncated as a limitation on `mat-select` and `mat-autocomplete`, however we don't have the same limitation on `mat-menu`.
This commit is contained in:
Kristiyan Kostadinov
2018-12-12 19:23:12 +01:00
committed by vivian-hu
parent fe96f38c10
commit 3661abe061
4 changed files with 15 additions and 3 deletions
+2 -2
View File
@@ -19,13 +19,13 @@ export class MenuDemo {
selected = '';
items = [
{text: 'Refresh'},
{text: 'Settings'},
{text: 'Settings with a longer name so we can test text wrapping'},
{text: 'Help', disabled: true},
{text: 'Sign Out'}
];
iconItems = [
{text: 'Redial', icon: 'dialpad'},
{text: 'Redial with a longer name so we can test text wrapping', icon: 'dialpad'},
{text: 'Check voicemail', icon: 'voicemail', disabled: true},
{text: 'Disable alerts', icon: 'notifications_off'}
];
-1
View File
@@ -11,7 +11,6 @@
display: flex;
flex-direction: row;
max-width: 100%;
box-sizing: border-box;
align-items: center;
-webkit-tap-highlight-color: transparent;
+1
View File
@@ -28,6 +28,7 @@ $mat-menu-icon-margin: 16px !default;
line-height: $mat-menu-item-height;
height: $mat-menu-item-height;
padding: 0 $mat-menu-side-padding;
box-sizing: border-box;
text-align: left;
text-decoration: none; // necessary to reset anchor tags
+12
View File
@@ -5,6 +5,7 @@
@import '../../cdk/a11y/a11y';
$mat-menu-vertical-padding: 8px !default;
$mat-menu-item-vertical-padding: 8px !default;
$mat-menu-border-radius: 4px !default;
$mat-menu-submenu-indicator-size: 10px !default;
@@ -30,6 +31,17 @@ $mat-menu-submenu-indicator-size: 10px !default;
@include mat-menu-item-base();
position: relative;
// TODO(crisbeto): most of these can be moved into the `mat-menu-item-base`
// once we start allowing text wrapping in mat-select and mat-autocomplete.
display: flex;
align-items: center;
white-space: normal;
line-height: normal;
height: auto;
min-height: $mat-menu-item-height;
padding-top: $mat-menu-item-vertical-padding;
padding-bottom: $mat-menu-item-vertical-padding;
@include cdk-high-contrast {
&.cdk-program-focused,
&.cdk-keyboard-focused,