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

function IconGraphNodeComponent(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-graph-node${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 14 14" {...rest} ref={ref}><path fillRule="evenodd" d="M6.994 9.71a1.52 1.52 0 1 1-.003 3.041 1.52 1.52 0 0 1 .003-3.041Zm0 .925a.595.595 0 1 0 0 1.191.595.595 0 0 0 0-1.19ZM2.57 7.798a1.52 1.52 0 1 1 1.52 2.635 1.52 1.52 0 0 1-1.52-2.635Zm6.767.557a1.521 1.521 0 1 1 2.635 1.522 1.521 1.521 0 0 1-2.635-1.522Zm-5.492.463a.595.595 0 1 0-1.03.595.595.595 0 0 0 1.03-.595Zm7.107-.218a.595.595 0 1 0-.595 1.032.595.595 0 0 0 .595-1.032Zm-3.96-3.12a1.52 1.52 0 1 1-.001 3.042 1.52 1.52 0 0 1 .002-3.042Zm0 .926a.595.595 0 1 0 .001 1.19.595.595 0 0 0 0-1.19Zm-4.98-2.281a1.522 1.522 0 1 1 .557 2.077 1.52 1.52 0 0 1-.556-2.077Zm7.882-.556a1.52 1.52 0 1 1 1.52 2.634 1.52 1.52 0 0 1-1.52-2.634Zm-6.266.801a.596.596 0 0 0-.595 1.03.594.594 0 0 0 .595-1.03Zm7.54.219a.595.595 0 1 0-1.03.594.595.595 0 0 0 1.03-.594ZM6.995 1.25a1.521 1.521 0 1 1-.003 3.042 1.521 1.521 0 0 1 .003-3.042Zm0 .926a.595.595 0 0 0 0 1.189.594.594 0 0 0 0-1.19Z" clipRule="evenodd"/></svg>;
}

const IconGraphNode = React.forwardRef(IconGraphNodeComponent);
export default IconGraphNode;
