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

function IconDataNodeComponent(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-data-node${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : 'none'} viewBox="0 0 24 24" {...rest} ref={ref}><g><path fill={useCurrentColor ? 'currentColor' : '#40C6F0'} d="M16.8 0H7.2A7.2 7.2 0 0 0 0 7.2v9.6A7.2 7.2 0 0 0 7.2 24h9.6a7.2 7.2 0 0 0 7.2-7.2V7.2A7.2 7.2 0 0 0 16.8 0Z"/><path fill={useCurrentColor ? 'currentColor' : '#fff'} fillRule="evenodd" d="M18.3 9.34v9.1c0 .31-.25.56-.56.56H6.035c-.31 0-.335-.25-.335-.56V5.56c0-.31.25-.56.56-.56h7.612a.56.56 0 0 1 .391.16l3.868 3.78a.56.56 0 0 1 .169.4Zm-7.38.742a1.4 1.4 0 0 1-.7 1.213v.727h1.05v1.4h-1.05v.86h1.05v1.4h-1.4c-.58 0-1.05-.47-1.05-1.05v-3.337a1.4 1.4 0 1 1 2.1-1.213Zm4.532 3.34h-2.8v-1.4h2.8v1.4Zm0 2.26h-2.8v-1.4h2.8v1.4Zm0-4.55h-2.8v-1.4h2.8v1.4Z" clipRule="evenodd"/></g></svg>;
}

const IconDataNode = React.forwardRef(IconDataNodeComponent);
export default IconDataNode;
