1 | (function webpackUniversalModuleDefinition(root, factory) {
|
2 | if(typeof exports === 'object' && typeof module === 'object')
|
3 | module.exports = factory(require("katex"));
|
4 | else if(typeof define === 'function' && define.amd)
|
5 | define(["katex"], factory);
|
6 | else {
|
7 | var a = typeof exports === 'object' ? factory(require("katex")) : factory(root["katex"]);
|
8 | for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
|
9 | }
|
10 | })((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) {
|
11 | return (function(modules) {
|
12 |
|
13 | var installedModules = {};
|
14 |
|
15 |
|
16 | function __webpack_require__(moduleId) {
|
17 |
|
18 |
|
19 | if(installedModules[moduleId]) {
|
20 | return installedModules[moduleId].exports;
|
21 | }
|
22 |
|
23 | var module = installedModules[moduleId] = {
|
24 | i: moduleId,
|
25 | l: false,
|
26 | exports: {}
|
27 | };
|
28 |
|
29 |
|
30 | modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
31 |
|
32 |
|
33 | module.l = true;
|
34 |
|
35 |
|
36 | return module.exports;
|
37 | }
|
38 |
|
39 |
|
40 |
|
41 | __webpack_require__.m = modules;
|
42 |
|
43 |
|
44 | __webpack_require__.c = installedModules;
|
45 |
|
46 |
|
47 | __webpack_require__.d = function(exports, name, getter) {
|
48 | if(!__webpack_require__.o(exports, name)) {
|
49 | Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
50 | }
|
51 | };
|
52 |
|
53 |
|
54 | __webpack_require__.r = function(exports) {
|
55 | if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
56 | Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
57 | }
|
58 | Object.defineProperty(exports, '__esModule', { value: true });
|
59 | };
|
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 | __webpack_require__.t = function(value, mode) {
|
67 | if(mode & 1) value = __webpack_require__(value);
|
68 | if(mode & 8) return value;
|
69 | if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
70 | var ns = Object.create(null);
|
71 | __webpack_require__.r(ns);
|
72 | Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
73 | if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
74 | return ns;
|
75 | };
|
76 |
|
77 |
|
78 | __webpack_require__.n = function(module) {
|
79 | var getter = module && module.__esModule ?
|
80 | function getDefault() { return module['default']; } :
|
81 | function getModuleExports() { return module; };
|
82 | __webpack_require__.d(getter, 'a', getter);
|
83 | return getter;
|
84 | };
|
85 |
|
86 |
|
87 | __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
88 |
|
89 |
|
90 | __webpack_require__.p = "";
|
91 |
|
92 |
|
93 |
|
94 | return __webpack_require__(__webpack_require__.s = 1);
|
95 | })
|
96 |
|
97 | ([
|
98 |
|
99 | (function(module, exports) {
|
100 |
|
101 | module.exports = __WEBPACK_EXTERNAL_MODULE__0__;
|
102 |
|
103 | }),
|
104 |
|
105 | (function(module, __webpack_exports__, __webpack_require__) {
|
106 |
|
107 | "use strict";
|
108 | __webpack_require__.r(__webpack_exports__);
|
109 | var katex__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
|
110 | var katex__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_0__);
|
111 |
|
112 |
|
113 |
|
114 |
|
115 |
|
116 |
|
117 |
|
118 |
|
119 |
|
120 |
|
121 |
|
122 |
|
123 |
|
124 |
|
125 |
|
126 |
|
127 |
|
128 |
|
129 |
|
130 | var stringMap = {
|
131 | "(": "left parenthesis",
|
132 | ")": "right parenthesis",
|
133 | "[": "open bracket",
|
134 | "]": "close bracket",
|
135 | "\\{": "left brace",
|
136 | "\\}": "right brace",
|
137 | "\\lvert": "open vertical bar",
|
138 | "\\rvert": "close vertical bar",
|
139 | "|": "vertical bar",
|
140 | "\\uparrow": "up arrow",
|
141 | "\\Uparrow": "up arrow",
|
142 | "\\downarrow": "down arrow",
|
143 | "\\Downarrow": "down arrow",
|
144 | "\\updownarrow": "up down arrow",
|
145 | "\\leftarrow": "left arrow",
|
146 | "\\Leftarrow": "left arrow",
|
147 | "\\rightarrow": "right arrow",
|
148 | "\\Rightarrow": "right arrow",
|
149 | "\\langle": "open angle",
|
150 | "\\rangle": "close angle",
|
151 | "\\lfloor": "open floor",
|
152 | "\\rfloor": "close floor",
|
153 | "\\int": "integral",
|
154 | "\\intop": "integral",
|
155 | "\\lim": "limit",
|
156 | "\\ln": "natural log",
|
157 | "\\log": "log",
|
158 | "\\sin": "sine",
|
159 | "\\cos": "cosine",
|
160 | "\\tan": "tangent",
|
161 | "\\cot": "cotangent",
|
162 | "\\sum": "sum",
|
163 | "/": "slash",
|
164 | ",": "comma",
|
165 | ".": "point",
|
166 | "-": "negative",
|
167 | "+": "plus",
|
168 | "~": "tilde",
|
169 | ":": "colon",
|
170 | "?": "question mark",
|
171 | "'": "apostrophe",
|
172 | "\\%": "percent",
|
173 | " ": "space",
|
174 | "\\ ": "space",
|
175 | "\\$": "dollar sign",
|
176 | "\\angle": "angle",
|
177 | "\\degree": "degree",
|
178 | "\\circ": "circle",
|
179 | "\\vec": "vector",
|
180 | "\\triangle": "triangle",
|
181 | "\\pi": "pi",
|
182 | "\\prime": "prime",
|
183 | "\\infty": "infinity",
|
184 | "\\alpha": "alpha",
|
185 | "\\beta": "beta",
|
186 | "\\gamma": "gamma",
|
187 | "\\omega": "omega",
|
188 | "\\theta": "theta",
|
189 | "\\sigma": "sigma",
|
190 | "\\lambda": "lambda",
|
191 | "\\tau": "tau",
|
192 | "\\Delta": "delta",
|
193 | "\\delta": "delta",
|
194 | "\\mu": "mu",
|
195 | "\\rho": "rho",
|
196 | "\\nabla": "del",
|
197 | "\\ell": "ell",
|
198 | "\\ldots": "dots",
|
199 |
|
200 | "\\hat": "hat",
|
201 | "\\acute": "acute"
|
202 | };
|
203 | var powerMap = {
|
204 | "prime": "prime",
|
205 | "degree": "degrees",
|
206 | "circle": "degrees",
|
207 | "2": "squared",
|
208 | "3": "cubed"
|
209 | };
|
210 | var openMap = {
|
211 | "|": "open vertical bar",
|
212 | ".": ""
|
213 | };
|
214 | var closeMap = {
|
215 | "|": "close vertical bar",
|
216 | ".": ""
|
217 | };
|
218 | var binMap = {
|
219 | "+": "plus",
|
220 | "-": "minus",
|
221 | "\\pm": "plus minus",
|
222 | "\\cdot": "dot",
|
223 | "*": "times",
|
224 | "/": "divided by",
|
225 | "\\times": "times",
|
226 | "\\div": "divided by",
|
227 | "\\circ": "circle",
|
228 | "\\bullet": "bullet"
|
229 | };
|
230 | var relMap = {
|
231 | "=": "equals",
|
232 | "\\approx": "approximately equals",
|
233 | "≠": "does not equal",
|
234 | "\\geq": "is greater than or equal to",
|
235 | "\\ge": "is greater than or equal to",
|
236 | "\\leq": "is less than or equal to",
|
237 | "\\le": "is less than or equal to",
|
238 | ">": "is greater than",
|
239 | "<": "is less than",
|
240 | "\\leftarrow": "left arrow",
|
241 | "\\Leftarrow": "left arrow",
|
242 | "\\rightarrow": "right arrow",
|
243 | "\\Rightarrow": "right arrow",
|
244 | ":": "colon"
|
245 | };
|
246 | var accentUnderMap = {
|
247 | "\\underleftarrow": "left arrow",
|
248 | "\\underrightarrow": "right arrow",
|
249 | "\\underleftrightarrow": "left-right arrow",
|
250 | "\\undergroup": "group",
|
251 | "\\underlinesegment": "line segment",
|
252 | "\\utilde": "tilde"
|
253 | };
|
254 |
|
255 | var buildString = function buildString(str, type, a11yStrings) {
|
256 | if (!str) {
|
257 | return;
|
258 | }
|
259 |
|
260 | var ret;
|
261 |
|
262 | if (type === "open") {
|
263 | ret = str in openMap ? openMap[str] : stringMap[str] || str;
|
264 | } else if (type === "close") {
|
265 | ret = str in closeMap ? closeMap[str] : stringMap[str] || str;
|
266 | } else if (type === "bin") {
|
267 | ret = binMap[str] || str;
|
268 | } else if (type === "rel") {
|
269 | ret = relMap[str] || str;
|
270 | } else {
|
271 | ret = stringMap[str] || str;
|
272 | }
|
273 |
|
274 |
|
275 |
|
276 |
|
277 | if (/^\d+$/.test(ret) && a11yStrings.length > 0 &&
|
278 |
|
279 |
|
280 | /^\d+$/.test(a11yStrings[a11yStrings.length - 1])) {
|
281 | a11yStrings[a11yStrings.length - 1] += ret;
|
282 | } else if (ret) {
|
283 | a11yStrings.push(ret);
|
284 | }
|
285 | };
|
286 |
|
287 | var buildRegion = function buildRegion(a11yStrings, callback) {
|
288 | var regionStrings = [];
|
289 | a11yStrings.push(regionStrings);
|
290 | callback(regionStrings);
|
291 | };
|
292 |
|
293 | var handleObject = function handleObject(tree, a11yStrings, atomType) {
|
294 |
|
295 | switch (tree.type) {
|
296 | case "accent":
|
297 | {
|
298 | buildRegion(a11yStrings, function (a11yStrings) {
|
299 | buildA11yStrings(tree.base, a11yStrings, atomType);
|
300 | a11yStrings.push("with");
|
301 | buildString(tree.label, "normal", a11yStrings);
|
302 | a11yStrings.push("on top");
|
303 | });
|
304 | break;
|
305 | }
|
306 |
|
307 | case "accentUnder":
|
308 | {
|
309 | buildRegion(a11yStrings, function (a11yStrings) {
|
310 | buildA11yStrings(tree.base, a11yStrings, atomType);
|
311 | a11yStrings.push("with");
|
312 | buildString(accentUnderMap[tree.label], "normal", a11yStrings);
|
313 | a11yStrings.push("underneath");
|
314 | });
|
315 | break;
|
316 | }
|
317 |
|
318 | case "accent-token":
|
319 | {
|
320 |
|
321 | break;
|
322 | }
|
323 |
|
324 | case "atom":
|
325 | {
|
326 | var text = tree.text;
|
327 |
|
328 | switch (tree.family) {
|
329 | case "bin":
|
330 | {
|
331 | buildString(text, "bin", a11yStrings);
|
332 | break;
|
333 | }
|
334 |
|
335 | case "close":
|
336 | {
|
337 | buildString(text, "close", a11yStrings);
|
338 | break;
|
339 | }
|
340 |
|
341 |
|
342 | case "inner":
|
343 | {
|
344 | buildString(tree.text, "inner", a11yStrings);
|
345 | break;
|
346 | }
|
347 |
|
348 | case "open":
|
349 | {
|
350 | buildString(text, "open", a11yStrings);
|
351 | break;
|
352 | }
|
353 |
|
354 | case "punct":
|
355 | {
|
356 | buildString(text, "punct", a11yStrings);
|
357 | break;
|
358 | }
|
359 |
|
360 | case "rel":
|
361 | {
|
362 | buildString(text, "rel", a11yStrings);
|
363 | break;
|
364 | }
|
365 |
|
366 | default:
|
367 | {
|
368 | tree.family;
|
369 | throw new Error("\"" + tree.family + "\" is not a valid atom type");
|
370 | }
|
371 | }
|
372 |
|
373 | break;
|
374 | }
|
375 |
|
376 | case "color":
|
377 | {
|
378 | var color = tree.color.replace(/katex-/, "");
|
379 | buildRegion(a11yStrings, function (regionStrings) {
|
380 | regionStrings.push("start color " + color);
|
381 | buildA11yStrings(tree.body, regionStrings, atomType);
|
382 | regionStrings.push("end color " + color);
|
383 | });
|
384 | break;
|
385 | }
|
386 |
|
387 | case "color-token":
|
388 | {
|
389 |
|
390 |
|
391 | break;
|
392 | }
|
393 |
|
394 | case "delimsizing":
|
395 | {
|
396 | if (tree.delim && tree.delim !== ".") {
|
397 | buildString(tree.delim, "normal", a11yStrings);
|
398 | }
|
399 |
|
400 | break;
|
401 | }
|
402 |
|
403 | case "genfrac":
|
404 | {
|
405 | buildRegion(a11yStrings, function (regionStrings) {
|
406 |
|
407 | var leftDelim = tree.leftDelim,
|
408 | rightDelim = tree.rightDelim;
|
409 |
|
410 |
|
411 | if (tree.hasBarLine) {
|
412 | regionStrings.push("start fraction");
|
413 | leftDelim && buildString(leftDelim, "open", regionStrings);
|
414 | buildA11yStrings(tree.numer, regionStrings, atomType);
|
415 | regionStrings.push("divided by");
|
416 | buildA11yStrings(tree.denom, regionStrings, atomType);
|
417 | rightDelim && buildString(rightDelim, "close", regionStrings);
|
418 | regionStrings.push("end fraction");
|
419 | } else {
|
420 | regionStrings.push("start binomial");
|
421 | leftDelim && buildString(leftDelim, "open", regionStrings);
|
422 | buildA11yStrings(tree.numer, regionStrings, atomType);
|
423 | regionStrings.push("over");
|
424 | buildA11yStrings(tree.denom, regionStrings, atomType);
|
425 | rightDelim && buildString(rightDelim, "close", regionStrings);
|
426 | regionStrings.push("end binomial");
|
427 | }
|
428 | });
|
429 | break;
|
430 | }
|
431 |
|
432 | case "kern":
|
433 | {
|
434 |
|
435 |
|
436 | break;
|
437 | }
|
438 |
|
439 | case "leftright":
|
440 | {
|
441 | buildRegion(a11yStrings, function (regionStrings) {
|
442 | buildString(tree.left, "open", regionStrings);
|
443 | buildA11yStrings(tree.body, regionStrings, atomType);
|
444 | buildString(tree.right, "close", regionStrings);
|
445 | });
|
446 | break;
|
447 | }
|
448 |
|
449 | case "leftright-right":
|
450 | {
|
451 |
|
452 | break;
|
453 | }
|
454 |
|
455 | case "lap":
|
456 | {
|
457 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
458 | break;
|
459 | }
|
460 |
|
461 | case "mathord":
|
462 | {
|
463 | buildString(tree.text, "normal", a11yStrings);
|
464 | break;
|
465 | }
|
466 |
|
467 | case "op":
|
468 | {
|
469 | var body = tree.body,
|
470 | name = tree.name;
|
471 |
|
472 | if (body) {
|
473 | buildA11yStrings(body, a11yStrings, atomType);
|
474 | } else if (name) {
|
475 | buildString(name, "normal", a11yStrings);
|
476 | }
|
477 |
|
478 | break;
|
479 | }
|
480 |
|
481 | case "op-token":
|
482 | {
|
483 |
|
484 | buildString(tree.text, atomType, a11yStrings);
|
485 | break;
|
486 | }
|
487 |
|
488 | case "ordgroup":
|
489 | {
|
490 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
491 | break;
|
492 | }
|
493 |
|
494 | case "overline":
|
495 | {
|
496 | buildRegion(a11yStrings, function (a11yStrings) {
|
497 | a11yStrings.push("start overline");
|
498 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
499 | a11yStrings.push("end overline");
|
500 | });
|
501 | break;
|
502 | }
|
503 |
|
504 | case "phantom":
|
505 | {
|
506 | a11yStrings.push("empty space");
|
507 | break;
|
508 | }
|
509 |
|
510 | case "raisebox":
|
511 | {
|
512 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
513 | break;
|
514 | }
|
515 |
|
516 | case "rule":
|
517 | {
|
518 | a11yStrings.push("rectangle");
|
519 | break;
|
520 | }
|
521 |
|
522 | case "sizing":
|
523 | {
|
524 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
525 | break;
|
526 | }
|
527 |
|
528 | case "spacing":
|
529 | {
|
530 | a11yStrings.push("space");
|
531 | break;
|
532 | }
|
533 |
|
534 | case "styling":
|
535 | {
|
536 |
|
537 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
538 | break;
|
539 | }
|
540 |
|
541 | case "sqrt":
|
542 | {
|
543 | buildRegion(a11yStrings, function (regionStrings) {
|
544 | var body = tree.body,
|
545 | index = tree.index;
|
546 |
|
547 | if (index) {
|
548 | var indexString = flatten(buildA11yStrings(index, [], atomType)).join(",");
|
549 |
|
550 | if (indexString === "3") {
|
551 | regionStrings.push("cube root of");
|
552 | buildA11yStrings(body, regionStrings, atomType);
|
553 | regionStrings.push("end cube root");
|
554 | return;
|
555 | }
|
556 |
|
557 | regionStrings.push("root");
|
558 | regionStrings.push("start index");
|
559 | buildA11yStrings(index, regionStrings, atomType);
|
560 | regionStrings.push("end index");
|
561 | return;
|
562 | }
|
563 |
|
564 | regionStrings.push("square root of");
|
565 | buildA11yStrings(body, regionStrings, atomType);
|
566 | regionStrings.push("end square root");
|
567 | });
|
568 | break;
|
569 | }
|
570 |
|
571 | case "supsub":
|
572 | {
|
573 | var base = tree.base,
|
574 | sub = tree.sub,
|
575 | sup = tree.sup;
|
576 | var isLog = false;
|
577 |
|
578 | if (base) {
|
579 | buildA11yStrings(base, a11yStrings, atomType);
|
580 | isLog = base.type === "op" && base.name === "\\log";
|
581 | }
|
582 |
|
583 | if (sub) {
|
584 | var regionName = isLog ? "base" : "subscript";
|
585 | buildRegion(a11yStrings, function (regionStrings) {
|
586 | regionStrings.push("start " + regionName);
|
587 | buildA11yStrings(sub, regionStrings, atomType);
|
588 | regionStrings.push("end " + regionName);
|
589 | });
|
590 | }
|
591 |
|
592 | if (sup) {
|
593 | buildRegion(a11yStrings, function (regionStrings) {
|
594 | var supString = flatten(buildA11yStrings(sup, [], atomType)).join(",");
|
595 |
|
596 | if (supString in powerMap) {
|
597 | regionStrings.push(powerMap[supString]);
|
598 | return;
|
599 | }
|
600 |
|
601 | regionStrings.push("start superscript");
|
602 | buildA11yStrings(sup, regionStrings, atomType);
|
603 | regionStrings.push("end superscript");
|
604 | });
|
605 | }
|
606 |
|
607 | break;
|
608 | }
|
609 |
|
610 | case "text":
|
611 | {
|
612 |
|
613 | if (tree.font === "\\textbf") {
|
614 | buildRegion(a11yStrings, function (regionStrings) {
|
615 | regionStrings.push("start bold text");
|
616 | buildA11yStrings(tree.body, regionStrings, atomType);
|
617 | regionStrings.push("end bold text");
|
618 | });
|
619 | break;
|
620 | }
|
621 |
|
622 | buildRegion(a11yStrings, function (regionStrings) {
|
623 | regionStrings.push("start text");
|
624 | buildA11yStrings(tree.body, regionStrings, atomType);
|
625 | regionStrings.push("end text");
|
626 | });
|
627 | break;
|
628 | }
|
629 |
|
630 | case "textord":
|
631 | {
|
632 | buildString(tree.text, atomType, a11yStrings);
|
633 | break;
|
634 | }
|
635 |
|
636 | case "smash":
|
637 | {
|
638 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
639 | break;
|
640 | }
|
641 |
|
642 | case "enclose":
|
643 | {
|
644 |
|
645 |
|
646 |
|
647 | if (/cancel/.test(tree.label)) {
|
648 | buildRegion(a11yStrings, function (regionStrings) {
|
649 | regionStrings.push("start cancel");
|
650 | buildA11yStrings(tree.body, regionStrings, atomType);
|
651 | regionStrings.push("end cancel");
|
652 | });
|
653 | break;
|
654 | } else if (/box/.test(tree.label)) {
|
655 | buildRegion(a11yStrings, function (regionStrings) {
|
656 | regionStrings.push("start box");
|
657 | buildA11yStrings(tree.body, regionStrings, atomType);
|
658 | regionStrings.push("end box");
|
659 | });
|
660 | break;
|
661 | } else if (/sout/.test(tree.label)) {
|
662 | buildRegion(a11yStrings, function (regionStrings) {
|
663 | regionStrings.push("start strikeout");
|
664 | buildA11yStrings(tree.body, regionStrings, atomType);
|
665 | regionStrings.push("end strikeout");
|
666 | });
|
667 | break;
|
668 | }
|
669 |
|
670 | throw new Error("KaTeX-a11y: enclose node with " + tree.label + " not supported yet");
|
671 | }
|
672 |
|
673 | case "vphantom":
|
674 | {
|
675 | throw new Error("KaTeX-a11y: vphantom not implemented yet");
|
676 | }
|
677 |
|
678 | case "hphantom":
|
679 | {
|
680 | throw new Error("KaTeX-a11y: hphantom not implemented yet");
|
681 | }
|
682 |
|
683 | case "operatorname":
|
684 | {
|
685 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
686 | break;
|
687 | }
|
688 |
|
689 | case "array":
|
690 | {
|
691 | throw new Error("KaTeX-a11y: array not implemented yet");
|
692 | }
|
693 |
|
694 | case "raw":
|
695 | {
|
696 | throw new Error("KaTeX-a11y: raw not implemented yet");
|
697 | }
|
698 |
|
699 | case "size":
|
700 | {
|
701 |
|
702 |
|
703 | break;
|
704 | }
|
705 |
|
706 | case "url":
|
707 | {
|
708 | throw new Error("KaTeX-a11y: url not implemented yet");
|
709 | }
|
710 |
|
711 | case "tag":
|
712 | {
|
713 | throw new Error("KaTeX-a11y: tag not implemented yet");
|
714 | }
|
715 |
|
716 | case "verb":
|
717 | {
|
718 | buildString("start verbatim", "normal", a11yStrings);
|
719 | buildString(tree.body, "normal", a11yStrings);
|
720 | buildString("end verbatim", "normal", a11yStrings);
|
721 | break;
|
722 | }
|
723 |
|
724 | case "environment":
|
725 | {
|
726 | throw new Error("KaTeX-a11y: environment not implemented yet");
|
727 | }
|
728 |
|
729 | case "horizBrace":
|
730 | {
|
731 | buildString("start " + tree.label.slice(1), "normal", a11yStrings);
|
732 | buildA11yStrings(tree.base, a11yStrings, atomType);
|
733 | buildString("end " + tree.label.slice(1), "normal", a11yStrings);
|
734 | break;
|
735 | }
|
736 |
|
737 | case "infix":
|
738 | {
|
739 |
|
740 | break;
|
741 | }
|
742 |
|
743 | case "includegraphics":
|
744 | {
|
745 | throw new Error("KaTeX-a11y: includegraphics not implemented yet");
|
746 | }
|
747 |
|
748 | case "font":
|
749 | {
|
750 |
|
751 |
|
752 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
753 | break;
|
754 | }
|
755 |
|
756 | case "href":
|
757 | {
|
758 | throw new Error("KaTeX-a11y: href not implemented yet");
|
759 | }
|
760 |
|
761 | case "cr":
|
762 | {
|
763 |
|
764 | throw new Error("KaTeX-a11y: cr not implemented yet");
|
765 | }
|
766 |
|
767 | case "underline":
|
768 | {
|
769 | buildRegion(a11yStrings, function (a11yStrings) {
|
770 | a11yStrings.push("start underline");
|
771 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
772 | a11yStrings.push("end underline");
|
773 | });
|
774 | break;
|
775 | }
|
776 |
|
777 | case "xArrow":
|
778 | {
|
779 | throw new Error("KaTeX-a11y: xArrow not implemented yet");
|
780 | }
|
781 |
|
782 | case "mclass":
|
783 | {
|
784 |
|
785 |
|
786 | var _atomType = tree.mclass.slice(1);
|
787 |
|
788 |
|
789 | buildA11yStrings(tree.body, a11yStrings, _atomType);
|
790 | break;
|
791 | }
|
792 |
|
793 | case "mathchoice":
|
794 | {
|
795 |
|
796 |
|
797 | buildA11yStrings(tree.text, a11yStrings, atomType);
|
798 | break;
|
799 | }
|
800 |
|
801 | case "htmlmathml":
|
802 | {
|
803 | buildA11yStrings(tree.mathml, a11yStrings, atomType);
|
804 | break;
|
805 | }
|
806 |
|
807 | case "middle":
|
808 | {
|
809 | buildString(tree.delim, atomType, a11yStrings);
|
810 | break;
|
811 | }
|
812 |
|
813 | case "internal":
|
814 | {
|
815 |
|
816 | break;
|
817 | }
|
818 |
|
819 | case "html":
|
820 | {
|
821 | buildA11yStrings(tree.body, a11yStrings, atomType);
|
822 | break;
|
823 | }
|
824 |
|
825 | default:
|
826 | tree.type;
|
827 | throw new Error("KaTeX a11y un-recognized type: " + tree.type);
|
828 | }
|
829 | };
|
830 |
|
831 | var buildA11yStrings = function buildA11yStrings(tree, a11yStrings, atomType) {
|
832 | if (a11yStrings === void 0) {
|
833 | a11yStrings = [];
|
834 | }
|
835 |
|
836 | if (tree instanceof Array) {
|
837 | for (var i = 0; i < tree.length; i++) {
|
838 | buildA11yStrings(tree[i], a11yStrings, atomType);
|
839 | }
|
840 | } else {
|
841 | handleObject(tree, a11yStrings, atomType);
|
842 | }
|
843 |
|
844 | return a11yStrings;
|
845 | };
|
846 |
|
847 | var flatten = function flatten(array) {
|
848 | var result = [];
|
849 | array.forEach(function (item) {
|
850 | if (item instanceof Array) {
|
851 | result = result.concat(flatten(item));
|
852 | } else {
|
853 | result.push(item);
|
854 | }
|
855 | });
|
856 | return result;
|
857 | };
|
858 |
|
859 | var renderA11yString = function renderA11yString(text, settings) {
|
860 | var tree = katex__WEBPACK_IMPORTED_MODULE_0___default.a.__parse(text, settings);
|
861 |
|
862 | var a11yStrings = buildA11yStrings(tree, [], "normal");
|
863 | return flatten(a11yStrings).join(", ");
|
864 | };
|
865 |
|
866 | __webpack_exports__["default"] = (renderA11yString);
|
867 |
|
868 | })
|
869 | ])["default"];
|
870 | }); |
\ | No newline at end of file |