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

export const IconPuzzlePieceOutline = 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-outline`,
    };
    return (
      <svg
        viewBox="0 0 20 20"
        fill="none"
        xmlns="http://www.w3.org/2000/svg"
        {...props}
        ref={forwardedRef}
      >
        <path
          d="M11.2611 1.3999C12.1925 1.40012 13.0865 1.7696 13.7484 2.42529C14.3287 3.00044 14.6913 3.75625 14.7787 4.56201H15.8832C17.0452 4.56228 17.9848 5.50598 17.9848 6.6665V8.5249L17.9789 8.66846C17.9495 9.00106 17.8132 9.31744 17.5883 9.56787C17.3313 9.85402 16.9761 10.034 16.5932 10.0728C15.9417 10.1386 15.4673 10.6686 15.4672 11.2974C15.4674 11.9273 15.9421 12.4571 16.5932 12.5229C16.9739 12.5608 17.3264 12.7388 17.5834 13.022C17.8404 13.3054 17.9836 13.6748 17.9848 14.0571V15.9302C17.9845 17.0905 17.045 18.0344 15.8832 18.0347H14.015C13.6323 18.0335 13.2628 17.8897 12.9799 17.6323C12.6974 17.3749 12.5196 17.0211 12.4818 16.6411C12.4158 15.9858 11.8857 15.5125 11.2611 15.5122C10.6372 15.5122 10.1068 15.9842 10.0395 16.6382L10.0404 16.6392C10.003 17.02 9.82545 17.3745 9.54239 17.6323C9.25928 17.8902 8.8894 18.0336 8.50626 18.0347H6.63907C5.47706 18.0347 4.53777 17.0906 4.53751 15.9302V14.8267C3.72801 14.7457 2.96614 14.3872 2.38614 13.8062C1.72308 13.1415 1.35013 12.2394 1.35001 11.3003C1.35009 10.3612 1.72315 9.46008 2.38614 8.79541C2.96622 8.21403 3.72776 7.85486 4.53751 7.77393V6.6665C4.53751 5.50582 5.47689 4.56201 6.63907 4.56201H7.74356C7.83098 3.75612 8.1924 3.00046 8.77286 2.42529C9.43498 1.76941 10.3295 1.3999 11.2611 1.3999ZM11.2611 2.90088C10.7253 2.90088 10.2101 3.11273 9.82852 3.49072C9.44703 3.86875 9.22934 4.38302 9.22305 4.92139V5.31201C9.22254 5.72563 8.88673 6.06175 8.47305 6.06201H6.63907C6.30848 6.06201 6.03751 6.33108 6.03751 6.6665V8.50635C6.03724 8.92009 5.70121 9.25594 5.28751 9.25635H4.88907C4.34913 9.25635 3.83095 9.47182 3.44864 9.85498C3.06641 10.2381 2.85106 10.7578 2.85098 11.3003C2.85111 11.8428 3.06639 12.3635 3.44864 12.7466C3.83089 13.1294 4.3494 13.3442 4.88907 13.3442H5.28751C5.70121 13.3446 6.03724 13.6805 6.03751 14.0942V15.9302C6.03777 16.2654 6.30864 16.5347 6.63907 16.5347H8.50333C8.5136 16.5344 8.52459 16.5303 8.53262 16.5229C8.5406 16.5155 8.54604 16.5042 8.54727 16.4927V16.4907C8.68869 15.0873 9.84768 14.0122 11.2611 14.0122C12.5861 14.0125 13.6881 14.9575 13.9369 16.2319L13.975 16.4907V16.4927C13.9763 16.5043 13.9816 16.5155 13.9897 16.5229C13.9978 16.5302 14.0087 16.5346 14.019 16.5347H15.8832C16.2134 16.5344 16.4845 16.2652 16.4848 15.9302V14.062L16.4731 14.0298C16.4657 14.0217 16.4549 14.0173 16.4447 14.0161L16.4428 14.0151C15.0389 13.8733 13.9674 12.7108 13.9672 11.2974C13.9673 9.8847 15.039 8.72241 16.4428 8.58057C16.4535 8.57933 16.4643 8.57438 16.4721 8.56592C16.48 8.55714 16.4847 8.54415 16.4848 8.53174V6.6665C16.4848 6.33125 16.2136 6.06228 15.8832 6.06201H14.0482C13.6345 6.06187 13.2988 5.7257 13.2982 5.31201V4.92139L13.2865 4.72021C13.2354 4.25629 13.0263 3.82138 12.6928 3.49072C12.3114 3.11292 11.7967 2.90109 11.2611 2.90088Z"
          fill={color}
          fillRule="evenodd"
          clipRule="evenodd"
        />
      </svg>
    );
  }
);

IconPuzzlePieceOutline.displayName = "IconPuzzlePieceOutline";

export default IconPuzzlePieceOutline;
