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

export const IconJfrogColor24 = 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="#40BE46"
                    d="M10.995 14.813l-.947.275c.086.25.15.696.15 1.29v2.938h1.058v-3.11c.197-.25.41-.37.647-.37.118 0 .205.026.308.086l.292-1.014a.761.761 0 00-.395-.095.876.876 0 00-.348.07c-.197.102-.45.334-.6.558a1.507 1.507 0 00-.165-.628zm-3.674-1.452h-.116v5.955h1.106v-2.638h1.397v-.98H8.311v-1.366h1.745l.067-.52a18.045 18.045 0 01-2.802-.451zm-2.59 6.745l.513.62c.497-.207 1.12-.671 1.28-1.402.054-.24.078-.395.078-1.168v-4.781H5.48v4.91c0 .644-.024.885-.11 1.1-.103.24-.356.532-.64.721zm10.068-3.016c0 1.04-.197 1.486-.655 1.486a.58.58 0 01-.537-.36c-.086-.224-.134-.602-.134-1.108 0-.439.04-.748.11-.98.087-.275.293-.447.545-.447a.55.55 0 01.458.232c.142.198.213.585.213 1.177zm.648 1.71c.347-.43.505-.945.505-1.701 0-.714-.143-1.195-.466-1.607-.347-.447-.797-.662-1.374-.662-1.09 0-1.816.92-1.816 2.303 0 1.384.719 2.277 1.816 2.277.624 0 1.027-.232 1.335-.61zm3.031-2.466c0 .404-.229.627-.647.627-.371 0-.624-.18-.624-.627 0-.412.229-.653.632-.653.402 0 .64.24.64.653zm1.871-.937l-.442-.73c-.244.24-.545.378-.837.378-.134 0-.205-.018-.497-.094a2.39 2.39 0 00-.727-.112c-1.034 0-1.704.584-1.704 1.487 0 .653.284 1.057.868 1.22-.237.06-.498.189-.616.335a.61.61 0 00-.127.404c0 .137.032.258.08.36a.515.515 0 00.229.215c.19.078.497.13.97.138.245 0 .396.008.45.008.293.017.443.069.553.13.11.068.19.223.19.395a.564.564 0 01-.253.447c-.142.102-.371.145-.67.145-.49 0-.759-.188-.759-.54 0-.156.016-.19.047-.285h-.978c-.04.086-.095.207-.095.448 0 .3.11.558.332.781.363.37.955.473 1.531.473.632 0 1.24-.155 1.595-.567.22-.258.323-.541.323-.91 0-.396-.11-.697-.347-.937-.284-.284-.607-.387-1.224-.396l-.568-.008c-.11 0-.174-.043-.174-.104 0-.12.15-.223.419-.36a1.2 1.2 0 00.158.009c.86 0 1.492-.55 1.492-1.307a1.12 1.12 0 00-.237-.722c.134.018.174.026.276.026.292 0 .513-.095.742-.327zM7.042 8.19c-1.324.335-2.223.99-2.223 1.743 0 .466.345.894.92 1.232a1.725 1.725 0 01-.266-.898c0-.784.586-1.504 1.569-2.077zM21 11.133c0-.494-.294-.952-.795-1.328.045.15.07.304.07.461 0 1.415-1.91 2.625-4.62 3.127.306.036.625.055.952.055 2.426 0 4.393-1.036 4.393-2.315zm-1.561-.77c0-.519-.43-1-1.163-1.396.172.214.265.443.265.681 0 1.254-2.584 2.271-5.77 2.271-3.188 0-5.772-1.017-5.772-2.27a.99.99 0 01.122-.466c-.512.35-.804.753-.804 1.18 0 1.358 2.937 2.459 6.56 2.459 3.625 0 6.562-1.101 6.562-2.46v.001zm-2.866-.06c-1.337.893-5.456 1.23-7.23.084-1.39-.898-.913-2.323-4.89-5.46-.52-.41.097-.846.486-.567.39.279.033.353.819 1.166 1.586 1.641 1.57.166 1.821.724.527 1.173 1.69 2.355 1.69 2.355 1.164.784 2.093.955 3.81-.246 1.09-.763.644 1.211 3.315-.211.974-.519.933-.175 1.923-1.602.411-.592 1.197.455.306.601-.356.058-.958.461-1.216 1.098-.365.941-.207 1.638-.834 2.057zM9.15 7.888c-.33-.15-.676-.732-.81-.965.369-.374.22-1 .01-1.344-.208-.343-.46-.246-.738-.561-.277-.316.104-1.139.46-.506 1.332 2.369 2.206 1.383 3.294 1.242 1.044-.136 1.967.453 2.25-1.213.046-.272.302-.338.329.113.026.45.19 1.547.763 1.689.575.141 1.03-.14 1.165-.295.134-.155.204-.133.264.253.058.387.204.92 1.01.326 1.648-1.216 1.176-1.687 1.817-2 .365-.177.94.402.109.837-1.19.621-1.315 1.393-2.066 1.883-1.263.825-.877.033-2.909-.266-.782-.115-1.034.787-1.644.526-1.409-.601-2.392-.486-3.304.28zm4.403-4.391c.046.355.104.346.227.38.123.032.28-.168.285-.362.005-.195-.08-.317-.266-.31-.185.007-.252.104-.246.292zm6.122.647c.148.15.543.048.635-.058.237-.274.245-.44.123-.623s-.38-.15-.636.042c-.254.19-.206.554-.122.64v-.001zm-.11 1.809c-.128.174-.131.298-.041.394.096.103.296.192.44.073.142-.117.142-.288.02-.44-.122-.15-.288-.15-.42-.027zM7.014 3.815c.194.062.279.248.442.035.08-.105.088-.243-.018-.4-.068-.098-.382-.165-.516-.026-.133.14-.012.358.092.391zm-3.882-.12c.347.22.574.553.836.256.087-.099.197-.286.008-.645-.139-.262-.595-.37-.756-.269-.16.1-.357.488-.088.659zm3.205 1.701c.11.119.298.11.41.045.112-.065.089-.244-.018-.4-.068-.098-.268-.144-.401-.004-.134.139-.068.276.01.36z"
                />
            </svg>
        );
    }
);
