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

export const Nx: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Nx(
    {
      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_378)">
          <path
            d="M11.987 14.1379L8.85499 19.0609L3.662 10.6339L3.65 19.4559H0V4.54395H3.69099L8.938 13.377L8.94299 9.37895L11.987 14.1379ZM12.588 8.37695C12.612 8.32895 12.588 4.59295 12.596 4.54395H8.946C8.948 4.60295 8.94099 8.31995 8.94299 8.37695H12.588ZM18.2221 12.511C17.796 12.5028 17.3779 12.6268 17.0253 12.8661C16.6726 13.1054 16.4029 13.448 16.253 13.847C16.5011 13.4756 16.8686 13.2 17.2946 13.0656C17.7206 12.9312 18.1797 12.9462 18.596 13.1079C18.992 13.269 19.513 13.5299 19.9261 13.391C19.7323 13.1195 19.4766 12.8981 19.1803 12.7451C18.884 12.592 18.5556 12.5118 18.2221 12.511ZM21.612 13.5719C21.237 13.4419 20.812 13.295 20.503 12.891C20.443 12.811 20.387 12.721 20.327 12.6259C20.1931 12.3791 20.012 12.161 19.7941 11.9839C19.5 11.7679 19.1141 11.6619 18.6141 11.6619C18.1226 11.6621 17.6421 11.8081 17.2338 12.0816C16.8253 12.355 16.5074 12.7436 16.32 13.1979C16.5574 12.8673 16.8776 12.6049 17.2483 12.4368C17.619 12.2687 18.0275 12.201 18.4326 12.2402C18.8378 12.2795 19.2256 12.4245 19.5571 12.6606C19.8886 12.8968 20.1525 13.2159 20.3221 13.5859C20.4064 13.7246 20.5336 13.8321 20.6843 13.8923C20.835 13.9526 21.0013 13.9622 21.1581 13.9199C21.651 13.815 21.6181 14.2799 22.361 14.4379V14.305C22.3581 13.859 22.116 13.755 21.612 13.5719ZM23.636 14.8379C23.745 14.7717 23.8344 14.6777 23.8954 14.5657C23.9563 14.4536 23.9866 14.3274 23.983 14.1999C23.973 11.243 21.573 8.71295 18.613 8.71295C17.7232 8.71222 16.8472 8.93284 16.064 9.35495C15.2807 9.77703 14.6147 10.3874 14.126 11.131C14.116 11.105 12.604 8.74095 12.588 8.71295H8.94299L12.406 14.1359L9.02701 19.4559H12.567L14.107 17.09L15.675 19.4559H19.216L16.0061 14.4039C15.9529 14.3055 15.924 14.1958 15.922 14.0839C15.9219 13.7306 15.9913 13.3807 16.1264 13.0542C16.2616 12.7277 16.4597 12.4311 16.7096 12.1812C16.9594 11.9313 17.2558 11.733 17.5824 11.5978C17.9088 11.4626 18.2587 11.393 18.612 11.393H18.613C20.101 11.393 20.349 12.283 20.6701 12.701C21.304 13.527 22.5699 13.165 22.5699 14.2419C22.5723 14.3655 22.6069 14.4863 22.6704 14.5922C22.7339 14.6982 22.824 14.7858 22.9318 14.846C23.0397 14.9063 23.1614 14.9373 23.285 14.9359C23.4085 14.9345 23.5296 14.9007 23.636 14.8379ZM23.9861 14.971C23.813 15.343 23.4261 15.309 23.231 15.6099C23.055 15.881 23.345 16.022 23.345 16.022C23.345 16.022 23.6819 16.178 23.883 15.711C23.987 15.4799 24.023 15.223 23.9861 14.971Z"
            fill="currentColor"
          />
        </g>
        <defs>
          <clipPath id="undefined-clip0_2066_378">
            <path fill="#fff" d="M0 0H24V24H0z" />
          </clipPath>
        </defs>
      </svg>
    );
  },
);

Nx.displayName = "Nx";

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

export default Nx;
