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

function IconCheckCircleFilledComponent(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-filled${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 49 49" fill={useCurrentColor ? 'currentColor' : 'none'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><g filter="url(#svg_d9a54d94f0__svg_528505327d__filter0_d_3884_59781)"><path d="M24.3877 45C35.9857 45 45.3877 35.598 45.3877 24C45.3877 12.402 35.9857 3 24.3877 3C12.7897 3 3.3877 12.402 3.3877 24C3.3877 35.598 12.7897 45 24.3877 45Z" fill={useCurrentColor ? 'currentColor' : '#A0A2A7'}/><path d="M43.3877 24C43.3877 34.4934 34.8811 43 24.3877 43C13.8943 43 5.3877 34.4934 5.3877 24C5.3877 13.5066 13.8943 5 24.3877 5C34.8811 5 43.3877 13.5066 43.3877 24Z" stroke="#676B72" strokeOpacity=".3" strokeWidth="2"/><g filter="url(#svg_d9a54d94f0__svg_528505327d__filter1_d_3884_59781)"><path fillRule="evenodd" clipRule="evenodd" d="M34.1698 16.8886L35.8197 18.5385C36.2753 18.9941 36.2753 19.7328 35.8197 20.1884L22.6203 33.3877C22.4451 33.563 22.228 33.6708 22.0012 33.7113L21.8643 33.7274H21.7265C21.4513 33.7113 21.1807 33.598 20.9704 33.3877L13.5458 25.9631C13.0902 25.5075 13.0902 24.7688 13.5458 24.3132L15.1957 22.6633C15.6513 22.2077 16.39 22.2077 16.8456 22.6633L21.7954 27.6127L32.5198 16.8886C32.9755 16.433 33.7141 16.433 34.1698 16.8886Z" fill={useCurrentColor ? 'currentColor' : '#fff'}/></g></g><defs><filter id="svg_d9a54d94f0__svg_528505327d__filter0_d_3884_59781" x=".388" y="0" width="48" height="51.429" filterUnits="userSpaceOnUse" colorInterpolationFilters="sRGB"><feFlood floodOpacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3.429"/><feColorMatrix values="0 0 0 0 0.0784314 0 0 0 0 0.0784314 0 0 0 0 0.0784314 0 0 0 0.08 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_3884_59781"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_3884_59781" result="shape"/></filter><filter id="svg_d9a54d94f0__svg_528505327d__filter1_d_3884_59781" x="13.204" y="16.547" width="24.457" height="18.681" filterUnits="userSpaceOnUse" colorInterpolationFilters="sRGB"><feFlood floodOpacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dx="1.5" dy="1.5"/><feColorMatrix values="0 0 0 0 0.0784314 0 0 0 0 0.0784314 0 0 0 0 0.0784314 0 0 0 0.2 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_3884_59781"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_3884_59781" result="shape"/></filter></defs></svg>;
}

const IconCheckCircleFilled = React.forwardRef(IconCheckCircleFilledComponent);
export default IconCheckCircleFilled;
