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} ); };