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

function IconFileCloudStorageComponent(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-File_CloudStorage${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 16 16" fill={useCurrentColor ? 'currentColor' : 'none'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path opacity=".5" d="M13.8952 4.97744V4.72762C13.8952 4.54029 13.8238 4.35999 13.6957 4.22339L11.2186 1.58351C11.0793 1.43506 10.8848 1.35085 10.6812 1.35085H3.04793C2.64095 1.35085 2.31104 1.68076 2.31104 2.08774V3.41904H5.87182C6.04297 3.41904 6.20879 3.47862 6.3408 3.58755L8.02529 4.97744H13.8952Z" fill={useCurrentColor ? 'currentColor' : '#8DDDFF'}/><path fillRule="evenodd" clipRule="evenodd" d="M15 5.71433C15 5.30735 14.6701 4.97743 14.2631 4.97743H8.0253L6.34082 3.58754C6.2088 3.47861 6.04298 3.41904 5.87183 3.41904H1.73635C1.32937 3.41904 0.999451 3.74896 0.999451 4.15593V14.2368C0.999451 14.6438 1.32937 14.9737 1.73635 14.9737H14.2631C14.6701 14.9737 15 14.6438 15 14.2368L15 5.71433ZM8.12306 7.28027C9.38187 7.28027 10.4264 8.14277 10.6241 9.27334C11.1746 9.49723 11.5598 10.0124 11.5598 10.6121C11.5598 11.4173 10.8654 12.0701 10.0088 12.0701H6.48674C6.38943 12.0701 6.29421 12.0617 6.20187 12.0456C5.22828 12.0419 4.44024 11.299 4.44024 10.383C4.44024 9.60676 5.00625 8.95475 5.77152 8.77172C6.14691 7.89732 7.05831 7.28027 8.12306 7.28027Z" fill={useCurrentColor ? 'currentColor' : '#1CBBFF'}/></svg>;
}

const IconFileCloudStorage = React.forwardRef(IconFileCloudStorageComponent);
export default IconFileCloudStorage;
