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

export const DiscordJs: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function DiscordJs(
  {
    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_939)">
        <path d="M24 0H0V24H24V0Z" fill="#0b0c18" />
        <path
          d="M5.91055 14.458C5.28585 14.458 4.69099 14.458 4.08008 14.458C4.08008 12.05 4.08008 9.65978 4.08008 7.23369C4.27017 7.23369 4.45589 7.23172 4.64155 7.23405C5.60497 7.24617 6.57247 7.2079 7.53091 7.28354C9.24608 7.419 10.3783 8.61088 10.5002 10.3292C10.5476 10.9968 10.5161 11.6585 10.2656 12.2933C10.2024 12.4536 10.1211 12.532 9.9262 12.5465C9.21909 12.5994 8.65109 13.1726 8.59742 13.8825C8.58327 14.0693 8.49826 14.1392 8.35032 14.1994C7.76673 14.4371 7.15569 14.4716 6.53676 14.4586C6.33808 14.4545 6.13921 14.458 5.91055 14.458ZM8.52554 11.8242C8.70106 11.3256 8.73503 10.8127 8.65091 10.2955C8.55551 9.70885 8.30154 9.21202 7.73079 8.95566C7.10888 8.67644 6.45085 8.80587 5.81604 8.78181C5.81604 10.185 5.81604 11.5431 5.81604 12.9059C6.19432 12.9059 6.55217 12.9112 6.90978 12.9049C7.65665 12.8915 8.19742 12.5557 8.52554 11.8242Z"
          fill="#fdfdfd"
        />
        <path
          d="M20.714 15.106C20.406 16.037 19.712 16.577 18.816 16.827 17.079 17.312 15.526 16.915 14.18 15.713 14.159 15.694 14.146 15.667 14.115 15.625 14.19 15.537 14.266 15.449 14.385 15.354 16.54 15.674 18.644 15.822 20.714 15.106ZM12.825 15.47C12.402 16.343 11.695 16.833 10.75 16.978 9.588 17.156 8.578 16.871 7.817 15.929 7.659 15.734 7.554 15.496 7.428 15.284 7.913 15.143 8.35 15.016 8.817 14.88 9.095 15.249 9.48 15.504 10.032 15.559 10.342 15.598 10.61 15.652 10.874 15.637 11.525 15.598 12.175 15.528 12.825 15.47Z"
          fill="#b55bfd"
        />
        <path
          d="M15.789 12.0574C14.9962 11.6094 14.583 10.9244 14.5491 9.99719C15.1302 10.0115 15.6808 10.0505 16.2315 10.0895C16.4384 10.5829 16.8843 10.7823 17.3307 10.9786C18.0717 11.3046 18.814 11.6274 19.5439 11.9737C18.7365 12.2113 17.9347 12.3632 17.1048 12.2428C16.6664 12.1792 16.2276 12.1191 15.789 12.0574Z"
          fill="#fcda5c"
        />
        <path
          d="M15.137 8.286C15.7368 7.58582 16.5341 7.29639 17.4201 7.24475C18.6367 7.17376 19.689 7.58021 20.5882 8.42481C20.5238 8.51048 20.4717 8.57961 20.3722 8.65591C19.5745 8.63937 18.822 8.64248 18.0742 8.58535C17.0932 8.51042 16.1158 8.38797 15.137 8.286Z"
          fill="#fc5b5b"
        />
        <path
          d="M15.8022 12.0754C16.2277 12.1191 16.6666 12.1792 17.105 12.2428C17.9349 12.3632 18.7367 12.2113 19.5551 11.9904C20.2255 12.3259 20.6418 12.848 20.7917 13.5861C20.2176 13.7137 19.6652 13.817 19.1128 13.9204C18.9406 13.5855 18.6505 13.3873 18.3187 13.239C17.5705 12.9049 16.8216 12.5726 16.0741 12.2371C15.9844 12.1969 15.9015 12.1416 15.8022 12.0754Z"
          fill="#5cfc9c"
        />
        <path
          d="M15.1212 8.29736C16.1158 8.38799 17.0931 8.51044 18.0741 8.58536C18.8219 8.6425 19.5744 8.63939 20.3543 8.6665C20.1721 8.94303 19.9604 9.21611 19.737 9.50447C19.2789 9.13199 18.8001 8.8185 18.2257 8.7551C17.8383 8.71235 17.4284 8.71133 17.0496 8.79109C16.4213 8.92339 16.1651 9.36387 16.2324 10.0625C15.6809 10.0506 15.1303 10.0116 14.553 9.97307C14.4935 9.33999 14.7013 8.7902 15.1212 8.29736Z"
          fill="#f39153"
        />
        <path
          d="M19.115 13.944C19.665 13.817 20.218 13.714 20.793 13.608 20.935 14.1 20.907 14.588 20.728 15.088 18.644 15.822 16.54 15.674 14.403 15.344 14.6 15.065 14.823 14.789 15.055 14.502 15.597 14.965 16.17 15.323 16.85 15.482 17.322 15.593 17.791 15.604 18.26 15.471 18.996 15.261 19.312 14.709 19.115 13.944ZM12.839 15.453C12.175 15.528 11.525 15.598 10.874 15.637 10.61 15.652 10.342 15.598 10.056 15.567 11.057 15.425 11.556 14.914 11.612 13.947 12.161 13.813 12.682 13.707 13.204 13.601 13.253 14.244 13.141 14.857 12.839 15.453Z"
          fill="#5c6bfb"
        />
        <path
          d="M11.5911 9.37684C11.5911 8.67308 11.5911 7.96932 11.5911 7.24878C12.1311 7.24878 12.6545 7.24878 13.2241 7.24878C13.2241 7.73857 13.2241 8.23087 13.1961 8.75117C12.6425 8.97839 12.1168 9.17761 11.5911 9.37684Z"
          fill="#f35b59"
        />
        <path
          d="M13.2104 13.5747C12.6826 13.707 12.1611 13.8127 11.6156 13.9217C11.5889 13.2831 11.5862 12.6411 11.6134 11.9705C12.1635 11.8934 12.6837 11.8449 13.2039 11.7964C13.2081 12.3803 13.2124 12.9643 13.2104 13.5747Z"
          fill="#5dfe9d"
        />
        <path
          d="M9.89707 13.1108C10.5345 13.0412 11.0141 13.4339 11.035 14.0169C11.0539 14.5412 10.6131 14.9883 10.0802 14.9854C9.53623 14.9826 9.10184 14.5197 9.13564 13.979C9.16196 13.5583 9.42137 13.2555 9.89707 13.1108Z"
          fill="#fbfbfb"
        />
        <path
          d="M13.2111 11.7715C12.6837 11.845 12.1635 11.8935 11.6176 11.9432C11.5893 11.446 11.5868 10.9476 11.6145 10.421C11.8094 10.3734 11.9751 10.3602 12.1385 10.3338C12.4948 10.2761 12.8501 10.2118 13.2058 10.1501C13.21 10.6822 13.2142 11.2143 13.2111 11.7715Z"
          fill="#fcda5c"
        />
        <path
          d="M13.2148 10.1276C12.8502 10.2117 12.4949 10.276 12.1385 10.3337C11.9751 10.3602 11.8095 10.3733 11.6189 10.3936C11.5898 10.0736 11.5865 9.75252 11.5872 9.40416C12.1169 9.17759 12.6426 8.97837 13.1876 8.77771C13.2125 9.21926 13.2181 9.66219 13.2148 10.1276Z"
          fill="#f39153"
        />
      </g>
      <defs>
        <clipPath id="undefined-clip0_2066_939">
          <path fill="#fff" d="M0 0H24V24H0z" />
        </clipPath>
      </defs>
    </svg>
  );
});

DiscordJs.displayName = "DiscordJs";

DiscordJs.metadata = {
  name: "DiscordJs",
  category: "icon/library",
  tags: ["discord", "js", "icon"],
  description: "DiscordJs icon from icon/library category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default DiscordJs;
