UNPKG

chrome-devtools-frontend

Version:
119 lines (98 loc) 2.38 kB
/* * Copyright 2024 The Chromium Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ :host { overflow: hidden; width: var(--sys-size-7); height: var(--sys-size-7); display: inline-block; font-size: 0; letter-spacing: 0; white-space: nowrap; } :host([active]) { animation: spinner-container-animation 1.5s linear infinite; } .spinner { height: 100%; width: 100%; } .spinner.indeterminate { /* * The value for animation duration has been obtained by plugging in values defined * in packages/mdc-circular-progress/_circular-progress-theme.scss to * functions defined in packages/mdc-circular-progress/_circular-progress.scss. * https://github.com/material-components/material-components-web */ animation: indeterminate-spinner-animation 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } .spinner circle { stroke: var(--sys-color-state-disabled); stroke-width: var(--sys-size-6); fill: transparent; transform-origin: 50% 50%; transform: rotate(-90deg); } .spinner.indeterminate circle { stroke: var(--sys-color-primary); stroke-dasharray: 100, 100; stroke-dashoffset: 0; /* * The value for animation duration has been obtained from values defined * in packages/mdc-circular-progress/_circular-progress-theme.scss * https://github.com/material-components/material-components-web */ animation: indeterminate-spinner-circle-animation 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; } @keyframes spinner-container-animation { 100% { transform: rotate(360deg); } } @keyframes indeterminate-spinner-animation { 12.5% { transform: rotate(135deg); } 25% { transform: rotate(270deg); } 37.5% { transform: rotate(405deg); } 50% { transform: rotate(540deg); } 62.5% { transform: rotate(675deg); } 75% { transform: rotate(810deg); } 87.5% { transform: rotate(945deg); } 100% { transform: rotate(1080deg); } } @keyframes indeterminate-spinner-circle-animation { 0% { stroke-dasharray: 5, 100; stroke-dashoffset: 0; transform: rotate(-90deg); } 50% { stroke-dasharray: 75, 100; stroke-dashoffset: 0; transform: rotate(-225deg); } 100% { stroke-dasharray: 5, 100; stroke-dashoffset: 0; transform: rotate(-90deg); } }