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-shein-icon customeow-shein-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="M9.32495 4.39746C9.32495 4.1015 9.16991 3.83398 8.99061 3.59851C8.80654 3.35676 8.69995 3.07001 8.69995 2.76251C8.69995 1.89957 9.53942 1.20001 10.575 1.20001C11.6105 1.20001 12.45 1.89957 12.45 2.76251C12.45 3.07001 12.3434 3.35676 12.1593 3.59851C11.98 3.83398 11.825 4.1015 11.825 4.39746C11.825 4.67442 12.0564 4.89551 12.3328 4.87901C13.925 4.78401 15.4915 4.59441 17.0268 4.31583C17.1957 4.28517 17.3699 4.32538 17.5083 4.42702C17.6467 4.52866 17.7372 4.68276 17.7585 4.85315C17.9452 6.34438 18.051 7.86053 18.0715 9.39706C18.0756 9.70236 17.8277 9.94993 17.5224 9.95001C17.2264 9.95001 16.9589 9.79497 16.7234 9.61568C16.4817 9.4316 16.1949 9.32501 15.8875 9.32501C15.0245 9.32501 14.325 10.1645 14.325 11.2C14.325 12.2355 15.0245 13.075 15.8875 13.075C16.1949 13.075 16.4817 12.9684 16.7234 12.7843C16.9589 12.6051 17.2264 12.45 17.5224 12.45C17.7811 12.45 17.9865 12.6681 17.9678 12.9261C17.8689 14.2915 17.7025 15.6384 17.4719 16.9635C17.4267 17.2233 17.2232 17.4268 16.9633 17.472C15.4474 17.7358 13.9028 17.9156 12.3345 18.0064C12.057 18.0225 11.825 17.8004 11.825 17.5225C11.825 17.2265 11.98 16.959 12.1593 16.7235C12.3434 16.4818 12.45 16.195 12.45 15.8875C12.45 15.0246 11.6105 14.325 10.575 14.325C9.53942 14.325 8.69995 15.0246 8.69995 15.8875C8.69995 16.195 8.80654 16.4818 8.99061 16.7235C9.16991 16.959 9.32495 17.2265 9.32495 17.5225C9.32495 17.8238 9.07825 18.0671 8.77705 18.0586C7.45247 18.021 6.1436 17.92 4.85339 17.7585C4.683 17.7371 4.5289 17.6466 4.42726 17.5082C4.32562 17.3698 4.28542 17.1957 4.31608 17.0267C4.56014 15.6817 4.73591 14.3128 4.83962 12.9236C4.85877 12.6671 4.65464 12.45 4.3974 12.45C4.10144 12.45 3.83392 12.6051 3.59845 12.7843C3.3567 12.9684 3.06995 13.075 2.76245 13.075C1.89951 13.075 1.19995 12.2355 1.19995 11.2C1.19995 10.1645 1.89951 9.32501 2.76245 9.32501C3.06995 9.32501 3.3567 9.4316 3.59845 9.61568C3.83392 9.79497 4.10144 9.95001 4.3974 9.95001C4.7027 9.95001 4.9506 9.7025 4.9464 9.39722C4.92773 8.04039 4.84047 6.70023 4.68794 5.38025C4.66604 5.19068 4.73194 5.0015 4.86687 4.86656C5.0018 4.73163 5.19099 4.66573 5.38055 4.68764C6.49914 4.81689 7.63212 4.89928 8.77751 4.93277C9.07841 4.94157 9.32495 4.69849 9.32495 4.39746Z"
          fill={color}
        />
      </svg>
    );
  }
);

IconPuzzlePieceSolid.displayName = "IconPuzzlePieceSolid";

export default IconPuzzlePieceSolid;
