@alifd/next
Version:
A configurable component library for web built on React.
74 lines (66 loc) • 1.77 kB
Plain Text
-button-size(
$padding,
$height,
$font-size,
$border-width,
$corner,
$icon-margin,
$icon-size,
$icon-split-size
) {
border-radius: $corner;
button-size($padding, $height, $font-size, $border-width);
& > #{$btn-prefix}-icon#{$btn-icon-prefix}-first {
(get-compiling-value($icon-size) >= 12) {
transform: scale(1);
}
icon-size($icon-size, 0, $icon-margin);
}
& > #{$btn-prefix}-icon#{$btn-icon-prefix}-last {
(get-compiling-value($icon-size) >= 12) {
transform: scale(1);
}
icon-size($icon-size, $icon-margin, 0);
}
& > #{$btn-prefix}-icon#{$btn-icon-prefix}-alone {
(get-compiling-value($icon-size) >= 12) {
transform: scale(1);
}
icon-size($icon-size);
}
&#{$btn-prefix}-loading {
&:before {
width: $icon-size;
height: $icon-size;
font-size: $icon-size;
line-height: $icon-size;
left: $padding;
top: 50%;
text-align: center;
margin-right: $icon-margin;
}
> #{$btn-icon-prefix} {
display: none;
}
}
& > #{$btn-prefix}-custom-loading-icon {
opacity: 0;
width: 0;
&.show {
width: $icon-size;
margin-right: $icon-margin;
opacity: 1;
transition: all $motion-duration-immediately $motion-linear;
}
}
}
loadingCircle {
0% {
transform-origin: 50% 50%;
transform: rotate(0deg);
}
100% {
transform-origin: 50% 50%;
transform: rotate(360deg);
}
}
next