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

export const Bolt: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Bolt(
    {
      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 fill="currentColor" clipPath="url(#undefined-clip0_2066_380)">
          <path d="M11.3414 15.8129C9.12937 15.8129 8.04712 14.5803 8.04712 13.0275C8.04712 11.4746 9.55312 9.51118 11.7644 9.51118C13.9763 9.51118 15.0584 10.7441 15.0584 12.2968C15.0584 13.8496 13.5527 15.8129 11.3414 15.8129ZM11.435 13.8496C12.188 13.8496 12.706 13.1645 12.706 12.4337C12.706 11.703 12.3292 11.5206 11.6707 11.5206C11.0114 11.5206 10.3997 12.2052 10.3997 12.9359C10.3997 13.6666 10.7765 13.8496 11.435 13.8496ZM17.4116 15.676H15.106L16.988 7.36475H19.2943L17.4118 15.6304L17.4116 15.676Z" />
          <path
            d="M4.51755 15.8129C3.8115 15.8129 3.10605 15.585 2.72925 15.0368L2.5881 15.6758L0 17.0004L0.28245 15.6761L2.1645 7.36475H4.47075L3.8115 10.2873C4.32945 9.73927 4.8468 9.51118 5.50605 9.51118C6.91755 9.51118 7.8117 10.3789 7.8117 12.0227C7.8117 13.6665 6.72945 15.8131 4.5177 15.8131L4.51755 15.8129ZM5.4117 12.4793C5.4117 13.256 4.8468 13.8496 4.09395 13.8496C3.34095 13.8496 3.29415 13.7126 3.05865 13.4385L3.4353 11.9317C3.71775 11.6576 4.0002 11.5206 4.3764 11.5206C4.94115 11.5206 5.4117 11.9317 5.4117 12.5253V12.4793Z"
            fillRule="evenodd"
            clipRule="evenodd"
          />
          <path d="M21.6943 15.813C20.3765 15.813 19.388 15.3565 19.388 14.3063C19.388 13.2561 19.388 13.9867 19.4354 13.8497L19.9529 11.6117H18.9175L19.388 9.69379H20.4233L20.8001 8.04997L23.3882 6.99976L23.1058 8.04997L22.7296 9.69379H23.9999L23.5294 11.6117H22.2586L21.9292 13.0731V13.3471C21.9292 13.6212 22.1173 13.8497 22.4941 13.8497C22.8703 13.8497 22.7765 13.8497 22.8233 13.8037V15.5851C22.5884 15.7676 22.1648 15.813 21.7411 15.813H21.6943Z" />
        </g>
        <defs>
          <clipPath id="undefined-clip0_2066_380">
            <path fill="#fff" transform="translate(0 7)" d="M0 0H24V10H0z" />
          </clipPath>
        </defs>
      </svg>
    );
  },
);

Bolt.displayName = "Bolt";

Bolt.metadata = {
  name: "Bolt",
  category: "icon/devtool",
  tags: ["bolt", "icon"],
  description: "Bolt icon from icon/devtool category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Bolt;
