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

function IconLinkComponent(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-link${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 48 48" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><g clipPath="url(#svg_2a304a1348__svg_2a304a1348__clip0)"><path fillRule="evenodd" clipRule="evenodd" d="M39.333 20.284c3.475-4.292 2.814-10.59-1.478-14.065-4.292-3.476-10.59-2.814-14.065 1.478l-5.664 6.995c-3.476 4.292-2.814 10.589 1.478 14.064a10.001 10.001 0 002.433 1.456l2.704-3.338a6 6 0 01-3.506-9.665l5.663-6.994a6 6 0 019.326 7.552l-3.597 4.441a6.97 6.97 0 011.116 3.123l.173 1.643 5.417-6.69zm-11.848-1.225a10.004 10.004 0 00-2.433-1.456l-2.704 3.339a6 6 0 013.506 9.665L20.191 37.6a6 6 0 01-9.326-7.552l3.597-4.442a6.968 6.968 0 01-1.116-3.122l-.173-1.644-5.417 6.69c-3.475 4.293-2.814 10.59 1.478 14.065 4.293 3.476 10.59 2.814 14.065-1.478l5.664-6.994c3.476-4.293 2.814-10.59-1.478-14.065z"/></g><defs><clipPath id="svg_2a304a1348__svg_2a304a1348__clip0"><path d="M0 0h48v48H0z"/></clipPath></defs></svg>;
}

const IconLink = React.forwardRef(IconLinkComponent);
export default IconLink;
