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

export const IconConfluent16 = 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}
                <g fill={color}>
                    <path d="M11.623 8.46c-.179.009-.358.017-.537.033l-1.074.033c-.293.032-.619.032-.912.032.223.075.427.168.641.265l.206.093.976.456c.326.13.651.293.977.456l-.098.26a13 13 0 0 1-1.009-.358l-1.01-.39c-.146-.05-.284-.106-.423-.163-.138-.057-.276-.114-.423-.163.196.195.423.423.619.651l.749.782c.15.192.313.37.473.544q.125.135.243.27l-.195.195c-.193-.15-.372-.314-.545-.473q-.135-.125-.27-.244l-.78-.748c-.229-.196-.424-.391-.652-.619.049.147.106.285.163.423.057.139.114.277.163.424l.325 1.074c.13.326.26.651.358 1.01l-.26.097q-.12-.245-.228-.488-.108-.244-.228-.489l-.456-.976c-.065-.147-.122-.285-.179-.424a16 16 0 0 0-.179-.423c-.032.293-.032.619-.032.912l-.033 1.074c-.016.18-.024.358-.033.537-.008.18-.016.358-.032.538h-.26c-.017-.18-.025-.359-.033-.538s-.016-.358-.033-.537l-.032-1.074c-.033-.619-.033-1.27-.033-1.889-.618 0-1.237 0-1.888-.032l-1.075-.033c-.179-.016-.358-.024-.537-.032s-.358-.017-.537-.033V8.2c.18-.016.358-.024.537-.033q.27-.01.537-.032l1.075-.033h.879a6 6 0 0 0-.407-.179c-.138-.057-.277-.114-.407-.179l-.977-.456a13 13 0 0 0-.488-.228 13 13 0 0 1-.489-.227l.13-.293c.326.097.684.227 1.01.358l1.01.39c.183.062.366.135.542.206q.157.064.304.12-.149-.169-.31-.326c-.105-.105-.211-.211-.309-.325l-.749-.782a9 9 0 0 0-.473-.544q-.125-.136-.243-.27L4.9 5.14c.193.15.371.313.545.473q.135.125.269.243l.781.749c.114.097.22.203.326.309s.212.212.326.31a7 7 0 0 0-.163-.424 7 7 0 0 1-.163-.423l-.39-1.01c-.08-.196-.146-.392-.215-.595q-.067-.2-.144-.414l.26-.098c.082.163.155.326.228.489s.147.325.228.488l.456.977c.065.13.122.269.18.407.056.138.113.277.178.407v-.88l.033-1.074q.022-.268.032-.537c.009-.179.017-.358.033-.537h.293c.016.18.024.358.033.537q.01.27.032.537l.033 1.075c.032.618.032 1.27.032 1.888.619 0 1.27 0 1.889.033l1.074.032c.18.017.358.025.537.033q.269.01.538.032v.26c-.18.017-.359.025-.538.033" />
                    <path
                        fillRule="evenodd"
                        d="M1 8c0 3.874 3.126 7 7 7s7-3.126 7-7-3.126-7-7-7a6.99 6.99 0 0 0-7 7m.651 0c0-3.484 2.865-6.349 6.349-6.349S14.349 4.516 14.349 8 11.484 14.349 8 14.349 1.651 11.484 1.651 8"
                        clipRule="evenodd"
                    />
                </g>
            </svg>
        );
    }
);
