import * as React from 'react'; import Highlight, { defaultProps } from 'prism-react-renderer'; import { Divider, Flex, View, useTheme } from '@aws-amplify/ui-react'; import { CopyButton } from './CopyButton'; interface DemoProps { children: React.ReactNode; propControls?: React.ReactNode; themeControls?: React.ReactNode; code: string; childrenOverflow?: React.CSSProperties['overflow']; } export const Demo = ({ children, childrenOverflow = 'auto', propControls, themeControls, code, }: DemoProps) => { const [copied, setCopied] = React.useState(false); const { tokens } = useTheme(); const copy = () => { setCopied(true); setTimeout(() => { setCopied(false); }, 2000); }; return ( {children} {propControls && ( {propControls} )} {({ className, style, tokens, getLineProps, getTokenProps }) => (
                
                  {tokens.map((line, i) => (
                    
{line.map((token, key) => ( ))}
))}
)}
); };