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="M5.484 2.917c.817.22 1.611.62 2.509 1.404a.75.75 0 01.085 1.043l-.423.51 1.13.855.621-.802a.75.75 0 011.08-.113c.677.576.906 1.133.958 1.642.012.111.014.21.015.283v.044c.204.187.417.369.634.552l1.785-2.098-.712-.584a6.53 6.53 0 00-.122.021 3.018 3.018 0 01-.395.052c-.131.005-.456.008-.735-.218a1.172 1.172 0 01-.388-.646c-.04-.16-.054-.33-.064-.436l-.001-.012a7.174 7.174 0 00-.012-.128c-1.815-1.199-3.99-1.864-5.965-1.37zm7.788 2.723h-.002.002zM7.868 7.915l-1.17-.884-3.973 4.804a.25.25 0 00.037.354l.913.73a.25.25 0 00.353-.042l3.84-4.962zM6.432 5a4.168 4.168 0 00-1.352-.637c-.462-.123-.908-.168-1.47-.225-.208-.021-.432-.044-.679-.072a.75.75 0 01-.378-1.334c3.21-2.54 7.208-1.427 9.914.432a1.142 1.142 0 01.428.681c.026.112.04.23.05.326.085-.014.186-.026.284-.03.144-.003.46.004.735.228l.147.12c.45.368.774.633 1.31 1.082a.75.75 0 01.09 1.062l-2.756 3.24a.75.75 0 01-1.052.09c-.082-.07-.167-.14-.253-.211-.371-.308-.776-.644-1.147-.994a1.128 1.128 0 01-.339-.779c-.004-.066-.005-.141-.005-.192v-.03a2.37 2.37 0 00-.003-.089l-4.741 6.128a1.75 1.75 0 01-2.478.296l-.912-.73a1.75 1.75 0 01-.255-2.482l4.862-5.88zm6.153-.772a.123.123 0 01.003 0h-.003z"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
