spacedrive/interface/components/TruncatedText.tsx
ameer2468 78eabdd3cb
[ENG-1206] Account page (#1673)
* account page

* Remove spacedrive account from general
2023-10-25 18:29:21 +00:00

22 lines
559 B
TypeScript

import clsx from 'clsx';
import { PropsWithChildren, useRef } from 'react';
import { Tooltip } from '@sd/ui';
import { useIsTextTruncated } from '~/hooks';
export const TruncatedText = ({
children,
className
}: PropsWithChildren<{ className?: string }>) => {
const ref = useRef<HTMLDivElement>(null);
const isTruncated = useIsTextTruncated(ref);
return (
<Tooltip tooltipClassName="max-w-fit" label={isTruncated ? children : undefined} asChild>
<div ref={ref} className={clsx('truncate', className)}>
{children}
</div>
</Tooltip>
);
};