fleet/frontend/components/Spinner/_styles.scss
Carlo 715d963f82
My device page (self-service) for iOS/iPadOS (#35238)
Implements #32247. This is the complete feature branch, consolidating:

- https://github.com/fleetdm/fleet/pull/35018
- https://github.com/fleetdm/fleet/pull/34758
- https://github.com/fleetdm/fleet/pull/35009
- https://github.com/fleetdm/fleet/pull/35181
- https://github.com/fleetdm/fleet/pull/35342

---------

Co-authored-by: Jonathan Katz <44128041+jkatz01@users.noreply.github.com>
Co-authored-by: RachelElysia <71795832+RachelElysia@users.noreply.github.com>
Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: jkatz01 <yehonatankatz@gmail.com>
2025-11-07 17:30:51 -05:00

126 lines
1.9 KiB
SCSS

.loading-spinner {
display: flex;
align-items: center;
justify-content: center;
&.centered {
margin: 120px auto;
&.small-padding {
margin: 60px auto;
}
}
&.mobile-view {
align-self: center;
margin: initial;
height: 100vh;
}
&.include-container {
background-color: $core-fleet-white;
box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
border-radius: 8px;
width: 48px;
height: 48px;
}
.loader {
position: relative;
margin: 0 auto;
&:before {
content: "";
display: block;
padding-top: 100%;
}
}
&.medium {
.loader {
width: 34px;
}
}
&.small {
.loader {
width: 23px;
}
}
&.x-small {
.loader {
width: 16px;
}
}
&.button {
background: none;
position: absolute;
width: auto;
height: auto;
top: auto;
box-shadow: none;
z-index: 9;
margin: 0;
padding: 0;
&.white {
.path {
stroke: $core-fleet-white;
}
}
.loader {
width: 23px;
}
.background {
display: none;
}
}
.circular {
animation: rotate 2s linear infinite;
height: 100%;
transform-origin: center center;
width: 100%;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
.path {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
stroke: $core-fleet-green;
animation: dash 1.5s ease-in-out infinite;
stroke-linecap: round;
}
.background {
stroke: $ui-fleet-black-25;
}
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
@keyframes dash {
0% {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 89, 200;
stroke-dashoffset: -35px;
}
100% {
stroke-dasharray: 89, 200;
stroke-dashoffset: -124px;
}
}
}