birdpaper-ui
Version:
一个通用的 vue3 UI组件库。A common vue3 UI component library.
110 lines (92 loc) • 1.92 kB
text/less
@import "./token.less";
@select-cls: ~"@{prefix}-select";
@option-cls: ~"@{prefix}-option";
.@{select-cls} {
position: relative;
display: flex;
align-items: center;
outline: none;
white-space: nowrap;
box-sizing: border-box;
-moz-box-sizing: border-box;
opacity: 1;
width: 180px;
height: 32px;
min-width: 80px;
border-radius: 4px;
background-color: @gary-2;
border: none;
cursor: pointer;
transition: all 0.2s ease;
&-disabled {
opacity: 9;
cursor: not-allowed;
}
.@{prefix}-input {
flex: 1;
cursor: pointer;
&-inner {
cursor: pointer;
}
}
&-icon-inner {
fill: @gary-7;
}
&-option-list {
min-height: 32px;
max-height: 320px;
padding: 6px;
background-color: @gary-1;
border: 1px solid @gary-4;
border-radius: 6px;
z-index: 99;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
overflow-y: auto;
.no-select;
.@{option-cls}-item {
display: flex;
align-items: center;
list-style: none;
font-size: 14px;
color: @gary-10;
height: 36px;
border-radius: 6px;
cursor: pointer;
&:not(:first-child) {
margin-top: 1px;
}
span {
padding: 0 10px;
.text-ellipsis;
}
&:hover {
background-color: @gary-3;
transition: all 0.2s ease;
}
}
.@{option-cls}-disabled {
cursor: not-allowed;
opacity: 0.5;
&:hover {
background: none;
}
}
.@{option-cls}-active {
background-color: @primary-1;
transition: all 0.2s ease;
span {
font-weight: 500;
color: @gary-11;
transition: all 0.2s ease;
}
&:hover {
background-color: @primary-1;
transition: all 0.2s ease;
span {
font-weight: 500;
transition: all 0.2s ease;
}
}
}
}
}