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

function IconVisualModelComponent(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-visual_model${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 14 14" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><g clipPath="url(#svg_ebd4236302__clip0_2729_21654)"><path d="M10.1103 0.549999C10.6827 0.550121 11.1462 1.01364 11.1463 1.586V2.85373H12.414C12.9864 2.85385 13.4499 3.31737 13.45 3.88974V12.414C13.4499 12.9864 12.9864 13.4499 12.414 13.45H3.88979C3.31742 13.4499 2.8539 12.9864 2.85378 12.414V11.1463H1.58605C1.01369 11.1461 0.550171 10.6826 0.550049 10.1103V1.586C0.550171 1.01364 1.01369 0.550121 1.58605 0.549999H10.1103ZM1.93139 9.76493H2.85378V8.38246C2.85378 8.00077 3.16276 7.69067 3.54445 7.69067C3.92615 7.69067 4.23512 8.00077 4.23512 8.38246V9.76493H5.61758C5.99928 9.76493 6.30938 10.0739 6.30938 10.4556C6.30938 10.8373 5.99928 11.1463 5.61758 11.1463H4.23512V12.0687H12.0687V4.23507H11.1463V5.61753C11.1463 5.99923 10.8373 6.30933 10.4556 6.30933C10.074 6.30933 9.76498 5.99923 9.76498 5.61753V4.23507H8.38251C8.00082 4.23507 7.69072 3.9261 7.69072 3.5444C7.69072 3.16271 8.00082 2.85373 8.38251 2.85373H9.76498V1.93134H1.93139V9.76493ZM10.4556 7.69067C10.8373 7.69067 11.1463 8.00077 11.1463 8.38246V10.5703C11.1463 10.8884 10.8885 11.1463 10.5704 11.1463H8.38251C8.00082 11.1463 7.69072 10.8373 7.69072 10.4556C7.69072 10.0739 8.00082 9.76493 8.38251 9.76493H9.76498V8.38246C9.76498 8.00077 10.074 7.69067 10.4556 7.69067ZM5.61758 2.85373C5.99928 2.85373 6.30938 3.16271 6.30938 3.5444C6.30938 3.9261 5.99928 4.23507 5.61758 4.23507H4.23512V5.61753C4.23512 5.99923 3.92615 6.30933 3.54445 6.30933C3.16276 6.30933 2.85378 5.99923 2.85378 5.61753V3.42966C2.85378 3.11159 3.11164 2.85373 3.42971 2.85373H5.61758Z"/></g><defs><clipPath id="svg_ebd4236302__clip0_2729_21654"><path d="M0 0H14V14H0z"/></clipPath></defs></svg>;
}

const IconVisualModel = React.forwardRef(IconVisualModelComponent);
export default IconVisualModel;
