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

export const IconMicrosoftTeamsColor16 = 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={16}
                height={16}
                fill="none"
                viewBox="0 0 16 16"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <path
                    fill="#5059c9"
                    d="M10.765 6.875h3.616c.342 0 .619.276.619.617v3.289a2.27 2.27 0 0 1-2.274 2.269h-.01a2.27 2.27 0 0 1-2.274-2.27V7.199c0-.179.145-.323.323-.323M13.21 6.225a1.464 1.464 0 1 0 0-2.925c-.81 0-1.466.655-1.466 1.462 0 .808.656 1.463 1.465 1.463"
                />
                <path
                    fill="#7b83eb"
                    d="M8.651 6.225a2.114 2.114 0 0 0 2.117-2.112A2.114 2.114 0 0 0 8.65 2a2.114 2.114 0 0 0-2.116 2.113c0 1.166.947 2.112 2.116 2.112M11.473 6.875h-5.97a.61.61 0 0 0-.596.625v3.75A3.67 3.67 0 0 0 8.488 15a3.67 3.67 0 0 0 3.582-3.75V7.5a.61.61 0 0 0-.597-.625"
                />
                <path
                    fill="#000"
                    d="M8.814 6.875v5.255a.6.6 0 0 1-.596.595H5.193a3.951 3.951 0 0 1-.287-1.476V7.5a.61.61 0 0 1 .597-.624z"
                    opacity={0.1}
                />
                <path
                    fill="#000"
                    d="M8.488 6.875v5.58a.6.6 0 0 1-.596.595H5.347a3.22 3.22 0 0 1-.267-.65 4 4 0 0 1-.172-1.15V7.499a.61.61 0 0 1 .596-.624z"
                    opacity={0.2}
                />
                <path
                    fill="#000"
                    d="M8.488 6.875v4.93a.6.6 0 0 1-.596.595H5.08a4 4 0 0 1-.172-1.15V7.499a.61.61 0 0 1 .596-.624z"
                    opacity={0.2}
                />
                <path
                    fill="#000"
                    d="M8.163 6.875v4.93a.6.6 0 0 1-.596.595H5.079a4 4 0 0 1-.172-1.15V7.499a.61.61 0 0 1 .596-.624z"
                    opacity={0.2}
                />
                <path
                    fill="#000"
                    d="M8.814 5.195v1.024q-.08.005-.163.006-.08 0-.163-.006A2.115 2.115 0 0 1 6.593 4.6h1.625a.6.6 0 0 1 .596.594"
                    opacity={0.1}
                />
                <path
                    fill="#000"
                    d="M8.488 5.52v.699a2.115 2.115 0 0 1-1.79-1.293h1.195a.6.6 0 0 1 .595.594"
                    opacity={0.2}
                />
                <path
                    fill="#000"
                    d="M8.488 5.52v.699a2.115 2.115 0 0 1-1.79-1.293h1.195a.6.6 0 0 1 .595.594"
                    opacity={0.2}
                />
                <path
                    fill="#000"
                    d="M8.163 5.52v.647a2.12 2.12 0 0 1-1.465-1.242h.87a.6.6 0 0 1 .595.595"
                    opacity={0.2}
                />
                <path
                    fill="url(#microsoft-teams-color-16__a)"
                    d="M1.597 4.925h5.969c.33 0 .597.267.597.596v5.958a.596.596 0 0 1-.597.596h-5.97A.596.596 0 0 1 1 11.479V5.521c0-.33.267-.596.597-.596"
                />
                <path
                    fill="#fff"
                    d="M6.152 7.193H4.959v3.243h-.76V7.193H3.01v-.63h3.141z"
                />
                <defs>
                    <linearGradient
                        id="microsoft-teams-color-16__a"
                        x1={2.244}
                        x2={6.906}
                        y1={4.46}
                        y2={12.548}
                        gradientUnits="userSpaceOnUse"
                    >
                        <stop stopColor="#5a62c3" />
                        <stop offset={0.5} stopColor="#4d55bd" />
                        <stop offset={1} stopColor="#3940ab" />
                    </linearGradient>
                </defs>
            </svg>
        );
    }
);
