UNPKG

vui-design

Version:

A high quality UI Toolkit based on Vue.js

351 lines (308 loc) 8.49 kB
@vui-dropdown: ~"@{vui}-dropdown"; .@{vui-dropdown} { position:relative; display:inline-block; box-sizing:border-box; vertical-align:middle; &-button { display:inline-block; box-sizing:border-box; vertical-align:middle; } &-button > .@{vui}-button { border-radius:@button-border-radius 0 0 @button-border-radius; } &-button > & > &-trigger > .@{vui}-button { border-radius:0 @button-border-radius @button-border-radius 0; } &-popup { position:absolute; top:0; left:0; padding:4px 0; &[data-placement="top"] { transform-origin:bottom center; } &[data-placement="top-start"] { transform-origin:bottom left; } &[data-placement="top-end"] { transform-origin:bottom right; } &[data-placement="bottom"] { transform-origin:top center; } &[data-placement="bottom-start"] { transform-origin:top left; } &[data-placement="bottom-end"] { transform-origin:top right; } &-scale-enter-active, &-scale-leave-active { pointer-events:none; opacity:1; transform:scaleY(1); transition:opacity @transition-duration @transition-timing-function, transform @transition-duration @transition-timing-function; } &-scale-enter, &-scale-leave-active { opacity:0; transform:scaleY(0.8); } } &-menu { display:block; box-sizing:border-box; border-radius:@dropdown-menu-border-radius; box-shadow:@dropdown-menu-box-shadow; padding:4px 0; overflow:hidden; line-height:@dropdown-menu-line-height; } &-submenu { position:relative; display:block; box-sizing:border-box; &-header { cursor:pointer; display:flex; justify-content:flex-start; align-items:center; box-sizing:border-box; padding:0 @dropdown-submenu-header-padding-horizontal; overflow:hidden; font-size:@dropdown-submenu-header-font-size; transition:background-color @transition-duration @transition-timing-function, color @transition-duration @transition-timing-function; &-icon { display:block; box-sizing:border-box; margin-right:@dropdown-submenu-header-icon-margin-right; .@{vui}-icon { display:block; } } &-title { flex:1; display:block; box-sizing:border-box; .writeEllipsis; } &-arrow { position:relative; display:block; box-sizing:border-box; width:2px; height:10px; margin-left:@dropdown-submenu-header-arrow-margin-left; &:before, &:after { content:""; left:0; position:absolute; display:block; box-sizing:border-box; width:2px; height:6px; background-color:currentColor; transform-origin:center center; transition:background-color @transition-duration @transition-timing-function, transform @transition-duration @transition-timing-function; } &:before { top:0; transform:rotate(-45deg) scaleX(0.6); } &:after { bottom:0; transform:rotate(45deg) scaleX(0.6); } } } &-body { position:absolute; top:0; left:0; padding:0 4px; &[data-placement="left-start"] { transform-origin:top right; } &[data-placement="right-start"] { transform-origin:top left; } &-scale-enter-active, &-scale-leave-active { pointer-events:none; opacity:1; transform:scaleY(1); transition:opacity @transition-duration @transition-timing-function, transform @transition-duration @transition-timing-function; } &-scale-enter, &-scale-leave-active { opacity:0; transform:scaleY(0.8); } } &-open &-header { &-arrow { &:before { transform:rotate(45deg) scaleX(0.6); } &:after { transform:rotate(-45deg) scaleX(0.6); } } } &-disabled &-header { cursor:not-allowed; pointer-events:none; } } &-menu-item { cursor:pointer; display:flex; justify-content:flex-start; align-items:center; box-sizing:border-box; padding:0 @dropdown-menu-item-padding-horizontal; overflow:hidden; font-size:@dropdown-menu-item-font-size; transition:background-color @transition-duration @transition-timing-function, color @transition-duration @transition-timing-function; &-icon { display:block; box-sizing:border-box; margin-right:@dropdown-menu-item-icon-margin-right; .@{vui}-icon { display:block; } } &-title { flex:1; display:block; box-sizing:border-box; .writeEllipsis; } &-disabled { cursor:not-allowed; pointer-events:none; } &-group { &-header { display:block; box-sizing:border-box; padding:0 @dropdown-menu-item-group-header-padding-horizontal; font-size:@dropdown-menu-item-group-header-font-size; .writeEllipsis; } } &-group & { padding-left:@dropdown-menu-item-padding-horizontal * 2; } } &-menu-divider { display:block; box-sizing:border-box; width:100%; height:0; border-top:1px solid transparent; margin:4px 0; overflow:hidden; } // light &-menu-light { background-color:@dropdown-menu-light-background-color; } &-menu-light &-submenu { &-header { color:@dropdown-submenu-header-light-font-color; &:hover { background-color:@dropdown-submenu-header-light-hover-background-color; color:@dropdown-submenu-header-light-hover-font-color; } } } &-menu-light &-submenu-open &-submenu-header { background-color:@dropdown-submenu-header-light-open-background-color; color:@dropdown-submenu-header-light-open-font-color; } &-menu-light &-submenu-disabled &-submenu-header { background-color:@dropdown-submenu-header-light-disabled-background-color; color:@dropdown-submenu-header-light-disabled-font-color; } &-menu-light &-menu-item { color:@dropdown-menu-item-light-font-color; } &-menu-light &-menu-item:hover { background-color:@dropdown-menu-item-light-hover-background-color; color:@dropdown-menu-item-light-hover-font-color; } &-menu-light &-menu-item-disabled { background-color:@dropdown-menu-item-light-disabled-background-color; color:@dropdown-menu-item-light-disabled-font-color; } &-menu-light &-menu-item-danger { color:@dropdown-menu-item-danger-light-font-color; } &-menu-light &-menu-item-danger:hover { background-color:@dropdown-menu-item-danger-light-hover-background-color; color:@dropdown-menu-item-danger-light-font-color; } &-menu-light &-menu-item-danger&-menu-item-disabled { background-color:@dropdown-menu-item-danger-light-disabled-background-color; color:@dropdown-menu-item-danger-light-disabled-font-color; } &-menu-light &-menu-item-group &-menu-item-group-header { color:@dropdown-menu-item-group-header-light-font-color; } &-menu-light &-menu-divider { border-top-color:@dropdown-menu-divider-light-color; } // dark &-menu-dark { background-color:@dropdown-menu-dark-background-color; } &-menu-dark &-submenu { &-header { color:@dropdown-submenu-header-dark-font-color; &:hover { background-color:@dropdown-submenu-header-dark-hover-background-color; color:@dropdown-submenu-header-dark-hover-font-color; } } } &-menu-dark &-submenu-open &-submenu-header { background-color:@dropdown-submenu-header-dark-open-background-color; color:@dropdown-submenu-header-dark-open-font-color; } &-menu-dark &-submenu-disabled &-submenu-header { background-color:@dropdown-submenu-header-dark-disabled-background-color; color:@dropdown-submenu-header-dark-disabled-font-color; } &-menu-dark &-menu-item { color:@dropdown-menu-item-dark-font-color; } &-menu-dark &-menu-item:hover { background-color:@dropdown-menu-item-dark-hover-background-color; color:@dropdown-menu-item-dark-hover-font-color; } &-menu-dark &-menu-item-disabled { background-color:@dropdown-menu-item-dark-disabled-background-color; color:@dropdown-menu-item-dark-disabled-font-color; } &-menu-dark &-menu-item-danger { color:@dropdown-menu-item-danger-dark-font-color; } &-menu-dark &-menu-item-danger:hover { background-color:@dropdown-menu-item-danger-dark-hover-background-color; color:@dropdown-menu-item-danger-dark-font-color; } &-menu-dark &-menu-item-danger&-menu-item-disabled { background-color:@dropdown-menu-item-danger-dark-disabled-background-color; color:@dropdown-menu-item-danger-dark-disabled-font-color; } &-menu-dark &-menu-item-group &-menu-item-group-header { color:@dropdown-menu-item-group-header-dark-font-color; } &-menu-dark &-menu-divider { border-top-color:@dropdown-menu-divider-dark-color; } }