import React, { HTMLAttributes } from 'react';
import styled from 'styled-components';
import useClipboard from 'react-use-clipboard';
import classnames from 'classnames';
import { colors } from '../../../constants';
import FlexCol from '../../layout/FlexCol/FlexCol';
import FlexRow from '../../layout/FlexRow/FlexRow';
import Button from '../../atoms/Button/Button';
interface BankDetailsProps extends HTMLAttributes {
/**Set to null to not render a copy Button */
copyText?: string;
}
const ItemWrapper = styled.div`
border: 1px solid ${colors.greyLighter};
&:first-of-type {
border-top-left-radius: 8px;
border-top-right-radius: 8px;
}
&:last-of-type {
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
box-shadow: 0 1px 0 0 ${colors.greyLight};
}
`;
const CopyText = styled(Button)`
cursor: pointer;
padding: 8px;
&:hover,
&:focus {
background: transparent;
color: ${colors.actionDark};
}
`;
const BankDetails = ({ children, copyText = '', className, ...props }: BankDetailsProps) => {
const [isCopied, setCopied] = useClipboard(copyText, {
successDuration: 2000,
});
return (
{children}
{copyText && (
{
if (isCopied) {
return;
}
setCopied();
}}
>
{isCopied ? 'Copied' : 'Copy'}
)}
);
};
export default BankDetails;