amis2/scss/components/form/_transfer.scss
吴多益 33686a375e
SCSS 基于 CSS custom properties 重构,支持通过配置来控制展现风格 (#1190)
* 使用自定义 css 属性初步,支持大部分组件的展现

* button 大部分可以看了

* cxd 和 dark 大部分正常

* 修复一些细节样式错误;补充 css 变量的文档

* 修复几个脚本发现的错误

* 完善一下注释

* 修复一些样式不一致问题

* 修复可能存在的 css xss

* 恢复 font-variant 功能

* 修复绝大部分 @if 相关的问题

* 恢复之前的注释

* 修复小错误,并将所有 background-color 改成 background,这样就能设置渐变色

* 修复 button group 在 cxd 下不一致问题

* 缩小查看配置和复制配置的宽度,留出更多空间

* 修复一些潜在的错误

* 恢复 utilities 中 label 背景色的设置

* 修复错误的 css 变量

* 补充 IE11 Variables Polyfill
2020-12-21 10:08:40 +08:00

185 lines
3.3 KiB
SCSS

.#{$ns}Transfer {
display: flex;
flex-direction: row;
flex-wrap: wrap;
min-height: px2rem(300px);
position: relative;
&--inline {
display: inline-flex;
flex-wrap: nowrap;
}
&-title {
display: flex;
align-items: center;
background: var(--Transfer-title-bg);
height: px2rem(30px);
line-height: var(--Form-input-lineHeight);
font-size: var(--Form-input-fontSize);
padding: calc(
(
#{px2rem(30px)} - var(--Form-input-lineHeight) * var(--Form-input-fontSize)
) / 2
)
var(--gap-sm);
flex-direction: row;
&--light {
background: transparent;
}
> span {
flex-grow: 1;
}
}
&-select,
&-result {
width: 0;
min-width: px2rem(200px);
max-height: px2rem(400px);
flex-grow: 1;
border: var(--Form-input-borderWidth) solid var(--Form-input-borderColor);
display: flex;
flex-direction: column;
}
&-select > &-checkboxes,
&-result > &-selections {
flex-grow: 1;
max-height: 100%;
overflow: auto;
position: relative; // 貌似不加 relative 会有 bug。
}
&-search + &-checkboxes {
border-top: 1px solid var(--borderColor);
}
&-checkboxes .#{$ns}ListCheckboxes-placeholder {
height: 100%;
display: flex;
align-items: center;
text-align: center;
justify-content: center;
}
&-search {
padding: var(--gap-sm);
}
&-mid {
min-width: px2rem(10px);
display: flex;
flex-direction: column;
justify-content: center;
}
&-arrow {
width: 40px;
height: 30px;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid var(--borderColor);
margin: 0 10px;
color: var(--icon-color);
> svg {
top: 0;
width: 14px;
height: 14px;
}
}
&-checkAll,
&-clearAll {
user-select: none;
cursor: pointer;
&.is-disabled {
pointer-events: none;
color: var(--text--muted-color);
}
}
&-tabs {
display: flex;
flex-direction: column;
height: 100%;
> .#{$ns}Tabs-links {
border-top: 0 none;
padding: 5px 0 0 5px;
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
> .#{$ns}Tabs-link > a:first-child {
font-size: 12px;
padding: 7px 8px;
}
.#{$ns}TabsTransfer-tabsMid {
flex-grow: 1;
}
> .#{$ns}SearchBox {
margin: -5px 5px 0 10px;
&.is-active {
width: 150px;
margin-right: 10px;
padding-left: 10px;
}
}
}
> .#{$ns}Tabs-content {
flex-grow: 1;
position: relative;
padding: 5px 0 0;
> .#{$ns}Tabs-pane {
position: relative;
min-height: 100%;
&.is-active {
display: flex;
flex-direction: column;
> .#{$ns}Transfer-checkboxes {
flex-grow: 1;
max-height: 100%;
overflow: auto;
}
}
}
}
}
}
.#{$ns}TabsTransfer {
.#{$ns}Transfer-title {
height: 40px;
}
// .#{$ns}Transfer-result {
// flex-grow: unset;
// }
&-placeholder {
@include checkboxes-placeholder();
}
}
.#{$ns}TransferControl {
position: relative;
&.is-inline {
display: inline-block;
}
}