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

function IconNodeInvocationComponent(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-node_invocation${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 18 18" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path d="M10.9775 14.207C11.2339 14.6642 11.583 15.0629 12 15.376C11.1061 15.8542 10.0847 16.125 9 16.125C7.91552 16.125 6.89406 15.8546 6 15.377C6.41682 15.0625 6.76607 14.664 7.02246 14.207C7.6264 14.476 8.296 14.625 9 14.625C9.70398 14.625 10.3732 14.4756 10.9775 14.207ZM3.86621 9.37695L3.90039 9.37891C3.93083 9.38041 3.9619 9.38235 3.99219 9.38477C3.99984 9.38538 4.00791 9.38604 4.01562 9.38672C4.05299 9.39 4.09013 9.39382 4.12695 9.39844L4.1377 9.39941C5.61157 9.58981 6.75 10.8497 6.75 12.375C6.75 12.9082 6.61104 13.4089 6.36719 13.8428L6.35254 13.8672L6.34766 13.875L6.32617 13.9131L6.31641 13.9287L6.31348 13.9336L6.31152 13.9375L6.30859 13.9414L6.28906 13.9746C6.27334 13.9995 6.25659 14.0235 6.24023 14.0479C6.23563 14.0547 6.23124 14.0625 6.22656 14.0693C6.20754 14.0971 6.18785 14.1244 6.16797 14.1514C6.16038 14.1617 6.15221 14.1715 6.14453 14.1816C6.12972 14.2012 6.11492 14.221 6.09961 14.2402L6.0791 14.2666C6.05747 14.2932 6.0352 14.3199 6.0127 14.3457C6.00881 14.3502 6.00397 14.3539 6 14.3584C5.4506 14.9814 4.64646 15.375 3.75 15.375C2.09315 15.375 0.75 14.0319 0.75 12.375C0.75 11.1881 1.43934 10.1623 2.43945 9.67578L2.62695 9.59277L2.71484 9.55859L2.73535 9.55078L2.72949 9.55273L2.74902 9.5459C2.82316 9.51939 2.89892 9.49601 2.97559 9.47559L2.99219 9.47168C3.02752 9.46238 3.06308 9.45416 3.09863 9.44629C3.10228 9.44554 3.10577 9.44415 3.10938 9.44336C3.14603 9.43533 3.18348 9.4285 3.2207 9.42188C3.23146 9.41999 3.24216 9.41781 3.25293 9.41602C3.28062 9.41137 3.30894 9.40718 3.33691 9.40332C3.34787 9.40183 3.35915 9.39983 3.37012 9.39844C3.4451 9.38895 3.52103 9.38274 3.59766 9.37891C3.60853 9.37836 3.61996 9.37738 3.63086 9.37695C3.67038 9.37541 3.71011 9.375 3.75 9.375L3.86621 9.37695ZM14.3525 9.37695H14.3643L14.4023 9.37891C14.479 9.38274 14.5549 9.38896 14.6299 9.39844C14.6408 9.39982 14.6521 9.40181 14.6631 9.40332C14.6912 9.40719 14.7193 9.4114 14.7471 9.41602C14.7577 9.41779 14.7685 9.41996 14.7793 9.42188C14.8565 9.43562 14.9328 9.45217 15.0078 9.47168C15.0138 9.47324 15.0196 9.47501 15.0254 9.47656C15.0566 9.4849 15.0881 9.49355 15.1191 9.50293C15.1278 9.50554 15.1362 9.50816 15.1445 9.51074L15.2646 9.55078C16.4222 9.96674 17.25 11.0743 17.25 12.375C17.25 14.0319 15.9069 15.375 14.25 15.375C13.6873 15.375 13.1609 15.2197 12.7109 14.9502L12.6865 14.9355L12.6299 14.8994L12.6182 14.8926L12.6152 14.8906L12.582 14.8682C12.5175 14.8251 12.4544 14.7794 12.3936 14.7314C12.3873 14.7263 12.3811 14.7217 12.375 14.7168C12.3136 14.6677 12.2538 14.6155 12.1963 14.5615L12.1836 14.5498C12.1243 14.4935 12.0672 14.435 12.0127 14.374C12.0083 14.3691 12.0042 14.3642 12 14.3594C11.9795 14.3361 11.9592 14.312 11.9395 14.2881L11.9189 14.2637C11.8994 14.2396 11.8801 14.2151 11.8613 14.1904C11.8524 14.1787 11.8438 14.1663 11.835 14.1543C11.7918 14.0959 11.7507 14.0361 11.7119 13.9746C11.7058 13.9649 11.6993 13.955 11.6934 13.9453C11.4122 13.4886 11.25 12.9508 11.25 12.375C11.25 10.8495 12.3886 9.5896 13.8623 9.39941V9.40039L13.9697 9.3877L14.0088 9.38477L14.1299 9.37695C14.1698 9.37538 14.2098 9.375 14.25 9.375L14.3525 9.37695ZM3.75 10.875C2.92157 10.875 2.25 11.5466 2.25 12.375C2.25 13.2034 2.92157 13.875 3.75 13.875C4.57843 13.875 5.25 13.2034 5.25 12.375C5.25 11.5466 4.57843 10.875 3.75 10.875ZM14.25 10.875C13.4216 10.875 12.75 11.5466 12.75 12.375C12.75 13.2034 13.4216 13.875 14.25 13.875C15.0784 13.875 15.75 13.2034 15.75 12.375C15.75 11.5466 15.0784 10.875 14.25 10.875ZM13.8721 9.39844L13.9277 9.3916H13.9326L13.8721 9.39844ZM5.25098 4.59375C5.26516 5.17175 5.40995 5.71749 5.65723 6.20215C4.96693 6.85178 4.46697 7.70154 4.24805 8.6582C4.08552 8.63638 3.91893 8.625 3.75 8.625C3.38526 8.625 3.03261 8.6773 2.69922 8.77441C2.94799 7.15351 3.80784 5.73323 5.03613 4.75684L5.15625 4.66406L5.25098 4.59375ZM12.749 4.59277C14.0593 5.54691 14.9914 6.98911 15.2803 8.65137L15.3008 8.77441C14.9674 8.6773 14.6147 8.625 14.25 8.625C14.0811 8.625 13.9149 8.63658 13.752 8.6582C13.5335 7.7016 13.033 6.85153 12.3428 6.20117C12.6031 5.69112 12.75 5.11271 12.75 4.5L12.749 4.59277ZM9 1.5C10.6569 1.5 12 2.84315 12 4.5C12 4.86601 11.9344 5.21672 11.8145 5.54102L11.7715 5.64941L11.7705 5.65234L11.7627 5.67188L11.7383 5.72852C11.269 6.7729 10.2192 7.5 9 7.5C7.81417 7.5 6.78879 6.8121 6.30176 5.81348L6.25781 5.71875L6.24902 5.69824L6.2168 5.62207L6.20215 5.58398C6.18808 5.54774 6.17483 5.5107 6.16211 5.47363C6.15726 5.45949 6.15218 5.44514 6.14746 5.43066C6.12342 5.35689 6.10228 5.28186 6.08398 5.20605C6.08187 5.19729 6.07919 5.18849 6.07715 5.17969C6.05843 5.09885 6.04329 5.01674 6.03125 4.93359C6.03001 4.92504 6.02849 4.91661 6.02734 4.9082C6.02248 4.87245 6.01825 4.83609 6.01465 4.7998C6.01401 4.79335 6.01329 4.78667 6.0127 4.78027L6.00781 4.71484L6.00391 4.64844C6.00372 4.64455 6.00311 4.64065 6.00293 4.63672C6.00091 4.59147 6 4.54569 6 4.5L6.00195 4.38086L6.00391 4.3457C6.00524 4.31945 6.00678 4.29279 6.00879 4.2666L6.01172 4.23047C6.01469 4.19715 6.01842 4.16377 6.02246 4.13086L6.02539 4.11035C6.217 2.63738 7.47559 1.5 9 1.5ZM9 3C8.17157 3 7.5 3.67157 7.5 4.5C7.5 5.32843 8.17157 6 9 6C9.82843 6 10.5 5.32843 10.5 4.5C10.5 3.67157 9.82843 3 9 3Z"/></svg>;
}

const IconNodeInvocation = React.forwardRef(IconNodeInvocationComponent);
export default IconNodeInvocation;
