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

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

export function ArrowUpRightIcon({ variant = 'regular', ...props }: ArrowUpRightIconProps) {
  const src = (() => {
    switch (variant) {
      default:
      case 'regular':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M200 64v104a8 8 0 0 1-16 0V83.31L69.66 197.66a8 8 0 0 1-11.32-11.32L172.69 72H88a8 8 0 0 1 0-16h104a8 8 0 0 1 8 8" /></svg>
      case 'thin':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M196 64v104a4 4 0 0 1-8 0V73.66L66.83 194.83a4 4 0 0 1-5.66-5.66L182.34 68H88a4 4 0 0 1 0-8h104a4 4 0 0 1 4 4" /></svg>
      case 'fill':
        return <svg fill="currentColor" viewBox="0 0 256 256"><path d="M200 64v104a8 8 0 0 1-13.66 5.66L140 127.31l-70.34 70.35a8 8 0 0 1-11.32-11.32L128.69 116 82.34 69.66A8 8 0 0 1 88 56h104a8 8 0 0 1 8 8" /></svg>
    }
  })()

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