@pie-lib/math-rendering 3.22.2-next.0 → 3.22.2-next.164

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,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 = (_PAIRS = {}, (0, _defineProperty2["default"])(_PAIRS, BracketTypes.ROUND_BRACKETS, ['\\(', '\\)']), (0, _defineProperty2["default"])(_PAIRS, BracketTypes.SQUARE_BRACKETS, ['\\[', '\\]']), (0, _defineProperty2["default"])(_PAIRS, BracketTypes.DOLLAR, ['$', '$']), (0, _defineProperty2["default"])(_PAIRS, BracketTypes.DOUBLE_DOLLAR, ['$$', '$$']), _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
- _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
39
- start = _ref2[0],
40
- end = _ref2[1];
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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/normalization.js"],"names":["BracketTypes","ROUND_BRACKETS","SQUARE_BRACKETS","DOLLAR","DOUBLE_DOLLAR","PAIRS","wrapMath","content","wrapType","console","warn","start","end","unWrapMath","displayStyleIndex","indexOf","replace","trim","startsWith","endsWith","unwrapped","substring","length"],"mappings":"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","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"],"file":"normalization.js"}
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":[]}
@@ -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 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; }
71
-
72
- 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; }
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
- }); // import pkg from '../../package.json';
48
+ });
86
49
 
87
- var visitor = new _SerializedMmlVisitor.SerializedMmlVisitor();
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); // because mathquill doesn't understand line breaks, sometimes we end up with custom elements on prompts/rationale/etc.
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 _super.apply(this, arguments);
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); // eslint-disable-next-line no-console
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'); // eslint-disable-next-line no-console
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
- }); // Note: we must set this *after* mathjax.document (no idea why)
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,50 @@ 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, _updatedDocument$math2;
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
- updatedDocument = updatedDocument.enrich();
252
+ try {
253
+ updatedDocument = updatedDocument.enrich();
254
+ } catch (e) {
255
+ // If enrich fails, speech-rule-engine isn't actually ready yet
256
+ // eslint-disable-next-line no-console
257
+ console.warn('[math-rendering] Speech-rule-engine not fully initialized, skipping enrichment');
258
+ sreReady = false;
259
+ }
327
260
  }
261
+ updatedDocument = updatedDocument.getMetrics().typeset();
328
262
 
329
- 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') {
263
+ // Only add assistive MML and speech if speech-rule-engine is ready and not in temporary mode
264
+ if (!temporary && sreReady) {
265
+ try {
266
+ updatedDocument = updatedDocument.assistiveMml().attachSpeech();
267
+ } catch (e) {
268
+ // If this fails, speech-rule-engine isn't ready
269
+ // eslint-disable-next-line no-console
270
+ console.warn('[math-rendering] Speech-rule-engine not fully initialized, skipping assistive features');
271
+ sreReady = false;
272
+ }
273
+ }
274
+ updatedDocument = updatedDocument.addMenu().updateDocument();
275
+ 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
276
  enrichSpeechInitialized = true;
333
277
  }
334
-
335
278
  try {
336
279
  var list = updatedDocument.math.list;
337
-
338
280
  if (list) {
339
281
  for (var item = list.next; (0, _typeof2["default"])(item.data) !== 'symbol'; item = item.next) {
340
282
  var mathMl = toMMl(item.data.root);
@@ -347,74 +289,59 @@ var bootstrap = function bootstrap(opts) {
347
289
  // eslint-disable-next-line no-console
348
290
  console.error(e.toString());
349
291
  }
350
-
351
292
  updatedDocument.clear();
352
293
  };
353
-
354
294
  if (!enrichSpeechInitialized) {
355
295
  attemptRender(true);
356
296
  }
357
-
358
297
  _mathjax.mathjax.handleRetriesFor(function () {
359
298
  attemptRender();
360
299
  });
361
300
  }
362
301
  };
363
302
  };
364
-
365
303
  var renderMath = function renderMath(el, renderOpts) {
366
304
  var _getGlobal$instance, _getGlobal$instance2;
367
-
368
305
  if (window && window.MathJax && window.MathJax.customKey && window.MathJax.customKey == '@pie-lib/math-rendering-accessible@1') {
369
306
  return;
370
307
  }
371
-
372
308
  var isString = typeof el === 'string';
373
309
  var executeOn = document.body;
374
-
375
310
  if (isString) {
376
311
  var div = document.createElement('div');
377
312
  div.innerHTML = el;
378
313
  executeOn = div;
379
314
  }
380
-
381
315
  fixMathElements(executeOn);
382
316
  adjustMathMLStyle(executeOn);
383
-
384
317
  if (isString) {
385
318
  var html = createMathMLInstance(undefined, executeOn);
386
319
  var updatedDocument = html.findMath().compile().getMetrics().typeset().updateDocument();
387
320
  var list = updatedDocument.math.list;
388
321
  var item = list.next;
389
-
390
322
  if (!item) {
391
323
  return '';
392
324
  }
393
-
394
325
  var mathMl = toMMl(item.data.root);
395
326
  var parsedMathMl = mathMl.replaceAll('\n', '');
396
327
  return parsedMathMl;
397
328
  }
398
-
399
329
  if (!getGlobal().instance) {
400
330
  getGlobal().instance = bootstrap(renderOpts);
401
331
  }
402
-
403
332
  if (!el) {
404
333
  log('el is undefined');
405
334
  return;
406
335
  }
407
-
408
336
  if (el instanceof Element && (_getGlobal$instance = getGlobal().instance) !== null && _getGlobal$instance !== void 0 && _getGlobal$instance.Typeset) {
409
337
  getGlobal().instance.Typeset(el);
410
338
  } else if (el.length && (_getGlobal$instance2 = getGlobal().instance) !== null && _getGlobal$instance2 !== void 0 && _getGlobal$instance2.Typeset) {
411
339
  var _getGlobal$instance3;
412
-
413
340
  var arr = Array.from(el);
414
-
415
- (_getGlobal$instance3 = getGlobal().instance).Typeset.apply(_getGlobal$instance3, (0, _toConsumableArray2["default"])(arr));
341
+ (_getGlobal$instance3 = getGlobal().instance).Typeset.apply(_getGlobal$instance3, arr);
416
342
  }
417
343
  };
344
+
418
345
  /**
419
346
  * This style is added to overried default styling of mjx-mspace Mathjax tag
420
347
  * In mathjax src code \newline latex gets parsed to <mjx-mspace></mjx-mspace>,
@@ -424,8 +351,6 @@ var renderMath = function renderMath(el, renderOpts) {
424
351
  "text-align": 'left'
425
352
  } which prevents it from showing as a newline value
426
353
  */
427
-
428
-
429
354
  _mspace.CHTMLmspace.styles = {
430
355
  'mjx-mspace': {
431
356
  display: 'block',
@@ -433,6 +358,5 @@ _mspace.CHTMLmspace.styles = {
433
358
  height: '5px'
434
359
  }
435
360
  };
436
- var _default = renderMath;
437
- exports["default"] = _default;
361
+ var _default = exports["default"] = renderMath;
438
362
  //# sourceMappingURL=render-math.js.map