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

function IconKnowledgeDataSynchronizationComponent(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-knowledge_dataSynchronization${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 16 16" {...rest} ref={ref}><path d="M13.746 7.78c.666 0 1.206.54 1.206 1.205v3.221c0 .666-.54 1.206-1.206 1.206h-1.99v.815h.756a.562.562 0 0 1 0 1.122H9.88a.561.561 0 0 1 0-1.122h.755v-.815H8.646c-.665 0-1.206-.54-1.207-1.206v-3.22c0-.667.542-1.206 1.207-1.207h5.1ZM2.25 9.355c.31 0 .56.252.56.562v2.236c0 .22.179.397.398.398h2.236a.561.561 0 1 1 0 1.122H3.208a1.52 1.52 0 0 1-1.52-1.52V9.918c0-.31.252-.561.562-.562ZM8.646 8.9a.085.085 0 0 0-.084.084v3.221c0 .046.038.083.084.083h5.1a.085.085 0 0 0 .084-.083v-3.22a.085.085 0 0 0-.052-.078l-.033-.007H8.646ZM4.486.75c.854 0 1.654.152 2.261.422.303.134.584.31.796.532.202.213.36.492.377.823h-.001c.002.02.004.042.004.062v3.834c0 .02 0 .041-.003.061a1.302 1.302 0 0 1-.377.824 2.492 2.492 0 0 1-.796.532c-.607.27-1.407.422-2.26.422-.854 0-1.655-.152-2.262-.422a2.489 2.489 0 0 1-.794-.532 1.299 1.299 0 0 1-.378-.822l-.003-.063V2.589c0-.021 0-.043.003-.065a1.3 1.3 0 0 1 .378-.82c.211-.222.491-.398.794-.532C2.832.902 3.633.75 4.486.75Zm2.261 5.173c-.607.27-1.407.422-2.26.422-.854 0-1.655-.152-2.262-.422-.018-.008-.036-.018-.053-.027v.532l.007.018a.34.34 0 0 0 .064.088c.08.083.222.184.439.28.433.193 1.07.326 1.804.326s1.373-.133 1.806-.326c.217-.096.358-.197.437-.28a.336.336 0 0 0 .065-.088c.004-.008.005-.015.006-.018v-.532c-.017.008-.035.019-.053.027Zm5.407-3.596c.84 0 1.52.68 1.52 1.52v2.236a.561.561 0 1 1-1.122 0V3.847a.398.398 0 0 0-.398-.398H9.918a.562.562 0 0 1 0-1.122h2.236ZM6.747 4.006c-.607.27-1.407.422-2.26.422-.854 0-1.655-.152-2.262-.422-.018-.008-.036-.018-.053-.027v.532l.007.018a.34.34 0 0 0 .064.088c.08.083.222.184.439.28.433.193 1.07.326 1.804.326s1.373-.133 1.806-.326c.217-.096.358-.197.437-.28a.336.336 0 0 0 .065-.088c.004-.008.005-.015.006-.018v-.532c-.017.008-.035.019-.053.027Zm-2.26-2.134c-.734 0-1.372.134-1.805.326-.218.097-.36.197-.439.28a.341.341 0 0 0-.064.088c-.004.009-.005.015-.006.019l-.001.003v.006l.007.018a.34.34 0 0 0 .064.088c.08.083.222.184.439.28.433.193 1.07.326 1.804.326s1.373-.133 1.806-.326c.217-.096.358-.197.437-.28a.336.336 0 0 0 .065-.088c.004-.008.005-.015.006-.018v-.01c-.001-.004-.002-.01-.006-.019a.343.343 0 0 0-.065-.086 1.396 1.396 0 0 0-.437-.28c-.433-.193-1.072-.327-1.806-.327Z"/></svg>;
}

const IconKnowledgeDataSynchronization = React.forwardRef(IconKnowledgeDataSynchronizationComponent);
export default IconKnowledgeDataSynchronization;
