blob: a505d1b8039cbe2291d8afeb5b78d356bddd1ba5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/**
* @prettier
*/
import React from "react"
import PropTypes from "prop-types"
const SyntaxHighlighterWrapper = (Original, system) => {
const SyntaxHighlighter = ({ renderPlainText, children, ...rest }) => {
const canSyntaxHighlight = system.getConfigs().syntaxHighlight.activated
const PlainTextViewer = system.getComponent("PlainTextViewer")
if (!canSyntaxHighlight && typeof renderPlainText === "function") {
return renderPlainText({ children, PlainTextViewer })
}
if (!canSyntaxHighlight) {
return <PlainTextViewer>{children}</PlainTextViewer>
}
return <Original {...rest}>{children}</Original>
}
SyntaxHighlighter.propTypes = {
...Original.propTypes,
renderPlainText: PropTypes.func,
children: PropTypes.string.isRequired,
}
return SyntaxHighlighter
}
export default SyntaxHighlighterWrapper
|