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

export const IconAutoApply24 = 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}
                    d="M12.695 0a2.25 2.25 0 0 1 2.25 2.25v.396a10 10 0 0 1 1.587.657l.28-.28a2.25 2.25 0 0 1 3.182 0l.983.983a2.25 2.25 0 0 1 0 3.182l-.28.28q.397.758.658 1.587h.395a2.25 2.25 0 0 1 2.25 2.25v1.39a2.25 2.25 0 0 1-2.25 2.25h-.395a10 10 0 0 1-.658 1.587l.28.28a2.25 2.25 0 0 1 0 3.182l-.983.983a2.25 2.25 0 0 1-3.183 0l-.279-.28a10 10 0 0 1-1.587.658v.395a2.25 2.25 0 0 1-2.25 2.25h-1.39a2.25 2.25 0 0 1-2.25-2.25v-.395a10 10 0 0 1-1.587-.658l-.28.28a2.25 2.25 0 0 1-3.182 0l-.983-.983a2.25 2.25 0 0 1 0-3.183l.28-.279a10 10 0 0 1-.657-1.587H2.25A2.25 2.25 0 0 1 0 12.695v-1.39a2.25 2.25 0 0 1 2.25-2.25h.396a10 10 0 0 1 .657-1.587l-.28-.28a2.25 2.25 0 0 1 0-3.182l.983-.983a2.25 2.25 0 0 1 3.182 0l.28.28a10 10 0 0 1 1.587-.657V2.25A2.25 2.25 0 0 1 11.305 0zm-1.39 1.5a.75.75 0 0 0-.75.75v.963a.75.75 0 0 1-.569.727c-.806.201-1.566.52-2.26.938a.75.75 0 0 1-.916-.112l-.682-.682a.75.75 0 0 0-1.06 0l-.984.982a.75.75 0 0 0 0 1.062l.682.68a.75.75 0 0 1 .112.918 8.3 8.3 0 0 0-.938 2.26.75.75 0 0 1-.727.569H2.25a.75.75 0 0 0-.75.75v1.39c0 .414.336.75.75.75h.963a.75.75 0 0 1 .727.569c.201.806.52 1.566.938 2.26a.75.75 0 0 1-.112.916l-.682.682a.75.75 0 0 0 0 1.06l.982.984a.75.75 0 0 0 1.062 0l.68-.682a.75.75 0 0 1 .918-.112 8.3 8.3 0 0 0 2.26.938.75.75 0 0 1 .569.727v.963c0 .414.336.75.75.75h1.39a.75.75 0 0 0 .75-.75v-.963a.75.75 0 0 1 .569-.727c.806-.201 1.566-.52 2.26-.938a.75.75 0 0 1 .917.112l.681.682a.75.75 0 0 0 1.062 0l.982-.983a.75.75 0 0 0 0-1.06l-.682-.683a.75.75 0 0 1-.112-.916 8.3 8.3 0 0 0 .938-2.26.75.75 0 0 1 .727-.569h.963a.75.75 0 0 0 .75-.75v-1.39a.75.75 0 0 0-.75-.75h-.963a.75.75 0 0 1-.727-.569 8.3 8.3 0 0 0-.938-2.26.75.75 0 0 1 .112-.917l.682-.681a.75.75 0 0 0 0-1.062l-.983-.982a.75.75 0 0 0-1.06 0l-.683.682a.75.75 0 0 1-.916.112 8.3 8.3 0 0 0-2.26-.938.75.75 0 0 1-.569-.727V2.25a.75.75 0 0 0-.75-.75zM8.5 8.134c0-1.403 1.568-2.236 2.73-1.45l5.716 3.867a1.75 1.75 0 0 1 0 2.898l-5.716 3.866c-1.162.787-2.73-.046-2.73-1.449zm1.89-.207a.25.25 0 0 0-.39.207v7.732c0 .2.224.32.39.207l5.715-3.866a.25.25 0 0 0 0-.414z"
                />
            </svg>
        );
    }
);
