import * as React from "react";
import type { IconProps, IconMetadata, IconComponent } from "../../types";

export const Preact: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Preact(
    {
      color = "currentColor",
      fill,
      size = 24,
      strokeWidth,
      strokeLinecap,
      strokeLinejoin,
      strokeDasharray,
      opacity,
      className,
      ...props
    },
    forwardedRef,
  ) {
    return (
      <svg
        width={size}
        height={size}
        viewBox="0 0 21 24"
        fill="none"
        xmlns="http://www.w3.org/2000/svg"
        className={className}
        strokeWidth={strokeWidth}
        strokeLinecap={strokeLinecap}
        strokeLinejoin={strokeLinejoin}
        strokeDasharray={strokeDasharray}
        opacity={opacity}
        {...props}
        ref={forwardedRef}
      >
        <g clipPath="url(#undefined-clip0_2066_905)">
          <path
            d="M10.5 0L21 5.99189V17.9757L10.5 23.9676L0 17.9757V5.99189L10.5 0Z"
            fill="#673ab8"
          />
          <path
            d="M2.85998 17.8766C4.25582 19.6425 8.69199 18.297 12.8801 15.0627C17.0682 11.8286 19.4623 7.89962 18.0664 6.13359C16.6705 4.36764 12.2344 5.71327 8.04632 8.94743C3.85822 12.1818 1.46413 16.1106 2.85998 17.8766ZM3.45635 17.416C2.99336 16.8305 3.19565 15.6807 4.07757 14.2333C5.00633 12.7093 6.58288 11.0268 8.51218 9.53689C10.4416 8.04702 12.4745 6.94197 14.1954 6.41997C15.8296 5.92432 17.0072 6.00848 17.4701 6.59413C17.9331 7.17978 17.7308 8.32951 16.8488 9.77689C15.9201 11.301 14.3435 12.9834 12.4142 14.4733C10.4849 15.9632 8.4518 17.0683 6.73103 17.5902C5.09681 18.0859 3.91925 18.0017 3.45635 17.416Z"
            fill="#fff"
          />
          <path
            d="M18.0665 17.8766C19.4624 16.1106 17.0682 12.1817 12.8801 8.94743C8.69202 5.71327 4.25577 4.36764 2.86001 6.13359C1.46408 7.89954 3.85825 11.8286 8.04635 15.0627C12.2345 18.297 16.6705 19.6426 18.0665 17.8766ZM17.4701 17.416C17.0072 18.0018 15.8296 18.0859 14.1954 17.5902C12.4746 17.0683 10.4416 15.9632 8.51229 14.4733C6.58292 12.9834 5.00627 11.301 4.07768 9.77689C3.19568 8.32951 2.99339 7.17986 3.45629 6.59413C3.91928 6.00848 5.09684 5.92432 6.73098 6.41997C8.45183 6.94197 10.4849 8.04702 12.4142 9.53689C14.3436 11.0268 15.9201 12.7093 16.8488 14.2333C17.7308 15.6806 17.9331 16.8303 17.4701 17.416Z"
            fill="#fff"
          />
          <path
            d="M10.4634 13.5946C11.3515 13.5946 12.0714 12.8829 12.0714 12.0051C12.0714 11.1273 11.3515 10.4156 10.4634 10.4156C9.57521 10.4156 8.85522 11.1273 8.85522 12.0051C8.85522 12.8829 9.57521 13.5946 10.4634 13.5946Z"
            fill="#fff"
          />
        </g>
        <defs>
          <clipPath id="undefined-clip0_2066_905">
            <path fill="#fff" d="M0 0H21V24H0z" />
          </clipPath>
        </defs>
      </svg>
    );
  },
);

Preact.displayName = "Preact";

Preact.metadata = {
  name: "Preact",
  category: "icon/library",
  tags: ["preact", "icon"],
  description: "Preact icon from icon/library category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Preact;
