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}
                    d="M10.476 0c.675 0 1.167.029 1.525.076.331.044.64.115.873.264a.92.92 0 0 1 .374.451.84.84 0 0 1-.014.623.9.9 0 0 1-.24.333c-.26.257-.548.487-.829.72-.315.26-.648.535-.957.82a6 6 0 0 0-.771.824c-.196.27-.227.415-.227.456q0 .005.003.01l1.21 1.21a.01.01 0 0 0 .01.003c.043 0 .19-.03.459-.226.253-.183.532-.45.826-.767.284-.307.56-.638.82-.951.233-.28.463-.564.72-.823a.9.9 0 0 1 .31-.234.84.84 0 0 1 .628-.033.9.9 0 0 1 .467.376c.15.233.22.542.263.87.047.356.074.847.074 1.522a5.524 5.524 0 0 1-5.524 5.525 5.8 5.8 0 0 1-1.64-.263 7 7 0 0 1-.222-.071l-4.57 4.59a2.37 2.37 0 0 1-3.35.002 2.37 2.37 0 0 1 0-3.35h.001l4.591-4.568a7 7 0 0 1-.072-.224 5.8 5.8 0 0 1-.263-1.64A5.524 5.524 0 0 1 10.476 0m0 1.5A4.024 4.024 0 0 0 6.45 5.524c0 .43.095.865.198 1.205q.08.27.193.527v.002a.75.75 0 0 1-.15.848l-4.937 4.912a.87.87 0 0 0-.001 1.228.87.87 0 0 0 1.228 0L7.896 9.31a.75.75 0 0 1 .846-.152c.17.079.35.138.53.193.34.103.774.198 1.204.198A4.024 4.024 0 0 0 14.5 5.524q0-.265-.006-.483c-.209.249-.437.518-.675.774-.319.346-.677.696-1.048.964-.354.257-.82.511-1.338.511-.396 0-.777-.154-1.06-.432L9.142 5.627a1.51 1.51 0 0 1-.432-1.06c0-.52.257-.986.515-1.34.27-.37.621-.727.968-1.045.26-.238.53-.468.78-.676a19 19 0 0 0-.497-.006"
                />
            </svg>
        );
    }
);
