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

function IconFlowChoreographyComponent(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-flow-choreography${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 16 16" {...rest} ref={ref}><path fillRule="evenodd" d="M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-11A1.5 1.5 0 0 0 13.5 1h-11Zm6.53 3.697H6.333a2.04 2.04 0 0 0-2.04 2.04 1.96 1.96 0 0 0 1.96 1.959h3.5a.578.578 0 1 1 0 1.156H6.771l-.042-.056a1.63 1.63 0 1 0 .24 1.485l.032-.095h2.752a1.911 1.911 0 0 0 0-3.823h-3.5a.626.626 0 0 1-.626-.626c0-.39.316-.707.706-.707H9.15l.041.066a1.63 1.63 0 0 0 3.013-.865 1.63 1.63 0 0 0-3.139-.62l-.035.086Zm.962.534a.582.582 0 1 1 1.164 0 .582.582 0 0 1-1.165 0Zm-5.154 5.538a.582.582 0 1 1 1.165 0 .582.582 0 0 1-1.165 0Z" clipRule="evenodd"/></svg>;
}

const IconFlowChoreography = React.forwardRef(IconFlowChoreographyComponent);
export default IconFlowChoreography;
