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

export const Bash: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Bash(
    {
      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_1140)">
          <path
            d="M21.0428 4.89753L13.464 0.399027C13.0237 0.1376 12.5211 -0.000366211 12.009 -0.000366211C11.4969 -0.000366211 10.9943 0.1376 10.554 0.399027L2.97376 4.89753C2.52325 5.16634 2.15046 5.5478 1.89206 6.00437C1.63366 6.46094 1.49855 6.97691 1.50001 7.50153V16.4985C1.49723 17.0219 1.63041 17.5371 1.88651 17.9935C2.14262 18.45 2.51287 18.8321 2.96101 19.1025L10.5398 23.601C10.9801 23.8625 11.4827 24.0004 11.9948 24.0004C12.5068 24.0004 13.0095 23.8625 13.4498 23.601L21.03 19.1025C21.4782 18.8321 21.8484 18.45 22.1045 17.9935C22.3606 17.5371 22.4938 17.0219 22.491 16.4985V7.50153C22.4952 6.97942 22.3641 6.46514 22.1104 6.00879C21.8567 5.55244 21.4892 5.16958 21.0435 4.89753H21.0428ZM15.1725 18.9465V19.5915C15.172 19.6313 15.1616 19.6703 15.1423 19.705C15.1229 19.7397 15.0951 19.769 15.0615 19.7903L14.6775 20.01C14.6175 20.0415 14.5665 20.01 14.5665 19.9253V19.29C14.2954 19.4232 13.9852 19.4534 13.6935 19.3748C13.647 19.3433 13.629 19.2833 13.6515 19.2248L13.7888 18.6398C13.8002 18.5903 13.827 18.5457 13.8653 18.5123C13.8762 18.5015 13.8889 18.4926 13.9028 18.486C13.9221 18.4785 13.9435 18.4785 13.9628 18.486C14.2305 18.5579 14.5157 18.5218 14.757 18.3855C14.9285 18.3018 15.074 18.1732 15.1784 18.0135C15.2827 17.8537 15.3418 17.6687 15.3495 17.478C15.3495 17.1495 15.1695 17.013 14.7345 17.0093C14.184 17.0093 13.6845 16.9043 13.662 16.0913C13.6683 15.7442 13.7513 15.4028 13.9051 15.0916C14.0589 14.7804 14.2796 14.5071 14.5515 14.2913V13.6373C14.553 13.5974 14.5638 13.5585 14.5831 13.5236C14.6024 13.4887 14.6296 13.4588 14.6625 13.4363L15.033 13.2008C15.093 13.1693 15.144 13.2008 15.144 13.2878V13.9418C15.371 13.8386 15.6243 13.8082 15.8693 13.8548C15.9218 13.8848 15.9428 13.9508 15.9173 14.0048L15.7875 14.5845C15.7728 14.6446 15.7358 14.6969 15.684 14.7308C15.669 14.7398 15.6465 14.7368 15.6285 14.7308C15.3897 14.6785 15.14 14.7193 14.9303 14.8448C14.7773 14.9108 14.6462 15.019 14.5525 15.1567C14.4587 15.2944 14.4061 15.456 14.4008 15.6225C14.4008 15.9188 14.5568 16.0088 15.081 16.02C15.7823 16.02 16.0838 16.3373 16.092 17.0415C16.0854 17.4057 15.9996 17.7641 15.8405 18.0917C15.6815 18.4194 15.453 18.7085 15.171 18.939L15.1725 18.9465ZM19.1423 17.859C19.1468 17.8863 19.1437 17.9143 19.1334 17.94C19.1231 17.9656 19.1059 17.988 19.0838 18.0045L17.175 19.1685C17.157 19.1835 17.13 19.1858 17.1098 19.1738C17.0895 19.1618 17.0798 19.1363 17.085 19.1138V18.6188C17.0863 18.5923 17.0952 18.5668 17.1106 18.5452C17.1261 18.5237 17.1474 18.507 17.172 18.4973L19.059 17.367C19.077 17.352 19.104 17.3498 19.1243 17.3618C19.1445 17.3738 19.1543 17.3993 19.149 17.4218V17.8583L19.1423 17.859ZM20.466 6.79503L13.2945 11.2245C12.3998 11.754 11.742 12.333 11.742 13.41V22.2435C11.742 22.8885 12.0068 23.2935 12.4035 23.4285C12.2724 23.453 12.1394 23.4663 12.006 23.4683C11.5848 23.4673 11.1716 23.3531 10.8098 23.1375L3.23101 18.6398C2.862 18.4184 2.55709 18.1045 2.34639 17.7293C2.13569 17.3541 2.02647 16.9304 2.02951 16.5V7.50153C2.02612 7.07061 2.13515 6.64626 2.34586 6.27036C2.55656 5.89445 2.86165 5.58 3.23101 5.35803L10.8098 0.859527C11.5448 0.424527 12.4568 0.424527 13.1918 0.859527L20.7705 5.35803C21.3953 5.73603 21.8205 6.37053 21.9345 7.08303C21.6885 6.54828 21.1223 6.40803 20.463 6.78678H20.4653L20.466 6.79503Z"
            fill="#1b1b1f"
            fillRule="evenodd"
            clipRule="evenodd"
          />
        </g>
        <defs>
          <clipPath id="undefined-clip0_2066_1140">
            <path fill="#fff" d="M0 0H24V24H0z" />
          </clipPath>
        </defs>
      </svg>
    );
  },
);

Bash.displayName = "Bash";

Bash.metadata = {
  name: "Bash",
  category: "icon/language",
  tags: ["bash", "icon"],
  description: "Bash icon from icon/language category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Bash;
