import PropTypes from 'prop-types'; import { clsm } from '../utils'; const DIAMETER = { small: '24px', medium: '32px', large: '36px', xlarge: '40px' }; const Spinner = ({ variant, size, className }) => { const classes = clsm( [ 'spinner', variant, size, 'inline-block', 'animate-[spin_1.4s_linear_infinite]' ], variant === 'white' && ['text-white'], variant === 'light' && ['text-black', 'dark:text-white'], variant === 'semi-dark' && [ 'text-lightMode-gray-medium', 'dark:text-darkMode-gray' ], variant === 'dark' && ['text-black'], className ); return ( ); }; Spinner.defaultProps = { className: '', variant: 'dark', size: 'small' }; Spinner.propTypes = { className: PropTypes.string, variant: PropTypes.oneOf(['white', 'light', 'semi-dark', 'dark']), size: PropTypes.oneOf(['small', 'medium', 'large', 'xlarge']) }; export default Spinner;