n8n/packages/design-system/theme/src/select.scss
2021-09-03 11:08:50 +02:00

163 lines
2.9 KiB
SCSS

@use "mixins/mixins";
@use "mixins/utils";
@use "./common/var";
@use "select-dropdown";
@use "input";
@use "tag";
@use "option";
@use "option-group";
@use "scrollbar";
@include mixins.b(select) {
display: inline-block;
position: relative;
width: 100%;
.el-select__tags {
overflow-x: scroll;
&::-webkit-scrollbar {
display: none;
}
}
.el-select__tags > span {
display: contents;
}
.el-select__tags + .el-input {
input {
box-sizing: content-box;
padding: 0;
text-indent: var(--spacing-xs);
width: calc(100% - 2px);
}
}
.el-input__inner {
cursor: pointer;
padding-right: 35px;
&:focus {
border-color: var.$select-input-focus-border-color;
}
}
.el-input {
& .el-select__caret {
font-size: var.$select-input-font-size;
transition: transform 0.3s;
transform: rotateZ(180deg);
cursor: pointer;
@include mixins.when(reverse) {
transform: rotateZ(0deg);
}
@include mixins.when(show-close) {
font-size: var.$select-font-size;
text-align: center;
transform: rotateZ(180deg);
border-radius: var.$border-radius-circle;
color: var.$select-input-color;
transition: var.$color-transition-base;
&:hover {
color: var.$select-close-hover-color;
}
}
}
&.is-disabled {
& .el-input__inner {
cursor: not-allowed;
&:hover {
border-color: var.$select-disabled-border;
}
}
}
&.is-focus .el-input__inner {
border-color: var.$select-input-focus-border-color;
}
}
> .el-input {
display: block;
}
@include mixins.e(input) {
border: none;
outline: none;
padding: 0;
margin-left: 15px;
color: var.$select-multiple-input-color;
font-size: var.$select-font-size;
appearance: none;
height: 28px;
background-color: transparent;
@include mixins.when(mini) {
height: 14px;
}
}
@include mixins.e(close) {
cursor: pointer;
position: absolute;
top: 8px;
z-index: var.$index-top;
right: 25px;
color: var.$select-input-color;
line-height: 18px;
font-size: var.$select-input-font-size;
&:hover {
color: var.$select-close-hover-color;
}
}
@include mixins.e(tags) {
position: absolute;
line-height: normal;
white-space: normal;
z-index: var.$index-normal;
top: 50%;
transform: translateY(-50%);
display: flex;
align-items: center;
flex-wrap: wrap;
}
.el-tag__close {
margin-top: -2px;
}
.el-tag {
box-sizing: border-box;
margin: 2px 0 2px 6px;
border-color: var(--color-foreground-base);
background-color: var(--color-foreground-base);
color: var(--color-text-dark);
border-radius: 20px;
font-weight: 400;
&__close.el-icon-close {
background-color: var(--color-text-light);
right: -7px;
top: 0;
color: var.$color-white;
margin-right: 6px;
&:hover {
background-color: var(--color-text-base);
}
&::before {
display: block;
transform: translate(0, 0.5px);
}
}
}
}