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

function IconShareComponent(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-share${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 20 20" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path d="M10.0969 1.74202C10.121 1.73396 10.1482 1.72312 10.1783 1.71517L10.1986 1.70947L10.2247 1.70378L10.2361 1.70052C10.2682 1.69338 10.2948 1.68954 10.3028 1.68831C10.3047 1.68803 10.3077 1.6875 10.3077 1.6875C10.3077 1.6875 10.3019 1.68863 10.2947 1.68994C10.3306 1.68347 10.375 1.67648 10.4249 1.67204L10.5168 1.66797L10.6568 1.67122L10.7447 1.67936L10.8765 1.70378L10.8806 1.70459C10.8839 1.70531 10.8914 1.70685 10.8993 1.70866L10.9766 1.729L11.1052 1.77702H11.1085L11.1906 1.81201L11.285 1.8641C11.2874 1.86555 11.2897 1.86704 11.2916 1.86816L11.4543 1.9764L11.4722 1.99023L11.5381 2.04313L11.587 2.08545L18.6207 8.69922L18.7541 8.84001C19.0415 9.1813 19.1667 9.60706 19.1667 10.0005C19.1667 10.4501 19.0039 10.9428 18.6215 11.3026L11.587 17.9155C11.4613 18.0337 11.3233 18.1251 11.1793 18.193L11.1801 18.1938C11.1386 18.2134 11.1019 18.2248 11.0767 18.2329C11.0844 18.2304 11.0936 18.2289 11.1028 18.2256L11.1622 18.2012C11.139 18.2117 11.1098 18.2246 11.0759 18.2378L10.9612 18.2769C10.9275 18.2866 10.8995 18.2922 10.8879 18.2948C10.8849 18.2954 10.8823 18.2968 10.8806 18.2972H10.879L10.7357 18.3232C10.697 18.3281 10.665 18.3299 10.6503 18.3306C10.6435 18.3309 10.6348 18.3314 10.6348 18.3314H10.4875C10.463 18.3303 10.4419 18.33 10.4297 18.3289L10.4289 18.3281L10.2621 18.3045L10.1856 18.2866C10.1535 18.2783 10.1101 18.2662 10.0619 18.2492L9.96343 18.2109L9.85683 18.1597L9.77138 18.1108L9.66477 18.0392L9.60373 17.9928L9.48166 17.883L9.47841 17.8797L9.44586 17.8472L9.36203 17.7503C9.35495 17.7416 9.32369 17.704 9.29367 17.6616C9.27839 17.64 9.26585 17.6204 9.25787 17.6079C9.25375 17.6014 9.24979 17.5956 9.24729 17.5916L9.2424 17.5827C9.2424 17.5827 9.24039 17.5807 9.23752 17.5762C9.23516 17.5725 9.23093 17.5651 9.22613 17.5575L9.183 17.4842C9.15643 17.4348 9.13616 17.3891 9.12196 17.3564C9.12563 17.3646 9.12843 17.3709 9.1301 17.3743C9.12796 17.37 9.12399 17.3619 9.11952 17.3524C9.11524 17.3432 9.11007 17.3309 9.10406 17.3166L9.09836 17.3035C9.0943 17.2939 9.08985 17.284 9.08615 17.2743C9.035 17.1391 9.00086 16.997 8.9828 16.8519L8.97792 16.7982L8.96978 16.6631C8.96882 16.6468 8.96816 16.6305 8.96815 16.6143V14.36C8.70944 14.3543 8.48356 14.3498 8.27317 14.3478L7.88173 14.3486C7.37833 14.3567 7.0391 14.3997 6.67242 14.5155L6.49664 14.5765L6.2232 14.6847C4.88799 15.253 3.98562 16.2115 3.49452 16.9512L3.39035 17.1139L3.38954 17.1131C2.99254 17.7465 2.33526 17.8285 1.8954 17.7161L1.80995 17.6909C1.37097 17.5436 0.8155 17.0675 0.8342 16.2546V16.2472L0.850476 15.7183L0.85129 15.7109L0.875704 15.2113C1.02382 12.7019 1.5465 10.0596 3.20074 8.38021L3.2105 8.37044L3.39035 8.19385L3.5816 8.01725C5.2296 6.54599 7.03148 6.18586 8.96815 6.09749V3.38753L8.96978 3.33789L8.97792 3.2028L8.9828 3.1499C8.99204 3.07568 9.00565 3.00334 9.02268 2.93424L9.0414 2.8667L9.09104 2.71696L9.10975 2.67301L9.11301 2.66406L9.17811 2.52653C9.18887 2.50626 9.1986 2.4894 9.20497 2.47852C9.2082 2.473 9.21123 2.46784 9.21311 2.46468C9.21538 2.46086 9.21629 2.45967 9.21718 2.45817L9.29123 2.34261L9.33518 2.2832L9.42877 2.17334L9.43039 2.1709C9.43188 2.16927 9.43577 2.16584 9.43934 2.16195C9.44657 2.15408 9.45944 2.13938 9.47597 2.12288L9.57932 2.0293C9.58353 2.02557 9.5888 2.01975 9.59478 2.01465C9.60507 2.00588 9.61924 1.9943 9.63628 1.98128L9.71685 1.92513C9.72114 1.9224 9.7268 1.91973 9.72987 1.91781C9.78006 1.88486 9.82859 1.85724 9.87392 1.83398L9.91461 1.81283C9.93613 1.80212 9.97048 1.78612 10.0123 1.76969C10.0342 1.76107 10.0544 1.75387 10.0717 1.74854L10.0831 1.74528C10.0755 1.74757 10.0674 1.75128 10.0586 1.75423C10.0692 1.7504 10.0814 1.74722 10.0945 1.74284C10.1024 1.74063 10.1093 1.73791 10.1156 1.73633L10.0969 1.74202ZM10.6348 6.90641C10.6348 7.36191 10.2691 7.7331 9.81369 7.73975C7.58867 7.77195 5.9987 8.0156 4.54839 9.39258L4.38807 9.54964L4.27007 9.67497C3.12685 10.9394 2.66189 13.0395 2.53261 15.4505C3.25354 14.5633 4.37065 13.5834 5.91965 13.0124L5.93593 13.0067L6.14182 12.9359L6.16135 12.9294L6.37457 12.8667C6.86625 12.7338 7.32596 12.6912 7.85487 12.6828L8.27642 12.6812C8.71633 12.6851 9.21617 12.7021 9.81288 12.7104L9.89752 12.7153C10.3131 12.763 10.6346 13.1159 10.6348 13.543V16.5223L17.4789 10.0884L17.4878 10.0713C17.4945 10.0545 17.5001 10.0297 17.5001 10.0005C17.5 9.97125 17.4945 9.94643 17.4878 9.92969C17.484 9.92005 17.4803 9.91529 17.4789 9.91341L10.6348 3.47868V6.90641ZM9.57199 2.03499C9.5702 2.0366 9.56793 2.03906 9.56793 2.03906C9.56793 2.03906 9.57271 2.03484 9.57932 2.0293C9.57639 2.03188 9.57369 2.03347 9.57199 2.03499ZM10.0945 1.74284C10.0909 1.74384 10.0869 1.74414 10.0831 1.74528C10.0878 1.74385 10.0926 1.74325 10.0969 1.74202L10.0945 1.74284Z"/></svg>;
}

const IconShare = React.forwardRef(IconShareComponent);
export default IconShare;
