Files

91 lines
2.2 KiB
SCSS

//
// Rotating border
//
@use '../config' as *;
.spinner-grow,
.spinner-border {
display: inline-block;
flex-shrink: 0;
width: var(--spinner-width);
height: var(--spinner-height);
vertical-align: var(--spinner-vertical-align);
// stylelint-disable-next-line property-disallowed-list
border-radius: 50%;
animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);
}
// scss-docs-start spinner-border-keyframes
@keyframes spinner-border {
to {
transform: rotate(360deg) #{'/* rtl:ignore */'};
}
}
// scss-docs-end spinner-border-keyframes
.spinner-border {
// scss-docs-start spinner-border-css-vars
--spinner-width: #{$spinner-width};
--spinner-height: #{$spinner-height};
--spinner-vertical-align: #{$spinner-vertical-align};
--spinner-border-width: #{$spinner-border-width};
--spinner-animation-speed: #{$spinner-animation-speed};
--spinner-animation-name: spinner-border;
// scss-docs-end spinner-border-css-vars
border: var(--spinner-border-width) solid currentColor;
border-inline-end-color: transparent;
}
.spinner-border-sm {
// scss-docs-start spinner-border-sm-css-vars
--spinner-width: #{$spinner-width-sm};
--spinner-height: #{$spinner-height-sm};
--spinner-border-width: #{$spinner-border-width-sm};
// scss-docs-end spinner-border-sm-css-vars
}
//
// Growing circle
//
// scss-docs-start spinner-grow-keyframes
@keyframes spinner-grow {
0% {
transform: scale(0);
}
50% {
opacity: 1;
transform: none;
}
}
// scss-docs-end spinner-grow-keyframes
.spinner-grow {
// scss-docs-start spinner-grow-css-vars
--spinner-width: #{$spinner-width};
--spinner-height: #{$spinner-height};
--spinner-vertical-align: #{$spinner-vertical-align};
--spinner-animation-speed: #{$spinner-animation-speed};
--spinner-animation-name: spinner-grow;
// scss-docs-end spinner-grow-css-vars
background-color: currentColor;
opacity: 0;
}
.spinner-grow-sm {
--spinner-width: #{$spinner-width-sm};
--spinner-height: #{$spinner-height-sm};
}
@if $enable-reduced-motion {
@media (prefers-reduced-motion: reduce) {
.spinner-border,
.spinner-grow {
--spinner-animation-speed: #{$spinner-animation-speed * 2};
}
}
}