react-lacona
Version:
React Component to provide a friendly interface for lacona
49 lines (40 loc) • 1.4 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Preview;
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _katex = require('katex');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function Preview(props) {
var preview = void 0;
if (props.object.type === 'text') {
preview = _react2.default.createElement(
'div',
{ className: 'preview preview-text' },
props.object.value
);
} else if (props.object.type === 'html') {
preview = _react2.default.createElement('div', {
className: 'preview preview-html',
dangerouslySetInnerHTML: { __html: props.object.value } });
} else if (props.object.type === 'tex') {
var values = _lodash2.default.isArray(props.object.value) ? props.object.value : [props.object.value];
var htmls = _lodash2.default.map(values, function (value) {
return (0, _katex.renderToString)(value);
});
preview = _react2.default.createElement('div', {
className: 'preview preview-tex',
dangerouslySetInnerHTML: { __html: htmls.join(' ') } });
}
if (preview) {
return _react2.default.createElement(
'div',
{ className: 'preview-wrapper' },
preview
);
}
}