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

function IconCodeComponent(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-code${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 24 24" {...rest} ref={ref}><path fillRule="evenodd" d="m8.58 7.062-5.052 5.511 4.773 5.512a.5.5 0 0 1-.02.675l-.653.675a.498.498 0 0 1-.708.013l-.029-.03-5.697-6.506a.5.5 0 0 1 .006-.669L7.188 5.71a.5.5 0 0 1 .657-.07l.06.05.665.686a.5.5 0 0 1 .01.686Zm12.037 5.511-4.83-5.513a.5.5 0 0 1 .015-.676l.656-.675a.5.5 0 0 1 .705-.012l.029.027 5.756 6.511a.5.5 0 0 1-.006.67l-5.986 6.53a.498.498 0 0 1-.706.03l-.021-.019-.654-.675a.5.5 0 0 1-.01-.686l5.053-5.512Zm-7.614-11.13.994.114a.5.5 0 0 1 .439.555L12.051 22.62a.501.501 0 0 1-.555.44l-.993-.116a.498.498 0 0 1-.438-.555L12.45 1.883a.498.498 0 0 1 .552-.443l.002.003Z" clipRule="evenodd"/></svg>;
}

const IconCode = React.forwardRef(IconCodeComponent);
export default IconCode;
