mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-02 15:27:18 +00:00
190 lines
5.3 KiB
SCSS
190 lines
5.3 KiB
SCSS
@charset "UTF-8";
|
|
|
|
@import '../core/index-noreset';
|
|
@import 'scss/variable';
|
|
@import './rtl.scss';
|
|
|
|
/* stylelint-disable max-nesting-depth */
|
|
|
|
#{$checkbox-prefix}-wrapper {
|
|
@include box-sizing;
|
|
|
|
#{$checkbox-prefix} {
|
|
display: inline-block;
|
|
position: relative;
|
|
line-height: 1;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
input[type="checkbox"] {
|
|
opacity: 0;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: $checkbox-size;
|
|
height: $checkbox-size;
|
|
margin: 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
#{$checkbox-prefix}-inner {
|
|
display: block;
|
|
width: $checkbox-size;
|
|
height: $checkbox-size;
|
|
background: $checkbox-bg-color;
|
|
border-radius: $checkbox-border-radius;
|
|
border: $checkbox-border-width solid $checkbox-border-color;
|
|
transition: all $motion-duration-immediately $motion-linear;
|
|
text-align: left; /* 防止继承父级 */
|
|
box-shadow: $checkbox-shadow;
|
|
/* box-sizing: content-box; */
|
|
|
|
> .#{$css-prefix}icon {
|
|
transform: scale(0);
|
|
position: absolute;
|
|
top: 0;
|
|
opacity: 0;
|
|
line-height: $checkbox-size;
|
|
transition: all $motion-duration-immediately $motion-linear;
|
|
color: $checkbox-checked-circle-color;
|
|
left: ($checkbox-size - $checkbox-circle-size) / 2;
|
|
@if ($checkbox-circle-size == 12) {
|
|
margin-top: 1px;
|
|
}
|
|
@include icon-size($checkbox-circle-size, 0);
|
|
}
|
|
> .#{$css-prefix}icon::before {
|
|
vertical-align: top;
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
|
|
&.checked,
|
|
&.checked.focused {
|
|
> #{$checkbox-prefix} {
|
|
> #{$checkbox-prefix}-inner {
|
|
border-color: $checkbox-checked-border-color;
|
|
background-color: $checkbox-checked-bg-color;
|
|
|
|
&:hover,
|
|
&.hovered {
|
|
border-color: $checkbox-checked-border-color;
|
|
}
|
|
> .#{$css-prefix}icon {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
@include icon-size($checkbox-circle-size, 0); /* font-size < 12px的时候进行覆盖。 */
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.indeterminate,
|
|
&.indeterminate.focused {
|
|
> #{$checkbox-prefix} {
|
|
> #{$checkbox-prefix}-inner {
|
|
border-color: $checkbox-checked-border-color;
|
|
background-color: $checkbox-checked-bg-color;
|
|
|
|
&:hover,
|
|
&.hovered {
|
|
border-color: $checkbox-checked-border-color;
|
|
}
|
|
> .#{$css-prefix}icon {
|
|
opacity: 1;
|
|
transform: scale3d(1, 1, 1);
|
|
@include icon-size($checkbox-circle-size, 0); /* font-size < 12px的时候进行覆盖。 */
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&:not(.disabled):hover,
|
|
&.hovered,
|
|
&.focused {
|
|
> #{$checkbox-prefix} {
|
|
> #{$checkbox-prefix}-inner {
|
|
border-color: $checkbox-hovered-border-color;
|
|
background-color: $checkbox-hovered-bg-color;
|
|
}
|
|
}
|
|
#{$checkbox-prefix}-label {
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
&.indeterminate:not(.disabled):hover,
|
|
&.indeterminate:not(.disabled).hovered,
|
|
&.checked:not(.disabled):hover,
|
|
&.checked:not(.disabled).hovered {
|
|
> #{$checkbox-prefix} {
|
|
#{$checkbox-prefix}-inner {
|
|
border-color: $checkbox-checked-hovered-border-color;
|
|
background-color: $checkbox-checked-hovered-bg-color;
|
|
|
|
> .#{$css-prefix}icon {
|
|
color: $checkbox-checked-hovered-circle-color;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.disabled {
|
|
input[type="checkbox"] {
|
|
cursor: not-allowed;
|
|
}
|
|
#{$checkbox-prefix}-inner {
|
|
border-color: $checkbox-disabled-border-color;
|
|
background: $checkbox-disabled-bg-color;
|
|
}
|
|
&.checked,
|
|
&.indeterminate {
|
|
#{$checkbox-prefix}-inner {
|
|
border-color: $checkbox-disabled-border-color;
|
|
background: $checkbox-disabled-bg-color;
|
|
|
|
&:hover, &.hovered {
|
|
border-color: $checkbox-disabled-border-color;
|
|
}
|
|
|
|
> .#{$css-prefix}icon {
|
|
color: $checkbox-disabled-circle-color;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
#{$checkbox-prefix}-label {
|
|
color: $checkbox-disabled-label-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
#{$checkbox-prefix}-group {
|
|
#{$checkbox-prefix}-wrapper {
|
|
display: inline-block;
|
|
margin-left: 8px;
|
|
&:first-child {
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
|
|
&-ver {
|
|
#{$checkbox-prefix}-wrapper {
|
|
display: block;
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
margin-bottom: 8px;
|
|
}
|
|
}
|
|
}
|
|
|
|
#{$checkbox-prefix}-label {
|
|
font-size: $checkbox-font-size;
|
|
color: $checkbox-label-color;
|
|
vertical-align: middle;
|
|
margin: 0;
|
|
margin-left: $checkbox-margin-left;
|
|
line-height: 1;
|
|
}
|