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

export const IconDatadog24 = 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}
                    fillRule="evenodd"
                    d="M18.91 16.198L17.22 15.1l-1.41 2.317-1.641-.472-1.445 2.169.074.682 7.854-1.423-.456-4.826-1.286 2.65zm-7.324-2.08l1.26-.171c.204.09.346.124.59.185.382.098.822.192 1.475-.132.152-.074.468-.358.596-.52l5.163-.922.526 6.269-8.844 1.567-.766-6.277zm9.59-2.26l-.51.096-.978-9.948L3.006 3.91 5.061 20.31l1.953-.279c-.156-.218-.399-.483-.813-.823-.575-.47-.372-1.267-.033-1.771.449-.852 2.761-1.934 2.63-3.295-.047-.495-.127-1.14-.594-1.58-.017.183.014.36.014.36s-.191-.241-.287-.57c-.095-.125-.17-.166-.27-.334-.072.195-.063.42-.063.42s-.157-.364-.182-.672c-.093.138-.117.4-.117.4s-.204-.575-.157-.885c-.093-.27-.369-.804-.29-2.019.508.351 1.629.268 2.066-.365.145-.21.244-.782-.073-1.91-.203-.723-.707-1.8-.903-2.208l-.023.017c.103.329.316 1.019.398 1.353.248 1.015.314 1.368.198 1.836-.099.406-.336.672-.938.97-.601.298-1.4-.428-1.45-.468C5.542 8.03 5.09 7.282 5.039 6.92c-.052-.397.233-.636.377-.96-.206.057-.435.16-.435.16s.274-.279.611-.52a3.61 3.61 0 00.37-.27c-.214-.003-.387.003-.387.003s.356-.189.725-.327c-.27-.011-.528-.001-.528-.001s.793-.35 1.42-.606c.432-.174.853-.122 1.09.214.31.441.637.68 1.328.829.425-.185.554-.28 1.088-.423.47-.508.838-.574.838-.574s-.183.165-.232.424c.266-.206.558-.378.558-.378s-.113.137-.218.355l.024.036c.311-.183.676-.328.676-.328s-.104.13-.226.298c.234-.002.709.01.893.03 1.089.024 1.315-1.143 1.733-1.29.523-.183.757-.294 1.648.567.765.739 1.363 2.062 1.066 2.359-.249.246-.74-.096-1.284-.763a2.866 2.866 0 01-.606-1.301c-.086-.448-.42-.708-.42-.708s.194.425.194.8c0 .204.026.97.36 1.399-.034.063-.05.31-.086.358-.388-.461-1.222-.792-1.358-.889.46.37 1.518 1.223 1.925 2.04.384.771.157 1.48.352 1.662.055.053.826.998.974 1.473.26.827.016 1.697-.323 2.236l-.945.145c-.139-.038-.232-.057-.356-.128.068-.119.204-.416.205-.477l-.053-.092c-.294.41-.787.808-1.197 1.037-.536.299-1.154.253-1.556.13-1.142-.346-2.222-1.105-2.482-1.304 0 0-.008.159.04.195.289.32.948.897 1.586 1.3l-1.36.146.643 4.92c-.285.04-.329.06-.64.104-.276-.955-.801-1.579-1.376-1.942-.507-.32-1.206-.392-1.875-.262l-.043.05a2.448 2.448 0 011.579.369c.554.344 1 1.234 1.164 1.77.21.683.356 1.415-.21 2.191-.403.552-1.579.857-2.529.197.254.402.597.73 1.059.792.685.091 1.336-.026 1.783-.478.383-.386.586-1.195.532-2.046l.605-.086.218 1.527 10.016-1.186-.818-7.838zM15.083 7.71c-.028.063-.072.104-.006.308l.004.012.01.026.028.061c.12.24.25.465.468.58.056-.01.115-.016.175-.019.205-.009.334.023.416.067a.852.852 0 00.005-.186c-.016-.302.061-.817-.53-1.088-.224-.102-.537-.07-.642.056a.261.261 0 01.05.011c.158.054.05.108.022.172zm1.658 2.825c-.077-.042-.44-.026-.695.004-.485.056-1.01.222-1.124.31-.21.16-.114.436.04.55.433.318.812.53 1.212.479.246-.032.463-.415.616-.762.105-.24.105-.497-.049-.581zm-4.299-2.45c.137-.128-.682-.296-1.317.13-.469.315-.484.989-.035 1.37.045.039.082.065.116.087a4.097 4.097 0 011.182-.343c.095-.104.206-.288.178-.62-.037-.451-.385-.38-.124-.624z"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
