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

function IconCheckCircleFillComponent(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-check-circle-fill${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 49 48" fill={useCurrentColor ? 'currentColor' : 'none'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path fillRule="evenodd" clipRule="evenodd" d="M44.2248 25.9982C44.2248 37.0234 35.2871 45.9612 24.2618 45.9612C13.2366 45.9612 4.29883 37.0234 4.29883 25.9982C4.29883 14.9729 13.2366 6.03516 24.2618 6.03516C35.2871 6.03516 44.2248 14.9729 44.2248 25.9982Z" fill={useCurrentColor ? 'currentColor' : '#141414'} fillOpacity=".08"/><path d="M24.2233 44.0033C35.27 44.0033 44.225 35.0483 44.225 24.0017C44.225 12.9551 35.27 4 24.2233 4C13.1767 4 4.22168 12.9551 4.22168 24.0017C4.22168 35.0483 13.1767 44.0033 24.2233 44.0033Z" fill={useCurrentColor ? 'currentColor' : '#309256'}/><path fillRule="evenodd" clipRule="evenodd" d="M24.2233 40.6697C33.4289 40.6697 40.8914 33.2072 40.8914 24.0017C40.8914 14.7962 33.4289 7.33361 24.2233 7.33361C15.0178 7.33361 7.55529 14.7962 7.55529 24.0017C7.55529 33.2072 15.0178 40.6697 24.2233 40.6697ZM44.225 24.0017C44.225 35.0483 35.27 44.0033 24.2233 44.0033C13.1767 44.0033 4.22168 35.0483 4.22168 24.0017C4.22168 12.9551 13.1767 4 24.2233 4C35.27 4 44.225 12.9551 44.225 24.0017Z" fill={useCurrentColor ? 'currentColor' : '#2A814B'}/><path fillRule="evenodd" clipRule="evenodd" d="M33.3199 19.085L34.6923 20.4574C35.0713 20.8364 35.0713 21.4508 34.6923 21.8298L23.7132 32.8089C23.5675 32.9546 23.3869 33.0443 23.1982 33.078L23.0843 33.0914H22.9697C22.7408 33.078 22.5157 32.9838 22.3408 32.8089L16.1651 26.6331C15.7861 26.2542 15.7861 25.6397 16.1651 25.2608L17.5375 23.8884C17.9165 23.5094 18.5309 23.5094 18.9099 23.8884L23.0271 28.0053L31.9475 19.085C32.3265 18.706 32.941 18.706 33.3199 19.085Z" fill={useCurrentColor ? 'currentColor' : '#141414'} fillOpacity=".2"/><path fillRule="evenodd" clipRule="evenodd" d="M32.3209 18.086L33.6933 19.4584C34.0723 19.8374 34.0723 20.4518 33.6933 20.8308L22.7142 31.8099C22.5684 31.9556 22.3878 32.0453 22.1992 32.079L22.0853 32.0924H21.9707C21.7418 32.079 21.5167 31.9848 21.3418 31.8099L15.1661 25.6341C14.7871 25.2551 14.7871 24.6407 15.1661 24.2617L16.5385 22.8893C16.9174 22.5104 17.5319 22.5104 17.9108 22.8893L22.028 27.0062L30.9485 18.086C31.3275 17.707 31.9419 17.707 32.3209 18.086Z" fill={useCurrentColor ? 'currentColor' : '#fff'}/></svg>;
}

const IconCheckCircleFill = React.forwardRef(IconCheckCircleFillComponent);
export default IconCheckCircleFill;
