UNPKG

ldrs

Version:

Minimalist loading animations for React and web components

142 lines (137 loc) 3.3 kB
.container_61144b { --uib-mult: calc(var(--uib-size) / var(--uib-stroke)); --uib-stroke-px: calc(var(--uib-stroke) * 1px); --uib-size-px: calc(var(--uib-size) * 1px); flex-shrink: 0; position: relative; display: inline-flex; align-items: flex-start; justify-content: flex-start; height: var(--uib-size-px); width: var(--uib-size-px); } .inner_4835a4 { position: relative; width: 100%; height: 100%; } .inner_4835a4::before, .inner_4835a4::after { content: ""; position: absolute; width: var(--uib-stroke-px); height: var(--uib-stroke-px); background-color: var(--uib-color); animation: explore_db42c2 var(--uib-speed) ease infinite; transition: background-color 0.3s ease; } .inner_4835a4::after { animation-delay: calc(var(--uib-speed) * -0.5); } .line_dc006f { position: absolute; top: calc(50% - var(--uib-stroke-px) / 2); left: calc(50% - var(--uib-stroke-px) / 2); width: var(--uib-stroke-px); height: var(--uib-stroke-px); background-color: var(--uib-color); animation: center-line_2a3eb9 var(--uib-speed) ease infinite; transition: background-color 0.3s ease; } @keyframes center-line_2a3eb9 { 0%, 25%, 50%, 75%, 100% { transform: scaleX(1) scaleY(1); } 12.5%, 62.5% { transform: scaleX(var(--uib-mult)) scaleY(1); } 37.5%, 87.5% { transform: scaleX(1) scaleY(var(--uib-mult)); } } @keyframes explore_db42c2 { 0%, 100% { transform: scaleX(1) scaleY(1) translate(0%, 0%); transform-origin: top left; top: 0; left: 0; } 12.5% { transform: scaleX(var(--uib-mult)) scaleY(1) translate(0%, 0%); transform-origin: top left; top: 0; left: 0; } 12.5001% { transform: scaleX(var(--uib-mult)) scaleY(1) translate(0%, 0%); transform-origin: top right; top: 0; left: initial; right: 0; } 25% { transform: scaleX(1) scaleY(1) translate(0%, 0%); transform-origin: top right; top: 0; left: initial; right: 0; } 37.5% { transform: scaleX(1) scaleY(var(--uib-mult)) translate(0%, 0%); transform-origin: top right; top: 0; left: initial; right: 0; } 37.5001% { transform: scaleX(1) scaleY(var(--uib-mult)) translate(0%, 0%); transform-origin: bottom right; top: initial; bottom: 0; left: initial; right: 0; } 50% { transform: scaleX(1) scaleY(1) translate(0%, 0%); transform-origin: bottom right; top: initial; bottom: 0; left: initial; right: 0; } 62.5% { transform: scaleX(var(--uib-mult)) scaleY(1) translate(0%, 0%); transform-origin: bottom right; top: initial; bottom: 0; left: initial; right: 0; } 62.5001% { transform: scaleX(var(--uib-mult)) scaleY(1) translate(0%, 0%); transform-origin: bottom left; top: initial; bottom: 0; left: 0; } 75% { transform: scaleX(1) scaleY(1) translate(0%, 0%); transform-origin: bottom left; top: initial; bottom: 0; left: 0; } 87.5% { transform: scaleX(1) scaleY(var(--uib-mult)) translate(0%, 0%); transform-origin: bottom left; top: initial; bottom: 0; left: 0; } 87.5001% { transform: scaleX(1) scaleY(var(--uib-mult)) translate(0%, 0%); transform-origin: top left; top: 0; left: 0; } }