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

function IconTypeScriptComponent(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-TypeScript${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 15 14" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path d="M6.79 3.73398H4.29333V11.154H2.47333V3.73398H0V2.40398H6.69667V3.73398H6.79ZM12.39 8.91398C12.39 8.74287 12.3589 8.5951 12.2967 8.47065C12.2344 8.34621 12.1489 8.22176 12.04 8.09732C11.9467 8.01954 11.8067 7.93398 11.62 7.84065C11.4956 7.79398 11.2778 7.70843 10.9667 7.58398L10.78 7.51398C9.76889 7.21843 8.96778 6.85287 8.37667 6.41732C7.84778 5.96621 7.58333 5.40621 7.58333 4.73732C7.58333 4.00621 7.90222 3.42287 8.54 2.98732C9.11556 2.55176 9.87778 2.33398 10.8267 2.33398C11.7911 2.33398 12.5844 2.60621 13.2067 3.15065C13.7822 3.66398 14.07 4.29398 14.07 5.04065H12.39C12.39 4.82287 12.3511 4.63621 12.2733 4.48065C12.2111 4.3251 12.1022 4.16954 11.9467 4.01398C11.6356 3.78065 11.2467 3.66399 10.78 3.66399C10.3133 3.66399 9.95555 3.75732 9.70667 3.94398C9.45778 4.13065 9.33333 4.3951 9.33333 4.73732C9.33333 5.01732 9.48111 5.26621 9.77667 5.48398C9.90111 5.57732 10.0878 5.67065 10.3367 5.76398C10.5233 5.84176 10.8189 5.94287 11.2233 6.06732C12.1722 6.34732 12.8956 6.7051 13.3933 7.14065C13.8911 7.56065 14.14 8.15176 14.14 8.91398C14.14 9.28732 14.0622 9.62954 13.9067 9.94065C13.7667 10.2362 13.5567 10.4773 13.2767 10.664C12.6856 11.0995 11.9078 11.3173 10.9433 11.3173C9.91667 11.3173 9.08444 11.0684 8.44667 10.5707C7.71556 9.9951 7.38111 9.2951 7.44333 8.47065H9.19333C9.19333 8.96843 9.36444 9.35732 9.70667 9.63732C9.84667 9.74621 10.0333 9.83176 10.2667 9.89398C10.5 9.95621 10.7489 9.98732 11.0133 9.98732C11.5422 9.98732 11.9078 9.89398 12.11 9.70732C12.2967 9.41176 12.39 9.14732 12.39 8.91398Z"/></svg>;
}

const IconTypeScript = React.forwardRef(IconTypeScriptComponent);
export default IconTypeScript;
