threepipe
Version:
A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.
90 lines (89 loc) • 1.98 kB
CSS
#assetManagerLoadingScreen {
z-index: 50;
position: absolute;
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
bottom: 0;
right: 0;
min-width: 100%;
min-height: 100%;
color: #333;
font-size: 1rem;
gap: 1rem;
display: flex;
align-content: center;
justify-content: center;
align-items: center;
flex-direction: column;
opacity: 1;
transition: opacity 0.5s ease-in-out, min-width 0.5s, min-height 0.5s, bottom 0.5s, right 0.5s;
overflow: hidden;
background: transparent;
backdrop-filter: blur(16px);
background-blend-mode: luminosity;
--b-opacity: 0.8;
--b-background: #fff;
pointer-events: none;
}
#assetManagerLoadingScreen::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
opacity: var(--b-opacity);
background: var(--b-background);
}
#assetManagerLoadingScreenContent {
padding-top: 0.5rem;
}
.loadingScreenProcessState {
font-weight: bold;
}
#assetManagerLoadingScreen.minimizedLoadingScreen {
top: unset;
left: unset;
bottom: 2rem;
right: 2rem;
min-width: 0;
min-height: 0;
max-width: 80vw;
max-height: 80vh;
width: max-content;
height: max-content;
padding: 1.5rem;
border-radius: 0.5rem;
}
.loadingScreenFilesElement {
min-height: 4rem;
padding: 1rem;
}
.loadingScreenLogoElement {
margin-bottom: 0.5rem;
max-width: 80%;
/* for small screens */
}
.loadingScreenLogoElement img {
min-height: 3rem;
max-height: 5rem;
max-width: 100%;
object-fit: contain;
}
.loadingScreenLogoImage {
width: max-content;
height: max-content;
}
.minimizedLoadingScreen .loadingScreenLoadingElement {
display: none;
}
.minimizedLoadingScreen .loadingScreenFilesElement {
min-height: 0;
}
.minimizedLoadingScreen .loadingScreenLogoElement {
min-height: 0;
display: none;
}
.minimizedLoadingScreen #assetManagerLoadingScreenContent {
display: none;
}