framework/less/common/Checkbox.less
Alexander Skvortsov ffa56595c3
Improved UI of Switch with loading indicator (#2039)
* Moved loading indicator outside of checkboxes to improve ui
* Made loading indicator more visible, fade label when switch is loading
2020-04-10 22:51:58 +02:00

83 lines
1.3 KiB
Plaintext

.Checkbox {
display: block;
cursor: pointer;
margin: 0;
& input[type="checkbox"] {
display: none;
}
}
.Checkbox--switch {
padding-left: 65px;
margin: 5px 0;
.Checkbox-display {
float: left;
margin-left: -65px;
margin-top: -4px;
.LoadingIndicator {
display: inline-block;
margin-left: 20px;
}
}
}
.Checkbox--switch .Checkbox-display {
width: 50px;
height: 28px;
padding: 3px;
position: relative;
border-radius: 14px;
background: @control-bg;
.transition(background-color 0.2s);
.on& {
background: #58a400;
}
&:before {
position: absolute;
width: 22px;
height: 22px;
padding: 0;
left: 3px;
.transition(~"opacity 0.2s, left 0.2s");
.on& {
left: 25px;
}
}
&:before {
content: " ";
background: @body-bg;
border-radius: 11px;
box-shadow: 0 2px 4px @shadow-color;
}
}
.Checkbox-display {
font-size: 14px;
.on & {
color: #58a400;
}
.off & {
color: #d0021b;
}
.disabled & {
color: @muted-more-color !important;
}
}
.Checkbox--switch.loading {
color: @muted-more-color !important;
&.on .Checkbox-display {
background: fade(#58a400, 0.5);
}
&.off .Checkbox-display {
background: fade(@control-bg, 0.5);
}
.LoadingIndicator {
color: darken(@muted-color, 50%);
}
}