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

export const IconConfluent24 = 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="m16.936 12.767-.561.027-1.625.05q-.688.021-1.376.029.632.272 1.26.552l1.482.668q.25.12.5.236c.324.153.648.305.97.466l-.16.385c-.344-.114-.684-.237-1.024-.36l-.51-.182-1.521-.575q-.644-.245-1.282-.501.48.492.953.992l1.114 1.185.383.423q.357.388.705.787l-.295.295q-.4-.348-.788-.706-.21-.192-.422-.383l-1.184-1.113a77 77 0 0 1-.993-.953q.256.638.5 1.282l.576 1.52q.09.256.183.511c.122.34.245.68.358 1.023l-.384.16c-.16-.318-.31-.639-.46-.96l-.241-.509-.668-1.481q-.283-.629-.553-1.261-.008.688-.028 1.376l-.05 1.625-.029.58q-.022.523-.058 1.045h-.416c-.026-.355-.042-.71-.059-1.064l-.027-.561-.05-1.625c-.03-.954-.037-1.908-.043-2.861-.954-.002-1.908-.006-2.863-.032l-1.625-.046q-.285-.014-.57-.026c-.352-.015-.703-.03-1.055-.055v-.46c.352-.025.703-.04 1.055-.055l.57-.026 1.624-.046a89 89 0 0 1 1.344-.023 81 81 0 0 1-1.232-.534l-1.484-.664q-.264-.125-.53-.248c-.314-.147-.629-.294-.94-.45l.176-.424q.498.17.991.352l.541.195 1.519.58q.627.241 1.25.493a86 86 0 0 1-.934-.966L7.833 9.273l-.37-.406q-.366-.396-.721-.801l.324-.325q.403.354.796.717l.41.375L9.455 9.95q.487.463.966.934a79 79 0 0 1-.493-1.25l-.58-1.519-.193-.535c-.12-.331-.242-.662-.353-.997l.423-.176q.23.463.445.931l.253.539.664 1.484q.272.614.535 1.232.006-.67.022-1.343l.046-1.625q.014-.285.026-.57c.015-.352.03-.703.055-1.055h.46c.025.352.04.703.055 1.055l.026.57.046 1.625c.026.954.03 1.909.032 2.862.954.006 1.908.014 2.861.043l1.625.05.58.029q.523.022 1.045.058v.416c-.355.026-.71.042-1.064.059" />
                    <path
                        fillRule="evenodd"
                        d="M1 12c0 6.088 4.912 11 11 11s11-4.912 11-11S18.088 1 12 1 1 5.912 1 12m1.023 0c0-5.474 4.503-9.977 9.977-9.977S21.977 6.526 21.977 12 17.474 21.977 12 21.977 2.023 17.474 2.023 12"
                        clipRule="evenodd"
                    />
                </g>
            </svg>
        );
    }
);
