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

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

export function ExclamationMarkIcon({ variant = 'regular', ...props }: ExclamationMarkIconProps) {
  const src = (() => {
    switch (variant) {
      default:
      case 'regular':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M144 200a16 16 0 1 1-16-16 16 16 0 0 1 16 16m-16-40a8 8 0 0 0 8-8V48a8 8 0 0 0-16 0v104a8 8 0 0 0 8 8" /></svg>
      case 'thin':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M140 200a12 12 0 1 1-12-12 12 12 0 0 1 12 12m-12-44a4 4 0 0 0 4-4V48a4 4 0 0 0-8 0v104a4 4 0 0 0 4 4" /></svg>
      case 'fill':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M200 24H56a16 16 0 0 0-16 16v176a16 16 0 0 0 16 16h144a16 16 0 0 0 16-16V40a16 16 0 0 0-16-16m-72 136a12 12 0 1 1-12 12 12 12 0 0 1 12-12m-8-24V80a8 8 0 0 1 16 0v56a8 8 0 0 1-16 0" /></svg>
    }
  })()

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