import React, { useCallback, useRef, useState } from 'react'; type Props = { text: string; className?: string; }; /** Однострочный текст с ellipsis; полный title при обрезке. */ export function EllipsisText({ text, className }: Props) { const ref = useRef(null); const [title, setTitle] = useState(undefined); const syncTitle = useCallback(() => { const el = ref.current; if (!el) { setTitle(undefined); return; } setTitle(el.scrollWidth > el.clientWidth + 1 ? text : undefined); }, [text]); return (
setTitle(undefined)} > {text}
); }