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

export const Abstract107: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function Abstract107(
  {
    color = "currentColor",
    fill,
    size = 24,
    strokeWidth,
    strokeLinecap,
    strokeLinejoin,
    strokeDasharray,
    opacity,
    className,
    ...props
  },
  forwardedRef,
) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 24 20"
      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="M21.697 2.25173C20.713 1.29054 19.4044 0.761221 18.0112 0.761221C16.618 0.761221 15.3112 1.29054 14.3254 2.25173L11.3129 5.19576L8.98748 2.92388C7.33535 1.31071 4.64566 1.31071 2.9918 2.92388C1.33966 4.53874 1.33966 7.16518 2.9918 8.78004L12.6888 18.2524L21.697 9.45219C22.6811 8.49101 23.2231 7.21224 23.2231 5.8528C23.2231 4.49336 22.6811 3.21459 21.697 2.25173ZM22.2477 9.98824L12.6888 19.3262L2.44109 9.31608C1.49331 8.39019 0.970222 7.16014 0.970222 5.84944C0.970222 4.53873 1.49331 3.30869 2.44109 2.38279C3.38886 1.4569 4.64912 0.94606 5.98878 0.94606C7.32844 0.94606 8.59042 1.45522 9.5382 2.38279L11.3129 4.11527L13.7747 1.71064C14.9055 0.606619 16.4091 0 18.0112 0C19.6133 0 21.1187 0.606621 22.2477 1.71232C23.3785 2.81465 24 4.285 24 5.85112C24 7.41724 23.3785 8.8859 22.2477 9.98824ZM9.67458 2.25173C8.69055 1.29054 7.38196 0.761221 5.98878 0.761221C4.5956 0.761221 3.28701 1.29054 2.30298 2.25173C1.31895 3.21291 0.776867 4.49168 0.776867 5.8528C0.776867 7.21392 1.31895 8.49101 2.30298 9.45219L12.5507 19.4623L12 20L1.75227 9.98992C0.621495 8.88758 0 7.41724 0 5.8528C0 4.28836 0.621495 2.81802 1.75227 1.714C2.88131 0.609983 4.38671 0.00168203 5.98878 0.00168203C7.59085 0.00168203 9.09625 0.608301 10.2253 1.71232L11.8636 3.31205L11.3129 3.84977L9.67458 2.25004V2.25173ZM21.5606 9.31776L12.6888 17.9835L12.1381 17.4441L21.0099 8.77835C22.6621 7.1635 22.6621 4.53705 21.0099 2.9222C19.3578 1.30735 16.6681 1.30735 15.0142 2.9222L12.0017 5.86624L11.4493 5.32852L14.4618 2.38447C15.4096 1.45858 16.6698 0.947742 18.0112 0.947742C19.3526 0.947742 20.6129 1.4569 21.5606 2.38447C22.5084 3.31037 23.0298 4.54041 23.0298 5.85112C23.0298 7.16182 22.5084 8.39187 21.5606 9.31776Z"
        fill="currentColor"
      />
    </svg>
  );
});

Abstract107.displayName = "Abstract107";

Abstract107.metadata = {
  name: "Abstract107",
  category: "shapes/abstract",
  tags: ["abstract", "107", "icon"],
  description: "Abstract107 icon from shapes/abstract category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Abstract107;
