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

export const IconPuzzlePieceFill = 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-fill`,
    };
    return (
      <svg
        viewBox="0 0 20 20"
        fill="none"
        xmlns="http://www.w3.org/2000/svg"
        {...props}
        ref={forwardedRef}
      >
        <path
          d="M9.375 4.44745C9.375 4.15148 9.21996 3.88397 9.04066 3.6485C8.85659 3.40675 8.75 3.12 8.75 2.8125C8.75 1.94956 9.58947 1.25 10.625 1.25C11.6605 1.25 12.5 1.94956 12.5 2.8125C12.5 3.12 12.3934 3.40675 12.2093 3.6485C12.03 3.88397 11.875 4.15149 11.875 4.44745C11.875 4.72441 12.1064 4.9455 12.3829 4.929C13.9751 4.83399 15.5415 4.6444 17.0768 4.36582C17.2458 4.33516 17.4199 4.37537 17.5583 4.47701C17.6967 4.57864 17.7872 4.73275 17.8086 4.90314C17.9952 6.39437 18.1011 7.91052 18.1216 9.44704C18.1256 9.75235 17.8778 9.99991 17.5724 10C17.2765 10 17.009 9.84496 16.7735 9.66566C16.5317 9.48159 16.245 9.375 15.9375 9.375C15.0746 9.375 14.375 10.2145 14.375 11.25C14.375 12.2855 15.0746 13.125 15.9375 13.125C16.245 13.125 16.5317 13.0184 16.7735 12.8343C17.009 12.655 17.2765 12.5 17.5724 12.5C17.8311 12.5 18.0365 12.7181 18.0179 12.9761C17.919 14.3415 17.7526 15.6884 17.522 17.0134C17.4767 17.2733 17.2732 17.4768 17.0134 17.522C15.4974 17.7858 13.9528 17.9656 12.3846 18.0564C12.1071 18.0724 11.875 17.8504 11.875 17.5724C11.875 17.2765 12.03 17.009 12.2093 16.7735C12.3934 16.5318 12.5 16.245 12.5 15.9375C12.5 15.0746 11.6605 14.375 10.625 14.375C9.58947 14.375 8.75 15.0746 8.75 15.9375C8.75 16.245 8.85659 16.5318 9.04066 16.7735C9.21996 17.009 9.375 17.2765 9.375 17.5724C9.375 17.8738 9.1283 18.1171 8.8271 18.1086C7.50252 18.071 6.19365 17.97 4.90344 17.8085C4.73305 17.7871 4.57894 17.6966 4.47731 17.5582C4.37567 17.4198 4.33546 17.2457 4.36612 17.0767C4.61019 15.7317 4.78596 14.3628 4.88966 12.9736C4.90882 12.7171 4.70469 12.5 4.44745 12.5C4.15148 12.5 3.88397 12.655 3.6485 12.8343C3.40675 13.0184 3.12 13.125 2.8125 13.125C1.94956 13.125 1.25 12.2855 1.25 11.25C1.25 10.2145 1.94956 9.375 2.8125 9.375C3.12 9.375 3.40675 9.48159 3.6485 9.66566C3.88397 9.84496 4.15149 10 4.44745 10C4.75275 10 5.00065 9.75248 4.99645 9.44721C4.97778 8.09037 4.89052 6.75022 4.73799 5.43024C4.71609 5.24067 4.78198 5.05149 4.91692 4.91655C5.05185 4.78162 5.24104 4.71572 5.4306 4.73763C6.54918 4.86688 7.68217 4.94927 8.82755 4.98276C9.12846 4.99156 9.375 4.74848 9.375 4.44745Z"
          fill={color}
        />
      </svg>
    );
  }
);

IconPuzzlePieceFill.displayName = "IconPuzzlePieceFill";

export default IconPuzzlePieceFill;
