on 433bf9e help sign in
bridge/src/components/CopiableWithTooltip.js
31 lines 737 B history raw
1import React from 'react';
2import cn from 'classnames';
3import Tooltip from 'react-simple-tooltip';
4import { ReactComponent as Copy } from 'assets/copy.svg';
6import useCopiable from 'lib/useCopiable';
8export default function CopiableWithTooltip({
9 as: As = 'span',
10 text,
11 children,
12 className,
13 ...rest
14}) {
15 const [doCopy, didCopy] = useCopiable(text || children);
17 return (
18 <As className={cn(className, 'nowrap')} {...rest}>
19 {children}
20 <Tooltip
21 content={didCopy ? 'Copied!' : 'Copy'}
22 customCss={{ whitespace: 'nowrap' }}>
23 <Copy
24 style={{ height: '1em', width: '1em' }}
25 className="ml1 pointer"
26 onClick={doCopy}
27 />
28 </Tooltip>
29 </As>
30 );