element-plus/packages/theme-chalk/src/cascader.scss
2021-07-14 09:27:52 +08:00

181 lines
3.5 KiB
SCSS

@use "sass:map";
@import 'mixins/mixins';
@import 'common/var';
@import './input';
@import './popper';
@import './tag';
@import './cascader-panel';
@include b(cascader) {
display: inline-block;
position: relative;
font-size: $--font-size-base;
line-height: map.get($--input-height, 'default');
outline: none;
&:not(.is-disabled):hover {
.#{$namespace}-input__inner {
cursor: pointer;
border-color: $--input-hover-border;
}
}
.#{$namespace}-input {
cursor: pointer;
.#{$namespace}-input__inner {
text-overflow: ellipsis;
&:focus {
border-color: $--input-focus-border;
}
}
.#{$namespace}-icon-arrow-down {
transition: transform 0.3s;
font-size: 14px;
@include when(reverse) {
transform: rotateZ(180deg);
}
}
.#{$namespace}-icon-circle-close:hover {
color: $--input-clear-hover-color;
}
@include when(focus) {
.#{$namespace}-input__inner {
border-color: $--input-focus-border;
}
}
}
@each $size in (medium, small, mini) {
@include m($size) {
font-size: map.get($--input-font-size, $size);
line-height: map.get($--input-height, $size);
}
}
@include when(disabled) {
.#{$namespace}-cascader__label {
z-index: calc(var(--el-index-normal) + 1);
color: $--disabled-color-base;
}
}
@include e(dropdown) {
font-size: $--cascader-menu-font-size;
border-radius: $--cascader-menu-radius;
@include picker-popper(
$--cascader-menu-fill,
$--cascader-menu-border,
$--cascader-menu-shadow
);
}
@include e(tags) {
position: absolute;
left: 0;
right: 30px;
top: 50%;
transform: translateY(-50%);
display: flex;
flex-wrap: wrap;
line-height: normal;
text-align: left;
box-sizing: border-box;
.#{$namespace}-tag {
display: inline-flex;
align-items: center;
max-width: 100%;
margin: 2px 0 2px 6px;
text-overflow: ellipsis;
background: $--cascader-tag-background;
&:not(.is-hit) {
border-color: transparent;
}
> span {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.#{$namespace}-icon-close {
flex: none;
background-color: $--color-text-placeholder;
color: $--color-white;
&:hover {
background-color: $--color-text-secondary;
}
}
}
}
@include e(suggestion-panel) {
border-radius: $--cascader-menu-radius;
}
@include e(suggestion-list) {
max-height: 204px;
margin: 0;
padding: 6px 0;
font-size: $--font-size-base;
color: $--cascader-menu-font-color;
text-align: center;
}
@include e(suggestion-item) {
display: flex;
justify-content: space-between;
align-items: center;
height: 34px;
padding: 0 15px;
text-align: left;
outline: none;
cursor: pointer;
&:hover,
&:focus {
background: $--cascader-node-background-hover;
}
&.is-checked {
color: $--cascader-menu-selected-font-color;
font-weight: bold;
}
> span {
margin-right: 10px;
}
}
@include e(empty-text) {
margin: 10px 0;
color: $--cascader-color-empty;
}
@include e(search-input) {
flex: 1;
height: 24px;
min-width: 60px;
margin: 2px 0 2px 15px;
padding: 0;
color: $--cascader-menu-font-color;
border: none;
outline: none;
box-sizing: border-box;
&::placeholder {
color: $--color-text-placeholder;
}
}
}