import { Tooltip, TooltipContent, TooltipTrigger, } from '@/components/ui/tooltip'; import { ElementType, ReactNode, useRef, useState } from 'react'; export function TruncatedText({ as: Tag = 'div', className, children, tooltip, testId, }: { as?: ElementType; className?: string; children?: ReactNode; tooltip?: ReactNode; testId?: string; }) { const ref = useRef(null); const [open, setOpen] = useState(false); if (tooltip == null) { return ( {children} ); } return ( { const el = ref.current; setOpen(next && el !== null && el.scrollWidth > el.clientWidth); }} > {children} {tooltip} ); }