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.156l-.456 5.572a6.116 6.116 0 00-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.156zm-3.785.278c-.022-.078-.111-.134-.189-.1l-1.403.511a.15.15 0 00-.078.2l1.147 2.492-.434.156c-.078.033-.111.122-.078.2L9.462 7.34a5.21 5.21 0 011.37-.523L9.327 1.434zM5.878 2.98l3.239 4.56c-.412.267-.78.59-1.102.956L6.078 6.595a.145.145 0 01.01-.212l.357-.289-1.926-1.946a.145.145 0 01.011-.212l1.147-.956c.056-.078.145-.067.2 0zM3.16 5.616a.159.159 0 00-.211.044l-.746 1.29a.143.143 0 00.055.2l2.483 1.168-.234.4a.138.138 0 00.067.201l2.482 1.146c.178-.456.412-.89.713-1.268L3.16 5.616zM1.335 9.142c.012-.09.1-.134.178-.112l5.41 1.413a5.17 5.17 0 00-.233 1.446l-2.705-.223a.15.15 0 01-.134-.167l.078-.456-2.727-.266a.15.15 0 01-.134-.167l.267-1.468zm-.2 3.659a.15.15 0 00-.134.167l.268 1.468c.01.089.1.133.178.111l2.65-.69.077.456c.011.09.1.134.178.112l2.616-.723a5.126 5.126 0 01-.278-1.435l-5.555.534zm.868 3.87a.143.143 0 01.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.158.158 0 01-.211-.044l-.735-1.313zm6.123-1.056l-3.93 3.982a.145.145 0 00.011.21l1.147.957c.067.056.156.045.212-.022l1.591-2.235.357.3c.067.056.167.044.211-.034l1.536-2.235a5.652 5.652 0 01-1.135-.923zm-.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.1l-1.402-.512zm4.008-4.738l-.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.703a4.905 4.905 0 01-.813.055c-.211.012-.423-.01-.646-.033zm5.4-15.093a.15.15 0 00-.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.478l2.327-5.083zm3.072 2.224l-3.93 3.982a5.36 5.36 0 00-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.222zm2.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.256l5.076-2.413zm.79 2.024L23 11.021c.01.09-.045.156-.134.167l-5.577.523a5.13 5.13 0 00-.279-1.435l2.616-.723c.078-.022.168.033.179.111l.078.456 2.649-.69c.078-.022.167.034.178.112l.034.011zm-.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-.223c-.011.5-.09.98-.234 1.446l5.433 1.402zm-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.2l-.735 1.302zm-6.156-1.88l3.24 4.56c.044.067.145.078.211.022l1.147-.956a.145.145 0 00.011-.212l-1.926-1.946.356-.29a.145.145 0 00.012-.21l-1.937-1.902a7.396 7.396 0 01-1.114.934zm-.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 01-.078.2l-.434.156 1.147 2.491a.15.15 0 01-.078.2l-1.425.523z"
                />
            </svg>
        );
    }
);
