import type { SVGProps } from "react";

export interface TWNProps extends SVGProps<SVGSVGElement> {
  /**
   * Icon size (width and height)
   * @default 16
   */
  size?: number | string;
}

/**
 * Taiwan — TWN icon from flag category
 *
 * @example
 * <TWN size={16} />
 * <TWN size={32} className="text-primary" />
 */
export const TWN = ({ size = 16, ...props }: TWNProps) => (
  <svg
    fill="none"
    height={size}
    viewBox="0 0 24 24"
    width={size}
    xmlns="http://www.w3.org/2000/svg"
    {...props}
  >
    <g clipPath="url(#clip0_43_2585)">
<path d="M24 12C24 18.6274 18.6274 24 12 24C5.37262 24 0 18.6274 0 12C4.12172 7.87828 7.61737 4.38263 12 0C18.6274 0 24 5.37262 24 12Z" fill="#D80027"/>
<path d="M12 12C12 5.37262 12 4.59131 12 0C5.37262 0 0 5.37262 0 12H12Z" fill="#0052B4"/>
<path d="M10.4348 7.02287L8.96924 7.7123L9.74961 9.13163L8.15826 8.82713L7.95655 10.4348L6.84815 9.25243L5.73965 10.4348L5.53804 8.82713L3.94663 9.13154L4.72701 7.71221L3.26151 7.02287L4.72705 6.33357L3.94663 4.91419L5.53799 5.21865L5.73969 3.61102L6.84815 4.7934L7.9566 3.61102L8.15826 5.21865L9.74966 4.91419L8.96924 6.33362L10.4348 7.02287Z" fill="#F0F0F0"/>
<path d="M6.84836 9.25635C8.08202 9.25635 9.08209 8.25627 9.08209 7.02261C9.08209 5.78896 8.08202 4.78888 6.84836 4.78888C5.6147 4.78888 4.61462 5.78896 4.61462 7.02261C4.61462 8.25627 5.6147 9.25635 6.84836 9.25635Z" fill="#0052B4"/>
<path d="M6.84816 8.21311C6.19186 8.21311 5.65796 7.67916 5.65796 7.02286C5.65796 6.36656 6.19191 5.83261 6.84816 5.83261C7.50446 5.83261 8.03841 6.36656 8.03841 7.02286C8.03836 7.67916 7.50436 8.21311 6.84816 8.21311Z" fill="#F0F0F0"/>
</g>
<defs>
<clipPath id="clip0_43_2585">
<rect fill="white" height="24" width="24"/>
</clipPath>
</defs>
  </svg>
);
