import Tooltip from "../Tooltip"; import React, { useState } from "react"; import styled from "styled-components/macro"; const TextWrapper = styled.span<{ margin: boolean; link?: boolean; fontSize?: string; adjustSize?: boolean; }>` cursor: auto; margin-left: ${({ margin }) => margin && "4px"}; color: ${({ theme, link }) => (link ? theme.blue1 : theme.text1)}; font-size: ${({ fontSize }) => fontSize ?? "inherit"}; @media screen and (max-width: 600px) { font-size: ${({ adjustSize }) => adjustSize && "12px"}; } `; const HoverInlineText = ({ text, maxCharacters = 20, margin = false, adjustSize = false, fontSize, link, ...rest }: { text: string; maxCharacters?: number; margin?: boolean; adjustSize?: boolean; fontSize?: string; link?: boolean; }) => { const [showHover, setShowHover] = useState(false); if (!text) { return ; } if (text.length > maxCharacters) { return ( setShowHover(true)} onMouseLeave={() => setShowHover(false)} margin={margin} adjustSize={adjustSize} link={link} fontSize={fontSize} {...rest} > {" " + text.slice(0, maxCharacters - 1) + "..."} ); } return ( {text} ); }; export default HoverInlineText;