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

export const WebGl: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function WebGl(
    {
      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}
      >
        <path
          d="M22.27 13.472H22.124V13.854H21.996V13.472H21.848V13.362H22.27V13.472ZM22.328 13.362H22.516L22.602 13.69 22.688 13.362H22.876V13.854H22.756V13.48H22.754L22.652 13.854H22.554L22.45 13.48H22.448V13.854H22.328V13.362ZM17.188 13.826C17.008 13.902 16.828 13.94 16.646 13.94 16.358 13.94 16.098 13.89 15.868 13.79 15.638 13.69 15.444 13.552 15.286 13.376 15.128 13.2 15.006 12.994 14.922 12.756 14.838 12.518 14.796 12.262 14.796 11.988 14.796 11.706 14.838 11.446 14.922 11.204 15.006 10.962 15.126 10.752 15.284 10.574 15.442 10.394 15.636 10.254 15.866 10.152 16.096 10.05 16.354 9.998 16.644 9.998 16.838 9.998 17.024 10.028 17.204 10.086 17.384 10.144 17.548 10.23 17.694 10.342 17.84 10.454 17.96 10.594 18.054 10.76 18.148 10.926 18.206 11.116 18.228 11.33H17.44C17.39 11.12 17.296 10.962 17.156 10.856 17.016 10.75 16.846 10.698 16.644 10.698 16.458 10.698 16.3 10.734 16.17 10.806 16.04 10.878 15.934 10.974 15.854 11.096 15.774 11.218 15.714 11.356 15.678 11.51 15.642 11.664 15.622 11.824 15.622 11.99 15.622 12.148 15.64 12.302 15.678 12.452 15.714 12.602 15.774 12.736 15.854 12.856 15.934 12.976 16.04 13.072 16.17 13.144 16.3 13.216 16.458 13.252 16.644 13.252 16.918 13.252 17.13 13.182 17.28 13.044 17.43 12.906 17.516 12.706 17.542 12.442H16.71V11.82H18.288V13.854H17.762L17.678 13.428C17.532 13.618 17.368 13.75 17.188 13.826ZM19.63 10.092V13.154H21.464V13.852H18.804V10.092H19.63Z"
          fill="#900"
        />
        <path
          d="M15.7259 14.3199C14.4639 15.0879 12.5719 15.5239 10.4619 15.5239C6.65993 15.5239 3.57993 13.9419 3.57993 11.9879C3.57993 10.0359 6.66193 8.45194 10.4619 8.45194C12.5799 8.45194 14.4779 8.89794 15.7399 9.66994C14.3639 8.37594 11.8919 7.46794 9.06793 7.46594C4.73993 7.46594 1.23193 9.48994 1.23193 11.9879C1.23193 14.4859 4.73993 16.5119 9.06593 16.5119C11.8799 16.5119 14.3439 15.6059 15.7259 14.3199Z"
          fill="#900"
        />
        <path
          d="M8.79204 9.79797L8.06604 12.938L7.19004 9.79797H6.52604L5.65004 12.938L4.92404 9.79797H4.23804L5.31404 13.892H5.95804L6.86404 10.676L7.75804 13.892H8.40404L9.51804 9.79797H8.79204ZM11.33 11.522C11.23 11.38 11.104 11.272 10.956 11.198C10.804 11.122 10.628 11.084 10.432 11.084C10.212 11.084 10.014 11.124 9.84204 11.202C9.68004 11.276 9.54204 11.386 9.43004 11.528C9.22404 11.79 9.11604 12.16 9.11604 12.598C9.11604 12.792 9.14404 12.976 9.19804 13.14C9.25204 13.306 9.33404 13.452 9.43804 13.574C9.65804 13.83 9.97204 13.966 10.346 13.966C10.542 13.966 10.702 13.946 10.836 13.904C10.952 13.868 11.03 13.82 11.094 13.778C11.176 13.724 11.25 13.658 11.318 13.582C11.374 13.516 11.424 13.444 11.468 13.366C11.544 13.226 11.582 13.094 11.59 13.026L11.596 12.98H11.062L11.06 13.018C11.046 13.192 10.818 13.502 10.412 13.502C9.83204 13.502 9.69404 13.082 9.68404 12.712H11.628V12.67C11.628 12.432 11.604 12.214 11.556 12.024C11.502 11.826 11.428 11.658 11.33 11.522ZM10.37 11.564C10.8 11.564 11.03 11.796 11.072 12.272H9.68004C9.70204 11.886 10.008 11.564 10.37 11.564ZM14.314 11.914C14.262 11.748 14.186 11.602 14.088 11.48C13.986 11.354 13.862 11.256 13.72 11.188C13.572 11.118 13.406 11.082 13.226 11.082C13.06 11.084 12.91 11.12 12.778 11.19C12.668 11.246 12.57 11.326 12.486 11.426V10.17H11.954V13.89H12.46V13.636C12.504 13.694 12.562 13.756 12.638 13.81C12.782 13.914 12.96 13.966 13.166 13.966C13.388 13.966 13.588 13.916 13.756 13.818C13.906 13.73 14.034 13.604 14.134 13.444C14.222 13.304 14.288 13.138 14.332 12.952C14.37 12.792 14.39 12.616 14.39 12.444C14.392 12.258 14.366 12.078 14.314 11.914ZM13.836 12.518C13.836 12.81 13.778 13.054 13.666 13.226C13.548 13.408 13.376 13.5 13.156 13.5C12.838 13.5 12.466 13.278 12.466 12.65C12.466 12.35 12.504 12.118 12.58 11.942C12.69 11.688 12.876 11.566 13.146 11.566C13.434 11.566 13.628 11.678 13.736 11.912C13.824 12.104 13.836 12.338 13.836 12.518Z"
          fill="#900"
        />
      </svg>
    );
  },
);

WebGl.displayName = "WebGl";

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

export default WebGl;
