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

function IconAgentWebServiceComponent(props: OriginIconProps, ref: ForwardedRef<SVGSVGElement>) {
    const { prefix: prefixFromContext } = useContext(Context);
    const { className = '', prefix: prefixFromProps, width = '1em', height = '1em', useCurrentColor = false, spin, ...rest } = props;

    const prefix = prefixFromProps || prefixFromContext || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-agent_web-service${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 24 24" fill={useCurrentColor ? 'currentColor' : 'none'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><rect width="24" height="24" rx="4" fill={useCurrentColor ? 'currentColor' : '#E1EDFB'}/><path d="M6 3.5H18C19.68 3.5 21 4.82 21 6.5V14.7C21 16.38 19.68 17.7 18 17.7H6C4.32 17.7 3 16.38 3 14.7V6.5C3 4.82 4.32 3.5 6 3.5ZM8.9 18.7H15.1C15.58 18.7 16 19.12 16 19.6C16 20.08 15.58 20.5 15.1 20.5H8.9C8.42 20.5 8 20.08 8 19.6C8 19.12 8.42 18.7 8.9 18.7Z" fill={useCurrentColor ? 'currentColor' : 'url(#svg_7d2622ae42__paint0_linear_35477_1224975)'}/><path d="M15.1 18.7H8.9C8.42 18.7 8 19.12 8 19.6C8 20.08 8.42 20.5 8.9 20.5H15.1C15.58 20.5 16 20.08 16 19.6C16 19.12 15.58 18.7 15.1 18.7Z" fill={useCurrentColor ? 'currentColor' : 'url(#svg_7d2622ae42__paint1_linear_35477_1224975)'}/><path d="M15.1 18.7H8.9C8.42 18.7 8 19.12 8 19.6C8 20.08 8.42 20.5 8.9 20.5H15.1C15.58 20.5 16 20.08 16 19.6C16 19.12 15.58 18.7 15.1 18.7Z" fill={useCurrentColor ? 'currentColor' : 'url(#svg_7d2622ae42__paint2_linear_35477_1224975)'}/><path d="M8.9123 10.1719C9.18409 10.1719 9.38948 10.4181 9.34101 10.6855L8.76484 13.8672C8.72158 14.1049 8.51428 14.2773 8.27265 14.2773H8.06757C7.83545 14.2772 7.63417 14.1176 7.58124 13.8916L7.27069 12.5625C7.24661 12.4594 7.0993 12.4594 7.07538 12.5625L6.76776 13.8906C6.7152 14.1172 6.51308 14.2773 6.28046 14.2773H6.07636C5.83473 14.2773 5.62743 14.1049 5.58417 13.8672L5.00702 10.6846C4.95888 10.4176 5.1644 10.172 5.43573 10.1719C5.65044 10.1719 5.83351 10.3288 5.8664 10.541L6.21308 12.7812C6.23008 12.8909 6.38706 12.8956 6.41034 12.7871L6.67206 11.5625C6.71156 11.378 6.87503 11.2461 7.06366 11.2461H7.28437C7.4735 11.2461 7.63698 11.3784 7.67597 11.5635L7.9328 12.7852C7.95578 12.8936 8.11257 12.8896 8.13007 12.7803L8.48163 10.54C8.51496 10.3282 8.6979 10.172 8.9123 10.1719ZM13.7394 10.1719C14.011 10.1721 14.2166 10.4183 14.1682 10.6855L13.591 13.8672C13.5477 14.1049 13.3404 14.2773 13.0988 14.2773H12.8937C12.6617 14.2771 12.4603 14.1176 12.4074 13.8916L12.0969 12.5625C12.0728 12.4594 11.9255 12.4594 11.9016 12.5625L11.5939 13.8906C11.5414 14.1172 11.3392 14.2773 11.1066 14.2773H10.9025C10.6609 14.2773 10.4536 14.1049 10.4103 13.8672L9.83417 10.6846C9.78595 10.4176 9.99063 10.1721 10.2619 10.1719C10.4766 10.1719 10.6597 10.3288 10.6926 10.541L11.0402 12.7812C11.0572 12.8909 11.2132 12.8955 11.2365 12.7871L11.4992 11.5625C11.5387 11.3781 11.7012 11.2461 11.8898 11.2461H12.1105C12.2997 11.2461 12.4631 11.3784 12.5021 11.5635L12.759 12.7852C12.7819 12.8936 12.9387 12.8896 12.9562 12.7803L13.3088 10.54C13.3421 10.3281 13.5249 10.1719 13.7394 10.1719ZM18.5656 10.1719C18.8373 10.172 19.0428 10.4182 18.9943 10.6855L18.4172 13.8672C18.3739 14.1047 18.1674 14.2771 17.926 14.2773H17.7209C17.4886 14.2773 17.2865 14.1177 17.2336 13.8916L16.923 12.5625C16.899 12.4595 16.7527 12.4595 16.7287 12.5625L16.4201 13.8906C16.3675 14.1172 16.1654 14.2773 15.9328 14.2773H15.7287C15.4871 14.2772 15.2797 14.1048 15.2365 13.8672L14.6603 10.6846C14.6121 10.4175 14.8176 10.1719 15.0891 10.1719C15.3036 10.1721 15.4859 10.329 15.5187 10.541L15.8664 12.7812C15.8834 12.8909 16.0393 12.8955 16.0627 12.7871L16.3254 11.5625C16.3649 11.3781 16.5275 11.2462 16.716 11.2461H16.9367C17.1258 11.2461 17.2893 11.3784 17.3283 11.5635L17.5861 12.7852C17.6092 12.8934 17.7649 12.8895 17.7824 12.7803L18.135 10.54C18.1683 10.3281 18.3511 10.1719 18.5656 10.1719Z" fill={useCurrentColor ? 'currentColor' : '#fff'}/><path opacity=".5" d="M5.91667 5.5C6.42293 5.5 6.83333 5.91041 6.83333 6.41667C6.83333 6.92293 6.42293 7.33333 5.91667 7.33333C5.41041 7.33333 5 6.92293 5 6.41667C5 5.91041 5.41041 5.5 5.91667 5.5ZM8.55924 5.5C9.06551 5.5 9.47591 5.91041 9.47591 6.41667C9.47591 6.92293 9.06551 7.33333 8.55924 7.33333C8.05298 7.33333 7.64258 6.92293 7.64258 6.41667C7.64258 5.91041 8.05298 5.5 8.55924 5.5ZM11.2018 5.5C11.7081 5.5 12.1185 5.91041 12.1185 6.41667C12.1185 6.92293 11.7081 7.33333 11.2018 7.33333C10.6956 7.33333 10.2852 6.92293 10.2852 6.41667C10.2852 5.91041 10.6956 5.5 11.2018 5.5Z" fill={useCurrentColor ? 'currentColor' : '#fff'}/><defs><linearGradient id="svg_7d2622ae42__paint0_linear_35477_1224975" x1="12" y1="3.5" x2="12" y2="20.5" gradientUnits="userSpaceOnUse"><stop offset=".52" stopColor="#5892FF"/><stop offset="1" stopColor="#1E68F3"/></linearGradient><linearGradient id="svg_7d2622ae42__paint1_linear_35477_1224975" x1="12" y1="3.5" x2="12" y2="20.5" gradientUnits="userSpaceOnUse"><stop offset=".52" stopColor="#5892FF"/><stop offset="1" stopColor="#1E68F3"/></linearGradient><linearGradient id="svg_7d2622ae42__paint2_linear_35477_1224975" x1="12" y1="3.5" x2="12" y2="20.5" gradientUnits="userSpaceOnUse"><stop offset=".52" stopColor="#5892FF"/><stop offset="1" stopColor="#1E68F3"/></linearGradient></defs></svg>;
}

const IconAgentWebService = React.forwardRef(IconAgentWebServiceComponent);
export default IconAgentWebService;
