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

function IconKnowledgeComponent(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-knowledge${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="M12.999 1.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1Zm7.562 3.646-.707-.706a.5.5 0 0 0-.708 0l-.707.706a.5.5 0 0 0 0 .707l.707.708a.502.502 0 0 0 .708 0l.707-.708a.5.5 0 0 0 0-.707ZM19 11.502a7.001 7.001 0 1 0-10.5 6.063V19.5a3.5 3.5 0 0 0 6.998 0v-1.936A6.998 6.998 0 0 0 19 11.5ZM12 18.5a7.06 7.06 0 0 0 1.5-.161V19.5l-.003.088A1.5 1.5 0 0 1 10.5 19.5v-1.161c.483.105.986.16 1.5.16Zm7.854-1.061.707.708a.5.5 0 0 1 0 .707l-.707.706a.501.501 0 0 1-.708 0l-.707-.706a.5.5 0 0 1 0-.707l.707-.708a.502.502 0 0 1 .708 0Zm-15 0a.5.5 0 0 0-.708 0l-.707.708a.5.5 0 0 0 0 .707l.707.706a.502.502 0 0 0 .708 0l.706-.706a.5.5 0 0 0 0-.707l-.706-.708ZM12 6.499a5 5 0 1 0 0 10 5 5 0 0 0 0-10ZM23 11a.5.5 0 0 0-.5-.499h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1Zm-20.5-.5c.275 0 .5.225.5.5v1a.5.5 0 0 1-.5.5h-1A.5.5 0 0 1 1 12v-1a.5.5 0 0 1 .5-.5h1Zm2.354-6.06.706.706a.5.5 0 0 1 0 .707l-.706.708a.5.5 0 0 1-.708 0l-.707-.708a.5.5 0 0 1 0-.707l.707-.706a.502.502 0 0 1 .708 0Z" clipRule="evenodd"/></svg>;
}

const IconKnowledge = React.forwardRef(IconKnowledgeComponent);
export default IconKnowledge;
