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

function IconSelectAllComponent(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-select-all${loadingKls} ${className}`} width={width} height={height} viewBox="0 0 18 18" fill={useCurrentColor ? 'currentColor' : '#000'} xmlns="http://www.w3.org/2000/svg" {...rest} ref={ref}><g clipPath="url(#svg_f4ab3bd89d__clip0_450_21650)"><path fillRule="evenodd" clipRule="evenodd" d="M5.47748 12.4847L3.62135 14.3406L2.82583 13.5454C2.67938 13.3989 2.44194 13.3989 2.2955 13.5454L1.76517 14.0757C1.61872 14.2221 1.61872 14.4596 1.76517 14.606L3.35616 16.197C3.41248 16.2533 3.48227 16.288 3.55516 16.301L3.59918 16.3062H3.64346C3.73192 16.301 3.8189 16.2646 3.88649 16.197L6.53814 13.5454C6.68458 13.3989 6.68458 13.1615 6.53814 13.015L6.00781 12.4847C5.86136 12.3383 5.62392 12.3383 5.47748 12.4847ZM9.375 13.8749C9.16789 13.8749 9 14.0428 9 14.2499V14.9999C9 15.207 9.16789 15.3749 9.375 15.3749H16.125C16.3321 15.3749 16.5 15.207 16.5 14.9999V14.2499C16.5 14.0428 16.3321 13.8749 16.125 13.8749H9.375ZM5.47748 7.2347L3.62135 9.09062L2.82583 8.29536C2.67938 8.14892 2.44194 8.14892 2.2955 8.29536L1.76517 8.82569C1.61872 8.97214 1.61872 9.20958 1.76517 9.35603L3.35616 10.947C3.41248 11.0033 3.48227 11.038 3.55516 11.051L3.59918 11.0562H3.64346C3.73192 11.051 3.8189 11.0146 3.88649 10.947L6.53814 8.29536C6.68458 8.14892 6.68458 7.91148 6.53814 7.76503L6.00781 7.2347C5.86136 7.08826 5.62392 7.08826 5.47748 7.2347ZM9.375 8.62487C9.16789 8.62487 9 8.79276 9 8.99987V9.74987C9 9.95698 9.16789 10.1249 9.375 10.1249H16.125C16.3321 10.1249 16.5 9.95698 16.5 9.74987V8.99987C16.5 8.79276 16.3321 8.62487 16.125 8.62487H9.375ZM5.47748 2.04904L3.62135 3.90496L2.82583 3.1097C2.67938 2.96326 2.44194 2.96326 2.2955 3.1097L1.76517 3.64003C1.61872 3.78648 1.61872 4.02392 1.76517 4.17036L3.35616 5.76135C3.41248 5.81768 3.48227 5.85234 3.55516 5.86534L3.59918 5.87054H3.64346C3.73192 5.86534 3.8189 5.82895 3.88649 5.76135L6.53814 3.1097C6.68458 2.96326 6.68458 2.72582 6.53814 2.57937L6.00781 2.04904C5.86136 1.9026 5.62392 1.9026 5.47748 2.04904ZM9.375 3.37487C9.16789 3.37487 9 3.54276 9 3.74987V4.49987C9 4.70698 9.16789 4.87487 9.375 4.87487H16.125C16.3321 4.87487 16.5 4.70698 16.5 4.49987V3.74987C16.5 3.54276 16.3321 3.37487 16.125 3.37487H9.375Z"/></g><defs><clipPath id="svg_f4ab3bd89d__clip0_450_21650"><path transform="matrix(-1 0 0 1 18 0)" d="M0 0H18V18H0z"/></clipPath></defs></svg>;
}

const IconSelectAll = React.forwardRef(IconSelectAllComponent);
export default IconSelectAll;
