Files
speckle-server/packages/viewer-sandbox/src/style.css
T
Alexandru Popovici 096e06abd8 Sandbox Loading Widget (#4283)
* feat(sandbox): Vibez based developement of the loading widget thing

* fix(sandbox): Fixed compler errors
2025-03-28 11:35:15 +02:00

101 lines
1.8 KiB
CSS

#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
.background-dark {
background: rgb(53, 69, 88);
background: radial-gradient(
at right center,
rgb(29, 78, 216),
rgb(30, 64, 175),
rgb(17, 24, 39)
);
}
#renderer {
position: absolute;
height: 100%;
width: 100%;
}
#renderer0-controls:first-child {
pointer-events: auto;
}
#renderer1-controls:first-child {
pointer-events: auto;
}
canvas {
position: absolute;
}
.button {
border: 0;
line-height: 1.5;
padding: 0 20px;
font-size: 1rem;
text-align: center;
color: #fff;
text-shadow: 1px 1px 1px #000;
border-radius: 2px;
background-color: rgb(129, 129, 129);
background-image: linear-gradient(
to top left,
rgba(0, 0, 0, 0.2),
rgba(0, 0, 0, 0.2) 30%,
rgba(0, 0, 0, 0)
);
box-shadow: inset 2px 2px 3px rgba(255, 255, 255, 0.6),
inset -2px -2px 3px rgba(0, 0, 0, 0.6);
}
.input {
margin-bottom: 5px;
left: 0px;
border-radius: 0.1rem;
border: 4px solid rgb(129, 129, 129);
}
.center-wrapper {
position: absolute;
top: 95%;
left: 92%;
transform: translate(-50%, -50%) scale(0.5);
transition: opacity 0.5s ease; /* Smooth fade-out for the whole widget */
}
.loading-container {
position: relative;
width: 280px;
height: 280px;
overflow: hidden;
}
/* Grayscale version */
.grayscale-overlay,
.color-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
transition: opacity 0.8s ease-in-out; /* Smooth fade-out */
}
.grayscale-overlay {
filter: grayscale(100%);
z-index: 1;
opacity: 1; /* Fully visible by default */
}
/* Color version */
.color-image {
z-index: 2;
clip-path: inset(100% 0 0 0);
}