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}
                <path
                    fill={color}
                    fillRule="evenodd"
                    d="M6.97 19.97a.75.75 0 0 1 1.06 0 .753.753 0 0 1 0 1.061l-1 1a.753.753 0 0 1-1.06 0 .75.75 0 0 1 0-1.06zm-1.5-2.5a.75.75 0 0 1 1.06 0 .753.753 0 0 1 0 1.061l-3 3a.753.753 0 0 1-1.06 0 .75.75 0 0 1 0-1.06zM19.63 2.318a1.735 1.735 0 0 1 2.054 2.054c-.38 1.826-1.07 5.048-1.762 7.811-.18.723-.54 1.378-1.01 1.964l-.002.016-.457 3.197c-.065.448-.3.856-.657 1.134l-3.518 2.735a1.75 1.75 0 0 1-2.455-.306l-1.783-2.293a1.94 1.94 0 0 1-1.13-.982c-.239-.485-.59-1.072-1.036-1.52-.447-.446-1.034-.797-1.52-1.036a1.94 1.94 0 0 1-.981-1.13L3.08 12.18a1.75 1.75 0 0 1-.307-2.456l2.735-3.517a1.76 1.76 0 0 1 1.134-.658l3.197-.456.016-.003c.586-.47 1.242-.83 1.964-1.011 2.763-.69 5.985-1.38 7.812-1.76m-2.464 13.45c-.416.3-.85.574-1.28.82-1.448.83-3.002 1.434-4.124 1.813l1.244 1.6a.253.253 0 0 0 .351.045l3.518-2.736c.05-.039.084-.099.093-.162zM2.97 15.97a.75.75 0 0 1 1.06 0 .753.753 0 0 1 0 1.06l-1 1a.753.753 0 0 1-1.06 0 .75.75 0 0 1 0-1.06zM19.936 3.786c-1.822.38-5.02 1.065-7.753 1.748-1.32.33-2.499 1.636-3.468 3.326-.944 1.649-1.585 3.476-1.91 4.53a.23.23 0 0 0 .019.17c.035.069.103.14.193.185.556.274 1.306.711 1.917 1.322s1.049 1.361 1.322 1.917c.045.09.117.158.186.193a.23.23 0 0 0 .168.02c1.055-.325 2.883-.966 4.531-1.91 1.69-.97 2.996-2.15 3.326-3.469.684-2.733 1.369-5.932 1.748-7.754a.235.235 0 0 0-.279-.278M6.854 7.033a.26.26 0 0 0-.162.094l-2.735 3.516a.25.25 0 0 0 .044.351l1.6 1.245c.38-1.121.982-2.676 1.813-4.125.246-.429.52-.863.82-1.278zm6.866 2.188a.75.75 0 0 1 1.06 0 .753.753 0 0 1 0 1.06l-.5.5a.753.753 0 0 1-1.06 0 .75.75 0 0 1 0-1.06z"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
