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

function IconHBrowserComponent(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 || 'font';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-H-Browser${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="M9.24405 4.48969C8.16423 4.88595 7.17209 5.5142 6.34315 6.34315C5.08052 7.60577 4.28353 9.247 4.06272 11H8.01766C8.09487 8.82653 8.42174 6.84474 8.92993 5.32004C9.02603 5.03172 9.1306 4.7537 9.24405 4.48969ZM12 2C9.34784 2 6.8043 3.05357 4.92893 4.92893C3.05357 6.8043 2 9.34784 2 12C2 14.6522 3.05357 17.1957 4.92893 19.0711C6.8043 20.9464 9.34784 22 12 22C14.6522 22 17.1957 20.9464 19.0711 19.0711C20.9464 17.1957 22 14.6522 22 12C22 9.34784 20.9464 6.8043 19.0711 4.92893C17.1957 3.05357 14.6522 2 12 2ZM12 4C12 4 12.0059 4.00018 12.0153 4.00306C12.0264 4.00645 12.0485 4.01483 12.0814 4.03508C12.1506 4.07753 12.2546 4.16411 12.3824 4.32629C12.6426 4.65651 12.9207 5.19631 13.1727 5.95246C13.6028 7.24281 13.9045 9.00297 13.981 11H10.019C10.0955 9.00297 10.3972 7.24281 10.8273 5.95246C11.0793 5.19631 11.3574 4.65651 11.6176 4.32629C11.7454 4.16411 11.8494 4.07753 11.9186 4.03508C11.9515 4.01483 11.9736 4.00645 11.9847 4.00306C11.9948 3.99998 12 4 12 4ZM8.01766 13H4.06272C4.28353 14.753 5.08052 16.3942 6.34315 17.6569C7.17209 18.4858 8.16423 19.114 9.24404 19.5103C9.1306 19.2463 9.02603 18.9683 8.92993 18.68C8.42174 17.1553 8.09487 15.1735 8.01766 13ZM11.9998 20C11.9998 20 11.9943 19.9999 11.9847 19.9969C11.9736 19.9935 11.9515 19.9852 11.9186 19.9649C11.8494 19.9225 11.7454 19.8359 11.6176 19.6737C11.3574 19.3435 11.0793 18.8037 10.8273 18.0475C10.3972 16.7572 10.0955 14.997 10.019 13H13.981C13.9045 14.997 13.6028 16.7572 13.1727 18.0475C12.9207 18.8037 12.6426 19.3435 12.3824 19.6737C12.2546 19.8359 12.1506 19.9225 12.0814 19.9649C12.0485 19.9852 12.0264 19.9935 12.0153 19.9969C12.0144 19.9972 12.0135 19.9975 12.0127 19.9977C12.0043 20 11.9998 20 11.9998 20C12.9492 20 13.8814 19.8312 14.756 19.5103C15.8358 19.114 16.8279 18.4858 17.6569 17.6569C18.9195 16.3942 19.7165 14.753 19.9373 13H15.9823C15.9051 15.1735 15.5783 17.1553 15.0701 18.68C14.974 18.9683 14.8694 19.2463 14.756 19.5103M15.9823 11C15.9051 8.82653 15.5783 6.84474 15.0701 5.32004C14.974 5.03172 14.8694 4.7537 14.756 4.48969C15.8358 4.88595 16.8279 5.5142 17.6569 6.34315C18.9195 7.60577 19.7165 9.247 19.9373 11H15.9823Z"/><path d="M12.0127 19.9977C12.0043 20 11.9998 20 11.9998 20C12.9492 20 13.8814 19.8312 14.756 19.5103L13.3779 19.7552L12.0127 19.9977Z"/></svg>;
}

const IconHBrowser = React.forwardRef(IconHBrowserComponent);
export default IconHBrowser;
