2016-01-26 21:12:48 +03:00
// https://www.google.com/design/spec/components/lists.html#lists-specs
// - single line 48dp
// - single line avatar 56dp
// - double line (with and w/o avatar) 72dp
// - triple line 88dp
. list-group {
2016-01-29 20:28:11 +03:00
// #853 start -- https://github.com/twbs/bootstrap/pull/18981/files
@if $enable-flex {
display : flex ;
flex-direction : column ;
}
// #853 end -- https://github.com/twbs/bootstrap/pull/18981/files
2016-01-26 21:12:48 +03:00
flex-grow : 1 ;
// Add 8dp of padding at the top and bottom of a list. One exception is at the top of a list with a subheader, because subheaders contain their own padding.
padding : .5 rem 0 ;
// dense size variation
2016-03-21 17:56:51 +03:00
& . bmd-list-group-sm {
2016-01-26 21:12:48 +03:00
padding : .25 rem 0 ;
. list-group-item {
padding : .5 rem 1 rem ;
}
}
}
2016-03-21 17:56:51 +03:00
. bmd-list-group-col {
2016-01-26 21:12:48 +03:00
display : flex ;
flex-direction : column ;
2016-02-08 22:42:01 +03:00
min-width : 0 ;
2016-01-26 21:12:48 +03:00
//flex-shrink: 0;
}
. list-group-item {
2016-01-29 20:28:11 +03:00
// #853 start -- https://github.com/twbs/bootstrap/pull/18981/files
@if $enable-flex {
display : flex ;
flex-flow : row wrap ;
align-items : center ;
} @else {
display : block ;
}
// #853 end -- https://github.com/twbs/bootstrap/pull/18981/files
2016-01-26 21:12:48 +03:00
padding : 1 rem ;
line-height : 1 ;
2016-01-29 20:28:11 +03:00
. list-group-item-text { // word wrap? http://stackoverflow.com/a/26535469/2363935
2016-01-26 21:12:48 +03:00
//flex-flow: row wrap;
min-width : 0 ;
2016-01-29 20:28:11 +03:00
max-height : 2 .188 rem ; // 88dp tile total height
2016-01-26 21:12:48 +03:00
// FIXME: text overflow with ellipsis is not working
//flex: 0 1 auto; // http://stackoverflow.com/questions/12022288/how-to-keep-a-flex-item-from-overflowing-due-to-its-text
overflow : hidden ;
text-overflow : ellipsis ;
}
//------
// NOTE: there are many variations of icons/labels in a list, each one of these rules exist for a reason.
// first icon/label on the left
: first-child {
margin-right : 2 rem ; // single line icon is 72dp to text (16 pad + 24 icon + 32 margin)
}
// second icon/label, or only icon/label marked as 'pull-*-right', or any direct child element marked as right
> . pull-xs-right ,
> . pull-sm-right ,
> . pull-md-right ,
> . pull-lg-right ,
> . pull-xl-right ,
> * ~ . label : last-child ,
> * ~ . material-icons : last-child {
margin-right : 0 ; // some variations actually match the first-child
margin-left : auto ;
}
// add the padding to icons (margin-left is used for alignment)
. material-icons . pull-xs-right , / / need the specificity
. material-icons . pull-sm-right ,
. material-icons . pull-md-right ,
. material-icons . pull-lg-right ,
. material-icons . pull-xl-right ,
. material-icons ~ . material-icons : last-child {
padding-left : 1 rem ; // guarantee space per spec
}
//------
. list-group-item-heading {
//font-size: 1rem;
}
. list-group-item-text {
font-size : .875 rem ;
color : $gray ;
}
}