import * as React from 'react';
import { CopyToClipboard } from 'react-copy-to-clipboard';
import Highlight, { defaultProps, Language } from 'prism-react-renderer';
import { View, Text, Button } from '@aws-amplify/ui-react';
import classNames from 'classnames';
export const CodeHighlight = ({
className = '',
code = '',
language = 'jsx',
withLines = false,
withCopy = false,
...rest
}) => {
const [copied, setCopied] = React.useState(false);
const copy = () => {
setCopied(true);
setTimeout(() => {
setCopied(false);
}, 2000);
};
return (
<>
{({
className: prismClassName,
style,
tokens,
getLineProps,
getTokenProps,
}) => (
{tokens.map((line, i) => (
{line.map((token, key) => (
))}
))}
)}
{withCopy ? (
) : null}
>
);
};