/** * Copyright Aquera Inc 2023 * * This source code is licensed under the BSD-3-Clause license found in the * LICENSE file in the root directory of this source tree. */ import {css} from 'lit'; /** * Spinner CSS */ export const styles = css` :host { --track-width: 2px; --track-color: rgb(128 128 128 / 25%); --indicator-color: var(--nile-colors-white-base); --speed: 2s; -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing)); -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing)); text-rendering: var(--nile-text-rendering, var(--ng-text-rendering)); display: inline-flex; width: 1em; height: 1em; } .spinner { flex: 1 1 auto; height: 100%; width: 100%; } .spinner__track, .spinner__indicator { fill: none; stroke-width: var(--track-width); r: calc(0.5em - var(--track-width) / 2); cx: 0.5em; cy: 0.5em; transform-origin: 50% 50%; } .spinner__track { stroke: var(--track-color); transform-origin: 0% 0%; } .spinner__indicator { stroke: var(--indicator-color); stroke-linecap: round; stroke-dasharray: 150% 75%; animation: spin var(--speed) linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); stroke-dasharray: 0.01em, 2.75em; } 50% { transform: rotate(450deg); stroke-dasharray: 1.375em, 1.375em; } 100% { transform: rotate(1080deg); stroke-dasharray: 0.01em, 2.75em; } } `; export default [styles];