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

export const Shiki: IconComponent = React.forwardRef<SVGSVGElement, IconProps>(
  function Shiki(
    {
      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_935)">
          <path
            d="M19.8046 8.39098C22.1217 8.39098 24.0001 6.51259 24.0001 4.19549C24.0001 1.87838 22.1217 0 19.8046 0C17.4875 0 15.6091 1.87838 15.6091 4.19549C15.6091 6.51259 17.4875 8.39098 19.8046 8.39098Z"
            fill="#cb7676"
          />
          <path d="M0 4.33081H24V10.1955H0V4.33081Z" fill="#4b9978" />
          <path
            d="M9.87625 13.0309C9.83556 12.5225 9.64491 12.126 9.30431 11.8413C8.96876 11.5566 8.45791 11.4143 7.77156 11.4143C7.33433 11.4143 6.97595 11.4676 6.69634 11.5745C6.42188 11.6761 6.21851 11.8159 6.08633 11.9938C5.95415 12.1717 5.88549 12.3751 5.88043 12.6038C5.87024 12.792 5.90335 12.9623 5.97959 13.1148C6.06088 13.2622 6.18801 13.3969 6.36079 13.5189C6.53367 13.6358 6.75481 13.7427 7.02422 13.8392C7.29373 13.9358 7.61394 14.0223 7.98513 14.0985L9.26615 14.373C10.1304 14.556 10.8701 14.7975 11.4852 15.0974C12.1003 15.3974 12.6037 15.7507 12.9951 16.1574C13.3866 16.559 13.6738 17.0114 13.8567 17.5147C14.0449 18.018 14.1415 18.567 14.1465 19.1619C14.1415 20.1887 13.8847 21.0581 13.3764 21.7699C12.868 22.4816 12.141 23.0229 11.1954 23.3941C10.2549 23.7652 9.12386 23.9507 7.80206 23.9507C6.4447 23.9507 5.26022 23.7499 4.24852 23.3484C3.24197 22.9467 2.45908 22.329 1.89995 21.4953C1.34579 20.6565 1.06618 19.5838 1.06104 18.2773H5.08735C5.11279 18.7551 5.23225 19.1567 5.44573 19.4822C5.65929 19.8075 5.9592 20.054 6.34564 20.2219C6.73703 20.3896 7.20224 20.4735 7.74106 20.4735C8.19355 20.4735 8.57222 20.4176 8.87728 20.3057C9.18233 20.1939 9.41358 20.0388 9.5712 19.8406C9.72882 19.6422 9.81012 19.416 9.81526 19.1619C9.81012 18.923 9.73135 18.7145 9.57887 18.5365C9.43144 18.3536 9.18738 18.1909 8.84678 18.0485C8.50618 17.9011 8.04612 17.7638 7.46651 17.6367L5.91093 17.3013C4.52813 17.0013 3.43767 16.5005 2.63953 15.799C1.84645 15.0924 1.45252 14.129 1.45758 12.9089C1.45252 11.9176 1.71688 11.0508 2.25066 10.3086C2.78958 9.56125 3.5343 8.97921 4.48491 8.56227C5.44067 8.14543 6.53619 7.93701 7.77156 7.93701C9.03237 7.93701 10.1227 8.14796 11.043 8.56994C11.9631 8.99193 12.6723 9.5867 13.1705 10.3543C13.6738 11.1169 13.9279 12.0091 13.9331 13.0309H9.87625Z"
            fill="#83d0da"
          />
          <path d="M19.579 0V24H13.7144V0H19.579Z" fill="#e6cc78" />
        </g>
        <defs>
          <clipPath id="undefined-clip0_2066_935">
            <path fill="#fff" d="M0 0H24V24H0z" />
          </clipPath>
        </defs>
      </svg>
    );
  },
);

Shiki.displayName = "Shiki";

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

export default Shiki;
