@pie-lib/math-rendering 3.22.1 → 3.23.0-mui-update.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.
- package/CHANGELOG.md +4 -32
- package/lib/index.js +0 -4
- package/lib/index.js.map +1 -1
- package/lib/mml-to-latex.js +1 -5
- package/lib/mml-to-latex.js.map +1 -1
- package/lib/mstack/chtml.js +21 -87
- package/lib/mstack/chtml.js.map +1 -1
- package/lib/mstack/index.js +2 -7
- package/lib/mstack/index.js.map +1 -1
- package/lib/mstack/mml.js +19 -60
- package/lib/mstack/mml.js.map +1 -1
- package/lib/normalization.js +7 -34
- package/lib/normalization.js.map +1 -1
- package/lib/render-math.js +32 -128
- package/lib/render-math.js.map +1 -1
- package/package.json +6 -3
package/lib/normalization.js
CHANGED
|
@@ -1,95 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.wrapMath = exports.unWrapMath = exports.BracketTypes = void 0;
|
|
9
|
-
|
|
10
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _PAIRS;
|
|
15
|
-
|
|
16
|
-
var BracketTypes = {};
|
|
17
|
-
exports.BracketTypes = BracketTypes;
|
|
10
|
+
var BracketTypes = exports.BracketTypes = {};
|
|
18
11
|
BracketTypes.ROUND_BRACKETS = 'round_brackets';
|
|
19
12
|
BracketTypes.SQUARE_BRACKETS = 'square_brackets';
|
|
20
13
|
BracketTypes.DOLLAR = 'dollar';
|
|
21
14
|
BracketTypes.DOUBLE_DOLLAR = 'double_dollar';
|
|
22
|
-
var PAIRS = (
|
|
23
|
-
|
|
24
|
-
var wrapMath = function wrapMath(content, wrapType) {
|
|
15
|
+
var PAIRS = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, BracketTypes.ROUND_BRACKETS, ['\\(', '\\)']), BracketTypes.SQUARE_BRACKETS, ['\\[', '\\]']), BracketTypes.DOLLAR, ['$', '$']), BracketTypes.DOUBLE_DOLLAR, ['$$', '$$']);
|
|
16
|
+
var wrapMath = exports.wrapMath = function wrapMath(content, wrapType) {
|
|
25
17
|
if (wrapType === BracketTypes.SQUARE_BRACKETS) {
|
|
26
18
|
console.warn('\\[...\\] is not supported yet'); // eslint-disable-line
|
|
27
|
-
|
|
28
19
|
wrapType = BracketTypes.ROUND_BRACKETS;
|
|
29
20
|
}
|
|
30
|
-
|
|
31
21
|
if (wrapType === BracketTypes.DOUBLE_DOLLAR) {
|
|
32
22
|
console.warn('$$...$$ is not supported yet'); // eslint-disable-line
|
|
33
|
-
|
|
34
23
|
wrapType = BracketTypes.DOLLAR;
|
|
35
24
|
}
|
|
36
|
-
|
|
37
25
|
var _ref = PAIRS[wrapType] || PAIRS[BracketTypes.ROUND_BRACKETS],
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
26
|
+
_ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
27
|
+
start = _ref2[0],
|
|
28
|
+
end = _ref2[1];
|
|
42
29
|
return "".concat(start).concat(content).concat(end);
|
|
43
30
|
};
|
|
44
|
-
|
|
45
|
-
exports.wrapMath = wrapMath;
|
|
46
|
-
|
|
47
|
-
var unWrapMath = function unWrapMath(content) {
|
|
31
|
+
var unWrapMath = exports.unWrapMath = function unWrapMath(content) {
|
|
48
32
|
var displayStyleIndex = content.indexOf('\\displaystyle');
|
|
49
|
-
|
|
50
33
|
if (displayStyleIndex !== -1) {
|
|
51
34
|
console.warn('\\displaystyle is not supported - removing'); // eslint-disable-line
|
|
52
|
-
|
|
53
35
|
content = content.replace('\\displaystyle', '').trim();
|
|
54
36
|
}
|
|
55
|
-
|
|
56
37
|
if (content.startsWith('$$') && content.endsWith('$$')) {
|
|
57
38
|
console.warn('$$ syntax is not yet supported'); // eslint-disable-line
|
|
58
|
-
|
|
59
39
|
return {
|
|
60
40
|
unwrapped: content.substring(2, content.length - 2),
|
|
61
41
|
wrapType: BracketTypes.DOLLAR
|
|
62
42
|
};
|
|
63
43
|
}
|
|
64
|
-
|
|
65
44
|
if (content.startsWith('$') && content.endsWith('$')) {
|
|
66
45
|
return {
|
|
67
46
|
unwrapped: content.substring(1, content.length - 1),
|
|
68
47
|
wrapType: BracketTypes.DOLLAR
|
|
69
48
|
};
|
|
70
49
|
}
|
|
71
|
-
|
|
72
50
|
if (content.startsWith('\\[') && content.endsWith('\\]')) {
|
|
73
51
|
console.warn('\\[..\\] syntax is not yet supported'); // eslint-disable-line
|
|
74
|
-
|
|
75
52
|
return {
|
|
76
53
|
unwrapped: content.substring(2, content.length - 2),
|
|
77
54
|
wrapType: BracketTypes.ROUND_BRACKETS
|
|
78
55
|
};
|
|
79
56
|
}
|
|
80
|
-
|
|
81
57
|
if (content.startsWith('\\(') && content.endsWith('\\)')) {
|
|
82
58
|
return {
|
|
83
59
|
unwrapped: content.substring(2, content.length - 2),
|
|
84
60
|
wrapType: BracketTypes.ROUND_BRACKETS
|
|
85
61
|
};
|
|
86
62
|
}
|
|
87
|
-
|
|
88
63
|
return {
|
|
89
64
|
unwrapped: content,
|
|
90
65
|
wrapType: BracketTypes.ROUND_BRACKETS
|
|
91
66
|
};
|
|
92
67
|
};
|
|
93
|
-
|
|
94
|
-
exports.unWrapMath = unWrapMath;
|
|
95
68
|
//# sourceMappingURL=normalization.js.map
|
package/lib/normalization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"normalization.js","names":["BracketTypes","exports","ROUND_BRACKETS","SQUARE_BRACKETS","DOLLAR","DOUBLE_DOLLAR","PAIRS","_defineProperty2","wrapMath","content","wrapType","console","warn","_ref","_ref2","_slicedToArray2","start","end","concat","unWrapMath","displayStyleIndex","indexOf","replace","trim","startsWith","endsWith","unwrapped","substring","length"],"sources":["../src/normalization.js"],"sourcesContent":["export const BracketTypes = {};\n\nBracketTypes.ROUND_BRACKETS = 'round_brackets';\nBracketTypes.SQUARE_BRACKETS = 'square_brackets';\nBracketTypes.DOLLAR = 'dollar';\nBracketTypes.DOUBLE_DOLLAR = 'double_dollar';\n\nconst PAIRS = {\n [BracketTypes.ROUND_BRACKETS]: ['\\\\(', '\\\\)'],\n [BracketTypes.SQUARE_BRACKETS]: ['\\\\[', '\\\\]'],\n [BracketTypes.DOLLAR]: ['$', '$'],\n [BracketTypes.DOUBLE_DOLLAR]: ['$$', '$$'],\n};\n\nexport const wrapMath = (content, wrapType) => {\n if (wrapType === BracketTypes.SQUARE_BRACKETS) {\n console.warn('\\\\[...\\\\] is not supported yet'); // eslint-disable-line\n wrapType = BracketTypes.ROUND_BRACKETS;\n }\n if (wrapType === BracketTypes.DOUBLE_DOLLAR) {\n console.warn('$$...$$ is not supported yet'); // eslint-disable-line\n wrapType = BracketTypes.DOLLAR;\n }\n\n const [start, end] = PAIRS[wrapType] || PAIRS[BracketTypes.ROUND_BRACKETS];\n return `${start}${content}${end}`;\n};\n\nexport const unWrapMath = (content) => {\n const displayStyleIndex = content.indexOf('\\\\displaystyle');\n if (displayStyleIndex !== -1) {\n console.warn('\\\\displaystyle is not supported - removing'); // eslint-disable-line\n content = content.replace('\\\\displaystyle', '').trim();\n }\n\n if (content.startsWith('$$') && content.endsWith('$$')) {\n console.warn('$$ syntax is not yet supported'); // eslint-disable-line\n return {\n unwrapped: content.substring(2, content.length - 2),\n wrapType: BracketTypes.DOLLAR,\n };\n }\n if (content.startsWith('$') && content.endsWith('$')) {\n return {\n unwrapped: content.substring(1, content.length - 1),\n wrapType: BracketTypes.DOLLAR,\n };\n }\n\n if (content.startsWith('\\\\[') && content.endsWith('\\\\]')) {\n console.warn('\\\\[..\\\\] syntax is not yet supported'); // eslint-disable-line\n return {\n unwrapped: content.substring(2, content.length - 2),\n wrapType: BracketTypes.ROUND_BRACKETS,\n };\n }\n\n if (content.startsWith('\\\\(') && content.endsWith('\\\\)')) {\n return {\n unwrapped: content.substring(2, content.length - 2),\n wrapType: BracketTypes.ROUND_BRACKETS,\n };\n }\n\n return {\n unwrapped: content,\n wrapType: BracketTypes.ROUND_BRACKETS,\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/lib/render-math.js
CHANGED
|
@@ -1,119 +1,81 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.fixMathElements = exports.fixMathElement = exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
21
|
-
|
|
22
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
-
|
|
24
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
-
|
|
26
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
-
|
|
14
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
28
16
|
var _mathjax = require("mathjax-full/js/mathjax");
|
|
29
|
-
|
|
30
17
|
var _global = require("mathjax-full/js/components/global");
|
|
31
|
-
|
|
32
18
|
var _assistiveMml = require("mathjax-full/js/a11y/assistive-mml");
|
|
33
|
-
|
|
34
19
|
var _semanticEnrich = require("mathjax-full/js/a11y/semantic-enrich");
|
|
35
|
-
|
|
36
20
|
var _MenuHandler = require("mathjax-full/js/ui/menu/MenuHandler");
|
|
37
|
-
|
|
38
21
|
var _FindMathML2 = require("mathjax-full/js/input/mathml/FindMathML");
|
|
39
|
-
|
|
40
22
|
var _mathml = require("mathjax-full/js/input/mathml");
|
|
41
|
-
|
|
42
23
|
var _tex = require("mathjax-full/js/input/tex");
|
|
43
|
-
|
|
44
24
|
var _chtml = require("mathjax-full/js/output/chtml");
|
|
45
|
-
|
|
46
25
|
var _html = require("mathjax-full/js/handlers/html");
|
|
47
|
-
|
|
48
26
|
var _browserAdaptor = require("mathjax-full/js/adaptors/browserAdaptor");
|
|
49
|
-
|
|
50
27
|
var _AllPackages = require("mathjax-full/js/input/tex/AllPackages");
|
|
51
|
-
|
|
52
28
|
var _system = require("speech-rule-engine/js/common/system");
|
|
53
|
-
|
|
54
29
|
var _mstack = require("./mstack");
|
|
55
|
-
|
|
56
30
|
var _debug = _interopRequireDefault(require("debug"));
|
|
57
|
-
|
|
58
31
|
var _normalization = require("./normalization");
|
|
59
|
-
|
|
60
32
|
var _MmlFactory = require("mathjax-full/js/core/MmlTree/MmlFactory");
|
|
61
|
-
|
|
62
33
|
var _SerializedMmlVisitor = require("mathjax-full/js/core/MmlTree/SerializedMmlVisitor");
|
|
63
|
-
|
|
64
34
|
var _WrapperFactory = require("mathjax-full/js/output/chtml/WrapperFactory");
|
|
65
|
-
|
|
66
35
|
var _mspace = require("mathjax-full/js/output/chtml/Wrappers/mspace");
|
|
67
|
-
|
|
68
36
|
var _HTMLDomStrings = require("mathjax-full/js/handlers/html/HTMLDomStrings");
|
|
69
|
-
|
|
70
|
-
function
|
|
71
|
-
|
|
72
|
-
function
|
|
73
|
-
|
|
74
|
-
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); }; }
|
|
75
|
-
|
|
76
|
-
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; } }
|
|
77
|
-
|
|
37
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
38
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
39
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
40
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
41
|
+
function _superPropGet(t, o, e, r) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
78
42
|
if (typeof window !== 'undefined') {
|
|
79
43
|
(0, _html.RegisterHTMLHandler)((0, _browserAdaptor.browserAdaptor)());
|
|
80
44
|
}
|
|
81
|
-
|
|
82
45
|
var sreReady = false;
|
|
83
46
|
(0, _system.engineReady)().then(function () {
|
|
84
47
|
sreReady = true;
|
|
85
|
-
});
|
|
48
|
+
});
|
|
86
49
|
|
|
87
|
-
|
|
50
|
+
// import pkg from '../../package.json';
|
|
88
51
|
|
|
52
|
+
var visitor = new _SerializedMmlVisitor.SerializedMmlVisitor();
|
|
89
53
|
var toMMl = function toMMl(node) {
|
|
90
54
|
return visitor.visitTree(node);
|
|
91
55
|
};
|
|
92
|
-
|
|
93
56
|
var log = (0, _debug["default"])('pie-lib:math-rendering');
|
|
94
57
|
var NEWLINE_BLOCK_REGEX = /\\embed\{newLine\}\[\]/g;
|
|
95
58
|
var NEWLINE_LATEX = '\\newline ';
|
|
96
|
-
|
|
97
59
|
var getGlobal = function getGlobal() {
|
|
98
60
|
// TODO does it make sense to use version?
|
|
99
61
|
// const key = `${pkg.name}@${pkg.version.split('.')[0]}`;
|
|
100
62
|
// It looks like Ed made this change when he switched from mathjax3 to mathjax-full
|
|
101
63
|
// I think it was supposed to make sure version 1 (using mathjax3) is not used
|
|
102
64
|
// in combination with version 2 (using mathjax-full)
|
|
65
|
+
|
|
103
66
|
// TODO higher level wrappers use this instance of math-rendering, and if 2 different instances are used, math rendering is not working
|
|
104
67
|
// so I will hardcode this for now until a better solution is found
|
|
105
68
|
var key = '@pie-lib/math-rendering@2';
|
|
106
|
-
|
|
107
69
|
if (typeof window !== 'undefined') {
|
|
108
70
|
if (!window[key]) {
|
|
109
71
|
window[key] = {};
|
|
110
72
|
}
|
|
111
|
-
|
|
112
73
|
return window[key];
|
|
113
74
|
} else {
|
|
114
75
|
return {};
|
|
115
76
|
}
|
|
116
77
|
};
|
|
78
|
+
|
|
117
79
|
/** Add temporary support for a global singleDollar override
|
|
118
80
|
* <code>
|
|
119
81
|
* // This will enable single dollar rendering
|
|
@@ -121,44 +83,32 @@ var getGlobal = function getGlobal() {
|
|
|
121
83
|
* window.pie.mathRendering = {useSingleDollar: true };
|
|
122
84
|
* </code>
|
|
123
85
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
86
|
var defaultOpts = function defaultOpts() {
|
|
127
87
|
return getGlobal().opts || {};
|
|
128
88
|
};
|
|
129
|
-
|
|
130
|
-
var fixMathElement = function fixMathElement(element) {
|
|
89
|
+
var fixMathElement = exports.fixMathElement = function fixMathElement(element) {
|
|
131
90
|
if (element.dataset.mathHandled) {
|
|
132
91
|
return;
|
|
133
92
|
}
|
|
134
|
-
|
|
135
93
|
var property = 'innerText';
|
|
136
|
-
|
|
137
94
|
if (element.textContent) {
|
|
138
95
|
property = 'textContent';
|
|
139
96
|
}
|
|
140
|
-
|
|
141
97
|
if (element[property]) {
|
|
142
|
-
element[property] = (0, _normalization.wrapMath)((0, _normalization.unWrapMath)(element[property]).unwrapped);
|
|
98
|
+
element[property] = (0, _normalization.wrapMath)((0, _normalization.unWrapMath)(element[property]).unwrapped);
|
|
99
|
+
// because mathquill doesn't understand line breaks, sometimes we end up with custom elements on prompts/rationale/etc.
|
|
143
100
|
// we need to replace the custom embedded elements with valid latex that Mathjax can understand
|
|
144
|
-
|
|
145
101
|
element[property] = element[property].replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX);
|
|
146
102
|
element.dataset.mathHandled = true;
|
|
147
103
|
}
|
|
148
104
|
};
|
|
149
|
-
|
|
150
|
-
exports.fixMathElement = fixMathElement;
|
|
151
|
-
|
|
152
|
-
var fixMathElements = function fixMathElements() {
|
|
105
|
+
var fixMathElements = exports.fixMathElements = function fixMathElements() {
|
|
153
106
|
var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;
|
|
154
107
|
var mathElements = el.querySelectorAll('[data-latex]');
|
|
155
108
|
mathElements.forEach(function (item) {
|
|
156
109
|
return fixMathElement(item);
|
|
157
110
|
});
|
|
158
111
|
};
|
|
159
|
-
|
|
160
|
-
exports.fixMathElements = fixMathElements;
|
|
161
|
-
|
|
162
112
|
var adjustMathMLStyle = function adjustMathMLStyle() {
|
|
163
113
|
var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;
|
|
164
114
|
var nodes = el.querySelectorAll('math');
|
|
@@ -166,52 +116,39 @@ var adjustMathMLStyle = function adjustMathMLStyle() {
|
|
|
166
116
|
return node.setAttribute('displaystyle', 'true');
|
|
167
117
|
});
|
|
168
118
|
};
|
|
169
|
-
|
|
170
119
|
var myFindMathML = /*#__PURE__*/function (_FindMathML) {
|
|
171
|
-
(0, _inherits2["default"])(myFindMathML, _FindMathML);
|
|
172
|
-
|
|
173
|
-
var _super = _createSuper(myFindMathML);
|
|
174
|
-
|
|
175
120
|
function myFindMathML() {
|
|
176
121
|
(0, _classCallCheck2["default"])(this, myFindMathML);
|
|
177
|
-
return
|
|
122
|
+
return _callSuper(this, myFindMathML, arguments);
|
|
178
123
|
}
|
|
179
|
-
|
|
180
|
-
(0, _createClass2["default"])(myFindMathML, [{
|
|
124
|
+
(0, _inherits2["default"])(myFindMathML, _FindMathML);
|
|
125
|
+
return (0, _createClass2["default"])(myFindMathML, [{
|
|
181
126
|
key: "processMath",
|
|
182
127
|
value: function processMath(set) {
|
|
183
128
|
var adaptor = this.adaptor;
|
|
184
|
-
|
|
185
129
|
for (var _i = 0, _Array$from = Array.from(set); _i < _Array$from.length; _i++) {
|
|
186
130
|
var mml = _Array$from[_i];
|
|
187
|
-
|
|
188
131
|
if (adaptor.kind(adaptor.parent(mml)) === 'mjx-assistive-mml') {
|
|
189
132
|
set["delete"](mml);
|
|
190
133
|
}
|
|
191
134
|
}
|
|
192
|
-
|
|
193
|
-
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(myFindMathML.prototype), "processMath", this).call(this, set);
|
|
135
|
+
return _superPropGet(myFindMathML, "processMath", this, 3)([set]);
|
|
194
136
|
}
|
|
195
137
|
}]);
|
|
196
|
-
return myFindMathML;
|
|
197
138
|
}(_FindMathML2.FindMathML);
|
|
198
|
-
|
|
199
139
|
var createMathMLInstance = function createMathMLInstance(opts) {
|
|
200
140
|
var docProvided = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
|
|
201
141
|
opts = opts || defaultOpts();
|
|
202
|
-
|
|
203
142
|
if (opts.useSingleDollar) {
|
|
204
143
|
// eslint-disable-next-line
|
|
205
144
|
console.warn('[math-rendering] using $ is not advisable, please use $$..$$ or \\(...\\)');
|
|
206
145
|
}
|
|
207
|
-
|
|
208
146
|
var packages = _AllPackages.AllPackages.filter(function (name) {
|
|
209
147
|
return name !== 'bussproofs';
|
|
210
148
|
}); // Bussproofs needs an output jax
|
|
149
|
+
|
|
211
150
|
// The autoload extension predefines all the macros from the extensions that haven't been loaded already
|
|
212
151
|
// so that they automatically load the needed extension when they are first used
|
|
213
|
-
|
|
214
|
-
|
|
215
152
|
packages.push('autoload');
|
|
216
153
|
var macros = {
|
|
217
154
|
parallelogram: "\\lower.2em{\\Huge\\unicode{x25B1}}",
|
|
@@ -238,7 +175,6 @@ var createMathMLInstance = function createMathMLInstance(opts) {
|
|
|
238
175
|
FindMathML: new myFindMathML()
|
|
239
176
|
};
|
|
240
177
|
var cachedMathjax;
|
|
241
|
-
|
|
242
178
|
if (_global.MathJax && _global.MathJax.version !== _mathjax.mathjax.version) {
|
|
243
179
|
// handling other MathJax version on the page
|
|
244
180
|
// replacing it temporarily with the version we have
|
|
@@ -247,7 +183,6 @@ var createMathMLInstance = function createMathMLInstance(opts) {
|
|
|
247
183
|
cachedMathjax = window.MathJax;
|
|
248
184
|
Object.assign(_global.MathJax, _mathjax.mathjax);
|
|
249
185
|
}
|
|
250
|
-
|
|
251
186
|
var fontURL = "https://unpkg.com/mathjax-full@".concat(_mathjax.mathjax.version, "/ts/output/chtml/fonts/tex-woff-v2");
|
|
252
187
|
var htmlConfig = {
|
|
253
188
|
fontURL: fontURL,
|
|
@@ -259,14 +194,14 @@ var createMathMLInstance = function createMathMLInstance(opts) {
|
|
|
259
194
|
var html = classFactory.create(docProvided, {
|
|
260
195
|
compileError: function compileError(mj, math, err) {
|
|
261
196
|
// eslint-disable-next-line no-console
|
|
262
|
-
console.log('bad math?:', math);
|
|
263
|
-
|
|
197
|
+
console.log('bad math?:', math);
|
|
198
|
+
// eslint-disable-next-line no-console
|
|
264
199
|
console.error(err);
|
|
265
200
|
},
|
|
266
201
|
typesetError: function typesetError(doc, math, err) {
|
|
267
202
|
// eslint-disable-next-line no-console
|
|
268
|
-
console.log('typeset error');
|
|
269
|
-
|
|
203
|
+
console.log('typeset error');
|
|
204
|
+
// eslint-disable-next-line no-console
|
|
270
205
|
console.error(err);
|
|
271
206
|
doc.typesetError(math, err);
|
|
272
207
|
},
|
|
@@ -279,20 +214,17 @@ var createMathMLInstance = function createMathMLInstance(opts) {
|
|
|
279
214
|
DomStrings: new _HTMLDomStrings.HTMLDomStrings({
|
|
280
215
|
skipHtmlTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code', 'annotation', 'annotation-xml', 'mjx-assistive-mml', 'mjx-container']
|
|
281
216
|
})
|
|
282
|
-
});
|
|
217
|
+
});
|
|
283
218
|
|
|
219
|
+
// Note: we must set this *after* mathjax.document (no idea why)
|
|
284
220
|
mml.setMmlFactory(customMmlFactory);
|
|
285
|
-
|
|
286
221
|
if (cachedMathjax) {
|
|
287
222
|
// if we have a cached version, we replace it here
|
|
288
223
|
window.MathJax = cachedMathjax;
|
|
289
224
|
}
|
|
290
|
-
|
|
291
225
|
return html;
|
|
292
226
|
};
|
|
293
|
-
|
|
294
227
|
var enrichSpeechInitialized = false;
|
|
295
|
-
|
|
296
228
|
var bootstrap = function bootstrap(opts) {
|
|
297
229
|
if (typeof window === 'undefined') {
|
|
298
230
|
return {
|
|
@@ -301,40 +233,30 @@ var bootstrap = function bootstrap(opts) {
|
|
|
301
233
|
}
|
|
302
234
|
};
|
|
303
235
|
}
|
|
304
|
-
|
|
305
236
|
var html = createMathMLInstance(opts);
|
|
306
237
|
return {
|
|
307
238
|
version: _mathjax.mathjax.version,
|
|
308
239
|
html: html,
|
|
309
240
|
Typeset: function Typeset() {
|
|
310
241
|
var _this = this;
|
|
311
|
-
|
|
312
242
|
for (var _len = arguments.length, elements = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
313
243
|
elements[_key] = arguments[_key];
|
|
314
244
|
}
|
|
315
|
-
|
|
316
245
|
var attemptRender = function attemptRender() {
|
|
317
|
-
var _updatedDocument$math
|
|
318
|
-
|
|
246
|
+
var _updatedDocument$math;
|
|
319
247
|
var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
320
|
-
|
|
321
248
|
var updatedDocument = _this.html.findMath(elements.length ? {
|
|
322
249
|
elements: elements
|
|
323
250
|
} : {}).compile();
|
|
324
|
-
|
|
325
251
|
if (!temporary && sreReady) {
|
|
326
252
|
updatedDocument = updatedDocument.enrich();
|
|
327
253
|
}
|
|
328
|
-
|
|
329
254
|
updatedDocument = updatedDocument.getMetrics().typeset().assistiveMml().attachSpeech().addMenu().updateDocument();
|
|
330
|
-
|
|
331
|
-
if (!enrichSpeechInitialized && (0, _typeof2["default"])((_updatedDocument$math = updatedDocument.math.list) === null || _updatedDocument$math === void 0 ? void 0 : (_updatedDocument$math2 = _updatedDocument$math.next) === null || _updatedDocument$math2 === void 0 ? void 0 : _updatedDocument$math2.data) === 'object') {
|
|
255
|
+
if (!enrichSpeechInitialized && (0, _typeof2["default"])((_updatedDocument$math = updatedDocument.math.list) === null || _updatedDocument$math === void 0 || (_updatedDocument$math = _updatedDocument$math.next) === null || _updatedDocument$math === void 0 ? void 0 : _updatedDocument$math.data) === 'object') {
|
|
332
256
|
enrichSpeechInitialized = true;
|
|
333
257
|
}
|
|
334
|
-
|
|
335
258
|
try {
|
|
336
259
|
var list = updatedDocument.math.list;
|
|
337
|
-
|
|
338
260
|
if (list) {
|
|
339
261
|
for (var item = list.next; (0, _typeof2["default"])(item.data) !== 'symbol'; item = item.next) {
|
|
340
262
|
var mathMl = toMMl(item.data.root);
|
|
@@ -347,74 +269,59 @@ var bootstrap = function bootstrap(opts) {
|
|
|
347
269
|
// eslint-disable-next-line no-console
|
|
348
270
|
console.error(e.toString());
|
|
349
271
|
}
|
|
350
|
-
|
|
351
272
|
updatedDocument.clear();
|
|
352
273
|
};
|
|
353
|
-
|
|
354
274
|
if (!enrichSpeechInitialized) {
|
|
355
275
|
attemptRender(true);
|
|
356
276
|
}
|
|
357
|
-
|
|
358
277
|
_mathjax.mathjax.handleRetriesFor(function () {
|
|
359
278
|
attemptRender();
|
|
360
279
|
});
|
|
361
280
|
}
|
|
362
281
|
};
|
|
363
282
|
};
|
|
364
|
-
|
|
365
283
|
var renderMath = function renderMath(el, renderOpts) {
|
|
366
284
|
var _getGlobal$instance, _getGlobal$instance2;
|
|
367
|
-
|
|
368
285
|
if (window && window.MathJax && window.MathJax.customKey && window.MathJax.customKey == '@pie-lib/math-rendering-accessible@1') {
|
|
369
286
|
return;
|
|
370
287
|
}
|
|
371
|
-
|
|
372
288
|
var isString = typeof el === 'string';
|
|
373
289
|
var executeOn = document.body;
|
|
374
|
-
|
|
375
290
|
if (isString) {
|
|
376
291
|
var div = document.createElement('div');
|
|
377
292
|
div.innerHTML = el;
|
|
378
293
|
executeOn = div;
|
|
379
294
|
}
|
|
380
|
-
|
|
381
295
|
fixMathElements(executeOn);
|
|
382
296
|
adjustMathMLStyle(executeOn);
|
|
383
|
-
|
|
384
297
|
if (isString) {
|
|
385
298
|
var html = createMathMLInstance(undefined, executeOn);
|
|
386
299
|
var updatedDocument = html.findMath().compile().getMetrics().typeset().updateDocument();
|
|
387
300
|
var list = updatedDocument.math.list;
|
|
388
301
|
var item = list.next;
|
|
389
|
-
|
|
390
302
|
if (!item) {
|
|
391
303
|
return '';
|
|
392
304
|
}
|
|
393
|
-
|
|
394
305
|
var mathMl = toMMl(item.data.root);
|
|
395
306
|
var parsedMathMl = mathMl.replaceAll('\n', '');
|
|
396
307
|
return parsedMathMl;
|
|
397
308
|
}
|
|
398
|
-
|
|
399
309
|
if (!getGlobal().instance) {
|
|
400
310
|
getGlobal().instance = bootstrap(renderOpts);
|
|
401
311
|
}
|
|
402
|
-
|
|
403
312
|
if (!el) {
|
|
404
313
|
log('el is undefined');
|
|
405
314
|
return;
|
|
406
315
|
}
|
|
407
|
-
|
|
408
316
|
if (el instanceof Element && (_getGlobal$instance = getGlobal().instance) !== null && _getGlobal$instance !== void 0 && _getGlobal$instance.Typeset) {
|
|
409
317
|
getGlobal().instance.Typeset(el);
|
|
410
318
|
} else if (el.length && (_getGlobal$instance2 = getGlobal().instance) !== null && _getGlobal$instance2 !== void 0 && _getGlobal$instance2.Typeset) {
|
|
411
319
|
var _getGlobal$instance3;
|
|
412
|
-
|
|
413
320
|
var arr = Array.from(el);
|
|
414
|
-
|
|
415
|
-
(_getGlobal$instance3 = getGlobal().instance).Typeset.apply(_getGlobal$instance3, (0, _toConsumableArray2["default"])(arr));
|
|
321
|
+
(_getGlobal$instance3 = getGlobal().instance).Typeset.apply(_getGlobal$instance3, arr);
|
|
416
322
|
}
|
|
417
323
|
};
|
|
324
|
+
|
|
418
325
|
/**
|
|
419
326
|
* This style is added to overried default styling of mjx-mspace Mathjax tag
|
|
420
327
|
* In mathjax src code \newline latex gets parsed to <mjx-mspace></mjx-mspace>,
|
|
@@ -424,8 +331,6 @@ var renderMath = function renderMath(el, renderOpts) {
|
|
|
424
331
|
"text-align": 'left'
|
|
425
332
|
} which prevents it from showing as a newline value
|
|
426
333
|
*/
|
|
427
|
-
|
|
428
|
-
|
|
429
334
|
_mspace.CHTMLmspace.styles = {
|
|
430
335
|
'mjx-mspace': {
|
|
431
336
|
display: 'block',
|
|
@@ -433,6 +338,5 @@ _mspace.CHTMLmspace.styles = {
|
|
|
433
338
|
height: '5px'
|
|
434
339
|
}
|
|
435
340
|
};
|
|
436
|
-
var _default = renderMath;
|
|
437
|
-
exports["default"] = _default;
|
|
341
|
+
var _default = exports["default"] = renderMath;
|
|
438
342
|
//# sourceMappingURL=render-math.js.map
|