"use client";

import React from "react";
import type { CSSProperties } from "react";

import { useIconSize } from "../contexts/IconSizeContext";

type Props = {
  size?: number;
  color?: string;
  style?: CSSProperties;
};

export default function TextFormat({
  color = "currentcolor",
  size,
  ...props
}: Props) {
  const iconSize = useIconSize();
  const height = size || iconSize.size;
  const width = size || iconSize.size;
  const style = { color, ...props.style };
  return (
    <svg
      {...props}
      data-testid="geist-icon"
      height={height}
      strokeLinejoin="round"
      style={style}
      viewBox="0 0 16 16"
      width={width}
    >
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M2.72027 11.5043L2.21981 13.2149L2.13514 13.5043H0.572266L0.780159 12.7937L3.78017 2.53943L5.21983 2.53943L8.21981 12.7937L8.4277 13.5043H6.86483L6.78016 13.2149L6.27971 11.5043H6.15H2.85H2.72027ZM3.21762 9.80429H5.78236L4.5 5.42105L3.21762 9.80429ZM10.7594 6.03974C11.2413 5.69486 11.8616 5.50427 12.6667 5.50427C13.7453 5.50427 14.5444 5.84624 15.0685 6.41056C15.5776 6.95869 15.75 7.63387 15.75 8.17101L15.75 9.00427V11.2821V13.5043H14.25V13.1109C13.7934 13.3447 13.2165 13.5043 12.5 13.5043C11.7806 13.5043 11.0987 13.2858 10.5841 12.8458C10.0596 12.3974 9.75 11.7513 9.75 11.0043C9.75 9.55377 10.9223 8.25427 12.5 8.25427H12.5067H12.5134H12.5201H12.5268H12.5335H12.5403H12.547H12.5537H12.5604H12.5672H12.5739H12.5807H12.5874H12.5942H12.6009H12.6077H12.6145H12.6212H12.628H12.6348H12.6416H12.6484H12.6552H12.662H12.6687H12.6755H12.6823H12.6891H12.696H12.7028H12.7096H12.7164H12.7232H12.73H12.7369H12.7437H12.7505H12.7573H12.7642H12.771H12.7778H12.7847H12.7915H12.7984H12.8052H12.8121H12.8189H12.8258H12.8326H12.8395H12.8463H12.8532H12.86H12.8669H12.8737H12.8806H12.8875H12.8943H12.9012H12.9081H12.9149H12.9218H12.9287H12.9355H12.9424H12.9493H12.9561H12.963H12.9699H12.9767H12.9836H12.9905H12.9973H13.0042H13.0111H13.0179H13.0248H13.0317H13.0385H13.0454H13.0522H13.0591H13.066H13.0728H13.0797H13.0866H13.0934H13.1003H13.1071H13.114H13.1208H13.1277H13.1345H13.1414H13.1482H13.1551H13.1619H13.1687H13.1756H13.1824H13.1893H13.1961H13.2029H13.2097H13.2166H13.2234H13.2302H13.237H13.2438H13.2507H13.2575H13.2643H13.2711H13.2779H13.2847H13.2915H13.2983H13.305H13.3118H13.3186H13.3254H13.3322H13.3389H13.3457H13.3525H13.3592H13.366H13.3727H13.3795H13.3862H13.393H13.3997H13.4064H13.4131H13.4199H13.4266H13.4333H13.44H13.4467H13.4534H13.4601H13.4668H13.4735H13.4801H13.4868H13.4935H13.5001H13.5068H13.5134H13.5201H13.5267H13.5334H13.54H13.5466H13.5532H13.5598H13.5664H13.573H13.5796H13.5862H13.5928H13.5994H13.6059H13.6125H13.619H13.6256H13.6321H13.6387H13.6452H13.6517H13.6582H13.6647H13.6712H13.6777H13.6842H13.6907H13.6971H13.7036H13.71H13.7165H13.7229H13.7294H13.7358H13.7422H13.7486H13.755H13.7614H13.7678H13.7741H13.7805H13.7869H13.7932H13.7995H13.8059H13.8122H13.8185H13.8248H13.8311H13.8374H13.8437H13.8499H13.8562H13.8624H13.8687H13.8749H13.8811H13.8874H13.8936H13.8997H13.9059H13.9121H13.9183H13.9244H13.9306H13.9367H13.9428H13.9489H13.955H13.9611H13.9672H13.9733H13.9793H13.9854H13.9914H13.9974H14.0035H14.0095H14.0155H14.0214H14.0274H14.0334H14.0393H14.0453H14.0512H14.0571H14.063H14.0689H14.0748H14.0806H14.0865H14.0923H14.0982H14.104H14.1098H14.1156H14.1214H14.1272H14.1329H14.1387H14.1444H14.1501H14.1558H14.1615H14.1672H14.1729H14.1785H14.1842H14.1898H14.1954H14.201H14.2066H14.2122H14.2178H14.2233H14.2288H14.2344H14.2399H14.2454H14.25V8.17101C14.25 7.93037 14.1699 7.64719 13.9695 7.43139C13.7841 7.23178 13.4165 7.00427 12.6667 7.00427C12.1073 7.00427 11.8098 7.13252 11.6323 7.25957C11.4434 7.3947 11.3089 7.58505 11.1597 7.86097L9.84025 7.14757C10.0221 6.81118 10.2887 6.37652 10.7594 6.03974ZM14.25 9.75427H14.2454H14.2399H14.2344H14.2288H14.2233H14.2178H14.2122H14.2066H14.201H14.1954H14.1898H14.1842H14.1785H14.1729H14.1672H14.1615H14.1558H14.1501H14.1444H14.1387H14.1329H14.1272H14.1214H14.1156H14.1098H14.104H14.0982H14.0923H14.0865H14.0806H14.0748H14.0689H14.063H14.0571H14.0512H14.0453H14.0393H14.0334H14.0274H14.0214H14.0155H14.0095H14.0035H13.9974H13.9914H13.9854H13.9793H13.9733H13.9672H13.9611H13.955H13.9489H13.9428H13.9367H13.9306H13.9244H13.9183H13.9121H13.9059H13.8997H13.8936H13.8874H13.8811H13.8749H13.8687H13.8624H13.8562H13.8499H13.8437H13.8374H13.8311H13.8248H13.8185H13.8122H13.8059H13.7995H13.7932H13.7869H13.7805H13.7741H13.7678H13.7614H13.755H13.7486H13.7422H13.7358H13.7294H13.7229H13.7165H13.71H13.7036H13.6971H13.6907H13.6842H13.6777H13.6712H13.6647H13.6582H13.6517H13.6452H13.6387H13.6321H13.6256H13.619H13.6125H13.6059H13.5994H13.5928H13.5862H13.5796H13.573H13.5664H13.5598H13.5532H13.5466H13.54H13.5334H13.5267H13.5201H13.5134H13.5068H13.5001H13.4935H13.4868H13.4801H13.4735H13.4668H13.4601H13.4534H13.4467H13.44H13.4333H13.4266H13.4199H13.4131H13.4064H13.3997H13.393H13.3862H13.3795H13.3727H13.366H13.3592H13.3525H13.3457H13.3389H13.3322H13.3254H13.3186H13.3118H13.305H13.2983H13.2915H13.2847H13.2779H13.2711H13.2643H13.2575H13.2507H13.2438H13.237H13.2302H13.2234H13.2166H13.2097H13.2029H13.1961H13.1893H13.1824H13.1756H13.1687H13.1619H13.1551H13.1482H13.1414H13.1345H13.1277H13.1208H13.114H13.1071H13.1003H13.0934H13.0866H13.0797H13.0728H13.066H13.0591H13.0522H13.0454H13.0385H13.0317H13.0248H13.0179H13.0111H13.0042H12.9973H12.9905H12.9836H12.9767H12.9699H12.963H12.9561H12.9493H12.9424H12.9355H12.9287H12.9218H12.9149H12.9081H12.9012H12.8943H12.8875H12.8806H12.8737H12.8669H12.86H12.8532H12.8463H12.8395H12.8326H12.8258H12.8189H12.8121H12.8052H12.7984H12.7915H12.7847H12.7778H12.771H12.7642H12.7573H12.7505H12.7437H12.7369H12.73H12.7232H12.7164H12.7096H12.7028H12.696H12.6891H12.6823H12.6755H12.6687H12.662H12.6552H12.6484H12.6416H12.6348H12.628H12.6212H12.6145H12.6077H12.6009H12.5942H12.5874H12.5807H12.5739H12.5672H12.5604H12.5537H12.547H12.5403H12.5335H12.5268H12.5201H12.5134H12.5067H12.5C11.7921 9.75427 11.25 10.3402 11.25 11.0043C11.25 11.3145 11.369 11.5434 11.5588 11.7057C11.7585 11.8764 12.0766 12.0043 12.5 12.0043C13.2926 12.0043 13.7319 11.7211 13.9746 11.4829C14.1031 11.3568 14.1874 11.2319 14.2379 11.1426L14.25 11.1208V9.75427Z"
        fill="currentColor"
      />
    </svg>
  );
}
