// Types import type { CSSProperties, FC } from 'react'; // Custom Types import type { HighlightComponent, HighlightThemes, PrismTheme, } from '../types/highlight'; export interface CodeBlockProps { hideLineNumbers?: boolean; Highlight: HighlightComponent; themes: HighlightThemes; children?: string; language?: string; theme?: PrismTheme; styles?: CSSProperties; } const CodeBlock: FC = (props) => { // Props const { children = '', language = 'tsx', Highlight, themes, theme, hideLineNumbers, } = props; return ( {({ style, tokens, getLineProps, getTokenProps }) => (
          {tokens.map((line, i) => (
            
{!hideLineNumbers && {i + 1} } {line.map((token, key) => ( ))}
))}
)}
); }; export default CodeBlock;