// Menus https://www.google.com/design/spec/components/menus.html#menus-specs // Dropdown buttons (mobile and desktop) https://www.google.com/design/spec/components/buttons.html#buttons-dropdown-buttons .dropdown-menu { display: none; padding: $bmd-dropdown-margin-y 0; border: 0; opacity: 0; transform: scale(0); transform-origin: 0 0; will-change: transform, opacity; transition: transform $bmd-menu-expand-duration $bmd-animation-curve-default, opacity $bmd-menu-fade-duration $bmd-animation-curve-default; box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); &.showing { animation-name: bmd-dropdown-animation; animation-duration: $bmd-menu-expand-duration; animation-fill-mode: forwards; animation-timing-function: $bmd-animation-curve-default; } .open > &, &.show { display: block; opacity: 1; transform: scale(1); } &.hiding { display: block; opacity: 0; transform: scale(0); } &[x-placement="bottom-start"] { transform-origin: 0 0; } &[x-placement="bottom-end"] { transform-origin: 100% 0; } &[x-placement="top-start"] { transform-origin: 0 100%; } &[x-placement="top-end"] { transform-origin: 100% 100%; } .disabled > a{ color: $bmd-dropdown-header-color; &:focus, &:hover{ text-decoration: none; background-color: transparent; background-image: none; color: $bmd-dropdown-header-color; } } &.dropdown-with-icons .dropdown-item{ padding: $dropdown-item-padding-y + 0.125 $dropdown-item-padding-x $dropdown-item-padding-y + 0.125 $dropdown-item-padding-y + 0.125; & .material-icons{ vertical-align: middle; font-size: 24px; position: relative; margin-top: -4px; top: 1px; margin-right: 12px; opacity: .5; } } // https://www.google.com/design/spec/components/menus.html#menus-specs .dropdown-item, li > a{ // used to properly size the ripple container position: relative; width: auto; display: flex; flex-flow: nowrap; align-items: center; color: $bmd-dropdown-link-color; font-weight: normal; text-decoration: none; font-size: .8125rem; border-radius: math.div($border-radius, 2); margin: 0 $bmd-dropdown-margin-y; @include transitions($fast-transition-time, $transition-linear); min-width: $bmd-menu-item-min-width; padding: $dropdown-item-padding-y $dropdown-item-padding-x; overflow: hidden; line-height: $bmd-line-height; text-overflow: ellipsis; word-wrap: break-word; @include media-breakpoint-up(md) { padding-right: $bmd-menu-item-padding-right-md; padding-left: $bmd-menu-item-padding-left-md; } } .dropdown-item:hover, .dropdown-item:focus, a:hover, a:focus, a:active { @include shadow-small-color($brand-primary); background-color: $brand-primary; color: #FFFFFF; } } // this could be in a .btn-group or .dropdown .dropdown-toggle { &.bmd-btn-icon, &.bmd-btn-fab { // remove the dropdown icon &::after { display: none; } ~ .dropdown-menu { &.dropdown-menu-top-left, &.dropdown-menu-top-right { bottom: $bmd-btn-icon-size; // push up the bottom of the menu the height of the button } } } &:after{ will-change: transform; transition: transform $bmd-animation-dropdown-caret linear; } .show &:after{ @include rotate-180(); } &.bmd-btn-fab-sm { ~ .dropdown-menu { &.dropdown-menu-top-left, &.dropdown-menu-top-right { bottom: $bmd-btn-fab-size-sm; // push up the bottom of the menu the height of the button } } } &.bmd-btn-icon { ~ .dropdown-menu { // collapse some spacing margin: 0; } } } .dropdown-header{ font-size: 0.75rem; padding-top: $dropdown-header-padding-y; padding-bottom: $dropdown-header-padding-y; text-transform: none; color: $bmd-dropdown-header-color; line-height: $bmd-line-height; font-weight: inherit; } @keyframes bmd-dropdown-animation { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } } .dropdown-menu.bootstrap-datetimepicker-widget{ opacity: 0; transform: scale(0); transition-duration: $bmd-menu-expand-duration; transition-timing-function: $bmd-animation-curve-default; transform-origin: 0 0; will-change: transform, opacity; top: 0; } .dropdown-menu.bootstrap-datetimepicker-widget.top{ transform-origin: 0 100%; } .dropdown-menu.bootstrap-datetimepicker-widget.open{ opacity: 1; transform: scale(1); top: 0; }