@pie-lib/math-rendering 3.3.0-beta.3 → 3.3.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/lib/__tests__/mml-to-latex.test.js +18 -0
- package/lib/__tests__/normalization.test.js +52 -0
- package/lib/__tests__/render-math.test.js +170 -0
- package/lib/mstack/__tests__/chtml.test.js +151 -0
- package/package.json +2 -3
- package/src/__tests__/normalization.test.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,46 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.3.0-beta.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-rendering@3.2.1...@pie-lib/math-rendering@3.3.0-beta.5) (2025-07-25)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-lib/math-rendering
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.3.0-beta.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-rendering@3.2.1...@pie-lib/math-rendering@3.3.0-beta.4) (2025-07-25)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-lib/math-rendering
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [3.3.0-beta.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-rendering@3.2.1...@pie-lib/math-rendering@3.3.0-beta.3) (2025-07-25)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @pie-lib/math-rendering
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# [3.3.0-beta.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-rendering@3.2.1...@pie-lib/math-rendering@3.3.0-beta.4) (2025-07-23)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @pie-lib/math-rendering
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
# [3.3.0-beta.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-rendering@3.2.1...@pie-lib/math-rendering@3.3.0-beta.3) (2025-07-23)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @pie-lib/math-rendering
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
6
46
|
# [3.3.0-beta.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-rendering@3.2.1...@pie-lib/math-rendering@3.3.0-beta.3) (2025-07-20)
|
|
7
47
|
|
|
8
48
|
**Note:** Version bump only for package @pie-lib/math-rendering
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _mmlToLatex = _interopRequireDefault(require("../mml-to-latex"));
|
|
8
|
+
|
|
9
|
+
describe('mmlToLatex', function () {
|
|
10
|
+
it('should work', function () {
|
|
11
|
+
var mml = '<math xmlns="http://www.w3.org/1998/Math/MathML"> <mn>2</mn> <mi>x</mi> <mtext> </mtext> <mo>≤</mo> <mn>4</mn> <mi>y</mi> <mtext> </mtext> <mo>+</mo> <mtext> </mtext> <mn>8</mn> <msqrt> <mi>h</mi> </msqrt></math>'; // todo revisit this
|
|
12
|
+
// const latex = '2x\\text{ }\\leq4y\\text{ }+\\text{ }8\\sqrt{h}';
|
|
13
|
+
|
|
14
|
+
var latex = '2 x \\textrm{ } \\leq 4 y \\textrm{ } + \\textrm{ } 8 \\sqrt{h}';
|
|
15
|
+
expect((0, _mmlToLatex["default"])(mml)).toEqual(latex);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbW1sLXRvLWxhdGV4LnRlc3QuanMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsIm1tbCIsImxhdGV4IiwiZXhwZWN0IiwidG9FcXVhbCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUVBQSxRQUFRLENBQUMsWUFBRCxFQUFlLFlBQU07QUFDM0JDLEVBQUFBLEVBQUUsQ0FBQyxhQUFELEVBQWdCLFlBQU07QUFDdEIsUUFBTUMsR0FBRyxHQUNQLDBQQURGLENBRHNCLENBR3RCO0FBQ0E7O0FBQ0EsUUFBTUMsS0FBSyxHQUFHLGlFQUFkO0FBRUFDLElBQUFBLE1BQU0sQ0FBQyw0QkFBV0YsR0FBWCxDQUFELENBQU4sQ0FBd0JHLE9BQXhCLENBQWdDRixLQUFoQztBQUNELEdBUkMsQ0FBRjtBQVNELENBVk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgbW1sVG9MYXRleCBmcm9tICcuLi9tbWwtdG8tbGF0ZXgnO1xuXG5kZXNjcmliZSgnbW1sVG9MYXRleCcsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCB3b3JrJywgKCkgPT4ge1xuICAgIGNvbnN0IG1tbCA9XG4gICAgICAnPG1hdGggeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MXCI+ICA8bW4+MjwvbW4+ICA8bWk+eDwvbWk+ICA8bXRleHQ+JiN4QTA7PC9tdGV4dD4gIDxtbz4mI3gyMjY0OzwvbW8+ICA8bW4+NDwvbW4+ICA8bWk+eTwvbWk+ICA8bXRleHQ+JiN4QTA7PC9tdGV4dD4gIDxtbz4rPC9tbz4gIDxtdGV4dD4mI3hBMDs8L210ZXh0PiAgPG1uPjg8L21uPiA8bXNxcnQ+ICAgIDxtaT5oPC9taT4gIDwvbXNxcnQ+PC9tYXRoPic7XG4gICAgLy8gdG9kbyByZXZpc2l0IHRoaXNcbiAgICAvLyBjb25zdCBsYXRleCA9ICcyeFxcXFx0ZXh0eyB9XFxcXGxlcTR5XFxcXHRleHR7IH0rXFxcXHRleHR7IH04XFxcXHNxcnR7aH0nO1xuICAgIGNvbnN0IGxhdGV4ID0gJzIgeCBcXFxcdGV4dHJteyB9IFxcXFxsZXEgNCB5IFxcXFx0ZXh0cm17IH0gKyBcXFxcdGV4dHJteyB9IDggXFxcXHNxcnR7aH0nO1xuXG4gICAgZXhwZWN0KG1tbFRvTGF0ZXgobW1sKSkudG9FcXVhbChsYXRleCk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
8
|
+
|
|
9
|
+
var _normalization = require("../normalization");
|
|
10
|
+
|
|
11
|
+
var log = (0, _debug["default"])('@pie-lib:math-rendering:test:normalization');
|
|
12
|
+
describe('normalization', function () {
|
|
13
|
+
describe('unWrapMath', function () {
|
|
14
|
+
var assertUnWrap = function assertUnWrap(html, expected, wrapType) {
|
|
15
|
+
it("innerHTML: ".concat(html, " is unWrapped to: ").concat(expected, " with wrapType: ").concat(wrapType), function () {
|
|
16
|
+
var out = (0, _normalization.unWrapMath)(html);
|
|
17
|
+
expect(out).toEqual({
|
|
18
|
+
unwrapped: expected,
|
|
19
|
+
wrapType: wrapType
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
assertUnWrap('$$<$$', '<', _normalization.BracketTypes.DOLLAR);
|
|
25
|
+
assertUnWrap('$<$', '<', _normalization.BracketTypes.DOLLAR);
|
|
26
|
+
assertUnWrap('\\(<\\)', '<', _normalization.BracketTypes.ROUND_BRACKETS);
|
|
27
|
+
assertUnWrap('\\[<\\]', '<', _normalization.BracketTypes.ROUND_BRACKETS);
|
|
28
|
+
assertUnWrap('latex', 'latex', _normalization.BracketTypes.ROUND_BRACKETS);
|
|
29
|
+
assertUnWrap('\\displaystyle foo', 'foo', _normalization.BracketTypes.ROUND_BRACKETS);
|
|
30
|
+
});
|
|
31
|
+
describe('wrapMath', function () {
|
|
32
|
+
var assertWrap = function assertWrap(latex, expectedHtml, wrapper) {
|
|
33
|
+
wrapper = wrapper || _normalization.BracketTypes.ROUND_BRACKETS;
|
|
34
|
+
it("".concat(latex, " is wrapped to: ").concat(expectedHtml), function () {
|
|
35
|
+
var out = (0, _normalization.wrapMath)(latex, wrapper);
|
|
36
|
+
log('out: ', out);
|
|
37
|
+
expect(out).toEqual(expectedHtml);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
assertWrap('latex', '\\(latex\\)', _normalization.BracketTypes.ROUND_BRACKETS);
|
|
42
|
+
assertWrap('latex', '\\(latex\\)', _normalization.BracketTypes.SQUARE_BRACKETS);
|
|
43
|
+
assertWrap('latex', '$latex$', _normalization.BracketTypes.DOLLAR);
|
|
44
|
+
assertWrap('latex', '$latex$', _normalization.BracketTypes.DOUBLE_DOLLAR);
|
|
45
|
+
/**
|
|
46
|
+
* Note that when this is converted to html it get's escaped - but that's an issue with the slate html-serializer.
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
assertWrap('<', '\\(<\\)');
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbm9ybWFsaXphdGlvbi50ZXN0LmpzIl0sIm5hbWVzIjpbImxvZyIsImRlc2NyaWJlIiwiYXNzZXJ0VW5XcmFwIiwiaHRtbCIsImV4cGVjdGVkIiwid3JhcFR5cGUiLCJpdCIsIm91dCIsImV4cGVjdCIsInRvRXF1YWwiLCJ1bndyYXBwZWQiLCJCcmFja2V0VHlwZXMiLCJET0xMQVIiLCJST1VORF9CUkFDS0VUUyIsImFzc2VydFdyYXAiLCJsYXRleCIsImV4cGVjdGVkSHRtbCIsIndyYXBwZXIiLCJTUVVBUkVfQlJBQ0tFVFMiLCJET1VCTEVfRE9MTEFSIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLHVCQUFNLDRDQUFOLENBQVo7QUFFQUMsUUFBUSxDQUFDLGVBQUQsRUFBa0IsWUFBTTtBQUM5QkEsRUFBQUEsUUFBUSxDQUFDLFlBQUQsRUFBZSxZQUFNO0FBQzNCLFFBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLElBQUQsRUFBT0MsUUFBUCxFQUFpQkMsUUFBakIsRUFBOEI7QUFDakRDLE1BQUFBLEVBQUUsc0JBQWVILElBQWYsK0JBQXdDQyxRQUF4Qyw2QkFBbUVDLFFBQW5FLEdBQStFLFlBQU07QUFDckYsWUFBTUUsR0FBRyxHQUFHLCtCQUFXSixJQUFYLENBQVo7QUFFQUssUUFBQUEsTUFBTSxDQUFDRCxHQUFELENBQU4sQ0FBWUUsT0FBWixDQUFvQjtBQUNsQkMsVUFBQUEsU0FBUyxFQUFFTixRQURPO0FBRWxCQyxVQUFBQSxRQUFRLEVBQUVBO0FBRlEsU0FBcEI7QUFJRCxPQVBDLENBQUY7QUFRRCxLQVREOztBQVdBSCxJQUFBQSxZQUFZLENBQUMsT0FBRCxFQUFVLEdBQVYsRUFBZVMsNEJBQWFDLE1BQTVCLENBQVo7QUFDQVYsSUFBQUEsWUFBWSxDQUFDLEtBQUQsRUFBUSxHQUFSLEVBQWFTLDRCQUFhQyxNQUExQixDQUFaO0FBQ0FWLElBQUFBLFlBQVksQ0FBQyxTQUFELEVBQVksR0FBWixFQUFpQlMsNEJBQWFFLGNBQTlCLENBQVo7QUFDQVgsSUFBQUEsWUFBWSxDQUFDLFNBQUQsRUFBWSxHQUFaLEVBQWlCUyw0QkFBYUUsY0FBOUIsQ0FBWjtBQUNBWCxJQUFBQSxZQUFZLENBQUMsT0FBRCxFQUFVLE9BQVYsRUFBbUJTLDRCQUFhRSxjQUFoQyxDQUFaO0FBQ0FYLElBQUFBLFlBQVksQ0FBQyxvQkFBRCxFQUF1QixLQUF2QixFQUE4QlMsNEJBQWFFLGNBQTNDLENBQVo7QUFDRCxHQWxCTyxDQUFSO0FBb0JBWixFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekIsUUFBTWEsVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQ0MsS0FBRCxFQUFRQyxZQUFSLEVBQXNCQyxPQUF0QixFQUFrQztBQUNuREEsTUFBQUEsT0FBTyxHQUFHQSxPQUFPLElBQUlOLDRCQUFhRSxjQUFsQztBQUNBUCxNQUFBQSxFQUFFLFdBQUlTLEtBQUosNkJBQTRCQyxZQUE1QixHQUE0QyxZQUFNO0FBQ2xELFlBQU1ULEdBQUcsR0FBRyw2QkFBU1EsS0FBVCxFQUFnQkUsT0FBaEIsQ0FBWjtBQUVBakIsUUFBQUEsR0FBRyxDQUFDLE9BQUQsRUFBVU8sR0FBVixDQUFIO0FBRUFDLFFBQUFBLE1BQU0sQ0FBQ0QsR0FBRCxDQUFOLENBQVlFLE9BQVosQ0FBb0JPLFlBQXBCO0FBQ0QsT0FOQyxDQUFGO0FBT0QsS0FURDs7QUFXQUYsSUFBQUEsVUFBVSxDQUFDLE9BQUQsRUFBVSxhQUFWLEVBQXlCSCw0QkFBYUUsY0FBdEMsQ0FBVjtBQUNBQyxJQUFBQSxVQUFVLENBQUMsT0FBRCxFQUFVLGFBQVYsRUFBeUJILDRCQUFhTyxlQUF0QyxDQUFWO0FBQ0FKLElBQUFBLFVBQVUsQ0FBQyxPQUFELEVBQVUsU0FBVixFQUFxQkgsNEJBQWFDLE1BQWxDLENBQVY7QUFDQUUsSUFBQUEsVUFBVSxDQUFDLE9BQUQsRUFBVSxTQUFWLEVBQXFCSCw0QkFBYVEsYUFBbEMsQ0FBVjtBQUVBO0FBQ0o7QUFDQTs7QUFDSUwsSUFBQUEsVUFBVSxDQUFDLEdBQUQsRUFBTSxTQUFOLENBQVY7QUFDRCxHQXJCTyxDQUFSO0FBc0JELENBM0NPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IEJyYWNrZXRUeXBlcywgd3JhcE1hdGgsIHVuV3JhcE1hdGggfSBmcm9tICcuLi9ub3JtYWxpemF0aW9uJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOm1hdGgtcmVuZGVyaW5nOnRlc3Q6bm9ybWFsaXphdGlvbicpO1xuXG5kZXNjcmliZSgnbm9ybWFsaXphdGlvbicsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3VuV3JhcE1hdGgnLCAoKSA9PiB7XG4gICAgY29uc3QgYXNzZXJ0VW5XcmFwID0gKGh0bWwsIGV4cGVjdGVkLCB3cmFwVHlwZSkgPT4ge1xuICAgICAgaXQoYGlubmVySFRNTDogJHtodG1sfSBpcyB1bldyYXBwZWQgdG86ICR7ZXhwZWN0ZWR9IHdpdGggd3JhcFR5cGU6ICR7d3JhcFR5cGV9YCwgKCkgPT4ge1xuICAgICAgICBjb25zdCBvdXQgPSB1bldyYXBNYXRoKGh0bWwpO1xuXG4gICAgICAgIGV4cGVjdChvdXQpLnRvRXF1YWwoe1xuICAgICAgICAgIHVud3JhcHBlZDogZXhwZWN0ZWQsXG4gICAgICAgICAgd3JhcFR5cGU6IHdyYXBUeXBlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBhc3NlcnRVbldyYXAoJyQkPCQkJywgJzwnLCBCcmFja2V0VHlwZXMuRE9MTEFSKTtcbiAgICBhc3NlcnRVbldyYXAoJyQ8JCcsICc8JywgQnJhY2tldFR5cGVzLkRPTExBUik7XG4gICAgYXNzZXJ0VW5XcmFwKCdcXFxcKDxcXFxcKScsICc8JywgQnJhY2tldFR5cGVzLlJPVU5EX0JSQUNLRVRTKTtcbiAgICBhc3NlcnRVbldyYXAoJ1xcXFxbPFxcXFxdJywgJzwnLCBCcmFja2V0VHlwZXMuUk9VTkRfQlJBQ0tFVFMpO1xuICAgIGFzc2VydFVuV3JhcCgnbGF0ZXgnLCAnbGF0ZXgnLCBCcmFja2V0VHlwZXMuUk9VTkRfQlJBQ0tFVFMpO1xuICAgIGFzc2VydFVuV3JhcCgnXFxcXGRpc3BsYXlzdHlsZSBmb28nLCAnZm9vJywgQnJhY2tldFR5cGVzLlJPVU5EX0JSQUNLRVRTKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3dyYXBNYXRoJywgKCkgPT4ge1xuICAgIGNvbnN0IGFzc2VydFdyYXAgPSAobGF0ZXgsIGV4cGVjdGVkSHRtbCwgd3JhcHBlcikgPT4ge1xuICAgICAgd3JhcHBlciA9IHdyYXBwZXIgfHwgQnJhY2tldFR5cGVzLlJPVU5EX0JSQUNLRVRTO1xuICAgICAgaXQoYCR7bGF0ZXh9IGlzIHdyYXBwZWQgdG86ICR7ZXhwZWN0ZWRIdG1sfWAsICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0ID0gd3JhcE1hdGgobGF0ZXgsIHdyYXBwZXIpO1xuXG4gICAgICAgIGxvZygnb3V0OiAnLCBvdXQpO1xuXG4gICAgICAgIGV4cGVjdChvdXQpLnRvRXF1YWwoZXhwZWN0ZWRIdG1sKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBhc3NlcnRXcmFwKCdsYXRleCcsICdcXFxcKGxhdGV4XFxcXCknLCBCcmFja2V0VHlwZXMuUk9VTkRfQlJBQ0tFVFMpO1xuICAgIGFzc2VydFdyYXAoJ2xhdGV4JywgJ1xcXFwobGF0ZXhcXFxcKScsIEJyYWNrZXRUeXBlcy5TUVVBUkVfQlJBQ0tFVFMpO1xuICAgIGFzc2VydFdyYXAoJ2xhdGV4JywgJyRsYXRleCQnLCBCcmFja2V0VHlwZXMuRE9MTEFSKTtcbiAgICBhc3NlcnRXcmFwKCdsYXRleCcsICckbGF0ZXgkJywgQnJhY2tldFR5cGVzLkRPVUJMRV9ET0xMQVIpO1xuXG4gICAgLyoqXG4gICAgICogTm90ZSB0aGF0IHdoZW4gdGhpcyBpcyBjb252ZXJ0ZWQgdG8gaHRtbCBpdCBnZXQncyBlc2NhcGVkIC0gYnV0IHRoYXQncyBhbiBpc3N1ZSB3aXRoIHRoZSBzbGF0ZSBodG1sLXNlcmlhbGl6ZXIuXG4gICAgICovXG4gICAgYXNzZXJ0V3JhcCgnPCcsICdcXFxcKDxcXFxcKScpO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
|
|
9
|
+
var _enzyme = require("enzyme");
|
|
10
|
+
|
|
11
|
+
var _renderMath = _interopRequireWildcard(require("../render-math"));
|
|
12
|
+
|
|
13
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
14
|
+
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
+
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
|
|
19
|
+
jest.mock('mathjax-full/js/mathjax', function () {
|
|
20
|
+
return {
|
|
21
|
+
mathjax: {
|
|
22
|
+
document: jest.fn().mockReturnThis(),
|
|
23
|
+
findMath: jest.fn().mockReturnThis(),
|
|
24
|
+
compile: jest.fn().mockReturnThis(),
|
|
25
|
+
getMetrics: jest.fn().mockReturnThis(),
|
|
26
|
+
typeset: jest.fn().mockReturnThis(),
|
|
27
|
+
updateDocument: jest.fn().mockReturnThis(),
|
|
28
|
+
clear: jest.fn().mockReturnThis(),
|
|
29
|
+
handlers: {
|
|
30
|
+
handlesDocument: jest.fn().mockReturnThis()
|
|
31
|
+
},
|
|
32
|
+
handleRetriesFor: jest.fn().mockImplementation(function (callback) {
|
|
33
|
+
return callback();
|
|
34
|
+
})
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}, {
|
|
38
|
+
virtual: false
|
|
39
|
+
});
|
|
40
|
+
jest.mock('mathjax-full/js/input/mathml', function () {
|
|
41
|
+
var mock = jest.fn().mockReturnThis();
|
|
42
|
+
mock.setMmlFactory = jest.fn();
|
|
43
|
+
return {
|
|
44
|
+
MathML: function MathML() {
|
|
45
|
+
return mock;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
jest.mock('mathjax-full/js/input/tex', function () {
|
|
50
|
+
return {
|
|
51
|
+
TeX: jest.fn()
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
jest.mock('mathjax-full/js/core/MmlTree/MmlFactory', function () {
|
|
55
|
+
var instance = {
|
|
56
|
+
setMmlFactory: jest.fn(),
|
|
57
|
+
defaultNodes: {}
|
|
58
|
+
};
|
|
59
|
+
return {
|
|
60
|
+
MmlFactory: function MmlFactory() {
|
|
61
|
+
return instance;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
var mockMathInstance = {
|
|
66
|
+
document: jest.fn().mockReturnThis(),
|
|
67
|
+
findMath: jest.fn().mockReturnThis(),
|
|
68
|
+
compile: jest.fn().mockReturnThis(),
|
|
69
|
+
enrich: jest.fn().mockReturnThis(),
|
|
70
|
+
addMenu: jest.fn().mockReturnThis(),
|
|
71
|
+
attachSpeech: jest.fn().mockReturnThis(),
|
|
72
|
+
assistiveMml: jest.fn().mockReturnThis(),
|
|
73
|
+
getMetrics: jest.fn().mockReturnThis(),
|
|
74
|
+
typeset: jest.fn().mockReturnThis(),
|
|
75
|
+
updateDocument: jest.fn().mockReturnValue({
|
|
76
|
+
math: {
|
|
77
|
+
list: undefined
|
|
78
|
+
},
|
|
79
|
+
clear: jest.fn().mockReturnThis()
|
|
80
|
+
}),
|
|
81
|
+
clear: jest.fn().mockReturnThis(),
|
|
82
|
+
handlers: {
|
|
83
|
+
handlesDocument: jest.fn().mockReturnThis()
|
|
84
|
+
},
|
|
85
|
+
handleRetriesFor: jest.fn().mockImplementation(function (callback) {
|
|
86
|
+
return callback();
|
|
87
|
+
})
|
|
88
|
+
};
|
|
89
|
+
var mockHtml = {
|
|
90
|
+
findMath: jest.fn().mockReturnValue(mockMathInstance)
|
|
91
|
+
};
|
|
92
|
+
var mockEnrichHandlerInstance = {
|
|
93
|
+
create: jest.fn().mockImplementation(function () {
|
|
94
|
+
return mockHtml;
|
|
95
|
+
})
|
|
96
|
+
};
|
|
97
|
+
jest.mock('mathjax-full/js/a11y/semantic-enrich', function () {
|
|
98
|
+
return {
|
|
99
|
+
EnrichHandler: function EnrichHandler() {
|
|
100
|
+
return mockEnrichHandlerInstance;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
jest.mock('mathjax-full/js/a11y/assistive-mml', function () {
|
|
105
|
+
return {
|
|
106
|
+
AssistiveMmlHandler: function AssistiveMmlHandler() {}
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
jest.mock('mathjax-full/js/ui/menu/MenuHandler', function () {
|
|
110
|
+
return {
|
|
111
|
+
MenuHandler: function MenuHandler() {}
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
jest.mock('mathjax-full/js/output/chtml', function () {
|
|
115
|
+
return {
|
|
116
|
+
CHTML: jest.fn()
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
jest.mock('mathjax-full/js/adaptors/browserAdaptor', function () {
|
|
120
|
+
return {
|
|
121
|
+
browserAdaptor: jest.fn()
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
jest.mock('mathjax-full/js/handlers/html', function () {
|
|
125
|
+
return {
|
|
126
|
+
RegisterHTMLHandler: jest.fn()
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
jest.mock('mathjax-full/js/core/MmlTree/SerializedMmlVisitor', function () {
|
|
130
|
+
return {
|
|
131
|
+
SerializedMmlVisitor: jest.fn()
|
|
132
|
+
};
|
|
133
|
+
});
|
|
134
|
+
describe('render-math', function () {
|
|
135
|
+
it('calls classFactory.create once', function () {
|
|
136
|
+
var div = document.createElement('div');
|
|
137
|
+
|
|
138
|
+
_lodash["default"].times(10).forEach(function (i) {
|
|
139
|
+
return (0, _renderMath["default"])(div);
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
expect(mockEnrichHandlerInstance.create).toHaveBeenCalledTimes(1);
|
|
143
|
+
});
|
|
144
|
+
it('calls MathJax render', function () {
|
|
145
|
+
var div = document.createElement('div');
|
|
146
|
+
(0, _renderMath["default"])(div);
|
|
147
|
+
expect(mockEnrichHandlerInstance.create).toHaveBeenCalledTimes(1);
|
|
148
|
+
expect(mockHtml.findMath).toHaveBeenCalledWith({
|
|
149
|
+
elements: [div]
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
it('call render math for an array of elements', function () {
|
|
153
|
+
var divOne = document.createElement('div');
|
|
154
|
+
var divTwo = document.createElement('div');
|
|
155
|
+
(0, _renderMath["default"])([divOne, divTwo]);
|
|
156
|
+
expect(mockEnrichHandlerInstance.create).toHaveBeenCalledTimes(1);
|
|
157
|
+
expect(mockHtml.findMath).toHaveBeenCalledWith({
|
|
158
|
+
elements: [divOne, divTwo]
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
it('wraps the math containing element the right way', function () {
|
|
162
|
+
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", {
|
|
163
|
+
"data-latex": ""
|
|
164
|
+
}, '420\\text{ cm}=4.2\\text{ meters}')));
|
|
165
|
+
var spanElem = wrapper.instance();
|
|
166
|
+
(0, _renderMath.fixMathElement)(spanElem);
|
|
167
|
+
expect(spanElem.textContent).toEqual('\\(420\\text{ cm}=4.2\\text{ meters}\\)');
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcmVuZGVyLW1hdGgudGVzdC5qcyJdLCJuYW1lcyI6WyJqZXN0IiwibW9jayIsIm1hdGhqYXgiLCJkb2N1bWVudCIsImZuIiwibW9ja1JldHVyblRoaXMiLCJmaW5kTWF0aCIsImNvbXBpbGUiLCJnZXRNZXRyaWNzIiwidHlwZXNldCIsInVwZGF0ZURvY3VtZW50IiwiY2xlYXIiLCJoYW5kbGVycyIsImhhbmRsZXNEb2N1bWVudCIsImhhbmRsZVJldHJpZXNGb3IiLCJtb2NrSW1wbGVtZW50YXRpb24iLCJjYWxsYmFjayIsInZpcnR1YWwiLCJzZXRNbWxGYWN0b3J5IiwiTWF0aE1MIiwiVGVYIiwiaW5zdGFuY2UiLCJkZWZhdWx0Tm9kZXMiLCJNbWxGYWN0b3J5IiwibW9ja01hdGhJbnN0YW5jZSIsImVucmljaCIsImFkZE1lbnUiLCJhdHRhY2hTcGVlY2giLCJhc3Npc3RpdmVNbWwiLCJtb2NrUmV0dXJuVmFsdWUiLCJtYXRoIiwibGlzdCIsInVuZGVmaW5lZCIsIm1vY2tIdG1sIiwibW9ja0VucmljaEhhbmRsZXJJbnN0YW5jZSIsImNyZWF0ZSIsIkVucmljaEhhbmRsZXIiLCJBc3Npc3RpdmVNbWxIYW5kbGVyIiwiTWVudUhhbmRsZXIiLCJDSFRNTCIsImJyb3dzZXJBZGFwdG9yIiwiUmVnaXN0ZXJIVE1MSGFuZGxlciIsIlNlcmlhbGl6ZWRNbWxWaXNpdG9yIiwiZGVzY3JpYmUiLCJpdCIsImRpdiIsImNyZWF0ZUVsZW1lbnQiLCJfIiwidGltZXMiLCJmb3JFYWNoIiwiaSIsImV4cGVjdCIsInRvSGF2ZUJlZW5DYWxsZWRUaW1lcyIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiZWxlbWVudHMiLCJkaXZPbmUiLCJkaXZUd28iLCJ3cmFwcGVyIiwic3BhbkVsZW0iLCJ0ZXh0Q29udGVudCIsInRvRXF1YWwiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQUEsSUFBSSxDQUFD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Q08sUUFBUSxDQUFDQyxXQUFWLENBQU4sQ0FBNkJDLE9BQTdCLENBQXFDLHlDQUFyQztBQUNELEdBWEMsQ0FBRjtBQVlELENBekNPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbW91bnQgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IHJlbmRlck1hdGgsIHsgZml4TWF0aEVsZW1lbnQgfSBmcm9tICcuLi9yZW5kZXItbWF0aCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5qZXN0Lm1vY2soXG4gICdtYXRoamF4LWZ1bGwvanMvbWF0aGpheCcsXG4gICgpID0+ICh7XG4gICAgbWF0aGpheDoge1xuICAgICAgZG9jdW1lbnQ6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICAgICAgZmluZE1hdGg6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICAgICAgY29tcGlsZTogamVzdC5mbigpLm1vY2tSZXR1cm5UaGlzKCksXG4gICAgICBnZXRNZXRyaWNzOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgICAgIHR5cGVzZXQ6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICAgICAgdXBkYXRlRG9jdW1lbnQ6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICAgICAgY2xlYXI6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICAgICAgaGFuZGxlcnM6IHtcbiAgICAgICAgaGFuZGxlc0RvY3VtZW50OiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgICAgIH0sXG4gICAgICBoYW5kbGVSZXRyaWVzRm9yOiBqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKChjYWxsYmFjaykgPT4gY2FsbGJhY2soKSksXG4gICAgfSxcbiAgfSksXG4gIHtcbiAgICB2aXJ0dWFsOiBmYWxzZSxcbiAgfSxcbik7XG5cbmplc3QubW9jaygnbWF0aGpheC1mdWxsL2pzL2lucHV0L21hdGhtbCcsICgpID0+IHtcbiAgY29uc3QgbW9jayA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpO1xuICBtb2NrLnNldE1tbEZhY3RvcnkgPSBqZXN0LmZuKCk7XG4gIHJldHVybiB7XG4gICAgTWF0aE1MOiAoKSA9PiBtb2NrLFxuICB9O1xufSk7XG5cbmplc3QubW9jaygnbWF0aGpheC1mdWxsL2pzL2lucHV0L3RleCcsICgpID0+ICh7XG4gIFRlWDogamVzdC5mbigpLFxufSkpO1xuamVzdC5tb2NrKCdtYXRoamF4LWZ1bGwvanMvY29yZS9NbWxUcmVlL01tbEZhY3RvcnknLCAoKSA9PiB7XG4gIGNvbnN0IGluc3RhbmNlID0ge1xuICAgIHNldE1tbEZhY3Rvcnk6IGplc3QuZm4oKSxcbiAgICBkZWZhdWx0Tm9kZXM6IHt9LFxuICB9O1xuICByZXR1cm4ge1xuICAgIE1tbEZhY3Rvcnk6ICgpID0+IGluc3RhbmNlLFxuICB9O1xufSk7XG5cbmNvbnN0IG1vY2tNYXRoSW5zdGFuY2UgPSB7XG4gIGRvY3VtZW50OiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgZmluZE1hdGg6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICBjb21waWxlOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgZW5yaWNoOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgYWRkTWVudTogamVzdC5mbigpLm1vY2tSZXR1cm5UaGlzKCksXG4gIGF0dGFjaFNwZWVjaDogamVzdC5mbigpLm1vY2tSZXR1cm5UaGlzKCksXG4gIGFzc2lzdGl2ZU1tbDogamVzdC5mbigpLm1vY2tSZXR1cm5UaGlzKCksXG4gIGdldE1ldHJpY3M6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICB0eXBlc2V0OiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgdXBkYXRlRG9jdW1lbnQ6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgIG1hdGg6IHtcbiAgICAgIGxpc3Q6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIGNsZWFyOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgfSksXG4gIGNsZWFyOiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgaGFuZGxlcnM6IHtcbiAgICBoYW5kbGVzRG9jdW1lbnQ6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICB9LFxuICBoYW5kbGVSZXRyaWVzRm9yOiBqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKChjYWxsYmFjaykgPT4gY2FsbGJhY2soKSksXG59O1xuXG5jb25zdCBtb2NrSHRtbCA9IHtcbiAgZmluZE1hdGg6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUobW9ja01hdGhJbnN0YW5jZSksXG59O1xuXG5jb25zdCBtb2NrRW5yaWNoSGFuZGxlckluc3RhbmNlID0ge1xuICBjcmVhdGU6IGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4gbW9ja0h0bWwpLFxufTtcblxuamVzdC5tb2NrKCdtYXRoamF4LWZ1bGwvanMvYTExeS9zZW1hbnRpYy1lbnJpY2gnLCAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgRW5yaWNoSGFuZGxlcjogKCkgPT4gbW9ja0VucmljaEhhbmRsZXJJbnN0YW5jZSxcbiAgfTtcbn0pO1xuXG5qZXN0Lm1vY2soJ21hdGhqYXgtZnVsbC9qcy9hMTF5L2Fzc2lzdGl2ZS1tbWwnLCAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgQXNzaXN0aXZlTW1sSGFuZGxlcjogKCkgPT4ge30sXG4gIH07XG59KTtcblxuamVzdC5tb2NrKCdtYXRoamF4LWZ1bGwvanMvdWkvbWVudS9NZW51SGFuZGxlcicsICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBNZW51SGFuZGxlcjogKCkgPT4ge30sXG4gIH07XG59KTtcblxuamVzdC5tb2NrKCdtYXRoamF4LWZ1bGwvanMvb3V0cHV0L2NodG1sJywgKCkgPT4gKHtcbiAgQ0hUTUw6IGplc3QuZm4oKSxcbn0pKTtcblxuamVzdC5tb2NrKCdtYXRoamF4LWZ1bGwvanMvYWRhcHRvcnMvYnJvd3NlckFkYXB0b3InLCAoKSA9PiAoe1xuICBicm93c2VyQWRhcHRvcjogamVzdC5mbigpLFxufSkpO1xuXG5qZXN0Lm1vY2soJ21hdGhqYXgtZnVsbC9qcy9oYW5kbGVycy9odG1sJywgKCkgPT4gKHtcbiAgUmVnaXN0ZXJIVE1MSGFuZGxlcjogamVzdC5mbigpLFxufSkpO1xuXG5qZXN0Lm1vY2soJ21hdGhqYXgtZnVsbC9qcy9jb3JlL01tbFRyZWUvU2VyaWFsaXplZE1tbFZpc2l0b3InLCAoKSA9PiAoe1xuICBTZXJpYWxpemVkTW1sVmlzaXRvcjogamVzdC5mbigpLFxufSkpO1xuXG5kZXNjcmliZSgncmVuZGVyLW1hdGgnLCAoKSA9PiB7XG4gIGl0KCdjYWxscyBjbGFzc0ZhY3RvcnkuY3JlYXRlIG9uY2UnLCAoKSA9PiB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICBfLnRpbWVzKDEwKS5mb3JFYWNoKChpKSA9PiByZW5kZXJNYXRoKGRpdikpO1xuXG4gICAgZXhwZWN0KG1vY2tFbnJpY2hIYW5kbGVySW5zdGFuY2UuY3JlYXRlKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gIH0pO1xuXG4gIGl0KCdjYWxscyBNYXRoSmF4IHJlbmRlcicsICgpID0+IHtcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIHJlbmRlck1hdGgoZGl2KTtcbiAgICBleHBlY3QobW9ja0VucmljaEhhbmRsZXJJbnN0YW5jZS5jcmVhdGUpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICBleHBlY3QobW9ja0h0bWwuZmluZE1hdGgpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKHsgZWxlbWVudHM6IFtkaXZdIH0pO1xuICB9KTtcblxuICBpdCgnY2FsbCByZW5kZXIgbWF0aCBmb3IgYW4gYXJyYXkgb2YgZWxlbWVudHMnLCAoKSA9PiB7XG4gICAgY29uc3QgZGl2T25lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgY29uc3QgZGl2VHdvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICByZW5kZXJNYXRoKFtkaXZPbmUsIGRpdlR3b10pO1xuXG4gICAgZXhwZWN0KG1vY2tFbnJpY2hIYW5kbGVySW5zdGFuY2UuY3JlYXRlKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KG1vY2tIdG1sLmZpbmRNYXRoKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7XG4gICAgICBlbGVtZW50czogW2Rpdk9uZSwgZGl2VHdvXSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ3dyYXBzIHRoZSBtYXRoIGNvbnRhaW5pbmcgZWxlbWVudCB0aGUgcmlnaHQgd2F5JywgKCkgPT4ge1xuICAgIGNvbnN0IHdyYXBwZXIgPSBtb3VudChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGRhdGEtbGF0ZXg9XCJcIj57JzQyMFxcXFx0ZXh0eyBjbX09NC4yXFxcXHRleHR7IG1ldGVyc30nfTwvc3Bhbj5cbiAgICAgIDwvZGl2PixcbiAgICApO1xuICAgIGNvbnN0IHNwYW5FbGVtID0gd3JhcHBlci5pbnN0YW5jZSgpO1xuXG4gICAgZml4TWF0aEVsZW1lbnQoc3BhbkVsZW0pO1xuXG4gICAgZXhwZWN0KHNwYW5FbGVtLnRleHRDb250ZW50KS50b0VxdWFsKCdcXFxcKDQyMFxcXFx0ZXh0eyBjbX09NC4yXFxcXHRleHR7IG1ldGVyc31cXFxcKScpO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
6
|
+
|
|
7
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
|
+
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
|
|
13
|
+
var _chtml = require("../chtml");
|
|
14
|
+
|
|
15
|
+
var _jsdom = require("jsdom");
|
|
16
|
+
|
|
17
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
18
|
+
|
|
19
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20
|
+
|
|
21
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22
|
+
|
|
23
|
+
jest.mock('mathjax-full/js/output/chtml/Wrapper', function () {
|
|
24
|
+
var instance = {
|
|
25
|
+
adaptor: {
|
|
26
|
+
document: {
|
|
27
|
+
createElement: jest.fn()
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
standardCHTMLnode: jest.fn()
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
instance: instance,
|
|
34
|
+
CHTMLWrapper: /*#__PURE__*/(0, _createClass2["default"])(function CHTMLWrapper() {
|
|
35
|
+
(0, _classCallCheck2["default"])(this, CHTMLWrapper);
|
|
36
|
+
this.adaptor = {
|
|
37
|
+
document: {
|
|
38
|
+
createElement: jest.fn()
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
this.document = {}; // return instance;
|
|
42
|
+
})
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
var node = function node(kind, extras) {
|
|
47
|
+
return _objectSpread({
|
|
48
|
+
kind: kind,
|
|
49
|
+
childNodes: []
|
|
50
|
+
}, extras);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
var textNode = function textNode(text) {
|
|
54
|
+
return node('text', {
|
|
55
|
+
text: text,
|
|
56
|
+
node: {
|
|
57
|
+
kind: 'text',
|
|
58
|
+
text: text
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
var mn = function mn(text) {
|
|
64
|
+
return node('mn', {
|
|
65
|
+
childNodes: [textNode(text)]
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
var mo = function mo(text) {
|
|
70
|
+
return node('mo', {
|
|
71
|
+
childNodes: [textNode(text)]
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
var mco = function mco(text) {
|
|
76
|
+
return _objectSpread(_objectSpread({}, mo(text)), {}, {
|
|
77
|
+
toCHTML: function toCHTML(n) {
|
|
78
|
+
var t = "mo:".concat(text);
|
|
79
|
+
n.textContent = t;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
var msrow = function msrow() {
|
|
85
|
+
for (var _len = arguments.length, childNodes = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
86
|
+
childNodes[_key] = arguments[_key];
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return node('msrow', {
|
|
90
|
+
childNodes: childNodes
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
var mstack = function mstack() {
|
|
95
|
+
for (var _len2 = arguments.length, rows = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
96
|
+
rows[_key2] = arguments[_key2];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return node('mstack', {
|
|
100
|
+
childNodes: rows
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
var msline = function msline() {
|
|
105
|
+
return node('msline');
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
describe('getStackData', function () {
|
|
109
|
+
it.each(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n input | expected\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n "])), mstack(msrow(mo('+'), mn('111'))), [new _chtml.Row(['1', '1', '1'], mo('+'))], mstack(msrow(mn('111'))), [new _chtml.Row(['1', '1', '1'])], mstack(msrow(mn('1'), mn('1'))), [new _chtml.Row(['1', '1'])], mstack(msrow(mn('1')), mn('1')), [new _chtml.Row(['1']), new _chtml.Row(['1'])], mstack(msline()), [new _chtml.Line()], mstack(mn('1'), msline(), msrow(mo('+'), mn('1'))), [new _chtml.Row(['1']), new _chtml.Line(), new _chtml.Row(['1'], mo('+'))], mstack(mn('1'), mn('1')), [new _chtml.Row(['1']), new _chtml.Row(['1'])])('$input => $expected', function (_ref) {
|
|
110
|
+
var input = _ref.input,
|
|
111
|
+
expected = _ref.expected;
|
|
112
|
+
var d = (0, _chtml.getStackData)(input); // console.log('d:', d);
|
|
113
|
+
// console.log('e:', expected);
|
|
114
|
+
|
|
115
|
+
expect(_objectSpread({}, d)).toEqual(_objectSpread({}, expected));
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe('Row', function () {
|
|
119
|
+
describe('pad', function () {
|
|
120
|
+
it.each(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n cols | count | expected\n ", " | ", " | ", "\n ", " | ", " | ", "\n ", " | ", " | ", "\n ", " | ", " | ", "\n "])), [], 0, [], [1], 1, [1], [1], 2, ['__pad__', 1], [1], 3, ['__pad__', '__pad__', 1])('pads to the right', function (_ref2) {
|
|
121
|
+
var cols = _ref2.cols,
|
|
122
|
+
count = _ref2.count,
|
|
123
|
+
expected = _ref2.expected;
|
|
124
|
+
var r = new _chtml.Row(cols);
|
|
125
|
+
var p = r.pad(count, 'right');
|
|
126
|
+
expect(p).toEqual(expected);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
describe.each(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n label | tree\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n"])), 'one row', [msrow(mn('1'))], 'implicit one row', [mn('1')], 'two rows', [msrow(mn('1')), msrow(mn('2'))], 'two rows with operator', [msrow(mn('1')), msrow(mco('+'), mn('2'))])('chtml', function (_ref3) {
|
|
131
|
+
var label = _ref3.label,
|
|
132
|
+
tree = _ref3.tree;
|
|
133
|
+
var html;
|
|
134
|
+
beforeEach(function () {
|
|
135
|
+
var chtml = new _chtml.CHTMLmstack({}, {});
|
|
136
|
+
var dom = new _jsdom.JSDOM("<!DOCTYPE html><body></body>");
|
|
137
|
+
|
|
138
|
+
chtml.standardCHTMLnode = function (parent) {
|
|
139
|
+
return parent;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
chtml.ce = dom.window.document.createElement.bind(dom.window.document);
|
|
143
|
+
chtml.childNodes = tree;
|
|
144
|
+
chtml.toCHTML(dom.window.document.body);
|
|
145
|
+
html = dom.window.document.body.innerHTML;
|
|
146
|
+
});
|
|
147
|
+
it(label, function () {
|
|
148
|
+
expect(html).toMatchSnapshot();
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc3RhY2svX190ZXN0c19fL2NodG1sLnRlc3QuanMiXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJpbnN0YW5jZSIsImFkYXB0b3IiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJmbiIsInN0YW5kYXJkQ0hUTUxub2RlIiwiQ0hUTUxXcmFwcGVyIiwibm9kZSIsImtpbmQiLCJleHRyYXMiLCJjaGlsZE5vZGVzIiwidGV4dE5vZGUiLCJ0ZXh0IiwibW4iLCJtbyIsIm1jbyIsInRvQ0hUTUwiLCJuIiwidCIsInRleHRDb250ZW50IiwibXNyb3ciLCJtc3RhY2siLCJyb3dzIiwibXNsaW5lIiwiZGVzY3JpYmUiLCJpdCIsImVhY2giLCJSb3ciLCJMaW5lIiwiaW5wdXQiLCJleHBlY3RlZCIsImQiLCJleHBlY3QiLCJ0b0VxdWFsIiwiY29scyIsImNvdW50IiwiciIsInAiLCJwYWQiLCJsYWJlbCIsInRyZWUiLCJodG1sIiwiYmVmb3JlRWFjaCIsImNodG1sIiwiQ0hUTUxtc3RhY2siLCJkb20iLCJKU0RPTSIsInBhcmVudCIsImNlIiwid2luZG93IiwiYmluZCIsImJvZHkiLCJpbm5lckhUTUwiLCJ0b01hdGNoU25hcHNob3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOzs7Ozs7OztBQUVBQSxJQUFJLENBQUNDLElBQUwsQ0FBVSxzQ0FBVixFQUFrRCxZQUFNO0FBQ3RELE1BQU1DLFFBQVEsR0FBRztBQUNmQyxJQUFBQSxPQUFPLEVBQUU7QUFDUEMsTUFBQUEsUUFBUSxFQUFFO0FBQ1JDLFFBQUFBLGFBQWEsRUFBRUwsSUFBSSxDQUFDTSxFQUFMO0FBRFA7QUFESCxLQURNO0FBTWZDLElBQUFBLGlCQUFpQixFQUFFUCxJQUFJLENBQUNNLEVBQUw7QUFOSixHQUFqQjtBQVNBLFNBQU87QUFDTEosSUFBQUEsUUFBUSxFQUFSQSxRQURLO0FBRUxNLElBQUFBLFlBQVksNkNBQ1Ysd0JBQWM7QUFBQTtBQUNaLFdB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R0FSUyxDQUFWO0FBVUEzQixFQUFBQSxFQUFFLENBQUNjLEtBQUQsRUFBUSxZQUFNO0FBQ2RQLElBQUFBLE1BQU0sQ0FBQ1MsSUFBRCxDQUFOLENBQWFZLGVBQWI7QUFDRCxHQUZDLENBQUY7QUFHRCxDQXRCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFN0YWNrRGF0YSwgTGluZSwgUm93LCBDSFRNTG1zdGFjayB9IGZyb20gJy4uL2NodG1sJztcbi8vIGltcG9ydCB7IENIVE1MV3JhcHBlciwgaW5zdGFuY2UgfSBmcm9tICdtYXRoamF4LWZ1bGwvanMvb3V0cHV0L2NodG1sL1dyYXBwZXInO1xuaW1wb3J0IHsgSlNET00gfSBmcm9tICdqc2RvbSc7XG5cbmplc3QubW9jaygnbWF0aGpheC1mdWxsL2pzL291dHB1dC9jaHRtbC9XcmFwcGVyJywgKCkgPT4ge1xuICBjb25zdCBpbnN0YW5jZSA9IHtcbiAgICBhZGFwdG9yOiB7XG4gICAgICBkb2N1bWVudDoge1xuICAgICAgICBjcmVhdGVFbGVtZW50OiBqZXN0LmZuKCksXG4gICAgICB9LFxuICAgIH0sXG4gICAgc3RhbmRhcmRDSFRNTG5vZGU6IGplc3QuZm4oKSxcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGluc3RhbmNlLFxuICAgIENIVE1MV3JhcHBlcjogY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuYWRhcHRvciA9IHsgZG9jdW1lbnQ6IHsgY3JlYXRlRWxlbWVudDogamVzdC5mbigpIH0gfTtcbiAgICAgICAgdGhpcy5kb2N1bWVudCA9IHt9O1xuICAgICAgICAvLyByZXR1cm4gaW5zdGFuY2U7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn0pO1xuXG5jb25zdCBub2RlID0gKGtpbmQsIGV4dHJhcykgPT4gKHsga2luZCwgY2hpbGROb2RlczogW10sIC4uLmV4dHJhcyB9KTtcblxuY29uc3QgdGV4dE5vZGUgPSAodGV4dCkgPT4gbm9kZSgndGV4dCcsIHsgdGV4dCwgbm9kZTogeyBraW5kOiAndGV4dCcsIHRleHQgfSB9KTtcbmNvbnN0IG1uID0gKHRleHQpID0+IG5vZGUoJ21uJywgeyBjaGlsZE5vZGVzOiBbdGV4dE5vZGUodGV4dCldIH0pO1xuY29uc3QgbW8gPSAodGV4dCkgPT5cbiAgbm9kZSgnbW8nLCB7XG4gICAgY2hpbGROb2RlczogW3RleHROb2RlKHRleHQpXSxcbiAgfSk7XG5cbmNvbnN0IG1jbyA9ICh0ZXh0KSA9PiAoe1xuICAuLi5tbyh0ZXh0KSxcblxuICB0b0NIVE1MOiAobikgPT4ge1xuICAgIGNvbnN0IHQgPSBgbW86JHt0ZXh0fWA7XG4gICAgbi50ZXh0Q29udGVudCA9IHQ7XG4gIH0sXG59KTtcblxuY29uc3QgbXNyb3cgPSAoLi4uY2hpbGROb2RlcykgPT4gbm9kZSgnbXNyb3cnLCB7IGNoaWxkTm9kZXMgfSk7XG5jb25zdCBtc3RhY2sgPSAoLi4ucm93cykgPT4gbm9kZSgnbXN0YWNrJywgeyBjaGlsZE5vZGVzOiByb3dzIH0pO1xuY29uc3QgbXNsaW5lID0gKCkgPT4gbm9kZSgnbXNsaW5lJyk7XG5kZXNjcmliZSgnZ2V0U3RhY2tEYXRhJywgKCkgPT4ge1xuICBpdC5lYWNoYFxuICAgIGlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZXhwZWN0ZWRcbiAgICAke21zdGFjayhtc3JvdyhtbygnKycpLCBtbignMTExJykpKX0gICAgICAgICAgICAgICAgICB8ICR7W25ldyBSb3coWycxJywgJzEnLCAnMSddLCBtbygnKycpKV19XG4gICAgJHttc3RhY2sobXNyb3cobW4oJzExMScpKSl9ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAke1tuZXcgUm93KFsnMScsICcxJywgJzEnXSldfVxuICAgICR7bXN0YWNrKG1zcm93KG1uKCcxJyksIG1uKCcxJykpKX0gICAgICAgICAgICAgICAgICAgIHwgJHtbbmV3IFJvdyhbJzEnLCAnMSddKV19XG4gICAgJHttc3RhY2sobXNyb3cobW4oJzEnKSksIG1uKCcxJykpfSAgICAgICAgICAgICAgICAgICAgfCAke1tuZXcgUm93KFsnMSddKSwgbmV3IFJvdyhbJzEnXSldfVxuICAgICR7bXN0YWNrKG1zbGluZSgpKX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgJHtbbmV3IExpbmUoKV19XG4gICAgJHttc3RhY2sobW4oJzEnKSwgbXNsaW5lKCksIG1zcm93KG1vKCcrJyksIG1uKCcxJykpKX0gfCAke1tuZXcgUm93KFsnMSddKSwgbmV3IExpbmUoKSwgbmV3IFJvdyhbJzEnXSwgbW8oJysnKSldfVxuICAgICR7bXN0YWNrKG1uKCcxJyksIG1uKCcxJykpfSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgJHtbbmV3IFJvdyhbJzEnXSksIG5ldyBSb3coWycxJ10pXX1cbiAgYCgnJGlucHV0ID0+ICRleHBlY3RlZCcsICh7IGlucHV0LCBleHBlY3RlZCB9KSA9PiB7XG4gICAgY29uc3QgZCA9IGdldFN0YWNrRGF0YShpbnB1dCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2Q6JywgZCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2U6JywgZXhwZWN0ZWQpO1xuICAgIGV4cGVjdCh7IC4uLmQgfSkudG9FcXVhbCh7IC4uLmV4cGVjdGVkIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnUm93JywgKCkgPT4ge1xuICBkZXNjcmliZSgncGFkJywgKCkgPT4ge1xuICAgIGl0LmVhY2hgXG4gICAgICBjb2xzICAgfCBjb3VudCB8IGV4cGVjdGVkXG4gICAgICAke1tdfSAgfCAkezB9ICB8ICR7W119XG4gICAgICAke1sxXX0gfCAkezF9ICB8ICR7WzFdfVxuICAgICAgJHtbMV19IHwgJHsyfSAgfCAke1snX19wYWRfXycsIDFdfVxuICAgICAgJHtbMV19IHwgJHszfSAgfCAke1snX19wYWRfXycsICdfX3BhZF9fJywgMV19XG4gICAgYCgncGFkcyB0byB0aGUgcmlnaHQnLCAoeyBjb2xzLCBjb3VudCwgZXhwZWN0ZWQgfSkgPT4ge1xuICAgICAgY29uc3QgciA9IG5ldyBSb3coY29scyk7XG4gICAgICBjb25zdCBwID0gci5wYWQoY291bnQsICdyaWdodCcpO1xuICAgICAgZXhwZWN0KHApLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZS5lYWNoYFxuICBsYWJlbCAgICAgICAgICAgICAgICAgICAgICAgfCB0cmVlXG4gICR7J29uZSByb3cnfSAgICAgICAgICAgICAgICB8ICR7W21zcm93KG1uKCcxJykpXX1cbiAgJHsnaW1wbGljaXQgb25lIHJvdyd9ICAgICAgIHwgJHtbbW4oJzEnKV19XG4gICR7J3R3byByb3dzJ30gICAgICAgICAgICAgICB8ICR7W21zcm93KG1uKCcxJykpLCBtc3JvdyhtbignMicpKV19XG4gICR7J3R3byByb3dzIHdpdGggb3BlcmF0b3InfSB8ICR7W21zcm93KG1uKCcxJykpLCBtc3JvdyhtY28oJysnKSwgbW4oJzInKSldfVxuYCgnY2h0bWwnLCAoeyBsYWJlbCwgdHJlZSB9KSA9PiB7XG4gIGxldCBodG1sO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNvbnN0IGNodG1sID0gbmV3IENIVE1MbXN0YWNrKHt9LCB7fSk7XG4gICAgY29uc3QgZG9tID0gbmV3IEpTRE9NKGA8IURPQ1RZUEUgaHRtbD48Ym9keT48L2JvZHk+YCk7XG4gICAgY2h0bWwuc3RhbmRhcmRDSFRNTG5vZGUgPSAocGFyZW50KSA9PiBwYXJlbnQ7XG4gICAgY2h0bWwuY2UgPSBkb20ud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQuYmluZChkb20ud2luZG93LmRvY3VtZW50KTtcbiAgICBjaHRtbC5jaGlsZE5vZGVzID0gdHJlZTtcbiAgICBjaHRtbC50b0NIVE1MKGRvbS53aW5kb3cuZG9jdW1lbnQuYm9keSk7XG4gICAgaHRtbCA9IGRvbS53aW5kb3cuZG9jdW1lbnQuYm9keS5pbm5lckhUTUw7XG4gIH0pO1xuXG4gIGl0KGxhYmVsLCAoKSA9PiB7XG4gICAgZXhwZWN0KGh0bWwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcbn0pO1xuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/math-rendering",
|
|
3
|
-
"version": "3.3.0-beta.
|
|
3
|
+
"version": "3.3.0-beta.5",
|
|
4
4
|
"description": "math rendering utilities",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
"debug": "^4.1.1",
|
|
15
15
|
"lodash": "^4.17.11",
|
|
16
16
|
"mathjax-full": "3.2.2",
|
|
17
|
-
"react": "^16.8.1"
|
|
18
|
-
"slate": "^0.36.2"
|
|
17
|
+
"react": "^16.8.1"
|
|
19
18
|
},
|
|
20
19
|
"gitHead": "e2aa3ddac60f49bcb8c2562370f496323642f453",
|
|
21
20
|
"scripts": {}
|