UNPKG

@patreon/studio

Version:

Patreon Studio Design System

132 lines (109 loc) 3.34 kB
@keyframes rotator { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes dash { 0% { stroke-dashoffset: 162; transform: rotate(0deg); } 50% { stroke-dashoffset: 90; } 100% { stroke-dashoffset: 162; transform: rotate(360deg); } } .root { --LoadingSpinner-animation-speed: 1.8s; --LoadingSpinner-animation-speed-rotator: calc(var(--LoadingSpinner-animation-speed) * 0.62); --LoadingSpinner-animation-speed-dash: var(--LoadingSpinner-animation-speed); --LoadingSpinner-stroke-opacity: var(--LoadingSpinner-stroke-opacity-light); } .root.colorModeDark { --LoadingSpinner-stroke-opacity: var(--LoadingSpinner-stroke-opacity-dark); } .root { animation: rotator var(--LoadingSpinner-animation-speed-rotator) linear infinite; display: block; height: var(--LoadingSpinner-size); margin-left: auto; margin-right: auto; overflow: visible !important; /* important is required to override the normalize.css rule */ padding: 1.5px; width: var(--LoadingSpinner-size); } .circle { fill: none; stroke: var(--LoadingSpinner-background); stroke-opacity: var(--LoadingSpinner-stroke-opacity); stroke-width: var(--LoadingSpinner-stroke-width); } .arc { animation: dash var(--LoadingSpinner-animation-speed-dash) cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite; fill: none; stroke: var(--LoadingSpinner-foreground); stroke-dasharray: 180; stroke-width: var(--LoadingSpinner-stroke-width); transform-origin: center; } .sizeXxs { --LoadingSpinner-size: 10px; --LoadingSpinner-stroke-width: 16px; } .sizeXs { --LoadingSpinner-size: 16px; --LoadingSpinner-stroke-width: 12px; } .sizeSm { --LoadingSpinner-size: 24px; --LoadingSpinner-stroke-width: 8px; } .sizeMd { --LoadingSpinner-size: 32px; --LoadingSpinner-stroke-width: 6px; } .sizeLg { --LoadingSpinner-size: 48px; --LoadingSpinner-stroke-width: 4px; } .colorPrimary { --LoadingSpinner-background: var(--global-border-muted-default); --LoadingSpinner-foreground: var(--global-content-regular-default); --LoadingSpinner-stroke-opacity-dark: 1; --LoadingSpinner-stroke-opacity-light: 1; } .colorLight { --LoadingSpinner-background: var(--global-constant-white-default); --LoadingSpinner-foreground: var(--global-constant-white-default); --LoadingSpinner-stroke-opacity-dark: 0.19; --LoadingSpinner-stroke-opacity-light: 0.19; } .colorDark { --LoadingSpinner-background: var(--global-constant-black-default); --LoadingSpinner-foreground: var(--global-constant-black-default); --LoadingSpinner-stroke-opacity-dark: 0.09; --LoadingSpinner-stroke-opacity-light: 0.09; } .colorInverted { --LoadingSpinner-background: var(--global-inverted-regular-default); --LoadingSpinner-foreground: var(--global-inverted-regular-default); --LoadingSpinner-stroke-opacity-dark: 0.09; --LoadingSpinner-stroke-opacity-light: 0.19; } .colorActionBase { --LoadingSpinner-background: var(--global-rich-regular-default); --LoadingSpinner-foreground: var(--global-rich-regular-default); --LoadingSpinner-stroke-opacity-dark: 0.19; --LoadingSpinner-stroke-opacity-light: 0.09; } @media (prefers-color-scheme: dark) { .root.colorModeAuto { --LoadingSpinner-stroke-opacity: var(--LoadingSpinner-stroke-opacity-dark); } }