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

function IconRoleManagementComponent(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-role-management${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 20 20" {...rest} ref={ref}><path fillRule="evenodd" d="M17.75 3.42829C17.75 2.64 17.0725 2 16.2372 2H3.76283C2.92745 2 2.25 2.64 2.25 3.42829V16.5717C2.25 17.36 2.92745 18 3.76283 18H16.2372C17.0725 18 17.75 17.36 17.75 16.5717V3.42829ZM8.3908 7.31475C8.86231 6.9977 9.41766 6.82847 9.98585 6.82868C10.5539 6.82862 11.109 6.9987 11.5804 7.31571C12.0517 7.63272 12.4178 8.08306 12.632 8.60918C12.8461 9.1353 12.8985 9.71332 12.7825 10.2694C12.6665 10.8254 12.3874 11.3343 11.9808 11.7309C12.7855 12.1095 13.4658 12.7093 13.9424 13.4602C14.4189 14.211 14.6719 15.082 14.6719 15.9713C14.6719 16.1533 14.5996 16.3278 14.471 16.4564C14.3423 16.5851 14.1678 16.6574 13.9859 16.6574C13.8039 16.6574 13.6294 16.5851 13.5007 16.4564C13.3721 16.3278 13.2998 16.1533 13.2998 15.9713C13.2998 15.5361 13.2141 15.1052 13.0475 14.7031C12.881 14.3011 12.6369 13.9357 12.3292 13.628C12.0214 13.3203 11.6561 13.0762 11.254 12.9096C10.852 12.7431 10.421 12.6574 9.98585 12.6574C9.55066 12.6574 9.11973 12.7431 8.71766 12.9096C8.31559 13.0762 7.95027 13.3203 7.64254 13.628C7.33481 13.9357 7.0907 14.3011 6.92416 14.7031C6.75762 15.1052 6.6719 15.5361 6.6719 15.9713C6.6719 16.1533 6.59962 16.3278 6.47096 16.4564C6.3423 16.5851 6.16781 16.6574 5.98585 16.6574C5.8039 16.6574 5.6294 16.5851 5.50074 16.4564C5.37208 16.3278 5.2998 16.1533 5.2998 15.9713C5.29968 15.082 5.55266 14.211 6.02921 13.4601C6.50575 12.7092 7.18616 12.1094 7.99093 11.7309C7.58403 11.3343 7.30465 10.8254 7.1885 10.2692C7.07234 9.71303 7.1247 9.13483 7.33887 8.60855C7.55303 8.08226 7.91928 7.6318 8.3908 7.31475ZM10.5649 8.30316C10.3807 8.23054 10.1838 8.19546 9.98585 8.2C9.59773 8.2089 9.2285 8.36933 8.95714 8.64697C8.68579 8.92462 8.53386 9.29743 8.53386 9.68566C8.53386 10.0739 8.68579 10.4467 8.95714 10.7243C9.2285 11.002 9.59773 11.1624 9.98585 11.1713C10.1838 11.1759 10.3807 11.1408 10.5649 11.0682C10.7491 10.9955 10.917 10.8868 11.0586 10.7484C11.2002 10.61 11.3127 10.4447 11.3896 10.2622C11.4664 10.0797 11.506 9.88368 11.506 9.68566C11.506 9.48764 11.4664 9.29162 11.3896 9.10912C11.3127 8.92661 11.2002 8.7613 11.0586 8.62289C10.917 8.48449 10.7491 8.37578 10.5649 8.30316ZM8.94 3.4H11.0317C11.2091 3.4 11.3785 3.47047 11.5039 3.59591C11.6293 3.72135 11.6998 3.89148 11.6998 4.06888V4.10244C11.6998 4.27984 11.6293 4.44997 11.5039 4.57541C11.3785 4.70085 11.2083 4.77132 11.0309 4.77132H8.94078C8.57083 4.77132 8.2719 4.47239 8.2719 4.10244V4.06888C8.2719 3.89162 8.34227 3.7216 8.46754 3.59619C8.59281 3.47077 8.76274 3.40021 8.94 3.4Z" clipRule="evenodd"/></svg>;
}

const IconRoleManagement = React.forwardRef(IconRoleManagementComponent);
export default IconRoleManagement;
