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;