import { forwardRef } from "react";
import type { IconProps } from "../../types";

export const IconPuzzlePieceSolid = forwardRef<SVGSVGElement, IconProps>(
  ({ color = "currentColor", ...props }, forwardedRef) => {
    const { className } = props;
    props = {
      ...props,
      width: `${props.width || props.size || 20}`,
      height: `${props.height || props.size || 20}`,
      className: `${
        className ? className + " " : ""
      }customeow-icon customeow-icon-icon-puzzle-piece-solid`,
    };
    return (
      <svg
        viewBox="0 0 20 20"
        fill="none"
        xmlns="http://www.w3.org/2000/svg"
        {...props}
        ref={forwardedRef}
      >
        <path
          d="M15.4051 11.5306C15.4051 12.6624 16.2627 13.5993 17.4033 13.7143C17.6208 13.7357 17.8226 13.837 17.9696 13.9987C18.1166 14.1603 18.1983 14.3708 18.199 14.5893V16.6611C18.199 17.4895 17.5274 18.1611 16.699 18.1611C16.0084 18.1611 15.3178 18.1611 14.6272 18.1611C14.4087 18.1604 14.1982 18.0787 14.0366 17.9317C13.8749 17.7847 13.7736 17.5829 13.7522 17.3654C13.6372 16.2252 12.6999 15.3676 11.5685 15.3676C10.4372 15.3676 9.49985 16.2252 9.38485 17.3654C9.3635 17.5829 9.26211 17.7848 9.10036 17.9318C8.9386 18.0788 8.72801 18.1605 8.50943 18.1611H6.43812C5.60969 18.1611 4.93812 17.4895 4.93812 16.6611C4.93812 15.9835 4.93812 15.3059 4.93812 14.6284H4.49595C3.67528 14.6284 2.88822 14.3024 2.30792 13.7221C1.72762 13.1418 1.40161 12.3547 1.40161 11.534C1.40161 10.7134 1.72762 9.92631 2.30792 9.346C2.88822 8.7657 3.67528 8.43969 4.49595 8.43969H4.93812C4.93812 7.76029 4.93812 7.08089 4.93812 6.40149C4.93812 5.57306 5.60969 4.90149 6.43812 4.90149H8.4742V4.45932C8.48374 3.64498 8.81393 2.86723 9.39315 2.29475C9.97238 1.72227 10.7539 1.40121 11.5683 1.40121C12.3827 1.40121 13.1643 1.72227 13.7435 2.29475C14.3227 2.86723 14.6529 3.64498 14.6625 4.45932V4.90149H16.699C17.5274 4.90149 18.199 5.57306 18.199 6.40149C18.199 7.08909 18.199 7.7767 18.199 8.46431C18.2 8.68419 18.119 8.89656 17.9719 9.05998C17.8248 9.22341 17.6221 9.32617 17.4033 9.34822C16.2627 9.46322 15.4051 10.4002 15.4051 11.5306Z"
          fill={color}
        />
      </svg>
    );
  }
);

IconPuzzlePieceSolid.displayName = "IconPuzzlePieceSolid";

export default IconPuzzlePieceSolid;
