signal-desktop/ts/components/SpinnerV2.tsx
2024-07-23 17:31:40 -07:00

40 lines
831 B
TypeScript

// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
import classNames from 'classnames';
export const SpinnerSvgSizes = ['small', 'normal'] as const;
export type SpinnerSvgSize = (typeof SpinnerSvgSizes)[number];
export type Props = {
className?: string;
size: number;
strokeWidth: number;
};
export function SpinnerV2({
className,
size,
strokeWidth,
}: Props): JSX.Element {
return (
<svg
className={classNames('SpinnerV2', className)}
viewBox={`0 0 ${size * 2} ${size * 2}`}
style={{
height: size,
width: size,
}}
>
<circle
className="SpinnerV2__Path"
cx={size}
cy={size}
r={size * 0.8}
fill="none"
strokeWidth={strokeWidth}
/>
</svg>
);
}