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

export const IconTransformData24 = 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}
                    d="M19.25 12.5A2.75 2.75 0 0 1 22 15.25v4A2.75 2.75 0 0 1 19.25 22h-4a2.75 2.75 0 0 1-2.75-2.75v-4a2.75 2.75 0 0 1 2.75-2.75zm-4 1.5c-.69 0-1.25.56-1.25 1.25v4c0 .69.56 1.25 1.25 1.25h4c.69 0 1.25-.56 1.25-1.25v-4c0-.69-.56-1.25-1.25-1.25zm2.012.625a.5.5 0 0 1 .5.5v1.224l1.107-.63a.51.51 0 0 1 .688.183.49.49 0 0 1-.182.68l-1.168.664 1.168.664c.24.137.321.44.182.679a.51.51 0 0 1-.688.184l-1.107-.63v1.232a.5.5 0 1 1-1 0v-1.308l-1.132.645a.507.507 0 0 1-.687-.185.49.49 0 0 1 .182-.678l1.06-.603-1.06-.603a.49.49 0 0 1-.182-.68.507.507 0 0 1 .687-.183l1.132.644v-1.299a.5.5 0 0 1 .5-.5M5.75 12a.75.75 0 0 1 .75.75v3.5c0 .69.56 1.25 1.25 1.25h3.5a.75.75 0 0 1 0 1.5h-3.5A2.75 2.75 0 0 1 5 16.25v-3.5a.75.75 0 0 1 .75-.75m10.5-7A2.75 2.75 0 0 1 19 7.75v3.5a.75.75 0 0 1-1.5 0v-3.5c0-.69-.56-1.25-1.25-1.25h-3.5a.75.75 0 0 1 0-1.5zm-7.5-3a2.75 2.75 0 0 1 2.75 2.75v4a2.75 2.75 0 0 1-2.75 2.75h-4A2.75 2.75 0 0 1 2 8.75v-4A2.75 2.75 0 0 1 4.75 2zm-4 1.5c-.69 0-1.25.56-1.25 1.25v4c0 .69.56 1.25 1.25 1.25h4C9.44 10 10 9.44 10 8.75v-4c0-.69-.56-1.25-1.25-1.25zm2.024.5c.198 0 .325.11.363.145a.7.7 0 0 1 .108.127c.044.067.083.143.115.212.067.144.14.337.216.552.154.434.334 1.005.504 1.57s.334 1.13.454 1.554l.144.512.04.144.013.05a.501.501 0 0 1-.963.267l-.014-.05-.04-.142c-.033-.122-.082-.297-.142-.507l-.06-.207H5.998l-.062.211-.149.507-.04.143-.016.05a.5.5 0 0 1-.96-.276l.014-.05.041-.144a130 130 0 0 1 .621-2.067c.177-.565.362-1.137.52-1.57.078-.214.155-.407.222-.55.033-.07.072-.147.117-.212a.7.7 0 0 1 .108-.126A.54.54 0 0 1 6.774 4M6.77 5.765a47 47 0 0 0-.47 1.463h.923l-.1-.333c-.12-.397-.24-.79-.353-1.13"
                />
            </svg>
        );
    }
);
