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

function IconOnlineComponent(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-Online${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 14 14" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><g clipPath="url(#svg_54f664c70c__clip0_1434_23179)"><path d="M8.75 0.583344C8.90463 0.583344 9.05273 0.644947 9.16211 0.754242L12.0791 3.67123C12.1884 3.78061 12.25 3.92871 12.25 4.08334V11.6664C12.25 12.1304 12.0654 12.5755 11.7373 12.9037C11.4091 13.2318 10.9641 13.4164 10.5 13.4164H3.5C3.17784 13.4164 2.917 13.1555 2.91699 12.8333C2.91699 12.5112 3.17783 12.2503 3.5 12.2503H10.5C10.6546 12.2503 10.8027 12.1886 10.9121 12.0794C11.0215 11.97 11.083 11.8211 11.083 11.6664V5.25034H9.33301C8.869 5.25025 8.42381 5.06575 8.0957 4.73764C7.76759 4.40953 7.5831 3.96434 7.58301 3.50034V1.75034H3.5C3.34529 1.75034 3.19729 1.81184 3.08789 1.92123C2.9785 2.03063 2.91699 2.17864 2.91699 2.33334V4.08334C2.91699 4.4055 2.65517 4.66635 2.33301 4.66635C2.01099 4.66618 1.75001 4.4054 1.75 4.08334V2.33334C1.75 1.86922 1.93451 1.42423 2.2627 1.09604C2.59088 0.76785 3.03587 0.583344 3.5 0.583344H8.75ZM4.03418 5.45151C5.30043 5.45154 6.29543 6.41057 6.43555 7.58041C7.08097 7.80032 7.56941 8.35458 7.69434 9.04135C7.90657 10.2096 7.00867 11.2845 5.82129 11.2845H1.94434C0.870499 11.2845 0 10.414 0 9.34018C0.000226652 8.36355 0.720877 7.55548 1.65918 7.41733C1.86883 6.31131 2.84044 5.45151 4.03418 5.45151ZM4.03418 6.6185C3.41934 6.6185 2.91342 7.06068 2.80469 7.63412L2.65039 8.45053L1.8291 8.57065C1.45493 8.62574 1.16722 8.95068 1.16699 9.34018C1.16699 9.7697 1.51483 10.1184 1.94434 10.1185H5.82129C6.28088 10.1185 6.62811 9.70154 6.5459 9.24936C6.49745 8.98419 6.30904 8.76893 6.05957 8.68393L5.36426 8.4476L5.27734 7.71909C5.20447 7.11097 4.68512 6.61853 4.03418 6.6185ZM8.75 3.50034C8.75009 3.65492 8.81158 3.80313 8.9209 3.91245C9.03022 4.02176 9.17842 4.08326 9.33301 4.08334H10.8418L8.75 1.99155V3.50034Z"/></g><defs><clipPath id="svg_54f664c70c__clip0_1434_23179"><path d="M0 0H14V14H0z"/></clipPath></defs></svg>;
}

const IconOnline = React.forwardRef(IconOnlineComponent);
export default IconOnline;
