@uploadcare/file-uploader
Version:
Building blocks for Uploadcare products integration
63 lines (53 loc) • 1.16 kB
CSS
uc-progress-bar {
--l-progress-value: 0;
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
pointer-events: none;
transition: opacity 0.3s;
opacity: 1;
}
uc-progress-bar.uc-progress-bar--hidden {
opacity: 0;
}
uc-progress-bar .uc-progress {
position: absolute;
width: calc(var(--l-progress-value) * 1%);
height: 100%;
background-color: var(--uc-primary);
transform: translateX(0);
opacity: 1;
transition:
width 0.6s,
opacity 0.3s;
}
uc-progress-bar .uc-progress--hidden {
opacity: 0;
}
uc-progress-bar .uc-fake-progress {
--l-fake-progress-width: 30;
position: absolute;
width: calc(var(--l-fake-progress-width) * 1%);
height: 100%;
background-color: var(--uc-primary);
animation: fake-progress-animation 1s ease-in-out infinite;
opacity: 1;
transition: opacity 0.3s;
z-index: 1;
}
uc-progress-bar .uc-fake-progress--hidden {
opacity: 0;
animation: none;
}
@keyframes fake-progress-animation {
from {
transform: translateX(-100%);
}
to {
transform: translateX(calc(100 / var(--l-fake-progress-width) * 100 * 1%));
}
}