Preview:
function OverflownText({ children, ...props }) {
    const ref = useRef(null);
    const [isOverflown, setIsOverflown] = useState(false)
    useEffect(() => {
      const element = ref.current!;
      setIsOverflown(element.scrollWidth > element.clientWidth);
    }, []);

    return (
      <Tooltip label={children} isDisabled={!isOverflown}>
        <Box position="relative" isTruncated ref={ref} {...props}>
          {children}
        </Box>
      </Tooltip>
    );
  }
);
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter