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

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

    const prefix = prefixFromProps || prefixFromContext || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-upload-cloud${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 53 52" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><g clipPath="url(#svg_e83dad4ab3__svg_a4538c3fca__clip0_71796_51202)"><path fillRule="evenodd" clipRule="evenodd" d="M26.4576 8.1145C34.0083 8.1145 40.1294 14.2208 40.1294 21.753C40.1294 23.4442 39.821 25.0636 39.2571 26.5577L39.2567 43.5168H31.1118C30.6686 43.506 30.2461 43.3267 29.9302 43.0155C29.6144 42.7043 29.429 42.2845 29.4116 41.8415L29.4103 41.7759H28.7847V43.5168H24.7123V41.7759H23.627C23.627 42.7375 22.8457 43.5168 21.882 43.5168L21.8035 43.5152V43.5168H13.3675V43.5084C7.54547 43.2801 2.89551 38.499 2.89551 32.6349C2.89551 26.9676 7.23864 22.3121 12.7858 21.7999V21.753C12.7858 14.2208 18.907 8.1145 26.4576 8.1145Z"/><path d="M21.8035 43.5152L21.882 43.5168C22.8457 43.5168 23.6274 42.7375 23.6274 41.7759H24.7126V43.5168H28.7847V41.7759H29.4103L29.4116 41.8415C29.429 42.2846 29.6144 42.7043 29.9303 43.0155C30.2461 43.3267 30.6686 43.506 31.1118 43.5168H39.2568L39.2571 26.5577C39.8358 25.022 40.1314 23.3941 40.1294 21.753C40.1294 14.2208 34.0083 8.1145 26.4576 8.1145C18.907 8.1145 12.7858 14.2208 12.7858 21.753V21.7999C7.23864 22.3121 2.89551 26.9676 2.89551 32.6352C2.89551 38.4996 7.54547 43.2804 13.3675 43.5087V43.5171M21.8038 43.5155L21.8035 43.5171H13.3675M21.8038 43.5155L13.3675 43.5171" stroke="#000" strokeWidth="2"/><path d="M38.8203 21.5919H38.8191L38.6388 21.5935H38.6375C32.6085 21.691 27.7505 26.5971 27.7505 32.6356V41.9371L27.912 41.9374H29.2556C29.296 42.4046 29.5072 42.8406 29.8489 43.1618C30.1906 43.4829 30.6387 43.6669 31.1076 43.6783H31.1118L38.8203 43.6786H38.8216L39.0022 43.677H39.0035C45.0326 43.5795 49.8902 38.6737 49.8902 32.6353C49.8902 26.5358 44.9337 21.5916 38.8203 21.5916V21.5919Z" stroke="#000" strokeWidth="2"/><path d="M28.5917 25.5319L28.5077 25.4512C27.3812 24.3992 25.6141 24.4196 24.5118 25.5119L17.9084 32.0555L17.8345 32.132C17.3265 32.6739 17.0501 33.3926 17.064 34.1352C17.0778 34.8778 17.3809 35.5857 17.9088 36.1082L17.9866 36.1838C19.1138 37.2358 20.8805 37.2154 21.9829 36.1231L23.6297 34.4908V43.5623L23.631 43.6428H29.3326L29.4127 34.451L31.1 36.1231L31.1633 36.1838C32.2902 37.2358 34.0572 37.2154 35.1592 36.1231L35.2354 36.0456C35.747 35.5071 36.0283 34.7903 36.0194 34.0476C36.0104 33.3049 35.712 32.595 35.1876 32.069L28.5917 25.5319Z" stroke="#000" strokeWidth="2"/></g><defs><linearGradient id="svg_e83dad4ab3__svg_a4538c3fca__paint0_linear_71796_51202" x1="36.636" y1="51" x2="15.136" y2="6" gradientUnits="userSpaceOnUse"><stop stopColor="#ADB7C1"/><stop offset="0" stopColor="#576A7C"/><stop offset="1" stopColor="#EEF1F5"/></linearGradient><linearGradient id="svg_e83dad4ab3__svg_a4538c3fca__paint1_linear_71796_51202" x1="48.135" y1="26.5" x2="30.635" y2="44" gradientUnits="userSpaceOnUse"><stop stopColor="#D5DBE1"/><stop offset="1" stopColor="#8A98A5"/></linearGradient><clipPath id="svg_e83dad4ab3__svg_a4538c3fca__clip0_71796_51202"><path transform="translate(.636)" d="M0 0H52V52H0z"/></clipPath></defs></svg>;
}

const IconUploadCloud = React.forwardRef(IconUploadCloudComponent);
export default IconUploadCloud;
