ldrs
Version:
Minimalist loading animations for React and web components
92 lines (86 loc) • 1.94 kB
CSS
.container_509563 {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
height: calc(var(--uib-size) * 0.6);
width: var(--uib-size);
}
.inner_231322 {
display: flex;
align-items: flex-end;
padding-bottom: 20%;
justify-content: space-between;
width: var(--uib-size);
height: calc(var(--uib-size) * 0.6);
}
.cube_568da8 {
flex-shrink: 0;
width: calc(var(--uib-size) * 0.2);
height: calc(var(--uib-size) * 0.2);
animation: jump_990af1 var(--uib-speed) ease-in-out infinite;
}
.cube__inner_37e6c8 {
display: block;
height: 100%;
width: 100%;
border-radius: 25%;
background-color: var(--uib-color);
transform-origin: center bottom;
animation: morph_6c2aa2 var(--uib-speed) ease-in-out infinite;
transition: background-color 0.3s ease;
}
.cube_568da8:nth-child(2) {
animation-delay: calc(var(--uib-speed) * -0.36);
}
.cube_568da8:nth-child(2) .cube__inner_37e6c8 {
animation-delay: calc(var(--uib-speed) * -0.36);
}
.cube_568da8:nth-child(3) {
animation-delay: calc(var(--uib-speed) * -0.2);
}
.cube_568da8:nth-child(3) .cube__inner_37e6c8 {
animation-delay: calc(var(--uib-speed) * -0.2);
}
@keyframes jump_990af1 {
0% {
transform: translateY(0px);
}
28% {
transform: translateY(0px);
animation-timing-function: ease-out;
}
50% {
transform: translateY(-200%);
animation-timing-function: ease-in;
}
74% {
transform: translateY(0px);
animation-timing-function: ease-in;
}
}
@keyframes morph_6c2aa2 {
0% {
transform: scaleY(1);
}
10% {
transform: scaleY(1);
}
20%, 25% {
transform: scaleY(0.6) scaleX(1.3);
animation-timing-function: ease-in-out;
}
30% {
transform: scaleY(1.15) scaleX(0.9);
animation-timing-function: ease-in-out;
}
40% {
transform: scaleY(1);
}
72%, 87%, 100% {
transform: scaleY(1);
}
77% {
transform: scaleY(0.8) scaleX(1.2);
}
}