import React, { ForwardedRef, useContext } from 'react';
import { OriginIconProps } from '../type';
import { Context } from '../context';

function IconGoogleGeminiComponent(props: OriginIconProps, ref: ForwardedRef<SVGSVGElement>) {
    const { prefix: prefixFromContext } = useContext(Context);
    const { className = '', prefix: prefixFromProps, width = '1em', height = '1em', useCurrentColor = false, spin, ...rest } = props;

    const prefix = prefixFromProps || prefixFromContext || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-google_gemini${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 24 24" fill={useCurrentColor ? 'currentColor' : 'none'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path d="M19.0509 11.0451C17.6916 10.4664 16.4556 9.63287 15.4097 8.5895C13.9531 7.13002 12.9139 5.30712 12.4002 3.31019C12.3776 3.2215 12.3262 3.14285 12.2539 3.08667C12.1817 3.0305 12.0928 3 12.0013 3C11.9098 3 11.8209 3.0305 11.7486 3.08667C11.6764 3.14285 11.6249 3.2215 11.6024 3.31019C11.0875 5.30686 10.0482 7.12956 8.59206 8.5895C7.54604 9.63275 6.3101 10.4662 4.95087 11.0451C4.41901 11.2742 3.87243 11.4583 3.31275 11.5998C3.22351 11.6217 3.1442 11.673 3.08751 11.7453C3.03081 11.8176 3 11.9068 3 11.9987C3 12.0906 3.03081 12.1798 3.08751 12.2522C3.1442 12.3245 3.22351 12.3757 3.31275 12.3976C3.87243 12.5383 4.41738 12.7225 4.95087 12.9516C6.31018 13.5302 7.54614 14.3637 8.59206 15.4071C10.049 16.8667 11.0885 18.69 11.6024 20.6872C11.6243 20.7765 11.6755 20.8558 11.7478 20.9125C11.8201 20.9692 11.9094 21 12.0013 21C12.0932 21 12.1824 20.9692 12.2547 20.9125C12.327 20.8558 12.3782 20.7765 12.4002 20.6872C12.5409 20.1267 12.725 19.5818 12.9541 19.0483C13.5327 17.689 14.3663 16.453 15.4097 15.4071C16.8694 13.9505 18.6926 12.9113 20.6898 12.3976C20.7785 12.3751 20.8571 12.3236 20.9133 12.2514C20.9695 12.1791 21 12.0902 21 11.9987C21 11.9072 20.9695 11.8183 20.9133 11.7461C20.8571 11.6738 20.7785 11.6224 20.6898 11.5998C20.1296 11.4589 19.5815 11.2734 19.0509 11.0451Z" fill={useCurrentColor ? 'currentColor' : '#3186FF'}/><path d="M19.0509 11.0451C17.6916 10.4664 16.4556 9.63287 15.4097 8.5895C13.9531 7.13002 12.9139 5.30712 12.4002 3.31019C12.3776 3.2215 12.3262 3.14285 12.2539 3.08667C12.1817 3.0305 12.0928 3 12.0013 3C11.9098 3 11.8209 3.0305 11.7486 3.08667C11.6764 3.14285 11.6249 3.2215 11.6024 3.31019C11.0875 5.30686 10.0482 7.12956 8.59206 8.5895C7.54604 9.63275 6.3101 10.4662 4.95087 11.0451C4.41901 11.2742 3.87243 11.4583 3.31275 11.5998C3.22351 11.6217 3.1442 11.673 3.08751 11.7453C3.03081 11.8176 3 11.9068 3 11.9987C3 12.0906 3.03081 12.1798 3.08751 12.2522C3.1442 12.3245 3.22351 12.3757 3.31275 12.3976C3.87243 12.5383 4.41738 12.7225 4.95087 12.9516C6.31018 13.5302 7.54614 14.3637 8.59206 15.4071C10.049 16.8667 11.0885 18.69 11.6024 20.6872C11.6243 20.7765 11.6755 20.8558 11.7478 20.9125C11.8201 20.9692 11.9094 21 12.0013 21C12.0932 21 12.1824 20.9692 12.2547 20.9125C12.327 20.8558 12.3782 20.7765 12.4002 20.6872C12.5409 20.1267 12.725 19.5818 12.9541 19.0483C13.5327 17.689 14.3663 16.453 15.4097 15.4071C16.8694 13.9505 18.6926 12.9113 20.6898 12.3976C20.7785 12.3751 20.8571 12.3236 20.9133 12.2514C20.9695 12.1791 21 12.0902 21 11.9987C21 11.9072 20.9695 11.8183 20.9133 11.7461C20.8571 11.6738 20.7785 11.6224 20.6898 11.5998C20.1296 11.4589 19.5815 11.2734 19.0509 11.0451Z" fill={useCurrentColor ? 'currentColor' : 'url(#svg_b55dae0710__svg_b55dae0710__paint0_linear_3693_13927)'}/><path d="M19.0509 11.0451C17.6916 10.4664 16.4556 9.63287 15.4097 8.5895C13.9531 7.13002 12.9139 5.30712 12.4002 3.31019C12.3776 3.2215 12.3262 3.14285 12.2539 3.08667C12.1817 3.0305 12.0928 3 12.0013 3C11.9098 3 11.8209 3.0305 11.7486 3.08667C11.6764 3.14285 11.6249 3.2215 11.6024 3.31019C11.0875 5.30686 10.0482 7.12956 8.59206 8.5895C7.54604 9.63275 6.3101 10.4662 4.95087 11.0451C4.41901 11.2742 3.87243 11.4583 3.31275 11.5998C3.22351 11.6217 3.1442 11.673 3.08751 11.7453C3.03081 11.8176 3 11.9068 3 11.9987C3 12.0906 3.03081 12.1798 3.08751 12.2522C3.1442 12.3245 3.22351 12.3757 3.31275 12.3976C3.87243 12.5383 4.41738 12.7225 4.95087 12.9516C6.31018 13.5302 7.54614 14.3637 8.59206 15.4071C10.049 16.8667 11.0885 18.69 11.6024 20.6872C11.6243 20.7765 11.6755 20.8558 11.7478 20.9125C11.8201 20.9692 11.9094 21 12.0013 21C12.0932 21 12.1824 20.9692 12.2547 20.9125C12.327 20.8558 12.3782 20.7765 12.4002 20.6872C12.5409 20.1267 12.725 19.5818 12.9541 19.0483C13.5327 17.689 14.3663 16.453 15.4097 15.4071C16.8694 13.9505 18.6926 12.9113 20.6898 12.3976C20.7785 12.3751 20.8571 12.3236 20.9133 12.2514C20.9695 12.1791 21 12.0902 21 11.9987C21 11.9072 20.9695 11.8183 20.9133 11.7461C20.8571 11.6738 20.7785 11.6224 20.6898 11.5998C20.1296 11.4589 19.5815 11.2734 19.0509 11.0451Z" fill={useCurrentColor ? 'currentColor' : 'url(#svg_b55dae0710__svg_b55dae0710__paint1_linear_3693_13927)'}/><path d="M19.0509 11.0451C17.6916 10.4664 16.4556 9.63287 15.4097 8.5895C13.9531 7.13002 12.9139 5.30712 12.4002 3.31019C12.3776 3.2215 12.3262 3.14285 12.2539 3.08667C12.1817 3.0305 12.0928 3 12.0013 3C11.9098 3 11.8209 3.0305 11.7486 3.08667C11.6764 3.14285 11.6249 3.2215 11.6024 3.31019C11.0875 5.30686 10.0482 7.12956 8.59206 8.5895C7.54604 9.63275 6.3101 10.4662 4.95087 11.0451C4.41901 11.2742 3.87243 11.4583 3.31275 11.5998C3.22351 11.6217 3.1442 11.673 3.08751 11.7453C3.03081 11.8176 3 11.9068 3 11.9987C3 12.0906 3.03081 12.1798 3.08751 12.2522C3.1442 12.3245 3.22351 12.3757 3.31275 12.3976C3.87243 12.5383 4.41738 12.7225 4.95087 12.9516C6.31018 13.5302 7.54614 14.3637 8.59206 15.4071C10.049 16.8667 11.0885 18.69 11.6024 20.6872C11.6243 20.7765 11.6755 20.8558 11.7478 20.9125C11.8201 20.9692 11.9094 21 12.0013 21C12.0932 21 12.1824 20.9692 12.2547 20.9125C12.327 20.8558 12.3782 20.7765 12.4002 20.6872C12.5409 20.1267 12.725 19.5818 12.9541 19.0483C13.5327 17.689 14.3663 16.453 15.4097 15.4071C16.8694 13.9505 18.6926 12.9113 20.6898 12.3976C20.7785 12.3751 20.8571 12.3236 20.9133 12.2514C20.9695 12.1791 21 12.0902 21 11.9987C21 11.9072 20.9695 11.8183 20.9133 11.7461C20.8571 11.6738 20.7785 11.6224 20.6898 11.5998C20.1296 11.4589 19.5815 11.2734 19.0509 11.0451Z" fill={useCurrentColor ? 'currentColor' : 'url(#svg_b55dae0710__svg_b55dae0710__paint2_linear_3693_13927)'}/><defs><linearGradient id="svg_b55dae0710__svg_b55dae0710__paint0_linear_3693_13927" x1="7.91" y1="14.862" x2="11.183" y2="11.998" gradientUnits="userSpaceOnUse"><stop stopColor="#08B962"/><stop offset="1" stopColor="#08B962" stopOpacity="0"/></linearGradient><linearGradient id="svg_b55dae0710__svg_b55dae0710__paint1_linear_3693_13927" x1="8.728" y1="6.68" x2="11.592" y2="11.18" gradientUnits="userSpaceOnUse"><stop stopColor="#F94543"/><stop offset="1" stopColor="#F94543" stopOpacity="0"/></linearGradient><linearGradient id="svg_b55dae0710__svg_b55dae0710__paint2_linear_3693_13927" x1="5.046" y1="13.226" x2="16.501" y2="11.998" gradientUnits="userSpaceOnUse"><stop stopColor="#FABC12"/><stop offset=".46" stopColor="#FABC12" stopOpacity="0"/></linearGradient></defs></svg>;
}

const IconGoogleGemini = React.forwardRef(IconGoogleGeminiComponent);
export default IconGoogleGemini;
