1
0
Fork 0
freesewing/packages/react/components/Spinner/index.mjs
2025-05-29 12:18:29 +02:00

32 lines
824 B
JavaScript

import React from 'react'
/**
* A component to render a loading spinner
*
* @component
* @param {object} props - All component props
* @param {strign} [props.className = 'tw:h-6 tw:w-6'] - CSS classes to apply to the spinner
* @returns {JSX.Element}
*/
export const Spinner = ({ className = 'tw:h-6 tw:w-6' }) => (
<svg
className={`tw:animate-spin ${className}`}
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
>
<circle
className="tw:opacity-25"
cx="12"
cy="12"
r="10"
stroke="currentColor"
strokeWidth="4"
></circle>
<path
className="tw:opacity-75"
fill="currentColor"
d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
></path>
</svg>
)