UNPKG

nice-ui

Version:

React design system, components, and utilities

25 lines (24 loc) 1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const useAsync_1 = require("react-use/lib/useAsync"); const loadMathjax_1 = require("./loadMathjax"); const { useRef, useEffect, memo } = React; const MathjaxDisplayEquation = memo(({ source }) => { const ref = useRef(null); const { value: MathJax } = (0, useAsync_1.default)(loadMathjax_1.default); useEffect(() => { if (!MathJax || !MathJax.tex2svg) return; if (!ref.current) return; const div = ref.current; const container = MathJax.tex2svg(source, { display: true }); const svg = container.children[0]; while (div.firstChild) div.removeChild(div.firstChild); ref.current.appendChild(svg); }, [MathJax, (MathJax || {}).tex2svg, ref.current, source]); return React.createElement("div", { ref: ref, style: { textAlign: 'center' } }); }); exports.default = MathjaxDisplayEquation;