mirror of
https://github.com/theoludwig/theoludwig.git
synced 2024-12-08 00:44:30 +01:00
34 lines
855 B
TypeScript
34 lines
855 B
TypeScript
import styles from './Loader.module.css'
|
|
|
|
export interface LoaderProps {
|
|
width?: number
|
|
height?: number
|
|
className?: string
|
|
}
|
|
|
|
export const Loader = (props: LoaderProps): JSX.Element => {
|
|
const { width = 50, height = 50, className } = props
|
|
|
|
return (
|
|
<div className={className}>
|
|
<div
|
|
data-cy='progress-spinner'
|
|
className='relative mx-auto my-0 before:block before:pt-[100%] before:content-none'
|
|
style={{ width: `${width}px`, height: `${height}px` }}
|
|
>
|
|
<svg className={styles['progressSpinnerSvg']} viewBox='25 25 50 50'>
|
|
<circle
|
|
className={styles['progressSpinnerCircle']}
|
|
cx='50'
|
|
cy='50'
|
|
r='20'
|
|
fill='none'
|
|
strokeWidth='2'
|
|
strokeMiterlimit='10'
|
|
/>
|
|
</svg>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|