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

function IconScatterPointComponent(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-scatter-point${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 24 24" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path fillRule="evenodd" clipRule="evenodd" d="M19.6956 7.38987C19.1599 7.08059 18.4749 7.26413 18.1656 7.79982C17.8564 8.3355 18.0399 9.02049 18.5756 9.32976C19.1113 9.63904 19.7963 9.4555 20.1055 8.91982C20.4148 8.38413 20.2313 7.69915 19.6956 7.38987ZM17.6956 10.854C16.6163 10.2308 16.0929 9.01461 16.2994 7.85465L14.0629 6.56341C13.1617 7.32225 11.8467 7.4771 10.7674 6.85397C9.3899 6.05868 8.91794 4.2973 9.71323 2.91982C10.5085 1.54233 12.2699 1.07037 13.6474 1.86566C14.7909 2.5259 15.3104 3.85198 14.9988 5.07147L17.1236 6.29818C18.0239 5.41859 19.432 5.20542 20.5756 5.86566C21.9531 6.66095 22.425 8.42233 21.6297 9.79982C20.8344 11.1773 19.0731 11.6493 17.6956 10.854ZM13.0131 11.3225C12.7038 10.7868 12.0189 10.6033 11.4832 10.9125C10.9475 11.2218 10.7639 11.9068 11.0732 12.4425C11.3825 12.9782 12.0675 13.1617 12.6032 12.8524C13.1389 12.5432 13.3224 11.8582 13.0131 11.3225ZM10.6032 9.38833C11.9807 8.59304 13.742 9.065 14.5373 10.4425C14.9041 11.0778 15.0014 11.7947 14.8645 12.4609L17.0593 13.7281C17.2021 13.6016 17.3597 13.4874 17.5314 13.3883C18.9089 12.593 20.6702 13.065 21.4655 14.4425C22.2608 15.82 21.7889 17.5813 20.4114 18.3766C19.0339 19.1719 17.2725 18.7 16.4772 17.3225C16.0992 16.6677 16.0075 15.9263 16.1633 15.243L14.0016 13.995C13.8467 14.1383 13.6736 14.2667 13.4832 14.3766C12.1057 15.1719 10.3443 14.7 9.54902 13.3225C9.171 12.6677 9.0793 11.9263 9.23506 11.243L7.11569 10.0194C6.95634 10.1694 6.77725 10.3035 6.5795 10.4176C5.20202 11.2129 3.44064 10.741 2.64535 9.36349C1.85006 7.986 2.32202 6.22462 3.6995 5.42933C5.07699 4.63404 6.83837 5.106 7.63366 6.48349C7.99604 7.11115 8.09531 7.81851 7.96569 8.47787L10.1311 9.72806C10.2739 9.60156 10.4315 9.48744 10.6032 9.38833ZM6.10945 7.36349C5.80017 6.8278 5.11519 6.64426 4.5795 6.95354C4.04382 7.26282 3.86028 7.9478 4.16956 8.48349C4.47884 9.01918 5.16382 9.20272 5.6995 8.89344C6.23519 8.58416 6.41873 7.89917 6.10945 7.36349ZM11.2374 3.79982C11.5467 3.26413 12.2317 3.08059 12.7674 3.38987C13.3031 3.69915 13.4866 4.38413 13.1773 4.91982C12.8681 5.4555 12.1831 5.63904 11.6474 5.32976C11.1117 5.02049 10.9282 4.3355 11.2374 3.79982ZM18.4114 14.9125C18.9471 14.6033 19.632 14.7868 19.9413 15.3225C20.2506 15.8582 20.0671 16.5432 19.5314 16.8524C18.9957 17.1617 18.3107 16.9782 18.0014 16.4425C17.6922 15.9068 17.8757 15.2218 18.4114 14.9125ZM11.4454 19.4395C11.7547 18.9038 12.4397 18.7203 12.9754 19.0296C13.5111 19.3389 13.6946 20.0238 13.3853 20.5595C13.0761 21.0952 12.3911 21.2788 11.8554 20.9695C11.3197 20.6602 11.1362 19.9752 11.4454 19.4395ZM9.56879 19.5571C9.39175 20.698 9.91554 21.8818 10.9754 22.4937C12.3529 23.289 14.1143 22.817 14.9095 21.4395C15.7048 20.0621 15.2329 18.3007 13.8554 17.5054C12.6932 16.8344 11.2577 17.0655 10.3597 17.9815L8.26272 16.7708C8.60701 15.5351 8.08941 14.1764 6.92719 13.5054C5.5497 12.7101 3.78832 13.1821 2.99303 14.5595C2.19774 15.937 2.6697 17.6984 4.04719 18.4937C5.10704 19.1056 6.39415 18.9673 7.29363 18.2436L9.56879 19.5571ZM6.04719 15.0296C5.5115 14.7203 4.82652 14.9038 4.51724 15.4395C4.20796 15.9752 4.3915 16.6602 4.92719 16.9695C5.46287 17.2788 6.14786 17.0952 6.45714 16.5595C6.76642 16.0238 6.58288 15.3389 6.04719 15.0296Z"/></svg>;
}

const IconScatterPoint = React.forwardRef(IconScatterPointComponent);
export default IconScatterPoint;
