import React from 'react'; import cn from 'classnames'; import { LinkButton } from 'indigo-react'; import { ForwardButton } from 'components/Buttons'; import useCopiable from 'lib/useCopiable'; const renderDefaultCopyText = didCopy => (didCopy ? 'Copied!' : 'Copy'); export default function CopyButton({ as: As = LinkButton, text, children = renderDefaultCopyText, className, ...rest }) { const [doCopy, didCopy] = useCopiable(text); return ( {children(didCopy)} ); } export function CopyButtonWide({ as: As = ForwardButton, text, children, accessory = renderDefaultCopyText, ...rest }) { const [doCopy, didCopy] = useCopiable(text); return ( {accessory(didCopy)} } {...rest}> {children} ); }