@pie-lib/math-rendering 3.4.0-beta.0 → 3.4.0

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.
@@ -1,151 +0,0 @@
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
@@ -1,296 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getStackData = exports.Row = exports.Line = exports.CHTMLmstack = void 0;
9
-
10
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
-
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
-
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
-
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
- var _Wrapper = require("mathjax-full/js/output/chtml/Wrapper");
23
-
24
- var _lodash = _interopRequireDefault(require("lodash"));
25
-
26
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
27
-
28
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
29
-
30
- var reduceText = function reduceText(acc, n) {
31
- if (n.node && n.node.kind === 'text') {
32
- acc += n.node.text;
33
- }
34
-
35
- return acc;
36
- };
37
-
38
- var Line = /*#__PURE__*/function () {
39
- function Line() {
40
- (0, _classCallCheck2["default"])(this, Line);
41
- this.kind = 'line';
42
- }
43
-
44
- (0, _createClass2["default"])(Line, [{
45
- key: "columns",
46
- get: function get() {
47
- return [];
48
- }
49
- }]);
50
- return Line;
51
- }();
52
-
53
- exports.Line = Line;
54
-
55
- var Row = /*#__PURE__*/function () {
56
- function Row(columns, operator) {
57
- (0, _classCallCheck2["default"])(this, Row);
58
- this.kind = 'row';
59
- this.operator = operator;
60
- this.columns = columns;
61
- }
62
-
63
- (0, _createClass2["default"])(Row, [{
64
- key: "pad",
65
- value: function pad(count) {
66
- var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'right';
67
-
68
- if (count < this.columns.length) {
69
- throw new Error('no');
70
- }
71
-
72
- var diff = count - this.columns.length;
73
-
74
- var padding = _lodash["default"].times(diff).map(function () {
75
- return '__pad__';
76
- });
77
-
78
- return direction === 'right' ? [].concat((0, _toConsumableArray2["default"])(padding), (0, _toConsumableArray2["default"])(this.columns)) : [].concat((0, _toConsumableArray2["default"])(this.columns), (0, _toConsumableArray2["default"])(padding));
79
- }
80
- }]);
81
- return Row;
82
- }();
83
-
84
- exports.Row = Row;
85
-
86
- var mathNodeToCharArray = function mathNodeToCharArray(mn) {
87
- var text = mn.childNodes.reduce(reduceText, '');
88
- return text.split('');
89
- };
90
- /**
91
- * Convert child a column entry
92
- * @param {*} child
93
- * @return an array of column content
94
- */
95
-
96
-
97
- var toColumnArray = function toColumnArray(child) {
98
- if (!child || !child.kind) {
99
- return [];
100
- }
101
-
102
- if (child.kind === 'msrow') {
103
- throw new Error('msrow in msrow?');
104
- }
105
-
106
- if (child.kind === 'mo') {
107
- // We are going to treat this operator as a text array.
108
- // It's probably going to be a decimal point
109
- // eslint-disable-next-line no-console
110
- console.warn('mo that is not 1st node in msrow?');
111
- return mathNodeToCharArray(child); // throw new Error('mo must be first child of msrow');
112
- }
113
-
114
- if (child.kind === 'mn') {
115
- return mathNodeToCharArray(child);
116
- }
117
-
118
- if (child.toCHTML) {
119
- return child;
120
- }
121
- };
122
- /**
123
- * convert mstack chtml childNodes into a Row
124
- * @param child chtml child node of mstack
125
- * @return Row | Line
126
- */
127
-
128
-
129
- var rowStack = function rowStack(child) {
130
- if (!child || !child.kind) {
131
- return;
132
- }
133
-
134
- if (child.kind === 'msrow') {
135
- if (!child.childNodes || child.childNodes.length === 0) {
136
- return new Row([]);
137
- }
138
-
139
- var f = _lodash["default"].first(child.childNodes);
140
-
141
- var nodes = f && f.kind === 'mo' ? _lodash["default"].tail(child.childNodes) : child.childNodes;
142
-
143
- var columns = _lodash["default"].flatten(nodes.map(toColumnArray));
144
-
145
- return new Row(columns, f.kind === 'mo' ? f : undefined);
146
- }
147
-
148
- if (child.kind === 'mn') {
149
- var _columns = mathNodeToCharArray(child);
150
-
151
- return new Row(_columns, undefined);
152
- }
153
-
154
- if (child.kind === 'mo') {
155
- // eslint-disable-next-line no-console
156
- console.warn('mo on its own row?');
157
- return new Row([], child);
158
- }
159
-
160
- if (child.kind === 'msline') {
161
- return new Line();
162
- }
163
-
164
- if (child.toCHTML) {
165
- return new Row([child]);
166
- }
167
- };
168
- /** convert MathJax chtml tree to Row[]
169
- * @param mstack the root of the mathjax chtml tree
170
- * @return Row[]
171
- */
172
-
173
-
174
- var getStackData = function getStackData(mstack) {
175
- if (!mstack || !mstack.childNodes) {
176
- return [];
177
- }
178
-
179
- return _lodash["default"].compact(mstack.childNodes.map(rowStack));
180
- };
181
-
182
- exports.getStackData = getStackData;
183
-
184
- var CHTMLmstack = /*#__PURE__*/function (_CHTMLWrapper) {
185
- (0, _inherits2["default"])(CHTMLmstack, _CHTMLWrapper);
186
-
187
- var _super = _createSuper(CHTMLmstack);
188
-
189
- function CHTMLmstack(factory, node) {
190
- var _this;
191
-
192
- var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
193
- (0, _classCallCheck2["default"])(this, CHTMLmstack);
194
- _this = _super.call(this, factory, node, parent);
195
- _this.ce = _this.adaptor.document.createElement.bind(_this.adaptor.document);
196
- return _this;
197
- }
198
-
199
- (0, _createClass2["default"])(CHTMLmstack, [{
200
- key: "toCHTML",
201
- value: function toCHTML(parent) {
202
- var _this2 = this;
203
-
204
- var chtml = this.standardCHTMLnode(parent);
205
- var stackData = getStackData(this); // console.log('stackData', stackData);
206
-
207
- var maxCols = stackData.reduce(function (acc, r) {
208
- if (r && r.columns.length > acc) {
209
- acc = r.columns.length;
210
- }
211
-
212
- return acc;
213
- }, 0);
214
- var table = this.ce('table');
215
- chtml.appendChild(table);
216
- stackData.forEach(function (row) {
217
- var tr = _this2.ce('tr');
218
-
219
- table.appendChild(tr);
220
-
221
- if (row.kind === 'row') {
222
- var td = _this2.ce('td');
223
-
224
- tr.appendChild(td);
225
-
226
- if (row.operator && row.operator.toCHTML) {
227
- td.setAttribute('class', 'inner');
228
- row.operator.toCHTML(td);
229
- } else {
230
- td.textContent = '';
231
- } // align right for now:
232
-
233
-
234
- var cols = row.pad(maxCols, 'right');
235
- cols.forEach(function (c) {
236
- var t = _this2.ce('td');
237
-
238
- tr.appendChild(t);
239
-
240
- if (c === '__pad__') {
241
- t.textContent = '';
242
- } else if (typeof c === 'string') {
243
- t.textContent = c;
244
- } else if (c.kind === 'none') {
245
- t.textContent = '';
246
- } else if (c.toCHTML) {
247
- t.setAttribute('class', 'inner');
248
- c.toCHTML(t);
249
- }
250
- });
251
- } else if (row.kind === 'line') {
252
- var _td = _this2.ce('td');
253
-
254
- tr.appendChild(_td);
255
-
256
- _td.setAttribute('colspan', maxCols + 1);
257
-
258
- _td.setAttribute('class', 'mjx-line');
259
-
260
- _td.textContent = '';
261
- }
262
- });
263
- }
264
- }]);
265
- return CHTMLmstack;
266
- }(_Wrapper.CHTMLWrapper);
267
-
268
- exports.CHTMLmstack = CHTMLmstack;
269
- CHTMLmstack.styles = {
270
- 'mjx-mstack > table': {
271
- 'line-height': 'initial',
272
- border: 'solid 0px red',
273
- 'border-spacing': '0em',
274
- 'border-collapse': 'separate'
275
- },
276
- 'mjx-mstack > table > tr': {
277
- 'line-height': 'initial'
278
- },
279
- 'mjx-mstack > table > tr > td': {
280
- // padding: '1.2rem',
281
- border: 'solid 0px blue',
282
- 'font-family': 'sans-serif',
283
- 'line-height': 'initial'
284
- },
285
- 'mjx-mstack > table > tr > td.inner': {
286
- 'font-family': 'inherit'
287
- },
288
- 'mjx-mstack > table > tr > .mjx-line': {
289
- padding: 0,
290
- 'border-top': 'solid 1px black'
291
- },
292
- '.TEX-A': {
293
- 'font-family': 'MJXZERO, MJXTEX !important'
294
- }
295
- };
296
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tc3RhY2svY2h0bWwuanMiXSwibmFtZXMiOlsicmVkdWNlVGV4dCIsImFjYyIsIm4iLCJub2RlIiwia2luZCIsInRleHQiLCJMaW5lIiwiUm93IiwiY29sdW1ucyIsIm9wZXJhdG9yIiwiY291bnQiLCJkaXJlY3Rpb24iLCJsZW5ndGgiLCJFcnJvciIsImRpZmYiLCJwYWRkaW5nIiwiXyIsInRpbWVzIiwibWFwIiwibWF0aE5vZGVUb0NoYXJBcnJheSIsIm1uIiwiY2hpbGROb2RlcyIsInJlZHVjZSIsInNwbGl0IiwidG9Db2x1bW5BcnJheSIsImNoaWxkIiwiY29uc29sZSIsIndhcm4iLCJ0b0NIVE1MIiwicm93U3RhY2siLCJmIiwiZmlyc3QiLCJub2RlcyIsInRhaWwiLCJmbGF0dGVuIiwidW5kZWZpbmVkIiwiZ2V0U3RhY2tEYXRhIiwibXN0YWNrIiwiY29tcGFjdCIsIkNIVE1MbXN0YWNrIiwiZmFjdG9yeSIsInBhcmVudCIsImNlIiwiYWRhcHRvciIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImJpbmQiLCJjaHRtbCIsInN0YW5kYXJkQ0hUTUxub2RlIiwic3RhY2tEYXRhIiwibWF4Q29scyIsInIiLCJ0YWJsZSIsImFwcGVuZENoaWxkIiwiZm9yRWFjaCIsInJvdyIsInRyIiwidGQiLCJzZXRBdHRyaWJ1dGUiLCJ0ZXh0Q29udGVudCIsImNvbHMiLCJwYWQiLCJjIiwidCIsIkNIVE1MV3JhcHBlciIsInN0eWxlcyIsImJvcmRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNDLEdBQUQsRUFBTUMsQ0FBTixFQUFZO0FBQzdCLE1BQUlBLENBQUMsQ0FBQ0MsSUFBRixJQUFVRCxDQUFDLENBQUNDLElBQUYsQ0FBT0MsSUFBUCxLQUFnQixNQUE5QixFQUFzQztBQUNwQ0gsSUFBQUEsR0FBRyxJQUFJQyxDQUFDLENB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QUFBQSxPQUFPLEVBQUUsQ0FENEI7QUFFckMsa0JBQWM7QUFGdUIsR0FuQnBCO0FBdUJuQixZQUFVO0FBQ1IsbUJBQWU7QUFEUDtBQXZCUyxDQUFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENIVE1MV3JhcHBlciB9IGZyb20gJ21hdGhqYXgtZnVsbC9qcy9vdXRwdXQvY2h0bWwvV3JhcHBlcic7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCByZWR1Y2VUZXh0ID0gKGFjYywgbikgPT4ge1xuICBpZiAobi5ub2RlICYmIG4ubm9kZS5raW5kID09PSAndGV4dCcpIHtcbiAgICBhY2MgKz0gbi5ub2RlLnRleHQ7XG4gIH1cbiAgcmV0dXJuIGFjYztcbn07XG5cbmV4cG9ydCBjbGFzcyBMaW5lIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5raW5kID0gJ2xpbmUnO1xuICB9XG5cbiAgZ2V0IGNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSb3cge1xuICBjb25zdHJ1Y3Rvcihjb2x1bW5zLCBvcGVyYXRvcikge1xuICAgIHRoaXMua2luZCA9ICdyb3cnO1xuICAgIHRoaXMub3BlcmF0b3IgPSBvcGVyYXRvcjtcbiAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zO1xuICB9XG5cbiAgcGFkKGNvdW50LCBkaXJlY3Rpb24gPSAncmlnaHQnKSB7XG4gICAgaWYgKGNvdW50IDwgdGhpcy5jb2x1bW5zLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdubycpO1xuICAgIH1cblxuICAgIGNvbnN0IGRpZmYgPSBjb3VudCAtIHRoaXMuY29sdW1ucy5sZW5ndGg7XG5cbiAgICBjb25zdCBwYWRkaW5nID0gXy50aW1lcyhkaWZmKS5tYXAoKCkgPT4gJ19fcGFkX18nKTtcbiAgICByZXR1cm4gZGlyZWN0aW9uID09PSAncmlnaHQnID8gWy4uLnBhZGRpbmcsIC4uLnRoaXMuY29sdW1uc10gOiBbLi4udGhpcy5jb2x1bW5zLCAuLi5wYWRkaW5nXTtcbiAgfVxufVxuXG5jb25zdCBtYXRoTm9kZVRvQ2hhckFycmF5ID0gKG1uKSA9PiB7XG4gIGNvbnN0IHRleHQgPSBtbi5jaGlsZE5vZGVzLnJlZHVjZShyZWR1Y2VUZXh0LCAnJyk7XG4gIHJldHVybiB0ZXh0LnNwbGl0KCcnKTtcbn07XG5cbi8qKlxuICogQ29udmVydCBjaGlsZCBhIGNvbHVtbiBlbnRyeVxuICogQHBhcmFtIHsqfSBjaGlsZFxuICogQHJldHVybiBhbiBhcnJheSBvZiBjb2x1bW4gY29udGVudFxuICovXG5jb25zdCB0b0NvbHVtbkFycmF5ID0gKGNoaWxkKSA9PiB7XG4gIGlmICghY2hpbGQgfHwgIWNoaWxkLmtpbmQpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBpZiAoY2hpbGQua2luZCA9PT0gJ21zcm93Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignbXNyb3cgaW4gbXNyb3c/Jyk7XG4gIH1cblxuICBpZiAoY2hpbGQua2luZCA9PT0gJ21vJykge1xuICAgIC8vIFdlIGFyZSBnb2luZyB0byB0cmVhdCB0aGlzIG9wZXJhdG9yIGFzIGEgdGV4dCBhcnJheS5cbiAgICAvLyBJdCdzIHByb2JhYmx5IGdvaW5nIHRvIGJlIGEgZGVjaW1hbCBwb2ludFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS53YXJuKCdtbyB0aGF0IGlzIG5vdCAxc3Qgbm9kZSBpbiBtc3Jvdz8nKTtcbiAgICByZXR1cm4gbWF0aE5vZGVUb0NoYXJBcnJheShjaGlsZCk7XG4gICAgLy8gdGhyb3cgbmV3IEVycm9yKCdtbyBtdXN0IGJlIGZpcnN0IGNoaWxkIG9mIG1zcm93Jyk7XG4gIH1cblxuICBpZiAoY2hpbGQua2luZCA9PT0gJ21uJykge1xuICAgIHJldHVybiBtYXRoTm9kZVRvQ2hhckFycmF5KGNoaWxkKTtcbiAgfVxuXG4gIGlmIChjaGlsZC50b0NIVE1MKSB7XG4gICAgcmV0dXJuIGNoaWxkO1xuICB9XG59O1xuXG4vKipcbiAqICBjb252ZXJ0IG1zdGFjayBjaHRtbCBjaGlsZE5vZGVzIGludG8gYSBSb3dcbiAqICBAcGFyYW0gY2hpbGQgY2h0bWwgY2hpbGQgbm9kZSBvZiBtc3RhY2tcbiAqICBAcmV0dXJuIFJvdyB8IExpbmVcbiAqL1xuY29uc3Qgcm93U3RhY2sgPSAoY2hpbGQpID0+IHtcbiAgaWYgKCFjaGlsZCB8fCAhY2hpbGQua2luZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjaGlsZC5raW5kID09PSAnbXNyb3cnKSB7XG4gICAgaWYgKCFjaGlsZC5jaGlsZE5vZGVzIHx8IGNoaWxkLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbmV3IFJvdyhbXSk7XG4gICAgfVxuICAgIGNvbnN0IGYgPSBfLmZpcnN0KGNoaWxkLmNoaWxkTm9kZXMpO1xuICAgIGNvbnN0IG5vZGVzID0gZiAmJiBmLmtpbmQgPT09ICdtbycgPyBfLnRhaWwoY2hpbGQuY2hpbGROb2RlcykgOiBjaGlsZC5jaGlsZE5vZGVzO1xuXG4gICAgY29uc3QgY29sdW1ucyA9IF8uZmxhdHRlbihub2Rlcy5tYXAodG9Db2x1bW5BcnJheSkpO1xuXG4gICAgcmV0dXJuIG5ldyBSb3coY29sdW1ucywgZi5raW5kID09PSAnbW8nID8gZiA6IHVuZGVmaW5lZCk7XG4gIH1cblxuICBpZiAoY2hpbGQua2luZCA9PT0gJ21uJykge1xuICAgIGNvbnN0IGNvbHVtbnMgPSBtYXRoTm9kZVRvQ2hhckFycmF5KGNoaWxkKTtcbiAgICByZXR1cm4gbmV3IFJvdyhjb2x1bW5zLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgaWYgKGNoaWxkLmtpbmQgPT09ICdtbycpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUud2FybignbW8gb24gaXRzIG93biByb3c/Jyk7XG4gICAgcmV0dXJuIG5ldyBSb3coW10sIGNoaWxkKTtcbiAgfVxuXG4gIGlmIChjaGlsZC5raW5kID09PSAnbXNsaW5lJykge1xuICAgIHJldHVybiBuZXcgTGluZSgpO1xuICB9XG5cbiAgaWYgKGNoaWxkLnRvQ0hUTUwpIHtcbiAgICByZXR1cm4gbmV3IFJvdyhbY2hpbGRdKTtcbiAgfVxufTtcblxuLyoqIGNvbnZlcnQgTWF0aEpheCBjaHRtbCB0cmVlIHRvIFJvd1tdXG4gKiBAcGFyYW0gbXN0YWNrIHRoZSByb290IG9mIHRoZSBtYXRoamF4IGNodG1sIHRyZWVcbiAqIEByZXR1cm4gUm93W11cbiAqL1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhY2tEYXRhID0gKG1zdGFjaykgPT4ge1xuICBpZiAoIW1zdGFjayB8fCAhbXN0YWNrLmNoaWxkTm9kZXMpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIF8uY29tcGFjdChtc3RhY2suY2hpbGROb2Rlcy5tYXAocm93U3RhY2spKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBDSFRNTG1zdGFjayBleHRlbmRzIENIVE1MV3JhcHBlciB7XG4gIGNvbnN0cnVjdG9yKGZhY3RvcnksIG5vZGUsIHBhcmVudCA9IG51bGwpIHtcbiAgICBzdXBlcihmYWN0b3J5LCBub2RlLCBwYXJlbnQpO1xuXG4gICAgdGhpcy5jZSA9IHRoaXMuYWRhcHRvci5kb2N1bWVudC5jcmVhdGVFbGVtZW50LmJpbmQodGhpcy5hZGFwdG9yLmRvY3VtZW50KTtcbiAgfVxuXG4gIHRvQ0hUTUwocGFyZW50KSB7XG4gICAgY29uc3QgY2h0bWwgPSB0aGlzLnN0YW5kYXJkQ0hUTUxub2RlKHBhcmVudCk7XG5cbiAgICBjb25zdCBzdGFja0RhdGEgPSBnZXRTdGFja0RhdGEodGhpcyk7XG5cbiAgICAvLyBjb25zb2xlLmxvZygnc3RhY2tEYXRhJywgc3RhY2tEYXRhKTtcbiAgICBjb25zdCBtYXhDb2xzID0gc3RhY2tEYXRhLnJlZHVjZSgoYWNjLCByKSA9PiB7XG4gICAgICBpZiAociAmJiByLmNvbHVtbnMubGVuZ3RoID4gYWNjKSB7XG4gICAgICAgIGFjYyA9IHIuY29sdW1ucy5sZW5ndGg7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIDApO1xuXG4gICAgY29uc3QgdGFibGUgPSB0aGlzLmNlKCd0YWJsZScpO1xuICAgIGNodG1sLmFwcGVuZENoaWxkKHRhYmxlKTtcblxuICAgIHN0YWNrRGF0YS5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgIGNvbnN0IHRyID0gdGhpcy5jZSgndHInKTtcbiAgICAgIHRhYmxlLmFwcGVuZENoaWxkKHRyKTtcblxuICAgICAgaWYgKHJvdy5raW5kID09PSAncm93Jykge1xuICAgICAgICBjb25zdCB0ZCA9IHRoaXMuY2UoJ3RkJyk7XG4gICAgICAgIHRyLmFwcGVuZENoaWxkKHRkKTtcbiAgICAgICAgaWYgKHJvdy5vcGVyYXRvciAmJiByb3cub3BlcmF0b3IudG9DSFRNTCkge1xuICAgICAgICAgIHRkLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnaW5uZXInKTtcbiAgICAgICAgICByb3cub3BlcmF0b3IudG9DSFRNTCh0ZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGQudGV4dENvbnRlbnQgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFsaWduIHJpZ2h0IGZvciBub3c6XG4gICAgICAgIGNvbnN0IGNvbHMgPSByb3cucGFkKG1heENvbHMsICdyaWdodCcpO1xuICAgICAgICBjb2xzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICBjb25zdCB0ID0gdGhpcy5jZSgndGQnKTtcbiAgICAgICAgICB0ci5hcHBlbmRDaGlsZCh0KTtcbiAgICAgICAgICBpZiAoYyA9PT0gJ19fcGFkX18nKSB7XG4gICAgICAgICAgICB0LnRleHRDb250ZW50ID0gJyc7XG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHQudGV4dENvbnRlbnQgPSBjO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYy5raW5kID09PSAnbm9uZScpIHtcbiAgICAgICAgICAgIHQudGV4dENvbnRlbnQgPSAnJztcbiAgICAgICAgICB9IGVsc2UgaWYgKGMudG9DSFRNTCkge1xuICAgICAgICAgICAgdC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ2lubmVyJyk7XG4gICAgICAgICAgICBjLnRvQ0hUTUwodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAocm93LmtpbmQgPT09ICdsaW5lJykge1xuICAgICAgICBjb25zdCB0ZCA9IHRoaXMuY2UoJ3RkJyk7XG4gICAgICAgIHRyLmFwcGVuZENoaWxkKHRkKTtcbiAgICAgICAgdGQuc2V0QXR0cmlidXRlKCdjb2xzcGFuJywgbWF4Q29scyArIDEpO1xuICAgICAgICB0ZC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJ21qeC1saW5lJyk7XG4gICAgICAgIHRkLnRleHRDb250ZW50ID0gJyc7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbkNIVE1MbXN0YWNrLnN0eWxlcyA9IHtcbiAgJ21qeC1tc3RhY2sgPiB0YWJsZSc6IHtcbiAgICAnbGluZS1oZWlnaHQnOiAnaW5pdGlhbCcsXG4gICAgYm9yZGVyOiAnc29saWQgMHB4IHJlZCcsXG4gICAgJ2JvcmRlci1zcGFjaW5nJzogJzBlbScsXG4gICAgJ2JvcmRlci1jb2xsYXBzZSc6ICdzZXBhcmF0ZScsXG4gIH0sXG4gICdtangtbXN0YWNrID4gdGFibGUgPiB0cic6IHtcbiAgICAnbGluZS1oZWlnaHQnOiAnaW5pdGlhbCcsXG4gIH0sXG4gICdtangtbXN0YWNrID4gdGFibGUgPiB0ciA+IHRkJzoge1xuICAgIC8vIHBhZGRpbmc6ICcxLjJyZW0nLFxuICAgIGJvcmRlcjogJ3NvbGlkIDBweCBibHVlJyxcbiAgICAnZm9udC1mYW1pbHknOiAnc2Fucy1zZXJpZicsXG4gICAgJ2xpbmUtaGVpZ2h0JzogJ2luaXRpYWwnLFxuICB9LFxuICAnbWp4LW1zdGFjayA+IHRhYmxlID4gdHIgPiB0ZC5pbm5lcic6IHtcbiAgICAnZm9udC1mYW1pbHknOiAnaW5oZXJpdCcsXG4gIH0sXG4gICdtangtbXN0YWNrID4gdGFibGUgPiB0ciA+IC5tangtbGluZSc6IHtcbiAgICBwYWRkaW5nOiAwLFxuICAgICdib3JkZXItdG9wJzogJ3NvbGlkIDFweCBibGFjaycsXG4gIH0sXG4gICcuVEVYLUEnOiB7XG4gICAgJ2ZvbnQtZmFtaWx5JzogJ01KWFpFUk8sIE1KWFRFWCAhaW1wb3J0YW50JyxcbiAgfSxcbn07XG4iXX0=
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.mmlNodes = exports.chtmlNodes = void 0;
7
-
8
- var _chtml = require("./chtml");
9
-
10
- var _mml = require("./mml");
11
-
12
- var chtmlNodes = {
13
- mstack: _chtml.CHTMLmstack
14
- };
15
- exports.chtmlNodes = chtmlNodes;
16
- var mmlNodes = {
17
- mstack: _mml.MmlMstack,
18
- msline: _mml.MmlMsline,
19
- msrow: _mml.MmlMsrow,
20
- none: _mml.MmlNone
21
- };
22
- exports.mmlNodes = mmlNodes;
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tc3RhY2svaW5kZXguanMiXSwibmFtZXMiOlsiY2h0bWxOb2RlcyIsIm1zdGFjayIsIkNIVE1MbXN0YWNrIiwibW1sTm9kZXMiLCJNbWxNc3RhY2siLCJtc2xpbmUiLCJNbWxNc2xpbmUiLCJtc3JvdyIsIk1tbE1zcm93Iiwibm9uZSIsIk1tbE5vbmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFTyxJQUFNQSxVQUFVLEdBQUc7QUFDeEJDLEVBQUFBLE1BQU0sRUFBRUM7QUFEZ0IsQ0FBbkI7O0FBSUEsSUFBTUMsUUFBUSxHQUFHO0FBQ3RCRixFQUFBQSxNQUFNLEVBQUVHLGNBRGM7QUFFdEJDLEVBQUFBLE1BQU0sRUFBRUMsY0FGYztBQUd0QkMsRUFBQUEsS0FBSyxFQUFFQyxhQUhlO0FBSXRCQyxFQUFBQSxJQUFJLEVBQUVDO0FBSmdCLENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0hUTUxtc3RhY2sgfSBmcm9tICcuL2NodG1sJztcbmltcG9ydCB7IE1tbE5vbmUsIE1tbE1zbGluZSwgTW1sTXN0YWNrLCBNbWxNc3JvdyB9IGZyb20gJy4vbW1sJztcblxuZXhwb3J0IGNvbnN0IGNodG1sTm9kZXMgPSB7XG4gIG1zdGFjazogQ0hUTUxtc3RhY2ssXG59O1xuXG5leHBvcnQgY29uc3QgbW1sTm9kZXMgPSB7XG4gIG1zdGFjazogTW1sTXN0YWNrLFxuICBtc2xpbmU6IE1tbE1zbGluZSxcbiAgbXNyb3c6IE1tbE1zcm93LFxuICBub25lOiBNbWxOb25lLFxufTtcbiJdfQ==
package/lib/mstack/mml.js DELETED
@@ -1,109 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.MmlNone = exports.MmlMstack = exports.MmlMsrow = exports.MmlMsline = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _MmlNode = require("mathjax-full/js/core/MmlTree/MmlNode");
21
-
22
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
-
24
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
25
-
26
- var MmlNone = /*#__PURE__*/function (_AbstractMmlNode) {
27
- (0, _inherits2["default"])(MmlNone, _AbstractMmlNode);
28
-
29
- var _super = _createSuper(MmlNone);
30
-
31
- function MmlNone() {
32
- (0, _classCallCheck2["default"])(this, MmlNone);
33
- return _super.apply(this, arguments);
34
- }
35
-
36
- (0, _createClass2["default"])(MmlNone, [{
37
- key: "kind",
38
- get: function get() {
39
- return 'none';
40
- }
41
- }]);
42
- return MmlNone;
43
- }(_MmlNode.AbstractMmlNode);
44
-
45
- exports.MmlNone = MmlNone;
46
-
47
- var MmlMstack = /*#__PURE__*/function (_AbstractMmlNode2) {
48
- (0, _inherits2["default"])(MmlMstack, _AbstractMmlNode2);
49
-
50
- var _super2 = _createSuper(MmlMstack);
51
-
52
- function MmlMstack() {
53
- (0, _classCallCheck2["default"])(this, MmlMstack);
54
- return _super2.apply(this, arguments);
55
- }
56
-
57
- (0, _createClass2["default"])(MmlMstack, [{
58
- key: "kind",
59
- get: function get() {
60
- return 'mstack';
61
- }
62
- }]);
63
- return MmlMstack;
64
- }(_MmlNode.AbstractMmlNode);
65
-
66
- exports.MmlMstack = MmlMstack;
67
-
68
- var MmlMsrow = /*#__PURE__*/function (_AbstractMmlNode3) {
69
- (0, _inherits2["default"])(MmlMsrow, _AbstractMmlNode3);
70
-
71
- var _super3 = _createSuper(MmlMsrow);
72
-
73
- function MmlMsrow() {
74
- (0, _classCallCheck2["default"])(this, MmlMsrow);
75
- return _super3.apply(this, arguments);
76
- }
77
-
78
- (0, _createClass2["default"])(MmlMsrow, [{
79
- key: "kind",
80
- get: function get() {
81
- return 'msrow';
82
- }
83
- }]);
84
- return MmlMsrow;
85
- }(_MmlNode.AbstractMmlNode);
86
-
87
- exports.MmlMsrow = MmlMsrow;
88
-
89
- var MmlMsline = /*#__PURE__*/function (_AbstractMmlNode4) {
90
- (0, _inherits2["default"])(MmlMsline, _AbstractMmlNode4);
91
-
92
- var _super4 = _createSuper(MmlMsline);
93
-
94
- function MmlMsline() {
95
- (0, _classCallCheck2["default"])(this, MmlMsline);
96
- return _super4.apply(this, arguments);
97
- }
98
-
99
- (0, _createClass2["default"])(MmlMsline, [{
100
- key: "kind",
101
- get: function get() {
102
- return 'msline';
103
- }
104
- }]);
105
- return MmlMsline;
106
- }(_MmlNode.AbstractMmlNode);
107
-
108
- exports.MmlMsline = MmlMsline;
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tc3RhY2svbW1sLmpzIl0sIm5hbWVzIjpbIk1tbE5vbmUiLCJBYnN0cmFjdE1tbE5vZGUiLCJNbWxNc3RhY2siLCJNbWxNc3JvdyIsIk1tbE1zbGluZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7SUFFYUEsTzs7Ozs7Ozs7Ozs7O1NBQ1gsZUFBVztBQUNULGFBQU8sTUFBUDtBQUNEOzs7RUFIMEJDLHdCOzs7O0lBTWhCQyxTOzs7Ozs7Ozs7Ozs7U0FDWCxlQUFXO0FBQ1QsYUFBTyxRQUFQO0FBQ0Q7OztFQUg0QkQsd0I7Ozs7SUFNbEJFLFE7Ozs7Ozs7Ozs7OztTQUNYLGVBQVc7QUFDVCxhQUFPLE9BQVA7QUFDRDs7O0VBSDJCRix3Qjs7OztJQUtqQkcsUzs7Ozs7Ozs7Ozs7O1NBQ1gsZUFBVztBQUNULGFBQU8sUUFBUDtBQUNEOzs7RUFINEJILHdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RNbWxOb2RlIH0gZnJvbSAnbWF0aGpheC1mdWxsL2pzL2NvcmUvTW1sVHJlZS9NbWxOb2RlJztcblxuZXhwb3J0IGNsYXNzIE1tbE5vbmUgZXh0ZW5kcyBBYnN0cmFjdE1tbE5vZGUge1xuICBnZXQga2luZCgpIHtcbiAgICByZXR1cm4gJ25vbmUnO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNbWxNc3RhY2sgZXh0ZW5kcyBBYnN0cmFjdE1tbE5vZGUge1xuICBnZXQga2luZCgpIHtcbiAgICByZXR1cm4gJ21zdGFjayc7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1tbE1zcm93IGV4dGVuZHMgQWJzdHJhY3RNbWxOb2RlIHtcbiAgZ2V0IGtpbmQoKSB7XG4gICAgcmV0dXJuICdtc3Jvdyc7XG4gIH1cbn1cbmV4cG9ydCBjbGFzcyBNbWxNc2xpbmUgZXh0ZW5kcyBBYnN0cmFjdE1tbE5vZGUge1xuICBnZXQga2luZCgpIHtcbiAgICByZXR1cm4gJ21zbGluZSc7XG4gIH1cbn1cbiJdfQ==