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

function IconVariableComponent(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-variable${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="M7.978 2.592H6.744v-.001c-.99 0-1.754.315-2.294.968-.496.585-.744 1.395-.744 2.407v3.01c0 .629-.135 1.102-.405 1.416-.259.278-.687.464-1.283.547a.456.456 0 0 0-.404.445v1.05a.432.432 0 0 0 .388.423c.603.077 1.038.25 1.3.55.27.293.404.765.404 1.418v3.03c0 .99.248 1.8.742 2.385.54.63 1.306.968 2.296.968h1.234a.5.5 0 0 0 .499-.5v-.823a.5.5 0 0 0-.5-.5H7.15c-.855 0-1.26-.495-1.26-1.44v-3.233c0-1.35-.653-2.272-1.935-2.812 1.282-.472 1.935-1.418 1.935-2.812v-3.21c0-.99.405-1.463 1.26-1.463h.828a.5.5 0 0 0 .499-.5v-.823a.5.5 0 0 0-.5-.5Zm4.237 8.053-1.607-2.977-2.02.001 2.484 4.23-2.55 4.301h2.04l1.653-3.036 1.652 3.036h2.028l-2.544-4.3 2.478-4.23H13.82l-1.605 2.975ZM16 2.592a.5.5 0 0 0-.5.5v.822a.5.5 0 0 0 .499.5h.828c.832 0 1.26.474 1.26 1.464v3.21c0 1.394.63 2.34 1.935 2.812-1.305.54-1.934 1.462-1.934 2.812v3.233c0 .945-.429 1.44-1.26 1.44H16a.5.5 0 0 0-.5.5v.822a.5.5 0 0 0 .5.5h1.232c.99 0 1.755-.337 2.295-.967.495-.585.742-1.395.742-2.385v-3.03c0-.653.135-1.125.406-1.417.253-.29.668-.464 1.243-.544a.5.5 0 0 0 .444-.486v-.986a.467.467 0 0 0-.413-.454c-.591-.082-1.012-.265-1.252-.523-.292-.315-.428-.81-.428-1.44V5.968c0-1.013-.247-1.823-.742-2.408-.54-.652-1.305-.968-2.295-.968H16Z" clipRule="evenodd"/></svg>;
}

const IconVariable = React.forwardRef(IconVariableComponent);
export default IconVariable;
