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

function IconMiniProgramComponent(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-miniProgram${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 16 16" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path d="M11.1238 1.0024C12.1142 0.966912 13.0784 1.3255 13.805 1.99959C14.5315 2.67368 14.9613 3.6083 15 4.59865C14.9939 5.21619 14.8216 5.82069 14.5013 6.34866C13.9982 7.16474 13.2089 7.7638 12.2875 8.02866C12.0873 8.09634 11.8776 8.13178 11.6663 8.13366C11.5697 8.13367 11.4741 8.11467 11.385 8.07773C11.2958 8.0408 11.2147 7.98667 11.1465 7.91841C11.0782 7.85016 11.0241 7.76913 10.9871 7.67995C10.9502 7.59077 10.9312 7.49518 10.9312 7.39865C10.9312 7.30212 10.9502 7.20654 10.9871 7.11736C11.0241 7.02818 11.0782 6.94715 11.1465 6.8789C11.2147 6.81064 11.2958 6.75651 11.385 6.71958C11.4741 6.68264 11.5697 6.66364 11.6663 6.66365C11.7209 6.67635 11.7778 6.67635 11.8325 6.66365C12.426 6.51108 12.9353 6.13065 13.25 5.6049C13.4314 5.30047 13.5281 4.95304 13.53 4.59865C13.4895 4.00208 13.2166 3.44519 12.7699 3.04763C12.3233 2.65007 11.7385 2.44354 11.1413 2.4724C10.6877 2.47462 10.242 2.59204 9.84626 2.81365C9.52321 2.98151 9.25028 3.23178 9.05513 3.53911C8.85997 3.84644 8.74954 4.19989 8.73501 4.56365V10.7412C8.73187 11.3696 8.5596 11.9855 8.23628 12.5244C7.91296 13.0633 7.45052 13.5052 6.89751 13.8037C6.28269 14.1569 5.58531 14.341 4.87626 14.3374C3.88869 14.373 2.92708 14.0168 2.20101 13.3464C1.47493 12.6761 1.04324 11.7459 1.00001 10.7587C1.0061 10.1411 1.17838 9.53662 1.49876 9.00865C2.00178 8.19257 2.79117 7.59351 3.71251 7.32866C3.9129 7.26167 4.12248 7.22625 4.33376 7.22365C4.52869 7.22365 4.71564 7.30109 4.85348 7.43893C4.99132 7.57677 5.06876 7.76372 5.06876 7.95865C5.06876 8.15359 4.99132 8.34054 4.85348 8.47838C4.71564 8.61622 4.52869 8.69366 4.33376 8.69366C4.27907 8.68096 4.2222 8.68096 4.16751 8.69366C3.57886 8.85614 3.07286 9.23407 2.75001 9.75241C2.56858 10.0568 2.4719 10.4043 2.47001 10.7587C2.48456 11.0595 2.55845 11.3544 2.68745 11.6266C2.81645 11.8987 2.99799 12.1426 3.22164 12.3443C3.44529 12.546 3.70662 12.7015 3.99058 12.8017C4.27455 12.902 4.57555 12.9452 4.87626 12.9287C5.32986 12.9264 5.77547 12.809 6.17126 12.5874C6.4921 12.4177 6.76279 12.1668 6.95626 11.8597C7.14973 11.5526 7.25921 11.2001 7.27376 10.8374V4.7124C7.26017 4.06682 7.42543 3.43006 7.75128 2.87258C8.07712 2.31509 8.55083 1.85862 9.12001 1.55365C9.72441 1.18886 10.4178 0.998101 11.1238 1.0024Z"/></svg>;
}

const IconMiniProgram = React.forwardRef(IconMiniProgramComponent);
export default IconMiniProgram;
