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.767l-.561.027-1.625.05c-.459.015-.917.023-1.376.029.421.182.842.364 1.26.552l1.482.668c.166.08.333.158.5.236.324.153.648.305.97.466l-.16.385c-.344-.114-.684-.237-1.024-.36l-.51-.182-1.521-.575c-.43-.163-.856-.331-1.282-.501.32.328.638.659.953.992l1.114 1.185.383.423c.237.26.474.52.705.787l-.295.295c-.267-.231-.528-.468-.788-.706-.14-.128-.28-.256-.422-.383l-1.184-1.113a76.447 76.447 0 01-.993-.954c.17.427.338.854.5 1.283l.576 1.52c.06.17.121.341.183.511.122.34.245.68.358 1.023l-.384.16c-.16-.318-.31-.639-.46-.96l-.241-.509-.668-1.481c-.19-.419-.372-.84-.553-1.261-.006.459-.014.917-.028 1.376l-.05 1.625-.029.58c-.016.349-.033.697-.058 1.045h-.416c-.026-.355-.042-.71-.059-1.064a75.307 75.307 0 00-.027-.561l-.05-1.625c-.03-.954-.037-1.908-.043-2.861-.954-.002-1.908-.006-2.863-.032l-1.625-.046c-.19-.01-.38-.018-.57-.026-.352-.015-.703-.03-1.055-.055v-.46c.352-.025.703-.04 1.055-.055l.57-.026 1.624-.046a88.63 88.63 0 011.344-.023 80.504 80.504 0 01-1.232-.534l-1.484-.664c-.176-.084-.353-.166-.53-.248-.314-.147-.629-.294-.94-.45l.176-.424c.332.112.662.232.991.352l.541.195 1.519.58c.418.16.834.326 1.25.493a86.41 86.41 0 01-.934-.966L7.833 9.273l-.37-.406c-.243-.265-.486-.53-.721-.801l.324-.325c.27.235.533.476.796.717l.41.375L9.455 9.95c.325.308.646.62.966.934a78.453 78.453 0 01-.493-1.25l-.58-1.519a71.474 71.474 0 00-.193-.535c-.12-.331-.242-.662-.353-.997l.423-.176c.154.308.3.62.445.931l.253.539.664 1.484c.182.409.359.82.535 1.232.005-.447.01-.895.022-1.343l.046-1.625c.01-.19.018-.38.026-.57.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.029c.349.016.697.033 1.045.058v.416c-.355.026-.71.042-1.064.059z" />
                    <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 12zm1.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 12z"
                        clipRule="evenodd"
                    />
                </g>
            </svg>
        );
    }
);
