import { Icon, type IconProps } from '../../components/Icon.tsx'

export interface DotOutlineIconProps extends IconProps {
  variant?: 'regular' | 'thin' | 'fill'
}

export function DotOutlineIcon({ variant = 'regular', ...props }: DotOutlineIconProps) {
  const src = (() => {
    switch (variant) {
      default:
      case 'regular':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M128 96a32 32 0 1 0 32 32 32 32 0 0 0-32-32m0 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16" /></svg>
      case 'thin':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M128 100a28 28 0 1 0 28 28 28 28 0 0 0-28-28m0 48a20 20 0 1 1 20-20 20 20 0 0 1-20 20" /></svg>
      case 'fill':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M156 128a28 28 0 1 1-28-28 28 28 0 0 1 28 28" /></svg>
    }
  })()

  return <Icon src={src} data-name="DotOutline" {...props} />
}
