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

export const IconEyeOff24 = 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} fillRule="evenodd" clipRule="evenodd">
                    <path d="M2.28 1.22a.75.75 0 00-1.06 1.06l3.468 3.468C3.294 6.87 2.204 8.154 1.437 9.236a15.323 15.323 0 00-1.02 1.635c-.117.22-.21.415-.277.574-.033.08-.063.16-.086.234A1.102 1.102 0 000 12c0 .116.025.216.037.263.017.06.037.12.058.177.042.113.1.245.17.388.138.289.34.657.599 1.074a18.14 18.14 0 002.285 2.936C5.14 18.912 8.135 21 12 21c2.361 0 4.4-.78 6.08-1.86l3.64 3.64a.75.75 0 101.06-1.06L2.28 1.22zm10.88 13l-3.38-3.38c-.18.345-.28.738-.28 1.16a2.5 2.5 0 002.5 2.5c.422 0 .815-.1 1.16-.28zM8.688 9.75A3.976 3.976 0 008 12a4 4 0 004 4c.835 0 1.609-.25 2.251-.688l2.74 2.74c-1.43.863-3.1 1.448-4.991 1.448-3.295 0-5.925-1.78-7.769-3.701a16.641 16.641 0 01-2.093-2.688c-.236-.38-.41-.701-.523-.934a4.225 4.225 0 01-.08-.177 5.8 5.8 0 01.207-.426c.202-.38.51-.893.919-1.47.733-1.036 1.776-2.253 3.094-3.288l2.933 2.933zM12 4.5c-.813 0-1.583.108-2.31.299a.75.75 0 11-.38-1.451A10.568 10.568 0 0112 3c3.864 0 6.86 2.088 8.85 4.162 1.001 1.043 1.767 2.1 2.286 2.936.26.417.46.785.6 1.074.069.143.127.275.169.388.021.056.041.117.058.177.012.047.037.147.037.263 0 .171-.057.332-.08.396-.034.098-.08.208-.134.326-.109.236-.265.535-.465.874-.4.68-.99 1.551-1.759 2.455a.75.75 0 01-1.142-.973 16.232 16.232 0 001.608-2.242 8.709 8.709 0 00.438-.836 4.03 4.03 0 00-.081-.177 10.392 10.392 0 00-.523-.934 16.639 16.639 0 00-2.093-2.688C17.924 6.28 15.294 4.5 12 4.5zm10.516 7.365z" />
                </g>
            </svg>
        );
    }
);
