import React, { Component } from 'react'; import copy from 'clipboard-copy'; import styled from 'styled-components'; import remcalc from 'remcalc'; import { Col, Row } from 'joyent-react-styled-flexboxgrid'; import { Margin } from 'styled-components-spacing'; import { FormLabel, Input } from '..'; import { default as Tooltip, Container as TooltipContainer, Target as TooltipTarget } from '../tooltip'; import { Clipboard } from '../icons'; const InputIconWrapper = styled.div` display: flex; align-items: center; input { padding-right: ${remcalc(30)}; } div { position: relative; left: ${remcalc(-26)}; } `; const ClipboardIconActionable = styled(Clipboard)` cursor: pointer; `; class CopyToClipboardTooltip extends Component { constructor() { super(); this.state = { copied: false }; } handleClick = () => { const { children: text } = this.props; copy(text); this.setState( { copied: true }, () => { setTimeout(() => { this.setState({ copied: false }); }, 4000); } ); }; render = () => ( {this.state.copied ? 'Copied To Clipboard' : 'Copy To Clipboard'} ); } const CopiableField = ({ md, label, text, ...rest }) => ( {label ? {label} : null} {text} ); export default CopiableField;