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

function IconIconSetComponent(props: OriginIconProps, ref: ForwardedRef<SVGSVGElement>) {
    const { prefix: prefixFromContext } = useContext(Context);
    const { className = '', prefix: prefixFromProps, width = '1em', height = '1em', useCurrentColor = false, spin, ...rest } = props;

    const prefix = prefixFromProps || prefixFromContext || 'hkgai';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-IconSet${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 49 48" fill="none" xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><path d="M44 28.5V40.875C44 41.1734 43.8815 41.4595 43.6705 41.6705C43.4596 41.8815 43.1734 42 42.875 42H30.5001C27.7078 42.0007 24.9839 41.1355 22.7039 39.5237C20.4238 37.9118 18.6996 35.6326 17.7688 33H18.5C22.0805 33 25.5142 31.5777 28.046 29.046C30.5777 26.5142 32.0001 23.0804 32.0001 19.5C32.001 17.9751 31.7429 16.4611 31.2369 15.0225C34.6842 15.211 37.9283 16.713 40.3022 19.2198C42.6761 21.7266 43.9994 25.0476 44 28.5Z" fill={useCurrentColor ? 'currentColor' : '#1C1C1C'} fillOpacity=".1"/><path d="M32.2944 13.6106C30.9369 10.4324 28.5236 7.82046 25.4624 6.21633C22.4013 4.61219 18.8801 4.1143 15.4942 4.80682C12.1084 5.49935 9.06547 7.3398 6.88001 10.017C4.69455 12.6943 3.5006 16.044 3.5 19.5V31.875C3.5 32.5712 3.77656 33.2389 4.26884 33.7312C4.76113 34.2234 5.42881 34.5 6.125 34.5H16.7506C17.9212 37.1731 19.8446 39.4476 22.2862 41.0458C24.7278 42.644 27.5819 43.4967 30.5 43.5H42.875C43.5712 43.5 44.2389 43.2234 44.7312 42.7312C45.2234 42.2389 45.5 41.5712 45.5 40.875V28.5C45.4993 24.833 44.1553 21.2933 41.7221 18.5498C39.2889 15.8064 35.9351 14.0493 32.2944 13.6106ZM6.5 19.5C6.5 17.1266 7.20379 14.8065 8.52236 12.8332C9.84094 10.8598 11.7151 9.3217 13.9078 8.41344C16.1005 7.50519 18.5133 7.26755 20.8411 7.73058C23.1689 8.1936 25.3071 9.33649 26.9853 11.0147C28.6635 12.6929 29.8064 14.8311 30.2694 17.1589C30.7324 19.4867 30.4948 21.8995 29.5866 24.0922C28.6783 26.2849 27.1402 28.1591 25.1668 29.4776C23.1935 30.7962 20.8734 31.5 18.5 31.5H6.5V19.5ZM42.5 40.5H30.5C28.3781 40.4976 26.2946 39.9338 24.461 38.8658C22.6274 37.7979 21.109 36.2638 20.06 34.4194C22.1145 34.2062 24.1027 33.5706 25.8999 32.5526C27.6971 31.5345 29.2644 30.156 30.5035 28.5034C31.7427 26.8509 32.6268 24.9601 33.1005 22.9496C33.5742 20.9392 33.6273 18.8525 33.2562 16.8206C35.8874 17.4416 38.2318 18.9328 39.9095 21.0526C41.5872 23.1724 42.5 25.7966 42.5 28.5V40.5Z" fill={useCurrentColor ? 'currentColor' : '#1C1C1C'}/></svg>;
}

const IconIconSet = React.forwardRef(IconIconSetComponent);
export default IconIconSet;
