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

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

export function DotsThreeVerticalIcon({ variant = 'regular', ...props }: DotsThreeVerticalIconProps) {
  const src = (() => {
    switch (variant) {
      default:
      case 'regular':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M140 128a12 12 0 1 1-12-12 12 12 0 0 1 12 12m-12-56a12 12 0 1 0-12-12 12 12 0 0 0 12 12m0 112a12 12 0 1 0 12 12 12 12 0 0 0-12-12" /></svg>
      case 'thin':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M120 60a8 8 0 1 1 8 8 8 8 0 0 1-8-8m8 60a8 8 0 1 0 8 8 8 8 0 0 0-8-8m0 68a8 8 0 1 0 8 8 8 8 0 0 0-8-8" /></svg>
      case 'fill':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M160 16H96a16 16 0 0 0-16 16v192a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V32a16 16 0 0 0-16-16m-32 192a12 12 0 1 1 12-12 12 12 0 0 1-12 12m0-68a12 12 0 1 1 12-12 12 12 0 0 1-12 12m0-68a12 12 0 1 1 12-12 12 12 0 0 1-12 12" /></svg>
    }
  })()

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