6-structured_outputs/structured-outputs-math-tutor-starting-point/components/ui/spinner.css (112 lines of code) (raw):
:root {
--spinner-color: #000000;
}
.flower-spinner,
.flower-spinner * {
box-sizing: border-box;
}
.flower-spinner {
height: 70px;
width: 70px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.flower-spinner .dots-container {
height: calc(70px / 7);
width: calc(70px / 7);
}
.flower-spinner .smaller-dot {
background: var(--spinner-color);
height: 100%;
width: 100%;
border-radius: 50%;
animation: flower-spinner-smaller-dot-animation 2.5s 0s infinite both;
}
.flower-spinner .bigger-dot {
background: var(--spinner-color);
height: 100%;
width: 100%;
padding: 10%;
border-radius: 50%;
animation: flower-spinner-bigger-dot-animation 2.5s 0s infinite both;
}
@keyframes flower-spinner-bigger-dot-animation {
0%,
100% {
box-shadow:
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px;
}
50% {
transform: rotate(180deg);
}
25%,
75% {
box-shadow:
var(--spinner-color) 26px 0px 0px,
var(--spinner-color) -26px 0px 0px,
var(--spinner-color) 0px 26px 0px,
var(--spinner-color) 0px -26px 0px,
var(--spinner-color) 19px -19px 0px,
var(--spinner-color) 19px 19px 0px,
var(--spinner-color) -19px -19px 0px,
var(--spinner-color) -19px 19px 0px;
}
100% {
transform: rotate(360deg);
box-shadow:
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px;
}
}
@keyframes flower-spinner-smaller-dot-animation {
0%,
100% {
box-shadow:
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px;
}
25%,
75% {
box-shadow:
var(--spinner-color) 14px 0px 0px,
var(--spinner-color) -14px 0px 0px,
var(--spinner-color) 0px 14px 0px,
var(--spinner-color) 0px -14px 0px,
var(--spinner-color) 10px -10px 0px,
var(--spinner-color) 10px 10px 0px,
var(--spinner-color) -10px -10px 0px,
var(--spinner-color) -10px 10px 0px;
}
100% {
box-shadow:
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px,
var(--spinner-color) 0px 0px 0px;
}
}