// Copyright (c) 2024 Xu Shaohua <shaohua@biofan.org>. All rights reserved.
// Use of this source is governed by Lesser General Public License
// that can be found in the LICENSE file.
/* Styles for ZuCircularProgress */
/* Styles applied to the root element. */
.ZuCircularProgress-root {
display: inline-block;
}
/* Styles applied to the root element if variant="determinate". */
.ZuCircularProgress-determinate {
transition: var(--zu-animation-transform);
}
/* Styles applied to the root element if variant="indeterminate". */
.ZuCircularProgress-indeterminate {
animation: zu-circular-progress-circular-rotate 1.4s linear infinite;
}
/* Styles applied to the root element if color="primary". */
.ZuCircularProgress-colorPrimary {
}
/* Styles applied to the root element if color="secondary". */
.ZuCircularProgress-colorSecondary {
}
/* Styles applied to the svg element. */
.ZuCircularProgress-svg {
display: block;
transform: rotate(-90deg);
}
/* Styles applied to the `circle` svg path. */
.ZuCircularProgress-circle {
stroke: currentColor;
}
.ZuCircularProgress-determinate .ZuCircularProgress-circle {
transition: var(--zu-animation-transform);
}
.ZuCircularProgress-indeterminate .ZuCircularProgress-circle {
stroke-dasharray: 80px 200px;
stroke-dashoffset: 0;
animation: zu-circular-progress-circular-dash 1.4s ease-in-out infinite;
}
/* Styles applied to the `circle` svg path if variant="determinate". */
.ZuCircularProgress-circleDeterminate {
}
/* Styles applied to the `circle` svg path if variant="indeterminate". */
.ZuCircularProgress-circleIndeterminate {
}
/* Styles applied to the `circle` svg path if disableShrink={true}. */
.ZuCircularProgress-circleDisableShrink {
}
/* Outer container */
.ZuCircularProgress-labelContainer {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
}
.ZuCircularProgress-label {
position: absolute;
display: inline-flex;
align-items: center;
margin: 0;
/* TODO(Shaohua): Inherit style from caption */
font-family: var(--zu-typography-caption-fontFamily);
font-weight: var(--zu-typography-caption-fontWeight);
font-size: var(--zu-typography-caption-fontSize);
line-height: var(--zu-typography-caption-lineHeight);
letter-spacing: var(--zu-typography-caption-letterSpacing);
}
/* Animations */
@keyframes zu-circular-progress-circular-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes zu-circular-progress-circular-dash {
0% {
stroke-dasharray: 1px, 200px;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -15px;
}
100% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -125px;
}
}