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

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

export function ArrowDownLeftIcon({ variant = 'regular', ...props }: ArrowDownLeftIconProps) {
  const src = (() => {
    switch (variant) {
      default:
      case 'regular':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M197.66 69.66 83.31 184H168a8 8 0 0 1 0 16H64a8 8 0 0 1-8-8V88a8 8 0 0 1 16 0v84.69L186.34 58.34a8 8 0 0 1 11.32 11.32" /></svg>
      case 'thin':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M194.83 66.83 73.66 188H168a4 4 0 0 1 0 8H64a4 4 0 0 1-4-4V88a4 4 0 0 1 8 0v94.34L189.17 61.17a4 4 0 1 1 5.66 5.66" /></svg>
      case 'fill':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M197.66 69.66 127.31 140l46.35 46.34A8 8 0 0 1 168 200H64a8 8 0 0 1-8-8V88a8 8 0 0 1 13.66-5.66L116 128.69l70.34-70.35a8 8 0 0 1 11.32 11.32" /></svg>
    }
  })()

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