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

function IconZipComponent(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 || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-zip${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : 'none'} viewBox="0 0 32 32" {...rest} ref={ref}><path fill={useCurrentColor ? 'currentColor' : '#00B7FF'} fillRule="evenodd" d="M8 2a4 4 0 0 0-4 4v20a4 4 0 0 0 4 4h16a4 4 0 0 0 4-4V12L18 2H8Z" clipRule="evenodd"/><path fill={useCurrentColor ? 'currentColor' : '#fff'} d="M10.56 4.8H8.64a.64.64 0 0 0-.64.64v1.92c0 .354.287.64.64.64h1.92a.64.64 0 0 0 .64-.64V5.44a.64.64 0 0 0-.64-.64Zm3.2 3.2h-1.92a.64.64 0 0 0-.64.64v1.92c0 .354.287.64.64.64h1.92a.64.64 0 0 0 .64-.64V8.64a.64.64 0 0 0-.64-.64Zm-3.2 3.2H8.64a.64.64 0 0 0-.64.64v1.92c0 .353.287.64.64.64h1.92a.64.64 0 0 0 .64-.64v-1.92a.64.64 0 0 0-.64-.64Z" opacity=".8"/><path fill={useCurrentColor ? 'currentColor' : '#fff'} fillRule="evenodd" d="M8 18.24a.64.64 0 0 1 .64-.64h1.92a.64.64 0 0 1 .64.64V20h2.56a.64.64 0 0 1 .64.64v5.12a.64.64 0 0 1-.64.64H8.64a.64.64 0 0 1-.64-.64v-7.52Zm1.6 3.36V24h3.2v-2.4H9.6Z" clipRule="evenodd"/><path fill={useCurrentColor ? 'currentColor' : '#fff'} d="M13.76 14.4h-1.92a.64.64 0 0 0-.64.64v1.92c0 .353.287.64.64.64h1.92a.64.64 0 0 0 .64-.64v-1.92a.64.64 0 0 0-.64-.64Z" opacity=".8"/><path fill={useCurrentColor ? 'currentColor' : '#80DBFF'} d="m18 2 10 10h-6a4 4 0 0 1-4-4V2Z"/></svg>;
}

const IconZip = React.forwardRef(IconZipComponent);
export default IconZip;
