52 lines
994 B
SCSS
52 lines
994 B
SCSS
|
@mixin spinner-color($color) {
|
||
|
border-color: rgba($color, 0.25);
|
||
|
border-top-color: $color;
|
||
|
}
|
||
|
|
||
|
@mixin spinner-size($size, $border-width) {
|
||
|
width: $size;
|
||
|
height: $size;
|
||
|
border-width: $border-width;
|
||
|
@include webkit-prefix(transform-origin, 50% 50% calc((#{$size} / 2) + #{$border-width}));
|
||
|
}
|
||
|
|
||
|
@keyframes spinner-rotate {
|
||
|
0% {
|
||
|
transform: rotate(0);
|
||
|
}
|
||
|
|
||
|
100% {
|
||
|
transform: rotate(360deg);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.spinner {
|
||
|
border-radius: 50%;
|
||
|
position: relative;
|
||
|
margin: 0 auto;
|
||
|
animation-name: spinner-rotate;
|
||
|
animation-duration: 0.6s;
|
||
|
animation-timing-function: linear;
|
||
|
animation-iteration-count: infinite;
|
||
|
border-style: solid;
|
||
|
display: inline-flex;
|
||
|
@include spinner-size(16px, 2px);
|
||
|
@include spinner-color($orange-600);
|
||
|
|
||
|
&.spinner-md {
|
||
|
@include spinner-size(32px, 3px);
|
||
|
}
|
||
|
|
||
|
&.spinner-lg {
|
||
|
@include spinner-size(64px, 4px);
|
||
|
}
|
||
|
|
||
|
&.spinner-dark {
|
||
|
@include spinner-color($gray-700);
|
||
|
}
|
||
|
|
||
|
&.spinner-light {
|
||
|
@include spinner-color($white);
|
||
|
}
|
||
|
}
|