import type { ChakraProps } from '@chakra-ui/react'; import { Box, Flex, chakra, useColorModeValue, Skeleton } from '@chakra-ui/react'; import React from 'react'; import CopyToClipboard from './CopyToClipboard'; interface Props { data: React.ReactNode; title?: string; className?: string; rightSlot?: React.ReactNode; beforeSlot?: React.ReactNode; textareaMaxHeight?: string; showCopy?: boolean; isLoading?: boolean; contentProps?: ChakraProps; } const RawDataSnippet = ({ data, className, title, rightSlot, beforeSlot, textareaMaxHeight, showCopy = true, isLoading, contentProps }: Props) => { // see issue in theme/components/Textarea.ts const bgColor = useColorModeValue('#f5f5f6', '#1a1b1b'); return ( { (title || rightSlot || showCopy) && ( { title && { title } } { rightSlot } { typeof data === 'string' && showCopy && } ) } { beforeSlot } { data } ); }; export default React.memo(chakra(RawDataSnippet));