react-saasify
Version:
React components for Saasify web clients.
35 lines (28 loc) • 755 B
JavaScript
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import theme from 'lib/theme'
import {
SyntaxHighlighter,
theme as defaultCodeTheme
} from 'lib/react-syntax-highlighter'
import styles from './styles.module.css'
export class CodeBlock extends Component {
static propTypes = {
language: PropTypes.string,
value: PropTypes.string.isRequired,
className: PropTypes.string
}
render() {
const { language, value, className } = this.props
const { codeTheme = defaultCodeTheme } = theme
return (
<SyntaxHighlighter
className={theme(styles, 'code-block', className)}
language={language}
style={codeTheme}
>
{value}
</SyntaxHighlighter>
)
}
}