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

export const IconAwsCdk24 = 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="M24 11.41c0 3.006-2.03 4.11-3.24 4.5l-.259-.835c1.204-.389 2.64-1.34 2.64-3.665 0-2.94-2.38-3.675-3.403-3.855a.437.437 0 0 1-.351-.5c-.087-1.313-.705-2.296-1.652-2.577-.78-.232-1.61.075-2.122.782a.43.43 0 0 1-.41.173.44.44 0 0 1-.341-.287c-.353-1.02-.864-1.875-1.52-2.546-.806-.823-3.018-2.59-6.132-1.247-1.802.778-3.214 3.019-3.214 5.102q0 .353.04.694a.44.44 0 0 1-.32.476C2.649 7.902.86 8.758.86 11.373q0 .129.006.253c.08 1.681 1.297 3.128 2.957 3.516l-.192.854C1.596 15.52.106 13.74.008 11.668A6 6 0 0 1 0 11.373c0-2.994 1.985-4.1 3.15-4.491a6 6 0 0 1-.013-.427c0-2.448 1.606-4.989 3.737-5.909C9.371-.53 12.018.004 13.951 1.982c.6.613 1.091 1.358 1.467 2.218.715-.61 1.66-.83 2.559-.563 1.234.368 2.06 1.526 2.244 3.125C21.431 7.051 24 8.061 24 11.41M19.283 21.5l-3.007 1.383.01-4.294 2.997-1.354zm-7.713-.04-2.996 1.416v-4.272l2.996-1.373zm-3.428-3.618-2.83-1.279 2.831-1.318 2.814 1.306zm-3.447-.6 3.019 1.364v4.277L4.695 21.49zm7.292-8.982 2.808 1.275L12 10.822 9.186 9.534zm1.058 8.3 2.8-1.316 2.82 1.311-2.809 1.27zm-.615.681 2.996 1.348-.01 4.286-2.986-1.415zm2.985-2.76-2.985 1.403v-4.299l2.985-1.374zm-6.843.001-.008-4.272 3.006 1.376v4.287zm11.316 1.691.004-.01-3.617-1.684V9.532a.44.44 0 0 0-.197-.368c-.019-.012-.043-.012-.063-.02l.004-.011-3.857-1.753a.42.42 0 0 0-.35 0L7.957 9.133l.005.01c-.021.01-.044.009-.063.022a.44.44 0 0 0-.196.368l.01 4.95-3.626 1.688.004.01c-.02.009-.042.009-.06.021a.44.44 0 0 0-.195.367v5.205c0 .172.098.328.252.399l3.879 1.788.005-.012c.056.025.112.051.172.051a.4.4 0 0 0 .18-.041L12 22.222l3.665 1.737.006-.012a.4.4 0 0 0 .175.053q.09 0 .177-.04l3.868-1.778a.44.44 0 0 0 .253-.399v-5.222a.44.44 0 0 0-.196-.367c-.018-.012-.04-.012-.06-.02"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
