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

export const IconHammer16 = 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="M2.553 2.73c3.21-2.539 7.208-1.427 9.914.433l.04.03c.267.21.354.502.388.651.026.112.04.23.05.325a2 2 0 0 1 .284-.028c.144-.004.461.003.735.227l.147.12c.45.368.774.633 1.31 1.082a.75.75 0 0 1 .09 1.061l-2.756 3.24a.75.75 0 0 1-1.052.09l-.253-.21a24 24 0 0 1-1.146-.995 1.13 1.13 0 0 1-.34-.778c-.004-.067-.005-.142-.005-.192v-.03q0-.05-.003-.09l-4.741 6.13a1.75 1.75 0 0 1-2.478.294l-.912-.73a1.75 1.75 0 0 1-.256-2.482L6.433 5a4.2 4.2 0 0 0-1.353-.638c-.462-.123-.908-.168-1.47-.225q-.31-.03-.678-.072a.75.75 0 0 1-.38-1.333m.172 9.104a.25.25 0 0 0 .037.355l.913.73a.25.25 0 0 0 .353-.042l3.84-4.962-1.17-.884zm8.724-7.548c-1.814-1.199-3.99-1.864-5.966-1.37.818.22 1.613.622 2.51 1.405a.75.75 0 0 1 .085 1.043l-.423.51 1.131.855.62-.803a.75.75 0 0 1 1.08-.112c.677.575.906 1.133.958 1.642.012.11.014.21.015.283v.044q.307.279.635.551l1.784-2.097c-.238-.197-.454-.373-.712-.584l-.1.017-.022.004a3 3 0 0 1-.395.051c-.131.006-.456.008-.735-.218a1.17 1.17 0 0 1-.388-.645 3 3 0 0 1-.064-.436l-.001-.012z"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
