2022-03-21 11:09:01 -07:00
|
|
|
/**
|
|
|
|
* iOS style loading spinner.
|
|
|
|
* Adapted from: https://loading.io/css/
|
|
|
|
* With some help scaling it: https://signalvnoise.com/posts/2577-loading-spinner-animation-using-css-and-webkit
|
|
|
|
*/
|
2022-05-18 12:38:49 -07:00
|
|
|
|
2022-03-21 11:09:01 -07:00
|
|
|
.spinner {
|
|
|
|
@apply inline-block relative w-20 h-20;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div {
|
|
|
|
@apply absolute origin-[50%_50%] w-full h-full;
|
|
|
|
animation: spinner 1.2s linear infinite;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div::after {
|
2022-07-22 10:30:16 -07:00
|
|
|
@apply block absolute rounded-full bg-gray-700 dark:bg-gray-400;
|
2022-03-21 11:09:01 -07:00
|
|
|
content: ' ';
|
|
|
|
top: 3.75%;
|
|
|
|
left: 46.25%;
|
|
|
|
width: 7.5%;
|
|
|
|
height: 22.5%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(1) {
|
|
|
|
transform: rotate(0deg);
|
|
|
|
animation-delay: -1.1s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(2) {
|
|
|
|
transform: rotate(30deg);
|
|
|
|
animation-delay: -1s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(3) {
|
|
|
|
transform: rotate(60deg);
|
|
|
|
animation-delay: -0.9s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(4) {
|
|
|
|
transform: rotate(90deg);
|
|
|
|
animation-delay: -0.8s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(5) {
|
|
|
|
transform: rotate(120deg);
|
|
|
|
animation-delay: -0.7s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(6) {
|
|
|
|
transform: rotate(150deg);
|
|
|
|
animation-delay: -0.6s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(7) {
|
|
|
|
transform: rotate(180deg);
|
|
|
|
animation-delay: -0.5s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(8) {
|
|
|
|
transform: rotate(210deg);
|
|
|
|
animation-delay: -0.4s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(9) {
|
|
|
|
transform: rotate(240deg);
|
|
|
|
animation-delay: -0.3s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(10) {
|
|
|
|
transform: rotate(270deg);
|
|
|
|
animation-delay: -0.2s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(11) {
|
|
|
|
transform: rotate(300deg);
|
|
|
|
animation-delay: -0.1s;
|
|
|
|
}
|
|
|
|
|
|
|
|
.spinner > div:nth-child(12) {
|
|
|
|
transform: rotate(330deg);
|
|
|
|
animation-delay: 0s;
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes spinner {
|
|
|
|
0% {
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
100% {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
}
|