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

export const IconShuffleOutline = 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-shuffle-outline`,
    };
    return (
      <svg
        viewBox="0 0 20 20"
        fill="none"
        xmlns="http://www.w3.org/2000/svg"
        {...props}
        ref={forwardedRef}
      >
        <path
          d="M15.8774 2.46204C16.1745 2.17342 16.6493 2.1803 16.938 2.47741L18.538 4.12447C18.8207 4.41551 18.8207 4.87861 18.538 5.16965L16.938 6.81671C16.6493 7.11381 16.1745 7.1207 15.8774 6.83208C15.5803 6.54346 15.5734 6.06864 15.862 5.77153L16.2258 5.39706H15.2C12.7627 5.39706 10.75 7.43723 10.75 10C10.75 12.5628 12.7627 14.6029 15.2 14.6029H16.2258L15.862 14.2285C15.5734 13.9314 15.5803 13.4565 15.8774 13.1679C16.1745 12.8793 16.6493 12.8862 16.938 13.1833L18.538 14.8304C18.8207 15.1214 18.8207 15.5845 18.538 15.8755L16.938 17.5226C16.6493 17.8197 16.1745 17.8266 15.8774 17.538C15.5803 17.2493 15.5734 16.7745 15.862 16.4774L16.2258 16.1029H15.2C12.9537 16.1029 11.0133 14.8323 10 12.9671C8.98666 14.8323 7.04631 16.1029 4.8 16.1029H2C1.58579 16.1029 1.25 15.7672 1.25 15.3529C1.25 14.9387 1.58579 14.6029 2 14.6029H4.8C7.23732 14.6029 9.25 12.5628 9.25 10C9.25 7.43723 7.23732 5.39706 4.8 5.39706H2C1.58579 5.39706 1.25 5.06127 1.25 4.64706C1.25 4.23285 1.58579 3.89706 2 3.89706H4.8C7.04631 3.89706 8.98666 5.16771 10 7.03294C11.0133 5.16771 12.9537 3.89706 15.2 3.89706L16.2258 3.89706L15.862 3.52259C15.5734 3.22548 15.5803 2.75066 15.8774 2.46204Z"
          fill={color}
          fillRule="evenodd"
          clipRule="evenodd"
        />
      </svg>
    );
  }
);

IconShuffleOutline.displayName = "IconShuffleOutline";

export default IconShuffleOutline;
