@datacamp/waffles-markdown
Version:
> A component to render markdown as HTML - without using innerHTML
52 lines (42 loc) • 1.58 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _wafflesText = require("@datacamp/waffles-text");
var _react = _interopRequireDefault(require("react"));
var _reactMarkdown = _interopRequireDefault(require("react-markdown"));
var _react2 = require("@emotion/react");
var AlternateCode = _wafflesText.alternateComponents.AlternateCode,
AlternateCodeBlock = _wafflesText.alternateComponents.AlternateCodeBlock,
AlternateHeading = _wafflesText.alternateComponents.AlternateHeading,
AlternateListItem = _wafflesText.alternateComponents.AlternateListItem,
PlainString = _wafflesText.alternateComponents.PlainString;
var renderers = {
code: AlternateCodeBlock,
emphasis: _wafflesText.Emphasis,
heading: AlternateHeading,
inlineCode: AlternateCode,
list: _wafflesText.List,
listItem: AlternateListItem,
paragraph: _wafflesText.Paragraph,
strong: _wafflesText.Strong,
text: PlainString
};
var Markdown = function Markdown(props) {
var className = props.className,
source = props.source;
return (0, _react2.jsx)(_reactMarkdown.default, {
className: className,
renderers: renderers,
source: source
});
};
Markdown.propTypes = process.env.NODE_ENV !== "production" ? {
className: _propTypes.default.string,
source: _propTypes.default.string.isRequired
} : {};
var _default = Markdown;
exports.default = _default;