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

function IconBackward15sComponent(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-Backward15s${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 d="M12 2C13.9778 2 15.9112 2.58673 17.5557 3.68555C19.2001 4.78434 20.4824 6.34567 21.2393 8.17285C21.9961 10.0001 22.1935 12.0114 21.8076 13.9512C21.4217 15.8909 20.4697 17.6728 19.0713 19.0713C17.6728 20.4697 15.8909 21.4217 13.9512 21.8076C12.0114 22.1935 10.0001 21.9961 8.17285 21.2393C6.34567 20.4824 4.78434 19.2001 3.68555 17.5557C2.58673 15.9112 2 13.9778 2 12C2 11.4477 2.44772 11 3 11C3.55228 11 4 11.4477 4 12C4 13.5823 4.46958 15.1287 5.34863 16.4443C6.22764 17.7599 7.47676 18.7851 8.93848 19.3906C10.4002 19.9961 12.0088 20.1553 13.5605 19.8467C15.1124 19.538 16.5384 18.776 17.6572 17.6572C18.776 16.5384 19.538 15.1124 19.8467 13.5605C20.1553 12.0088 19.9961 10.4002 19.3906 8.93848C18.7851 7.47676 17.7599 6.22764 16.4443 5.34863C15.1293 4.46994 13.5835 4.00039 12.002 4C9.74462 4.00896 7.57808 4.88999 5.95508 6.45898L5.41406 7H6C6.55228 7 7 7.44772 7 8C7 8.55228 6.55228 9 6 9H3C2.94333 9 2.88808 8.99343 2.83398 8.98438C2.82358 8.98263 2.81309 8.98157 2.80273 8.97949C2.79123 8.97719 2.77991 8.97437 2.76855 8.97168C2.74799 8.9668 2.72732 8.96225 2.70703 8.95605C2.65838 8.94116 2.61159 8.92219 2.56641 8.90039C2.54456 8.88987 2.52314 8.87841 2.50195 8.86621C2.34117 8.77356 2.20849 8.63811 2.12012 8.47461C2.11269 8.46086 2.10634 8.44663 2.09961 8.43262C2.0778 8.38731 2.05783 8.34077 2.04297 8.29199C2.02779 8.24208 2.01795 8.19096 2.01074 8.13965C2.00435 8.09397 2 8.04744 2 8V5C2 4.44772 2.44772 4 3 4C3.55228 4 4 4.44772 4 5V5.58594L4.55273 5.0332L4.94629 4.66992C6.89242 2.96203 9.39524 2.00982 11.9961 2H12Z"/><path fillRule="evenodd" clipRule="evenodd" d="M9.7002 8.66016C9.81056 8.66026 9.90039 8.74996 9.90039 8.86035V16L9.89551 16.04C9.87694 16.1312 9.79682 16.2001 9.7002 16.2002H8.53027C8.41982 16.2002 8.33008 16.1105 8.33008 16V10.6855C7.93916 10.9648 7.4818 11.1804 6.95508 11.332C6.89475 11.3493 6.82944 11.3376 6.7793 11.2998C6.72926 11.262 6.7002 11.2024 6.7002 11.1396V9.98047C6.7002 9.8887 6.76253 9.80839 6.85156 9.78613C7.15099 9.71127 7.47494 9.57827 7.82324 9.38477C8.16951 9.17251 8.4524 8.95436 8.67578 8.72168L8.70605 8.69531C8.73924 8.67235 8.77934 8.66016 8.82031 8.66016H9.7002Z"/><path d="M15.8711 8.66016C15.9816 8.66016 16.0713 8.74989 16.0713 8.86035V9.88965C16.0713 10.0001 15.9816 10.0898 15.8711 10.0898H12.6416L12.5059 11.418C12.6542 11.3201 12.8135 11.2403 12.9863 11.1807C13.2706 11.0724 13.5836 11.0195 13.9219 11.0195C14.5501 11.0196 15.0913 11.2024 15.5264 11.5723L15.7061 11.7422C16.1692 12.2275 16.4014 12.8911 16.4014 13.7002L16.3877 13.9932C16.3208 14.6606 16.02 15.2185 15.4902 15.6631L15.4873 15.666C14.9297 16.1163 14.2744 16.3398 13.5215 16.3398C12.8327 16.3398 12.2289 16.1487 11.7305 15.7695C11.163 15.3433 10.8559 14.7589 10.8018 14.0449C10.7976 13.9895 10.8167 13.9343 10.8545 13.8936C10.8923 13.8528 10.9463 13.8301 11.002 13.8301H12.1514C12.227 13.8301 12.2942 13.8722 12.3281 13.9355L12.3496 14.0049C12.3946 14.3552 12.5249 14.5887 12.7295 14.7383C12.9058 14.8664 13.1704 14.9501 13.5312 14.9502C13.9067 14.9502 14.218 14.8352 14.4678 14.6113C14.7017 14.393 14.832 14.0986 14.832 13.71C14.832 13.3212 14.7398 13.0212 14.583 12.8018L14.5117 12.7129L14.5098 12.71C14.3197 12.4883 14.0244 12.3701 13.6016 12.3701C13.3114 12.3701 13.0743 12.417 12.8906 12.5088L12.8877 12.5107C12.6764 12.6123 12.5169 12.7626 12.3965 12.9775C12.3611 13.0407 12.294 13.08 12.2217 13.0801H11.1318C11.0755 13.0801 11.0213 13.0564 10.9834 13.0146C10.9455 12.9729 10.9272 12.9165 10.9326 12.8604L11.3223 8.84082L11.3438 8.76953C11.377 8.70428 11.4443 8.66019 11.5215 8.66016H15.8711Z"/></svg>;
}

const IconBackward15s = React.forwardRef(IconBackward15sComponent);
export default IconBackward15s;
