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

export const Trpc: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Trpc(
    {
      color = "currentColor",
      fill,
      size = 24,
      strokeWidth,
      strokeLinecap,
      strokeLinejoin,
      strokeDasharray,
      opacity,
      className,
      ...props
    },
    forwardedRef,
  ) {
    return (
      <svg
        width={size}
        height={size}
        viewBox="0 0 24 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_422)">
          <path
            d="M16.9688 0H7.03125C3.148 0 0 3.148 0 7.03125V16.9688C0 20.852 3.148 24 7.03125 24H16.9688C20.852 24 24 20.852 24 16.9688V7.03125C24 3.148 20.852 0 16.9688 0Z"
            fill="#398ccb"
          />
          <path
            d="M11.9739 3.51562L15.3057 5.43788V6.49481L19.3384 8.82366V12.8074L20.4201 13.4318V17.2785L17.0905 19.2007L15.6123 18.3458L12.0183 20.4209L8.44575 18.3578L6.98827 19.2007L3.65869 17.2752V13.4318L4.69824 12.8317V8.82366L8.64436 6.54553L8.64657 6.54544V5.43788L11.9739 3.51562ZM15.3057 7.49433V9.28233L11.9761 11.2046L8.64657 9.28233V7.54388L8.64436 7.54397L5.5636 9.32344V12.3321L6.98827 11.5096L10.3178 13.4318V17.2752L9.3105 17.8577L12.0183 19.4214L14.7476 17.8459L13.761 17.2752V13.4318L17.0905 11.5096L18.473 12.3077V9.32344L15.3057 7.49433ZM14.6264 16.7798V14.4335L16.6578 15.6061V17.9524L14.6264 16.7798ZM19.5547 14.4303L17.5232 15.6029V17.9524L19.5547 16.7766V14.4303ZM4.52405 16.7766V14.4303L6.55557 15.6029V17.9491L4.52405 16.7766ZM9.45244 14.4303L7.42093 15.6029V17.9491L9.45244 16.7766V14.4303ZM15.0591 13.6839L17.0905 12.5113L19.122 13.6839L17.0905 14.8576L15.0591 13.6839ZM6.98827 12.508L4.95675 13.6839L6.98827 14.8543L9.01974 13.6839L6.98827 12.508ZM9.51193 8.78259V6.43631L11.5412 7.60997V9.95517L9.51193 8.78259ZM14.4381 6.43631L12.4088 7.60997V9.95409L14.4381 8.78259V6.43631ZM9.94463 5.68772L11.9739 4.51514L14.0055 5.68772L11.9739 6.86034L9.94463 5.68772Z"
            fill="#fff"
            fillRule="evenodd"
            clipRule="evenodd"
          />
        </g>
        <defs>
          <clipPath id="undefined-clip0_2066_422">
            <path fill="#fff" d="M0 0H24V24H0z" />
          </clipPath>
        </defs>
      </svg>
    );
  },
);

Trpc.displayName = "Trpc";

Trpc.metadata = {
  name: "Trpc",
  category: "icon/framework",
  tags: ["trpc", "icon"],
  description: "Trpc icon from icon/framework category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Trpc;
