UNPKG

react-native-mathjax-html-to-svg

Version:

React Native component to display mathematics in html using MathJax. Uses [MathJax](https://github.com/mathjax/)

75 lines (74 loc) 3.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ColorMethods = void 0; var NodeUtil_js_1 = require("../NodeUtil.js"); var ParseUtil_js_1 = require("../ParseUtil.js"); function padding(colorPadding) { var pad = "+" + colorPadding; var unit = colorPadding.replace(/^.*?([a-z]*)$/, '$1'); var pad2 = 2 * parseFloat(pad); return { width: "+" + pad2 + unit, height: pad, depth: pad, lspace: colorPadding, }; } exports.ColorMethods = {}; exports.ColorMethods.Color = function (parser, name) { var model = parser.GetBrackets(name, ''); var colorDef = parser.GetArgument(name); var colorModel = parser.configuration.packageData.get('color').model; var color = colorModel.getColor(model, colorDef); var style = parser.itemFactory.create('style') .setProperties({ styles: { mathcolor: color } }); parser.stack.env['color'] = color; parser.Push(style); }; exports.ColorMethods.TextColor = function (parser, name) { var model = parser.GetBrackets(name, ''); var colorDef = parser.GetArgument(name); var colorModel = parser.configuration.packageData.get('color').model; var color = colorModel.getColor(model, colorDef); var old = parser.stack.env['color']; parser.stack.env['color'] = color; var math = parser.ParseArg(name); if (old) { parser.stack.env['color'] = old; } else { delete parser.stack.env['color']; } var node = parser.create('node', 'mstyle', [math], { mathcolor: color }); parser.Push(node); }; exports.ColorMethods.DefineColor = function (parser, name) { var cname = parser.GetArgument(name); var model = parser.GetArgument(name); var def = parser.GetArgument(name); var colorModel = parser.configuration.packageData.get('color').model; colorModel.defineColor(model, cname, def); }; exports.ColorMethods.ColorBox = function (parser, name) { var cname = parser.GetArgument(name); var math = ParseUtil_js_1.default.internalMath(parser, parser.GetArgument(name)); var colorModel = parser.configuration.packageData.get('color').model; var node = parser.create('node', 'mpadded', math, { mathbackground: colorModel.getColor('named', cname) }); NodeUtil_js_1.default.setProperties(node, padding(parser.options.color.padding)); parser.Push(node); }; exports.ColorMethods.FColorBox = function (parser, name) { var fname = parser.GetArgument(name); var cname = parser.GetArgument(name); var math = ParseUtil_js_1.default.internalMath(parser, parser.GetArgument(name)); var options = parser.options.color; var colorModel = parser.configuration.packageData.get('color').model; var node = parser.create('node', 'mpadded', math, { mathbackground: colorModel.getColor('named', cname), style: "border: " + options.borderWidth + " solid " + colorModel.getColor('named', fname) }); NodeUtil_js_1.default.setProperties(node, padding(options.padding)); parser.Push(node); };