@pantheon-systems/design-toolkit-react
Version:
Pantheon's React Design Toolkit
41 lines (37 loc) • 1.22 kB
JavaScript
import Prism from 'prismjs/components/prism-core';
import 'prismjs/components/prism-bash';
import 'prismjs/components/prism-markup';
import 'prismjs/components/prism-css';
import 'prismjs/components/prism-clike';
import 'prismjs/components/prism-javascript';
import 'prismjs/themes/prism-okaidia.css';
import PropTypes from 'prop-types';
import { useRef, useEffect } from 'react';
import { jsx } from 'react/jsx-runtime';
var CodeInline = function CodeInline(_ref) {
var code = _ref.code,
language = _ref.language;
var codeRef = useRef();
useEffect(function () {
if (codeRef && codeRef.current) {
Prism.highlightElement(codeRef.current);
}
}, [codeRef]);
return /*#__PURE__*/jsx("code", {
className: "language-".concat(language),
ref: codeRef,
children: code.trim()
});
};
CodeInline.defaultProps = {
language: 'js'
};
// language types: if more are added, you must also adjust the babel config
// https://prismjs.com/#supported-languages
CodeInline.propTypes = {
code: PropTypes.string.isRequired,
language: PropTypes.oneOf(['bash', 'css', 'html', 'js'])
};
var CodeInline$1 = CodeInline;
export { CodeInline$1 as default };
//# sourceMappingURL=CodeInline.js.map