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

export const IconGrafana24 = 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="M20.979 10.822a6.478 6.478 0 00-.19-1.146 7.21 7.21 0 00-1.46-2.854 4.169 4.169 0 00-.508-.563c.275-1.124-.338-2.097-.338-2.097-1.058-.065-1.713.324-1.967.52a.296.296 0 00-.127-.044c-.17-.065-.36-.152-.55-.195-.19-.065-.38-.108-.571-.173-.19-.043-.402-.086-.614-.13-.042 0-.063 0-.105-.021C14.083 2.627 12.772 2 12.772 2c-1.46.951-1.755 2.292-1.755 2.292s0 .022-.022.086l-.253.065a2.048 2.048 0 01-.339.108c-.106.044-.233.087-.338.13-.212.108-.445.216-.656.324-.212.13-.423.26-.613.39-.022-.022-.043-.022-.043-.022-2.03-.778-3.828.195-3.828.195-.17 2.205.804 3.61 1.015 3.87-.042.13-.085.28-.127.41a11.893 11.893 0 00-.338 1.557c0 .087-.021.152-.021.238C3.55 12.551 3 14.497 3 14.497c1.565 1.838 3.405 1.968 3.405 1.968.233.432.508.822.804 1.21.127.152.254.303.402.455-.571 1.665.085 3.07.085 3.07 1.755.065 2.897-.778 3.13-.973.17.065.36.108.529.151.529.152 1.079.217 1.628.26h.677c.825 1.21 2.264 1.362 2.264 1.362 1.036-1.103 1.078-2.205 1.078-2.443v-.022-.043-.043c.212-.152.423-.325.614-.498a7.61 7.61 0 001.079-1.275c.02-.044.063-.087.084-.13 1.163.065 1.988-.735 1.988-.735-.19-1.233-.888-1.838-1.036-1.968l-.021-.021h-.021s-.022 0-.022-.022c0-.065.022-.151.022-.216 0-.13.02-.26.02-.411V14v-.238-.108-.216l-.02-.108c-.022-.13-.043-.281-.085-.411a5.097 5.097 0 00-.592-1.492 5.468 5.468 0 00-.994-1.21 5.22 5.22 0 00-1.248-.822c-.444-.195-.91-.346-1.375-.39a7.553 7.553 0 00-.698-.043h-.106H14.358c-.127.022-.232.022-.36.043a3.916 3.916 0 00-2.284 1.363 3.709 3.709 0 00-.634 1.08c-.148.39-.233.779-.254 1.168V13.18c.021.194.063.389.106.562.106.367.254.691.465.95.19.282.444.498.698.693.254.173.529.303.804.389.275.087.529.108.783.108H14.02c.042 0 .063 0 .085-.021.02 0 .063-.022.084-.022.064-.022.106-.022.17-.043l.317-.13c.105-.043.19-.108.275-.173.02-.022.042-.043.063-.043a.187.187 0 00.021-.281c-.063-.087-.169-.108-.254-.044-.02.022-.042.022-.063.044-.063.043-.148.064-.233.086l-.253.065c-.043 0-.085.021-.127.021h-.402a2.046 2.046 0 01-.592-.172 2.23 2.23 0 01-.55-.368 2.063 2.063 0 01-.424-.54 2.416 2.416 0 01-.232-.692c-.021-.13-.021-.238-.021-.368v-.151-.044c0-.065.02-.13.02-.194a2.62 2.62 0 01.762-1.427c.106-.108.212-.195.317-.26.106-.086.233-.151.36-.216.127-.065.254-.108.402-.151.127-.043.275-.065.423-.065h.444c.148.021.318.043.466.065.296.065.592.173.867.346.55.302 1.015.8 1.311 1.383.148.303.254.606.296.93.021.087.021.173.021.238v.519c0 .086-.02.173-.02.26 0 .086-.022.172-.043.259l-.064.26a4.585 4.585 0 01-.677 1.47 4.187 4.187 0 01-1.628 1.362c-.317.151-.656.26-1.015.324-.17.022-.36.043-.53.065h-.274c-.085 0-.19 0-.275-.022a4.907 4.907 0 01-1.121-.216c-.36-.108-.72-.26-1.037-.432a5.717 5.717 0 01-1.734-1.47 6.578 6.578 0 01-.613-.952 6.4 6.4 0 01-.402-1.06c-.106-.367-.148-.735-.19-1.102v-.433-.13c0-.194.02-.367.042-.561.02-.195.063-.39.084-.563.043-.194.085-.367.127-.562.106-.367.233-.735.381-1.06a5.635 5.635 0 011.565-2.096c.127-.109.254-.195.402-.303.127-.087.275-.173.423-.26.064-.043.148-.065.212-.108a.353.353 0 01.105-.043c.043-.022.085-.043.106-.043.148-.065.317-.13.466-.173.042-.022.084-.022.126-.043.043-.022.085-.022.127-.044a3.42 3.42 0 00.233-.065c.042-.021.085-.021.127-.021.042 0 .084-.022.127-.022.042 0 .084-.021.127-.021l.063-.022h.064c.042 0 .084-.022.127-.022.042 0 .084-.021.148-.021.042 0 .105-.022.148-.022h1.057c.318.022.614.043.91.108a6.11 6.11 0 011.67.562c.508.26.974.563 1.354.908l.064.065.063.065c.043.043.085.087.148.13l.127.13.127.13c.17.172.317.367.466.562.275.367.507.735.676 1.102.022.022.022.043.043.065.02.022.02.043.02.065l.064.13.064.13.063.13c.064.172.127.323.17.475.084.238.148.454.19.649.021.064.084.13.169.108a.146.146 0 00.148-.152c.127-.324.127-.562.106-.821z"
                />
            </svg>
        );
    }
);
