import { forwardRef, useMemo } from 'react';
import { IconProps } from './types';

export const IconBucket24 = forwardRef<SVGSVGElement, IconProps>(
    ({ color = 'currentColor', title, ...props }, svgRef) => {
        const titleId = useMemo(
            () =>
                title
                    ? 'title-' + Math.random().toString(36).substr(2, 9)
                    : undefined,
            [title]
        );
        return (
            <svg
                xmlns="http://www.w3.org/2000/svg"
                width={24}
                height={24}
                fill="none"
                viewBox="0 0 24 24"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <path
                    fill={color}
                    fillRule="evenodd"
                    d="M2.806 11.41a.75.75 0 01-1.106-.66c0-2.37 1.197-4.803 3.034-6.628C6.578 2.291 9.137 1 11.956 1c2.817 0 5.408 1.289 7.285 3.117 1.87 1.822 3.109 4.255 3.109 6.633a.75.75 0 01-1.148.636 5.582 5.582 0 01-.022.065c-.632 2.371-1.08 4.237-1.415 5.638l-.045.186c-.332 1.383-.57 2.376-.784 2.878-.22.518-.633.89-1.096 1.159-.463.268-1.021.459-1.62.598-1.198.277-2.689.375-4.22.375-1.531 0-3.023-.098-4.221-.375-.6-.138-1.159-.329-1.622-.596-.463-.268-.876-.641-1.097-1.16a.748.748 0 01-.036-.107l-2.205-8.599a7.011 7.011 0 01-.013-.038zm.752-2.725c.42-1.241 1.192-2.464 2.233-3.498C7.407 3.582 9.601 2.5 11.956 2.5c2.357 0 4.588 1.084 6.239 2.692 1.072 1.044 1.867 2.277 2.296 3.525-.528-.351-1.25-.643-2.103-.88C16.663 7.36 14.366 7.1 12 7.1c-2.366 0-4.662.26-6.387.738-.827.229-1.531.51-2.055.847zM19.667 9.97c.153.103.236.183.282.238a4.345 4.345 0 01-.03.167c-.049.053-.127.121-.252.205-.342.229-.897.47-1.68.687-1.557.431-3.711.683-5.987.683-2.276 0-4.43-.252-5.987-.683-.782-.217-1.338-.458-1.68-.687a1.468 1.468 0 01-.253-.206l-.029-.165a1.3 1.3 0 01.282-.239c.342-.229.898-.47 1.68-.687C7.57 8.852 9.724 8.6 12 8.6c2.276 0 4.43.252 5.987.683.783.217 1.338.458 1.68.687zm-1.28 2.742c.357-.098.69-.207.997-.325a236.996 236.996 0 00-1.077 4.35l-.045.188c-.352 1.466-.555 2.287-.706 2.64-.053.125-.18.283-.468.449-.288.167-.69.314-1.207.434-1.034.24-2.393.337-3.881.337-1.489 0-2.848-.097-3.884-.336-.517-.12-.92-.267-1.208-.434-.258-.149-.387-.29-.449-.408l-1.852-7.224c.309.12.646.23 1.006.33 1.725.478 4.021.737 6.387.737 2.366 0 4.663-.26 6.388-.737z"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
