fix(select): trim long labels inside md-option (#2444)

* fix(select): not trimming long labels

* Fixes long text not being trimmed inside of `md-option`, because the element is a flex container. Switches it to `display: block` and uses `line-height` to center the text.
* Fixes the selected value not being trimmed, because the element doesn't have a defined width.

Fixes #2440.

* fix: menu icon alignment
This commit is contained in:
Kristiyan Kostadinov
2017-01-20 18:34:42 +01:00
committed by mmalerba
parent 5def001e59
commit 416f56f6dc
4 changed files with 7 additions and 5 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ export class SelectDemo {
drinks = [ drinks = [
{value: 'coke-0', viewValue: 'Coke'}, {value: 'coke-0', viewValue: 'Coke'},
{value: 'sprite-1', viewValue: 'Sprite'}, {value: 'long-name-1', viewValue: 'Decaf Chocolate Brownie Vanilla Gingerbread Frappuccino'},
{value: 'water-2', viewValue: 'Water'}, {value: 'water-2', viewValue: 'Water'},
{value: 'pepper-3', viewValue: 'Dr. Pepper'}, {value: 'pepper-3', viewValue: 'Dr. Pepper'},
{value: 'coffee-4', viewValue: 'Coffee'}, {value: 'coffee-4', viewValue: 'Coffee'},
+3 -3
View File
@@ -24,9 +24,9 @@ $md-menu-side-padding: 16px !default;
@mixin md-menu-item-base() { @mixin md-menu-item-base() {
@include md-truncate-line(); @include md-truncate-line();
display: flex; // Needs to be a block for the ellipsis to work.
flex-direction: row; display: block;
align-items: center; line-height: $md-menu-item-height;
height: $md-menu-item-height; height: $md-menu-item-height;
padding: 0 $md-menu-side-padding; padding: 0 $md-menu-side-padding;
+1
View File
@@ -20,6 +20,7 @@
md-icon { md-icon {
color: md-color($foreground, 'icon'); color: md-color($foreground, 'icon');
vertical-align: middle;
} }
&:hover:not([disabled]), &:focus:not([disabled]) { &:hover:not([disabled]), &:focus:not([disabled]) {
+2 -1
View File
@@ -65,8 +65,9 @@ md-select {
} }
.md-select-value { .md-select-value {
position: absolute;
@include md-truncate-line(); @include md-truncate-line();
position: absolute;
max-width: calc(100% - #{$md-select-arrow-size * 2});
// Firefox and some versions of IE incorrectly keep absolutely // Firefox and some versions of IE incorrectly keep absolutely
// positioned children of flex containers in the flex flow when calculating // positioned children of flex containers in the flex flow when calculating