@scania/tegel
Version:
Tegel Design System
101 lines (92 loc) • 2.6 kB
CSS
/* Component variables aka overrides */
:root {
--spinner-background-inverted: var(--tds-white);
}
:root,
.scania,
.scania .tds-mode-light {
--spinner-background: var(--tds-blue-400);
}
.scania .tds-mode-dark {
--spinner-background: var(--tds-blue-400);
}
.traton,
.traton .tds-mode-light {
--spinner-background: rgba(0, 72, 82, 1);
}
.traton .tds-mode-dark {
--spinner-background: rgba(194, 191, 182, 1);
}
/* Component variables */
:root {
--spinner-speed: 1.8s;
--spinner-speed-lg: 2s;
--spinner-radius-xs: 8px;
--spinner-radius-sm: 12px;
--spinner-radius-md: 26px;
--spinner-radius-lg: 42px;
--spinner-radius: var(--spinner-radius-lg);
--spinner-stroke-width-xs: 3px;
--spinner-stroke-width-sm: 4px;
--spinner-stroke-width-md: 6px;
--spinner-stroke-width-lg: 8px;
--spinner-stroke-width: var(--spinner-stroke-width-lg);
--PI: 3.14159265358979;
}
:host {
box-sizing: border-box;
display: block;
}
:host * {
box-sizing: border-box;
}
.tds-spinner-svg {
display: block;
width: calc(var(--spinner-radius) * 2);
height: calc(var(--spinner-radius) * 2);
transform: scale(-1, 1) rotate(-90deg);
}
.tds-spinner-svg-xs {
--spinner-radius: var(--spinner-radius-xs);
--spinner-stroke-width: var(--spinner-stroke-width-xs);
--spinner-animation-speed: var(--spinner-speed);
}
.tds-spinner-svg-sm {
--spinner-radius: var(--spinner-radius-sm);
--spinner-stroke-width: var(--spinner-stroke-width-sm);
--spinner-animation-speed: var(--spinner-speed);
}
.tds-spinner-svg-md {
--spinner-radius: var(--spinner-radius-md);
--spinner-stroke-width: var(--spinner-stroke-width-md);
--spinner-animation-speed: var(--spinner-speed);
}
.tds-spinner-svg-lg {
--spinner-radius: var(--spinner-radius-lg);
--spinner-stroke-width: var(--spinner-stroke-width-lg);
--spinner-animation-speed: var(--spinner-speed-lg);
}
.tds-spinner-circle {
cx: var(--spinner-radius);
cy: var(--spinner-radius);
r: calc(var(--spinner-radius) - var(--spinner-stroke-width) / 2);
fill: none;
--spinner-stroke-dash: calc((2 * var(--PI)) * var(--spinner-radius));
stroke-dasharray: var(--spinner-stroke-dash);
stroke-width: var(--spinner-stroke-width);
animation: dash var(--spinner-animation-speed) cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite;
}
.tds-spinner-circle-standard {
stroke: var(--spinner-background);
}
.tds-spinner-circle-inverted {
stroke: var(--spinner-background-inverted);
}
@keyframes dash {
from {
stroke-dashoffset: calc(-1 * var(--spinner-stroke-dash));
}
to {
stroke-dashoffset: var(--spinner-stroke-dash);
}
}