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

function IconFastForward30Component(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-fast-forward-30${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 16 16" {...rest} ref={ref}><path d="M2.858 4.056a6.481 6.481 0 0 1 6.819-2.315c.334.09.844.248 1.312.397l-.476-.824a.48.48 0 0 1 .832-.48l1.088 1.885a.48.48 0 0 1-.187.692c-.005.003-.01.004-.016.006l-1.867 1.078a.48.48 0 0 1-.48-.831l.972-.561a38.685 38.685 0 0 0-1.426-.434 5.52 5.52 0 1 0 3.903 6.76.48.48 0 0 1 .927.25 6.482 6.482 0 0 1-5.414 4.746A6.48 6.48 0 0 1 2.858 4.056Zm6.458 1.815c.2-.078.424-.116.67-.116.198 0 .38.024.547.074a1.284 1.284 0 0 1 .793.64c.096.166.168.368.219.605.05.235.075.508.075.82v.814c0 .39-.039.722-.116.998a1.739 1.739 0 0 1-.328.666 1.29 1.29 0 0 1-.516.376c-.199.08-.421.12-.667.12-.196 0-.379-.025-.547-.075a1.338 1.338 0 0 1-.797-.65 2.317 2.317 0 0 1-.219-.611 4.014 4.014 0 0 1-.075-.824v-.813c0-.392.039-.723.116-.992.078-.27.189-.49.332-.66a1.27 1.27 0 0 1 .513-.372Zm.328.612a.615.615 0 0 0-.253.232c-.068.107-.12.248-.157.423a3.33 3.33 0 0 0-.052.634v1.052c0 .2.012.378.035.53.022.153.057.284.102.393a.94.94 0 0 0 .164.266.615.615 0 0 0 .226.15.815.815 0 0 0 .284.049c.13 0 .245-.025.345-.075a.63.63 0 0 0 .253-.24c.068-.112.12-.256.153-.434a3.44 3.44 0 0 0 .052-.64V7.772c0-.198-.01-.372-.034-.523a1.545 1.545 0 0 0-.103-.385.773.773 0 0 0-.164-.261.579.579 0 0 0-.226-.147.798.798 0 0 0-.283-.047.757.757 0 0 0-.342.075Zm-4.529-.55c.242-.119.513-.178.814-.178.321 0 .602.054.841.16.241.105.43.263.563.473.135.21.202.469.202.778 0 .142-.033.285-.099.43-.066.147-.164.28-.294.4a1.467 1.467 0 0 1-.386.247c.195.068.354.158.478.273.13.119.225.254.284.407a1.47 1.47 0 0 1-.034 1.108c-.082.18-.2.332-.352.458-.152.125-.332.22-.537.283a2.2 2.2 0 0 1-.663.096c-.214 0-.42-.03-.615-.089a1.678 1.678 0 0 1-.527-.263 1.306 1.306 0 0 1-.368-.441 1.358 1.358 0 0 1-.134-.615h.824c0 .148.034.279.103.393.07.111.168.2.293.263a.969.969 0 0 0 .438.096c.173 0 .322-.031.448-.093a.64.64 0 0 0 .286-.273.877.877 0 0 0 .103-.438.882.882 0 0 0-.113-.471.665.665 0 0 0-.321-.267 1.25 1.25 0 0 0-.492-.088h-.492v-.643h.492c.191 0 .35-.033.475-.1a.648.648 0 0 0 .284-.273.845.845 0 0 0 .092-.4.878.878 0 0 0-.086-.403.577.577 0 0 0-.252-.263.881.881 0 0 0-.428-.093.875.875 0 0 0-.396.09.673.673 0 0 0-.38.622H4.34c0-.265.07-.5.208-.704.14-.205.328-.366.567-.482Z"/></svg>;
}

const IconFastForward30 = React.forwardRef(IconFastForward30Component);
export default IconFastForward30;
