/
alt3rmann
/
label-studio
Обзор
Документация
Войти
/
alt3rmann
/
label-studio
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
web/apps/labelstudio/src/components/CopyableTooltip/CopyableTooltip.jsx
22 строки
724 B
yyassi-heartex
fix: OPTIC-1748: [Timebox] UI polish (#7149)
10 мар 2025, 18:57
Не верифицирован
10 мар 2025, 18:57
fb93625
Код
Авторство
О чём код?
import { Children, cloneElement, forwardRef, useCallback } from "react"; import { useCopyText } from "../../hooks/useCopyText"; import { Tooltip } from "@humansignal/ui"; export const CopyableTooltip = forwardRef(({ children, title, textForCopy, ...restProps }, ref) => { const [copied, copyText] = useCopyText({ defaultText: textForCopy }); const clickHandler = useCallback((e) => { e.preventDefault(); e.stopPropagation(); copyText(); }, []); const child = Children.only(children); const clone = cloneElement(child, { ...child.props, ref, onClick: clickHandler, }); return <Tooltip title={copied ? "Copied!" : title} onClick={clickHandler} {...restProps} children={clone} />; });