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

export const IconOkta16 = 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}
                <path
                    fill={color}
                    d="m8.708 1.1-.29 3.545a4 4 0 0 0-.928.014l-.163-1.72c-.007-.056.035-.099.092-.099h.29L7.569 1.1c-.007-.058.035-.1.092-.1h.956c.057 0 .1.05.092.1M6.3 1.275c-.014-.05-.071-.085-.12-.064l-.893.326c-.05.021-.071.078-.05.127l.73 1.586-.276.099a.096.096 0 0 0-.05.127l.744 1.557q.404-.224.871-.332zm-2.196.984 2.061 2.902q-.393.257-.701.608L4.23 4.56a.09.09 0 0 1 .007-.134l.227-.184-1.226-1.239a.09.09 0 0 1 .008-.134l.73-.61c.035-.049.091-.042.127 0M2.375 3.937a.1.1 0 0 0-.134.029l-.475.82a.09.09 0 0 0 .035.128l1.58.743-.149.255a.088.088 0 0 0 .043.127l1.58.73c.113-.29.262-.567.453-.807zM1.213 6.181c.008-.057.064-.085.114-.07l3.443.898a3.3 3.3 0 0 0-.15.92L2.9 7.788a.095.095 0 0 1-.086-.107l.05-.29-1.736-.17a.095.095 0 0 1-.085-.106zM1.086 8.51A.095.095 0 0 0 1 8.616l.17.934c.007.057.064.085.113.07l1.686-.438.05.29c.007.057.064.085.113.071l1.665-.46c-.1-.29-.163-.595-.177-.913zm.552 2.463a.09.09 0 0 1 .036-.128L4.89 9.324q.182.437.482.8l-1.41 1.004c-.042.029-.106.022-.135-.028l-.148-.255-1.438.991a.1.1 0 0 1-.135-.028zm3.897-.673-2.501 2.534a.09.09 0 0 0 .007.135l.73.608c.042.036.099.029.134-.014l1.013-1.423.227.192c.043.035.106.028.135-.022l.977-1.422a3.6 3.6 0 0 1-.722-.588m-.496 4.07a.096.096 0 0 1-.05-.127l1.48-3.235c.27.142.568.248.88.304l-.44 1.67c-.014.05-.07.086-.12.065l-.277-.1-.46 1.685c-.014.05-.071.085-.12.064zm2.55-3.015L7.3 14.9c-.007.056.035.099.092.099h.956c.057 0 .1-.05.092-.1l-.141-1.74h.29c.057 0 .1-.05.092-.1l-.163-1.72c-.17.03-.34.036-.517.036-.135.007-.27-.007-.41-.021m3.436-9.605a.096.096 0 0 0-.05-.127l-.892-.326c-.05-.021-.107.014-.12.064l-.461 1.685-.276-.1c-.05-.02-.107.015-.12.064l-.44 1.67c.312.064.602.17.878.305zm1.955 1.416L10.48 5.7a3.4 3.4 0 0 0-.723-.588l.978-1.43c.028-.042.092-.056.134-.02l.227.19 1.013-1.422c.028-.043.092-.05.134-.014l.73.608c.043.036.042.1.007.142m1.353 1.989c.05-.022.064-.085.036-.128l-.482-.82c-.028-.05-.092-.057-.135-.029l-1.438.99-.149-.254c-.028-.05-.092-.064-.134-.028L10.62 5.89c.191.24.354.51.482.8zm.503 1.288.163.934c.007.057-.028.1-.085.106l-3.549.333a3.3 3.3 0 0 0-.177-.913l1.665-.46c.05-.014.106.021.113.07l.05.29 1.686-.438c.05-.014.106.021.113.07zM14.68 9.89c.05.014.107-.021.114-.071l.163-.934c.007-.057-.029-.1-.085-.106l-1.743-.163.05-.29c.007-.057-.029-.1-.085-.107l-1.722-.141a3.3 3.3 0 0 1-.149.92zm-.92 2.137c-.029.05-.093.057-.135.029l-2.933-2.025c.184-.247.34-.516.453-.807l1.573.722c.05.022.07.085.043.128l-.15.255 1.58.743c.05.021.064.085.036.127zm-3.918-1.196 2.061 2.902c.029.042.092.05.135.014l.73-.608a.09.09 0 0 0 .007-.135l-1.226-1.239.227-.184a.09.09 0 0 0 .007-.134l-1.233-1.21c-.22.219-.453.424-.708.594m-.021 3.95c-.05.02-.107-.015-.12-.064l-.943-3.433c.305-.07.602-.184.871-.333l.744 1.558c.021.05 0 .106-.05.127l-.276.1.73 1.584c.021.05 0 .107-.05.128z"
                />
            </svg>
        );
    }
);
