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

function IconRadiationPointComponent(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-radiation-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="M21.7642 16.4532C21.7642 17.0718 21.2628 17.5732 20.6442 17.5732C20.0257 17.5732 19.5242 17.0718 19.5242 16.4532C19.5242 15.8347 20.0257 15.3332 20.6442 15.3332C21.2628 15.3332 21.7642 15.8347 21.7642 16.4532ZM20.6442 19.3332C22.2348 19.3332 23.5242 18.0438 23.5242 16.4532C23.5242 14.8627 22.2348 13.5732 20.6442 13.5732C19.0536 13.5732 17.7642 14.8627 17.7642 16.4532C17.7642 16.4972 17.7652 16.541 17.7672 16.5844C16.905 16.8522 15.9599 16.9993 14.8135 17.1174C14.3847 16.0653 13.3517 15.3237 12.1455 15.3237C10.9462 15.3237 9.91821 16.0567 9.48493 17.0991C8.35478 16.9817 7.40864 16.8809 6.51915 16.6454C6.52332 16.582 6.52544 16.5181 6.52544 16.4537C6.52544 14.8631 5.23602 13.5737 3.64544 13.5737C2.05486 13.5737 0.765438 14.8631 0.765439 16.4537C0.765438 18.0442 2.05486 19.3337 3.64544 19.3337C4.44215 19.3337 5.1633 19.0102 5.6847 18.4873C6.88283 18.8442 8.12781 18.9716 9.38369 19.1002L9.38404 19.1002L9.38471 19.1003L9.38515 19.1003L9.40856 19.1027C9.78619 20.2531 10.8688 21.0837 12.1455 21.0837C13.4152 21.0837 14.493 20.262 14.8762 19.1214C16.1984 18.9899 17.4046 18.813 18.5523 18.4328C19.0773 18.9873 19.8204 19.3332 20.6442 19.3332ZM16.9451 12.8335C15.9753 12.8335 15.1175 12.3541 14.5956 11.6194C14.5416 11.6358 14.4843 11.6523 14.4237 11.6686C13.9275 11.802 13.2135 11.9232 12.2601 11.9232C11.3068 11.9232 10.5828 11.802 10.0786 11.6705C9.94697 11.6361 9.83067 11.6012 9.72948 11.5676C9.21155 12.3313 8.33652 12.833 7.34429 12.833C5.75371 12.833 4.46429 11.5436 4.46429 9.95304C4.46429 8.36246 5.75371 7.07304 7.34429 7.07304C8.81963 7.07304 10.0359 8.18238 10.2044 9.61242L10.2277 9.62187C10.2949 9.64853 10.4129 9.69076 10.5835 9.73526C10.9238 9.82406 11.4782 9.92322 12.2601 9.92322C13.0421 9.92322 13.5813 9.82406 13.9043 9.73718C13.9709 9.71929 14.0285 9.70185 14.0774 9.68579C14.2124 8.2207 15.4448 7.07346 16.9451 7.07346C18.5357 7.07346 19.8251 8.36288 19.8251 9.95346C19.8251 11.544 18.5357 12.8335 16.9451 12.8335ZM7.34429 11.073C7.96285 11.073 8.46429 10.5716 8.46429 9.95304C8.46429 9.33449 7.96285 8.83304 7.34429 8.83304C6.72574 8.83304 6.22429 9.33448 6.22429 9.95304C6.22429 10.5716 6.72574 11.073 7.34429 11.073ZM12.1455 19.3237C12.764 19.3237 13.2655 18.8223 13.2655 18.2037C13.2655 17.5852 12.764 17.0837 12.1455 17.0837C11.5269 17.0837 11.0255 17.5852 11.0255 18.2037C11.0255 18.8223 11.5269 19.3237 12.1455 19.3237ZM4.76544 16.4537C4.76544 17.0722 4.264 17.5737 3.64544 17.5737C3.02688 17.5737 2.52544 17.0722 2.52544 16.4537C2.52544 15.8351 3.02688 15.3337 3.64544 15.3337C4.264 15.3337 4.76544 15.8351 4.76544 16.4537ZM16.9451 11.0735C17.5637 11.0735 18.0651 10.572 18.0651 9.95346C18.0651 9.3349 17.5637 8.83346 16.9451 8.83346C16.3266 8.83346 15.8251 9.3349 15.8251 9.95346C15.8251 10.572 16.3266 11.0735 16.9451 11.0735ZM13.2654 4.00344C13.2654 4.622 12.764 5.12344 12.1454 5.12344C11.5268 5.12344 11.0254 4.622 11.0254 4.00344C11.0254 3.38488 11.5268 2.88344 12.1454 2.88344C12.764 2.88344 13.2654 3.38488 13.2654 4.00344ZM12.1454 6.88344C13.736 6.88344 15.0254 5.59402 15.0254 4.00344C15.0254 2.41286 13.736 1.12344 12.1454 1.12344C10.5548 1.12344 9.26541 2.41286 9.26541 4.00344C9.26541 5.59402 10.5548 6.88344 12.1454 6.88344Z"/></svg>;
}

const IconRadiationPoint = React.forwardRef(IconRadiationPointComponent);
export default IconRadiationPoint;
