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

export const IconTransformData16 = 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={16}
                height={16}
                fill="none"
                viewBox="0 0 16 16"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <g fill={color}>
                    <path
                        fillRule="evenodd"
                        d="M2.23 6.387l-.96-.275.014-.05.042-.145a116.975 116.975 0 01.62-2.066c.176-.564.362-1.136.52-1.57.079-.214.155-.407.222-.55.033-.07.072-.146.117-.212a.71.71 0 01.108-.127.538.538 0 01.361-.142c.198 0 .325.11.363.144a.705.705 0 01.108.128c.045.066.083.143.115.212.066.145.14.337.216.552.154.434.334 1.005.504 1.57a102.87 102.87 0 01.598 2.066l.04.144.014.05-.482.134-.482.133-.014-.05-.04-.142c-.033-.122-.082-.297-.142-.508l-.059-.206H2.497l-.063.211-.148.508-.04.142-.015.05zm1.392-2.243l.1.333h-.923L2.9 4.15c.125-.398.252-.792.368-1.134.113.34.235.733.354 1.13z"
                        clipRule="evenodd"
                    />
                    <path d="M4.75 6.25l.482-.134a.5.5 0 01-.964.267l.482-.133zM1.27 6.112a.5.5 0 00.96.275l-.96-.275zM11.75 7.75a.75.75 0 001.5 0v-2.5A2.25 2.25 0 0011 3H7.5a.75.75 0 000 1.5H11a.75.75 0 01.75.75v2.5zM4.25 8.25a.75.75 0 00-1.5 0v2.5A2.25 2.25 0 005 13h3.5a.75.75 0 000-1.5H5a.75.75 0 01-.75-.75v-2.5zM12.387 9.5a.5.5 0 01.5.5v1.223l1.108-.63a.508.508 0 01.687.184.492.492 0 01-.182.68l-1.168.664 1.168.665c.24.136.322.44.182.678a.508.508 0 01-.687.184l-1.108-.63v1.232a.5.5 0 01-1 0v-1.307l-1.131.644a.508.508 0 01-.688-.185.492.492 0 01.182-.678l1.06-.603-1.06-.603a.492.492 0 01-.182-.679.508.508 0 01.688-.184l1.131.644V10a.5.5 0 01.5-.5z" />
                </g>
            </svg>
        );
    }
);
