amis/packages/amis-ui/scss/components/form/_switch.scss
qinhaoyan 3ac4097dc4
styles:主题二期合入 (#6023)
* style: button主题适配 (#5780)

* feat: button增加font-weight (#5781)

* feat: button增加font-weight

* fix: button-fix

* fix: button-fix

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* style: font

* feat: input输入框变量样式&切换图标方案 (#5847)

* feat: input输入框变量样式&切换图标方案

* fix: 去掉多余代码

* fix: 去掉多余代码

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* style: input外观

* fix: 修复选择图标没选中 (#5858)

* fix: 修复选择图标没选中

* fix: 代码格式

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* style: link组件

* style: form

* inputNumber输入输入框 组件css变量 (#5874)

* inputNumber输入输入框 组件css变量

* inputNumber组件 兼容变量

* inputNumber组件 css变量文件迁移

* inputNumber组件 删除变量

* 去除无用变量

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* style: form

* style: form

* InputNumber组件 变量修改 (#5879)

* inputNumber输入输入框 组件css变量

* inputNumber组件 兼容变量

* inputNumber组件 css变量文件迁移

* inputNumber组件 删除变量

* 去除无用变量

* InputNumber组件 变量修改

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* style: form

* style: input

* inputNumber组件 加强版分别配置 (#5887)

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* style: input-range

* inputNumber组件 加强版图标 (#5888)

* inputNumber组件 加强版分别配置

* inputNumber组件 加强版图标

* 修改图标变量

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* style: rating

* checkbox组件变量 (#5902)

* inputNumber组件 加强版分别配置

* inputNumber组件 加强版图标

* 修改图标变量

* checkbox组件变量

* 修改checkbox-size

* 修改checkbox-size变量

* 优化

* 优化

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* checkbox边框 背景分别配置变量 (#5904)

* inputNumber组件 加强版分别配置

* inputNumber组件 加强版图标

* 修改图标变量

* checkbox组件变量

* 修改checkbox-size

* 修改checkbox-size变量

* 优化

* 优化

* checkbox边框 背景分别配置变量

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* listSelect组件变量 (#5917)

* listSelect组件变量

* 优化

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* feat: radio&switch样式变量适配 (#5924)

* feat: radio&switch样式变量适配

* fix:修复变量

* fix: 变量修复

* fix: 变量修复

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* style: 兼容style

* feat: Collapse变量适配 (#5934)

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* 组件自定义变量补充 (#5947)

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* inputNumber加强版背景覆盖普通版 (#5951)

* 组件自定义变量补充

* inputNumber加强版背景覆盖普通版

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* pref: 已修改组件变量迁移到components (#5952)

* pref: 将变量冲properties迁移到components

* pref: 已修改组件变量迁移到components

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* pref: 优化变量位置 (#5953)

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* theme: 面板\分割线\选项卡

* theme: 选项卡

* theme: link

* feat: inputFile&inputImage组件变量 (#5982)

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* fix: 图标选择修复和兼容处理 (#5984)

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* theme: bugfix

* theme: bugfix

* fix: 去掉input的size&修复collapse样式 (#5985)

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* theme: 样式调整

* theme: 样式调整

* pref: 折叠器样式变量修改 (#5991)

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* theme: 样式调整

* theme: 样式调整

* theme: 样式调整

* theme: 样式调整

* styles: 主题变量bugfix

* checkbox&number组件变量修复 (#6019)

Co-authored-by: xujiahao01 <xujiahao01@baidu.com>

* fix: 输入框图标样式修复 (#6021)

Co-authored-by: hongyang03 <hongyang03@baidu.com>

* 回滚注释

* 更新快照

* fix: 修复评分组件报错问题

Co-authored-by: HongYang <33488114+hy993658052@users.noreply.github.com>
Co-authored-by: hongyang03 <hongyang03@baidu.com>
Co-authored-by: 徐佳豪 <1440054388@qq.com>
Co-authored-by: xujiahao01 <xujiahao01@baidu.com>
2023-01-06 20:36:45 +08:00

191 lines
4.8 KiB
SCSS

.#{$ns}Switch {
cursor: pointer;
position: relative;
display: inline-block;
height: var(--Switch-height);
min-width: var(--Switch-width);
overflow: hidden;
border-radius: var(--switch-size-default-top-left-border-radius)
var(--switch-size-default-top-right-border-radius)
var(--switch-size-default-bottom-right-border-radius)
var(--switch-size-default-bottom-left-border-radius);
background: var(--Switch-bgColor);
margin: 0;
vertical-align: middle;
text-align: left;
transition: all 0.5s ease;
&.is-disabled {
cursor: not-allowed;
opacity: 0.4;
}
.text {
margin: var(--switch-text-off-marginTop) var(--Switch-text-marginRight)
var(--switch-text-off-marginBottom) var(--Switch-text-marginLeft);
color: var(--Switch-valueColor);
text-indent: var(--gap-xs);
text-transform: uppercase;
font-size: var(--switch-text-off-fontSize);
font-weight: var(--switch-text-off-fontWeight);
line-height: var(--Switch-height);
vertical-align: super;
font-style: normal;
transition: all var(--animation-duration);
> svg {
width: var(--switch-text-off-fontSize);
height: var(--switch-text-off-fontSize);
margin-top: calc(
(var(--Switch-height) - var(--switch-text-off-fontSize)) / 2
);
}
}
.slider {
&:before {
content: '';
position: absolute;
background: var(--switch-default-off-slider-color);
width: var(--Switch-slider-width);
top: var(--Switch-slider-margin);
bottom: var(--Switch-slider-margin);
left: var(--Switch-slider-margin);
border-radius: 50%;
transition: var(--Switch-slider-transition);
}
}
&:hover {
background: var(--Switch-onHover-bgColor);
}
&.is-checked {
background: var(--Switch-checked-bgColor);
.slider::before {
left: calc(
100% - var(--Switch-slider-width) - var(--Switch-slider-margin)
);
right: var(--Switch-slider-margin);
border-width: 0;
background: var(--switch-default-on-slider-color);
}
.text {
margin: var(--switch-text-on-marginTop) var(--switch-text-on-marginRight)
var(--switch-text-on-marginBottom) var(--switch-text-on-marginLeft);
color: var(--switch-text-on-color);
font-size: var(--switch-text-on-fontSize);
font-weight: var(--switch-text-on-fontWeight);
}
&:hover {
background: var(--Switch-checked-onHover-bgColor);
}
&:active {
background: var(--Switch-checked-onActive-bgColor);
.slider::before {
left: calc(
100% - (var(--Switch-height) + #{px2rem(2px)}) - #{px2rem(2px)}
);
}
}
}
&.is-checked.is-disabled {
.slider:before {
color: var(--Switch-onDisabled-color);
}
.text {
color: var(--Switch-onDisabled-color);
}
}
input {
position: absolute;
opacity: 0;
}
&--sm {
height: var(--Switch-height--sm);
min-width: var(--Switch-width--sm);
border-radius: var(--switch-size-sm-top-left-border-radius)
var(--switch-size-sm-top-right-border-radius)
var(--switch-size-sm-bottom-right-border-radius)
var(--switch-size-sm-bottom-left-border-radius);
.text {
line-height: var(--Switch-height--sm);
margin: var(--switch-text-off-marginTop)
var(--Switch-text-marginRight--sm) var(--switch-text-off-marginBottom)
var(--Switch-text-marginLeft--sm);
> svg {
margin-top: calc((var(--Switch-height--sm) - var(--fontSizeSm)) / 2);
}
}
.slider::before {
width: var(--Switch-slider-width--sm);
top: var(--switch-size-sm-slider-margin);
bottom: var(--switch-size-sm-slider-margin);
left: var(--switch-size-sm-slider-margin);
right: auto;
}
&.is-checked {
.slider::before {
left: calc(
100% - var(--Switch-slider-width--sm) -
var(--switch-size-sm-slider-margin)
);
right: var(--switch-size-sm-slider-margin);
}
}
}
&:active {
.slider::before {
width: calc(var(--Switch-height) + #{px2rem(2px)});
border-radius: 10px;
}
}
}
.#{$ns}Switch-option {
vertical-align: middle;
font-size: var(--switch-option-fontSize);
font-weight: var(--switch-option-fontWeight);
line-height: var(--switch-option-lineHeight);
color: var(--switch-option-color);
margin: var(--switch-option-marginTop) var(--switch-option-marginRight)
var(--switch-option-marginBottom) var(--Switch-gap);
&:first-child {
margin-left: 0;
margin-right: var(--Switch-gap);
}
&:empty {
display: none;
}
}
.#{$ns}Form-static {
.#{$ns}Switch-option {
vertical-align: initial;
color: var(--text--muted-color);
}
}
.#{$ns}SwitchControl {
padding-top: calc((var(--Form-input-height) - var(--Switch-height)) / 2);
&.is-inline {
display: inline-block;
}
}