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

export const IconOkta24 = 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}
                <path
                    fill={color}
                    d="m13.113 1.156-.456 5.572a6 6 0 0 0-1.459.022l-.256-2.702c-.01-.09.056-.156.145-.156h.457l-.223-2.736c-.011-.09.056-.156.145-.156h1.503c.089 0 .155.078.144.156m-3.785.278c-.022-.078-.111-.134-.189-.1l-1.403.511a.15.15 0 0 0-.078.2l1.147 2.492-.434.156c-.078.033-.111.122-.078.2L9.462 7.34a5.2 5.2 0 0 1 1.37-.523zM5.878 2.98l3.239 4.56c-.412.267-.78.59-1.102.956L6.078 6.595a.145.145 0 0 1 .01-.212l.357-.289-1.926-1.946a.145.145 0 0 1 .011-.212l1.147-.956c.056-.078.145-.067.2 0M3.16 5.616a.16.16 0 0 0-.211.044l-.746 1.29a.143.143 0 0 0 .055.2l2.483 1.168-.234.4a.138.138 0 0 0 .067.201l2.482 1.146c.178-.456.412-.89.713-1.268zM1.335 9.142c.012-.09.1-.134.178-.112l5.41 1.413a5.2 5.2 0 0 0-.233 1.446l-2.705-.223a.15.15 0 0 1-.134-.167l.078-.456-2.727-.266a.15.15 0 0 1-.134-.167zm-.2 3.659a.15.15 0 0 0-.134.167l.268 1.468c.01.089.1.133.178.111l2.65-.69.077.456c.011.09.1.134.178.112l2.616-.723a5.1 5.1 0 0 1-.278-1.435zm.868 3.87a.143.143 0 0 1 .056-.2l5.054-2.391c.19.456.445.879.757 1.257l-2.215 1.58c-.067.044-.167.032-.212-.045l-.234-.4-2.26 1.556a.16.16 0 0 1-.211-.044zm6.123-1.056-3.93 3.982a.145.145 0 0 0 .011.21l1.147.957c.067.056.156.045.212-.022l1.592-2.235.356.3c.067.056.167.044.211-.034l1.536-2.235a5.7 5.7 0 0 1-1.135-.923m-.78 6.395c-.077-.033-.11-.122-.077-.2l2.326-5.083c.423.222.891.39 1.38.478l-.69 2.625c-.022.078-.11.134-.189.1l-.434-.155-.723 2.647c-.023.078-.112.133-.19.1zm4.008-4.738-.456 5.572c-.011.09.056.156.145.156h1.503c.088 0 .155-.078.144-.156l-.222-2.736h.456c.089 0 .156-.078.145-.155l-.256-2.703a5 5 0 0 1-.813.055c-.211.012-.423-.01-.646-.033m5.4-15.093a.15.15 0 0 0-.079-.2l-1.402-.512c-.078-.033-.167.022-.19.1l-.723 2.647-.434-.155c-.078-.034-.167.022-.19.1l-.69 2.625c.49.1.947.267 1.38.478zm3.072 2.224-3.93 3.982a5.4 5.4 0 0 0-1.135-.923l1.536-2.247c.044-.066.145-.089.212-.033l.356.3 1.592-2.235c.044-.067.144-.078.211-.023l1.147.957c.067.056.067.156.01.222m2.126 3.126c.078-.034.1-.134.056-.2l-.757-1.29c-.045-.078-.145-.09-.212-.045L18.78 7.55l-.233-.4c-.045-.078-.145-.1-.212-.045l-2.215 1.58c.3.378.556.8.757 1.256zm.79 2.024L23 11.021c.01.09-.045.156-.134.167l-5.577.523a5.1 5.1 0 0 0-.279-1.435l2.616-.723c.078-.022.168.033.179.111l.078.456 2.649-.69c.078-.022.167.034.178.112zm-.244 5.417c.078.022.167-.034.178-.112l.256-1.468c.01-.089-.045-.155-.134-.167l-2.738-.255.078-.456c.01-.09-.045-.156-.134-.167l-2.705-.223q-.017.749-.234 1.446zm-1.448 3.359c-.044.078-.144.089-.211.044l-4.609-3.18c.29-.39.535-.813.713-1.269l2.471 1.135c.078.033.111.133.067.2l-.234.4 2.483 1.168c.077.033.1.134.055.2zm-6.156-1.88 3.24 4.56c.044.067.145.078.211.022l1.147-.956a.145.145 0 0 0 .011-.212l-1.926-1.946.356-.29a.145.145 0 0 0 .012-.21l-1.937-1.902a7.4 7.4 0 0 1-1.114.934m-.033 6.206c-.078.034-.167-.022-.19-.1l-1.48-5.394c.479-.112.946-.29 1.37-.523l1.168 2.447a.15.15 0 0 1-.078.2l-.434.156 1.147 2.491a.15.15 0 0 1-.078.2z"
                />
            </svg>
        );
    }
);
