ldrs
Version:
Minimalist loading animations for React and web components
70 lines (64 loc) • 1.4 kB
CSS
.container_248bb3 {
--uib-dot-size: calc(var(--uib-size) / 2);
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
height: var(--uib-size);
width: var(--uib-size);
}
.inner_c5c344 {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
height: calc(var(--uib-size) / 2);
width: var(--uib-size);
animation: rotate_bcae8f calc(var(--uib-speed) * 2) linear infinite;
will-change: transform;
}
.svg_6793e9 {
filter: url("#uib-jelly-filter");
overflow: visible;
}
.dot_e1cba2 {
cy: 50%;
cx: 50%;
r: calc(var(--uib-dot-size) / 2);
display: block;
will-change: transform;
fill: var(--uib-color);
transition: fill 0.3s ease;
transform-origin: center;
transform-box: fill-box;
}
.dot_e1cba2:first-child {
animation: shift-left_30781c var(--uib-speed) ease infinite;
}
.dot_e1cba2:nth-child(2) {
animation: shift-right_28d4f0 var(--uib-speed) ease infinite;
}
@keyframes rotate_bcae8f {
0%, 49.999%, 100% {
transform: none;
}
50%, 99.999% {
transform: rotate(90deg);
}
}
@keyframes shift-left_30781c {
0%, 100% {
transform: scale(1) translateX(0%);
}
50% {
transform: scale(0.65) translateX(-75%);
}
}
@keyframes shift-right_28d4f0 {
0%, 100% {
transform: scale(1) translateX(0%);
}
50% {
transform: scale(0.65) translateX(75%);
}
}