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

export const Java: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Java(
    {
      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_1141)">
          <path
            d="M8.83593 18.5202C8.83593 18.5202 7.85156 19.0751 9.46875 19.2832C11.3672 19.4913 12.3516 19.4219 14.4609 19.0751C14.4609 19.0751 15.0234 19.4219 15.7969 19.6994C11.0859 21.711 5.03906 19.5607 8.83593 18.5202ZM8.20312 15.9537C8.20312 15.9537 7.14843 16.7167 8.76562 16.8555C10.8047 17.0636 12.4219 17.0636 15.2344 16.578C15.2344 16.578 15.6562 16.9248 16.2891 17.1329C10.5234 18.7977 4.125 17.2717 8.20312 15.9537Z"
            fill="#5382a1"
          />
          <path
            d="M13.125 11.5144C14.3203 12.8323 12.8437 14.0115 12.8437 14.0115C12.8437 14.0115 15.7969 12.4855 14.3906 10.6127C13.125 8.8092 12.1406 7.97683 17.4844 4.9248C17.4844 4.9248 9.11718 6.93637 13.125 11.5144Z"
            fill="#e76f00"
          />
          <path
            d="M19.3828 20.4625C19.3828 20.4625 20.0859 21.0174 18.6797 21.5029C15.9375 22.3353 7.21875 22.5434 4.82813 21.5029C3.98438 21.1561 5.60157 20.6012 6.09375 20.5318L6.9375 20.3931C5.95313 19.7688 0.679691 21.711 4.26563 22.3353C13.9688 23.8613 21.9141 21.6417 19.3828 20.4625ZM9.25782 13.1792C9.25782 13.1792 4.82813 14.2197 7.71094 14.6359C8.90625 14.7746 11.2969 14.7746 13.5469 14.5665C15.375 14.4278 17.2031 14.081 17.2031 14.081L16.0781 14.7052C11.5781 15.8151 2.92969 15.2602 5.46094 14.081C7.57032 13.1099 9.25782 13.1792 9.25782 13.1792ZM17.2031 17.5492C21.7031 15.2602 19.5938 12.9711 18.1172 13.318L17.625 13.4567C17.625 13.4567 17.7656 13.2486 18.0469 13.1099C20.9297 12.1388 23.1797 16.0925 17.0625 17.6879L17.2031 17.5492Z"
            fill="#5382a1"
          />
          <path
            d="M14.3906 0C14.3906 0 16.9219 2.49711 12 6.31214C8.06249 9.43353 11.1562 11.1676 12 13.1792C9.74999 11.0983 8.06249 9.2948 9.18749 7.63006C10.8047 5.20231 15.4453 3.95376 14.3906 0Z"
            fill="#e76f00"
          />
          <path
            d="M9.67969 23.9306C14.0391 24.208 20.7891 23.7225 20.9297 21.7109C20.9297 21.7109 20.6484 22.4739 17.3438 23.0982C13.6172 23.7919 8.97656 23.7225 6.23438 23.2369C6.23438 23.2369 6.79688 23.7225 9.67969 23.9306Z"
            fill="#5382a1"
          />
        </g>
        <defs>
          <clipPath id="undefined-clip0_2066_1141">
            <path fill="#fff" transform="translate(3)" d="M0 0H18V24H0z" />
          </clipPath>
        </defs>
      </svg>
    );
  },
);

Java.displayName = "Java";

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

export default Java;
