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

export const Abstract42: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function Abstract42(
  {
    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}
    >
      <path
        d="M22.0834 1.9181C21.4565 1.29333 20.6259 0.948568 19.738 0.948568C18.8502 0.948568 18.0214 1.29333 17.3946 1.9181L16.9888 2.32381C18.995 3.36191 20.6392 5.00571 21.6775 7.01143L22.0834 6.60571C22.7102 5.98095 23.0531 5.14857 23.0531 4.26286C23.0531 3.37714 22.7083 2.54476 22.0834 1.9181ZM16.2839 3.02858L12.6678 6.64381L17.3565 11.3314L20.9726 7.7181C19.9914 5.67238 18.3301 4.01144 16.2839 3.03048V3.02858ZM11.999 2.05905C10.8273 2.05905 9.70326 2.26477 8.6592 2.6381L11.999 5.97524L15.3389 2.6381C14.2948 2.26477 13.1708 2.05905 11.999 2.05905ZM7.71231 3.02858C5.66611 4.00953 4.00477 5.67048 3.02358 7.71619L6.63968 11.3295L11.3284 6.6419L7.71231 3.02667V3.02858ZM6.60348 1.9181C5.97666 1.29333 5.14408 0.948568 4.25816 0.948568C3.37223 0.948568 2.53965 1.29333 1.91284 1.9181C0.6211 3.21143 0.6211 5.31428 1.91284 6.60571L2.31865 7.01143C3.35699 5.00571 5.00119 3.36191 7.00738 2.32381L6.60157 1.9181H6.60348ZM1.91284 22.0838C3.20648 23.3771 5.30983 23.3771 6.60157 22.0838L7.00738 21.6781C5.00119 20.64 3.35699 18.9962 2.31865 16.9905L1.91284 17.3962C0.6211 18.6876 0.6211 20.7905 1.91284 22.0838ZM5.97094 12.0019L2.63111 8.66285C2.25768 9.70666 2.05191 10.8305 2.05191 12.0019C2.05191 13.1733 2.25768 14.2952 2.63111 15.3391L5.97094 12V12.0019ZM7.71231 20.9733L11.3284 17.36L6.63968 12.6724L3.02358 16.2876C4.00477 18.3333 5.66611 19.9943 7.71231 20.9752V20.9733ZM11.999 21.9448C13.1708 21.9448 14.2929 21.739 15.3389 21.3657L11.999 18.0267L8.6592 21.3657C9.70326 21.739 10.8273 21.9448 11.999 21.9448ZM16.6859 12.0019L11.9971 7.31429L7.30841 12.0019L11.9971 16.6895L16.6859 12.0019ZM16.2839 20.9733C18.3301 19.9924 19.9914 18.3314 20.9726 16.2857L17.3565 12.6705L12.6678 17.3581L16.2839 20.9714V20.9733ZM21.9443 12.0019C21.9443 10.8305 21.7385 9.70666 21.3651 8.66285L18.0252 12.0019L21.3651 15.341C21.7385 14.2972 21.9443 13.1733 21.9443 12.0038V12.0019ZM17.3946 22.0838C18.6883 23.3771 20.7897 23.3771 22.0834 22.0838C22.7102 21.459 23.0531 20.6248 23.0531 19.739C23.0531 18.8533 22.7083 18.0229 22.0834 17.3962L21.6775 16.9905C20.6392 18.9962 18.995 20.6381 16.9888 21.6781L17.3946 22.0838ZM22.0986 7.92952C22.6092 9.18857 22.8912 10.5619 22.8912 12.0019C22.8912 13.4419 22.6073 14.8133 22.0986 16.0724L22.7521 16.7257C23.558 17.5314 24 18.6 24 19.739C24 20.8781 23.5561 21.9486 22.7521 22.7524C21.9214 23.5829 20.8297 24 19.738 24C18.6463 24 17.5547 23.5829 16.724 22.7524L16.0705 22.0991C14.8111 22.6076 13.4375 22.8914 11.999 22.8914C10.5606 22.8914 9.18505 22.6076 7.9276 22.0991L7.27412 22.7524C6.44344 23.5829 5.35175 24 4.26006 24C3.16838 24 2.07859 23.5829 1.24601 22.7524C-0.415337 21.0914 -0.415337 18.3867 1.24601 16.7257L1.8995 16.0724C1.39081 14.8133 1.10693 13.44 1.10693 12.0019C1.10693 10.5638 1.39081 9.18857 1.8995 7.92952L1.24601 7.27619C-0.415337 5.61524 -0.415337 2.91048 1.24601 1.24952C2.05192 0.443809 3.12074 0 4.26006 0C5.39938 0 6.47012 0.443809 7.27412 1.24952L7.9276 1.90286C9.18695 1.39428 10.5606 1.11048 11.999 1.11048C13.4375 1.11048 14.8111 1.39428 16.0705 1.90286L16.724 1.24952C17.5299 0.443809 18.5987 0 19.738 0C20.8774 0 21.9481 0.443809 22.7521 1.24952C23.558 2.05524 24 3.12381 24 4.26286C24 5.40191 23.5561 6.47048 22.7521 7.27619L22.0967 7.92952H22.0986Z"
        fill="currentColor"
        fillRule="evenodd"
        clipRule="evenodd"
      />
    </svg>
  );
});

Abstract42.displayName = "Abstract42";

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

export default Abstract42;
