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

export const IconRocket24 = 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={24}
                height={24}
                fill="none"
                viewBox="0 0 24 24"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <g fill={color}>
                    <path d="M14.78 10.28a.75.75 0 10-1.06-1.06l-.5.5a.75.75 0 101.06 1.06l.5-.5z" />
                    <path
                        fillRule="evenodd"
                        d="M19.63 2.317a1.733 1.733 0 012.053 2.053c-.38 1.827-1.07 5.047-1.76 7.812-.182.723-.542 1.377-1.012 1.964l-.002.015-.457 3.198a1.75 1.75 0 01-.658 1.133l-3.516 2.736a1.75 1.75 0 01-2.456-.307l-1.783-2.293a1.932 1.932 0 01-1.129-.982c-.24-.486-.59-1.07-1.037-1.518-.448-.448-1.033-.799-1.52-1.038a1.932 1.932 0 01-.98-1.129l-2.294-1.783a1.75 1.75 0 01-.307-2.456l2.735-3.517a1.75 1.75 0 011.134-.658l3.197-.456.016-.002c.587-.47 1.24-.83 1.964-1.011 2.765-.691 5.986-1.381 7.812-1.761zM8.234 6.835l-1.38.197a.25.25 0 00-.163.094l-2.735 3.517a.25.25 0 00.044.35l1.6 1.245c.38-1.121.982-2.674 1.813-4.124.247-.43.52-.863.821-1.279zm7.652 9.752c.43-.247.863-.52 1.279-.821l-.197 1.38a.25.25 0 01-.095.162l-3.516 2.736a.25.25 0 01-.351-.044l-1.245-1.6c1.122-.38 2.675-.982 4.125-1.813zm4.329-12.523a.234.234 0 00-.28-.279c-1.821.38-5.018 1.064-7.753 1.748-1.32.33-2.498 1.636-3.467 3.327-.946 1.65-1.586 3.476-1.911 4.53a.22.22 0 00.02.17c.034.069.1.14.192.184.556.274 1.305.71 1.917 1.323.613.612 1.049 1.36 1.323 1.917a.425.425 0 00.185.192.22.22 0 00.169.02c1.054-.325 2.88-.965 4.53-1.91 1.691-.97 2.997-2.148 3.327-3.468.684-2.735 1.369-5.932 1.748-7.754z"
                        clipRule="evenodd"
                    />
                    <path d="M4.03 15.97a.75.75 0 010 1.06l-1 1a.75.75 0 01-1.06-1.06l1-1a.75.75 0 011.06 0zM6.53 17.47a.75.75 0 010 1.06l-3 3a.75.75 0 01-1.06-1.06l3-3a.75.75 0 011.06 0zM8.03 21.03a.75.75 0 10-1.06-1.06l-1 1a.75.75 0 101.06 1.06l1-1z" />
                </g>
            </svg>
        );
    }
);
