mirror of
https://github.com/spacedriveapp/spacedrive
synced 2024-07-13 06:04:05 +00:00
edda9566b1
* fix tooltip * fix isTruncated
24 lines
588 B
TypeScript
24 lines
588 B
TypeScript
import { RefObject, useState } from 'react';
|
|
import { useMutationObserver } from 'rooks';
|
|
import useResizeObserver from 'use-resize-observer';
|
|
|
|
export const useIsTextTruncated = (element: RefObject<HTMLElement>) => {
|
|
const [truncated, setTruncated] = useState(false);
|
|
|
|
const handleIsTruncated = () => {
|
|
if (!element.current) return;
|
|
setTruncated(element.current.scrollWidth > element.current.clientWidth);
|
|
};
|
|
|
|
useMutationObserver(element, handleIsTruncated, {
|
|
attributes: true
|
|
});
|
|
|
|
useResizeObserver({
|
|
ref: element,
|
|
onResize: handleIsTruncated
|
|
});
|
|
|
|
return truncated;
|
|
};
|