amis2/scss/components/form/_input-group.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

151 lines
3.6 KiB
SCSS

.#{$ns}InputGroup {
display: inline-flex;
flex-wrap: nowrap;
&.#{$ns}Form-control--sizeXs,
&.#{$ns}Form-control--sizeSm,
&.#{$ns}Form-control--sizeMd,
&.#{$ns}Form-control--sizeLg {
display: inline-flex;
}
&-addOn,
& .#{$ns}Form-control {
display: inline-block;
white-space: nowrap;
}
&-addOn {
background: var(--InputGroup-addOn-bg);
border: var(--InputGroup-addOn-borderWidth) solid
var(--InputGroup-addOn-borderColor);
line-height: calc(
var(--InputGroup-height) - var(--InputGroup-paddingY) * 2 -
var(--InputGroup-addOn-borderWidth) * 2
);
height: var(--InputGroup-height);
box-sizing: border-box;
padding: var(--InputGroup-paddingY) var(--InputGroup-paddingX);
&:not(:last-child) {
border-right: 0;
}
&:first-child {
border-top-left-radius: var(--InputGroup-addOn-borderRadius);
border-bottom-left-radius: var(--InputGroup-addOn-borderRadius);
}
&:last-child {
border-top-right-radius: var(--InputGroup-addOn-borderRadius);
border-bottom-right-radius: var(--InputGroup-addOn-borderRadius);
}
}
&-btn {
.#{$ns}Button {
border-radius: 0;
border: var(--InputGroup-button-borderWidth) solid
var(--InputGroup-button-borderColor);
}
&:not(:last-child) .#{$ns}Button {
border-right: 0;
}
&:first-child .#{$ns}Button {
border-top-left-radius: var(--InputGroup-button-borderRadius);
border-bottom-left-radius: var(--InputGroup-button-borderRadius);
}
&:last-child .#{$ns}Button {
border-top-right-radius: var(--InputGroup-button-borderRadius);
border-bottom-right-radius: var(--InputGroup-button-borderRadius);
}
}
.#{$ns}TextControl-input {
flex-basis: 0;
flex-grow: 1;
display: inline-flex;
&:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:last-child) {
border-right-width: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
.#{$ns}SelectControl {
.#{$ns}Select {
background: var(--InputGroup-select-bg);
border: var(--InputGroup-select-borderWidth) solid
var(--InputGroup-select-borderColor);
color: var(--InputGroup-select-color);
}
&:not(:last-child) .#{$ns}Select {
border-right: 0;
}
&:first-child .#{$ns}Select {
border-top-left-radius: var(--InputGroup-select-borderRadius);
border-bottom-left-radius: var(--InputGroup-select-borderRadius);
}
&:last-child .#{$ns}Select {
border-top-right-radius: var(--InputGroup-select-borderRadius);
border-bottom-right-radius: var(--InputGroup-select-borderRadius);
}
&:not(:first-child) .#{$ns}Select {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:last-child) .#{$ns}Select {
border-right-width: 0;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
.#{$ns}Select-arrow {
color: var(--InputGroup-select-arrowColor);
}
&.is-focused {
.#{$ns}InputGroup-addOn,
.#{$ns}TextControl-input,
.#{$ns}Select,
.#{$ns}InputGroup-btn .#{$ns}Button {
border-color: var(--InputGroup-addOn-onFocused-borderColor);
}
.#{$ns}Select {
background: var(--InputGroup-select-onFocused-bg);
}
.#{$ns}Select {
color: var(--InputGroup-select-onFocused-color);
}
.#{$ns}Select-arrow {
color: var(--InputGroup-select-onFocused-arrowColor);
}
.#{$ns}InputGroup-addOn {
color: var(--primary);
}
}
}
.#{$ns}InputGroup:not(.is-inline) {
display: flex;
}