import { forwardRef, useMemo } from 'react';
import { IconProps } from './types';

export const IconWrench16 = forwardRef<SVGSVGElement, IconProps>(
    ({ color = 'currentColor', title, ...props }, svgRef) => {
        const titleId = useMemo(
            () =>
                title
                    ? 'title-' + Math.random().toString(36).substr(2, 9)
                    : undefined,
            [title]
        );
        return (
            <svg
                xmlns="http://www.w3.org/2000/svg"
                width={16}
                height={16}
                fill="none"
                viewBox="0 0 16 16"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <path
                    fill={color}
                    fillRule="evenodd"
                    d="M10.973 1.506a18.567 18.567 0 00-.497-.006A4.024 4.024 0 006.45 5.524c0 .43.095.865.199 1.205.054.18.116.356.192.527v.002a.75.75 0 01-.15.848l-4.937 4.911a.871.871 0 000 1.229.868.868 0 001.227 0L7.896 9.31a.75.75 0 01.847-.151c.17.079.35.139.528.193.34.103.775.198 1.205.198A4.024 4.024 0 0014.5 5.524c0-.177-.002-.338-.006-.483-.208.25-.438.517-.675.774-.32.345-.677.696-1.048.964-.354.257-.82.511-1.339.511-.396 0-.776-.155-1.059-.432L9.142 5.627a1.513 1.513 0 01-.433-1.06c0-.52.257-.985.515-1.34.27-.37.623-.727.97-1.046.258-.237.529-.466.78-.675zm-2.36 9.209l-4.57 4.59A2.37 2.37 0 010 13.633c0-.629.25-1.231.694-1.675v-.001l4.592-4.568a6.887 6.887 0 01-.072-.223 5.77 5.77 0 01-.263-1.64A5.524 5.524 0 0110.476 0c.675 0 1.167.028 1.525.076.331.044.64.115.873.264a.92.92 0 01.374.45.843.843 0 01-.013.625.921.921 0 01-.241.332c-.26.257-.547.487-.829.72-.315.26-.647.535-.957.82a5.953 5.953 0 00-.771.824c-.197.27-.227.415-.227.457 0 .003 0 .006.003.008l1.21 1.211a.013.013 0 00.01.003c.042 0 .189-.03.459-.226.253-.183.532-.45.826-.767.284-.308.56-.638.82-.951.233-.28.463-.564.72-.822a.926.926 0 01.31-.235.841.841 0 01.628-.033.91.91 0 01.467.376c.15.233.22.543.262.87.047.356.075.847.075 1.522a5.524 5.524 0 01-5.524 5.525c-.631 0-1.221-.136-1.64-.263a6.731 6.731 0 01-.222-.071z"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
