@webc.site/math 0.1.5 → 0.1.8

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/README.md CHANGED
@@ -56,6 +56,51 @@ const tex = "e^{i\\pi} + 1 = 0";
56
56
  const html = mathml(tex, true); // true for block math, false/empty for inline math
57
57
  ```
58
58
 
59
+ #### 3. Marked Extension (using [`@webc.site/math-marked`](https://www.npmjs.com/package/@webc.site/math-marked))
60
+
61
+ Automatically parses and compiles inline math (`$...$`) and block math (`$$...$$`) inside markdown parsed with `marked`.
62
+
63
+ ```javascript
64
+ import { marked } from "marked";
65
+ import mathMarked from "@webc.site/math-marked";
66
+
67
+ marked.use(mathMarked());
68
+
69
+ const html = marked.parse("Euler's identity: $$e^{i\\pi} + 1 = 0$$");
70
+ ```
71
+
72
+ #### 4. Remark Plugin (using [`@webc.site/math-remark`](https://www.npmjs.com/package/@webc.site/math-remark))
73
+
74
+ A `unified` / `remark` plugin to transform math nodes (`inlineMath` and `math`) in the AST into native MathML HTML.
75
+
76
+ ```javascript
77
+ import { unified } from "unified";
78
+ import remarkParse from "remark-parse";
79
+ import remarkMath from "remark-math";
80
+ import mathRemark from "@webc.site/math-remark";
81
+ import remarkHtml from "remark-html";
82
+
83
+ const html = await unified()
84
+ .use(remarkParse)
85
+ .use(remarkMath)
86
+ .use(mathRemark)
87
+ .use(remarkHtml, { sanitize: false })
88
+ .process("Euler's identity: $$e^{i\\pi} + 1 = 0$$");
89
+ ```
90
+
91
+ #### 5. Markdown-it Plugin (using [`@webc.site/math-markdown-it`](https://www.npmjs.com/package/@webc.site/math-markdown-it))
92
+
93
+ A `markdown-it` plugin to automatically parse and compile inline math (`$...$`) and block math (`$$...$$`) into native MathML HTML.
94
+
95
+ ```javascript
96
+ import markdownit from "markdown-it";
97
+ import mathMarkdownIt from "@webc.site/math-markdown-it";
98
+
99
+ const md = markdownit().use(mathMarkdownIt);
100
+
101
+ const html = md.render("Euler's identity: $$e^{i\\pi} + 1 = 0$$");
102
+ ```
103
+
59
104
  ### CSS and Math Font Configuration
60
105
 
61
106
  For browser mathematical layout engines to present beautifully typeset math equations, we highly recommend using a math font. The **Latin Modern Math** font provided in the `18s` package is recommended (derived from Knuth's classical Computer Modern typeface, with a complete mathematical symbol set and OpenType MATH table support).
@@ -442,6 +487,51 @@ const tex = "e^{i\\pi} + 1 = 0";
442
487
  const html = mathml(tex, true); // 第二个参数传 true 表示块级公式,传 false 或不传表示行内公式
443
488
  ```
444
489
 
490
+ #### 3. Marked 插件(使用 [`@webc.site/math-marked`](https://www.npmjs.com/package/@webc.site/math-marked))
491
+
492
+ 自动解析并编译使用 `marked` 渲染的 Markdown 文本中的行内公式(`$...$`)和块级公式(`$$...$$`)。
493
+
494
+ ```javascript
495
+ import { marked } from "marked";
496
+ import mathMarked from "@webc.site/math-marked";
497
+
498
+ marked.use(mathMarked());
499
+
500
+ const html = marked.parse("欧拉恒等式:$$e^{i\\pi} + 1 = 0$$");
501
+ ```
502
+
503
+ #### 4. Remark 插件(使用 [`@webc.site/math-remark`](https://www.npmjs.com/package/@webc.site/math-remark))
504
+
505
+ 用于 Unified / Remark 抽象语法树(AST)转换的插件,无缝将 AST 中的 `inlineMath` 与 `math` 节点替换为原生 MathML HTML。
506
+
507
+ ```javascript
508
+ import { unified } from "unified";
509
+ import remarkParse from "remark-parse";
510
+ import remarkMath from "remark-math";
511
+ import mathRemark from "@webc.site/math-remark";
512
+ import remarkHtml from "remark-html";
513
+
514
+ const html = await unified()
515
+ .use(remarkParse)
516
+ .use(remarkMath)
517
+ .use(mathRemark)
518
+ .use(remarkHtml, { sanitize: false })
519
+ .process("欧拉恒等式:$$e^{i\\pi} + 1 = 0$$");
520
+ ```
521
+
522
+ #### 5. Markdown-it 插件(使用 [`@webc.site/math-markdown-it`](https://www.npmjs.com/package/@webc.site/math-markdown-it))
523
+
524
+ 用于 `markdown-it` 的数学公式渲染插件,在解析时自动将行内公式(`$...$`)和块级公式(`$$...$$`)编译为原生 MathML HTML。
525
+
526
+ ```javascript
527
+ import markdownit from "markdown-it";
528
+ import mathMarkdownIt from "@webc.site/math-markdown-it";
529
+
530
+ const md = markdownit().use(mathMarkdownIt);
531
+
532
+ const html = md.render("欧拉恒等式:$$e^{i\\pi} + 1 = 0$$");
533
+ ```
534
+
445
535
  ### CSS 与数学字体配置
446
536
 
447
537
  为了使浏览器原生呈现出排版更精美的数学公式,强烈建议配合专门的数学字体使用。这里我们推荐使用 `18s` 包中提供的 **Latin Modern Math** 数学字体(源自高德纳的经典 Computer Modern 字体,包含完整的数学和技术符号集与 OpenType 排版特性映射)。
package/mathml.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mathml.js"],"sourcesContent":["//#region src/const/STYL.js\nvar STYLE_BOX = \" style=\\\"display:inline-block;border:1px solid;padding:2px 3px\\\"\";\nvar STYLE_CANCEL = \" style=\\\"display:inline-block;background:linear-gradient(to top right,transparent 47%,currentColor 47%,currentColor 53%,transparent 53%)\\\"\";\nvar STYLE_SOUT = \" style=\\\"display:inline-block;background:linear-gradient(transparent 47%,currentColor 47%,currentColor 53%,transparent 53%)\\\"\";\n//#endregion\n//#region src/lex.js\nvar MASK_WHITESPACE = 9728, CHAR_DOT = 46, CHAR_TOK = {\n\t_: 5,\n\t\"^\": 6,\n\t\"{\": 7,\n\t\"}\": 8,\n\t\"(\": 9,\n\t\")\": 10\n}, digit = (c) => c >= 48 && c <= 57, alpha = (c) => (c | 32) - 97 >>> 0 < 26, skip = (str, idx, len) => {\n\twhile (idx < len) {\n\t\tconst code = str.charCodeAt(idx);\n\t\tif (code <= 32 && (code === 32 || 1 << code & MASK_WHITESPACE)) ++idx;\n\t\telse break;\n\t}\n\treturn idx;\n};\nvar lex_default = (str) => {\n\tconst tokens = [], len = str.length;\n\tlet idx = 0;\n\twhile (idx < len) {\n\t\tidx = skip(str, idx, len);\n\t\tif (idx >= len) break;\n\t\tconst code = str.charCodeAt(idx);\n\t\tif (code === 92) {\n\t\t\tconst start = idx;\n\t\t\t++idx;\n\t\t\tif (idx < len) if (alpha(str.charCodeAt(idx))) while (++idx < len && alpha(str.charCodeAt(idx)));\n\t\t\telse ++idx;\n\t\t\tconst cmd = str.slice(start, idx);\n\t\t\tif (cmd === \"\\\\text\") {\n\t\t\t\tconst temp_idx = skip(str, idx, len);\n\t\t\t\tif (str.charCodeAt(temp_idx) === 123) {\n\t\t\t\t\tlet brace_count = 1, text_start = temp_idx + 1, text_idx = text_start;\n\t\t\t\t\twhile (text_idx < len && brace_count) {\n\t\t\t\t\t\tconst c_code = str.charCodeAt(text_idx);\n\t\t\t\t\t\tif (c_code === 123) ++brace_count;\n\t\t\t\t\t\telse if (c_code === 125) --brace_count;\n\t\t\t\t\t\tif (brace_count) ++text_idx;\n\t\t\t\t\t}\n\t\t\t\t\tif (!brace_count) {\n\t\t\t\t\t\ttokens.push(4, \"\\\\text\", 7, \"{\", 2, str.slice(text_start, text_idx), 8, \"}\");\n\t\t\t\t\t\tidx = text_idx + 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttokens.push(4, cmd);\n\t\t\tcontinue;\n\t\t}\n\t\tif (digit(code) || code === CHAR_DOT && digit(str.charCodeAt(idx + 1))) {\n\t\t\tconst start = idx;\n\t\t\tif (code === CHAR_DOT) idx += 2;\n\t\t\telse {\n\t\t\t\twhile (++idx < len && digit(str.charCodeAt(idx)));\n\t\t\t\tif (str.charCodeAt(idx) === CHAR_DOT && digit(str.charCodeAt(idx + 1))) idx += 2;\n\t\t\t}\n\t\t\twhile (idx < len && digit(str.charCodeAt(idx))) ++idx;\n\t\t\ttokens.push(1, str.slice(start, idx));\n\t\t\tcontinue;\n\t\t}\n\t\tif (alpha(code)) {\n\t\t\ttokens.push(2, str[idx]);\n\t\t\t++idx;\n\t\t\tcontinue;\n\t\t}\n\t\tconst char = str[idx];\n\t\ttokens.push(CHAR_TOK[char] ?? 3, char);\n\t\t++idx;\n\t}\n\ttokens.push(0, \"\");\n\treturn tokens;\n};\n//#endregion\n//#region src/const/ATTR.js\nvar FALSE = \" stretchy=\\\"false\\\"\", space = (l, r) => \" lspace=\\\"\" + l + \"px\\\" rspace=\\\"\" + r + \"px\\\"\";\nvar ATTR_NORMAL = \" mathvariant=\\\"normal\\\"\";\nvar ATTR_STRETCHY_FALSE = FALSE;\nvar ATTR_BAR = FALSE + space(0, 0);\nvar ATTR_BIN = space(4, 4);\nvar ATTR_REL = space(5, 5);\n//#endregion\n//#region src/const/ENV.js\nvar ENV_NAMES = new Set([\n\t\"matrix\",\n\t\"pmatrix\",\n\t\"bmatrix\",\n\t\"vmatrix\",\n\t\"Vmatrix\",\n\t\"cases\",\n\t\"array\"\n]);\n//#endregion\n//#region src/const/FUNC.js\nvar FUNC_NAMES = new Set([\n\t\"sin\",\n\t\"cos\",\n\t\"tan\",\n\t\"cot\",\n\t\"sec\",\n\t\"csc\",\n\t\"log\",\n\t\"lg\",\n\t\"ln\",\n\t\"lim\",\n\t\"exp\",\n\t\"max\",\n\t\"min\",\n\t\"sup\",\n\t\"inf\",\n\t\"det\",\n\t\"gcd\",\n\t\"arcsin\",\n\t\"arccos\",\n\t\"arctan\",\n\t\"sinh\",\n\t\"cosh\",\n\t\"tanh\",\n\t\"coth\",\n\t\"deg\",\n\t\"arg\"\n]);\n//#endregion\n//#region src/const/SYM.js\nvar LE = [3, \"≤\"], GE = [3, \"≥\"], NE = [\n\t3,\n\t\"≠\",\n\tATTR_NORMAL\n], RIGHT_ARROW = [3, \"→\"], LEFT_ARROW = [3, \"←\"], L_DOTS = [3, \"…\"];\nvar SYM_MAP = {\n\t__proto__: null,\n\talpha: [1, \"α\"],\n\tbeta: [1, \"β\"],\n\tgamma: [1, \"γ\"],\n\ttheta: [1, \"θ\"],\n\tpi: [1, \"π\"],\n\tinfty: [\n\t\t1,\n\t\t\"∞\",\n\t\tATTR_NORMAL\n\t],\n\tle: LE,\n\tleq: LE,\n\tge: GE,\n\tgeq: GE,\n\tneq: NE,\n\tne: NE,\n\tcdot: [3, \"⋅\"],\n\ttimes: [3, \"×\"],\n\tpm: [3, \"±\"],\n\tmp: [\n\t\t3,\n\t\t\"∓\",\n\t\tATTR_BIN\n\t],\n\tdiv: [3, \"÷\"],\n\tsum: [3, \"∑\"],\n\tint: [3, \"∫\"],\n\tto: RIGHT_ARROW,\n\trightarrow: RIGHT_ARROW,\n\tleftarrow: LEFT_ARROW,\n\tgets: LEFT_ARROW,\n\tleftrightarrow: [3, \"↔\"],\n\tLeftarrow: [3, \"⇐\"],\n\tRightarrow: [3, \"⇒\"],\n\tLeftrightarrow: [3, \"⇔\"],\n\tdots: L_DOTS,\n\tldots: L_DOTS,\n\tcdots: [3, \"⋯\"],\n\tDelta: [\n\t\t1,\n\t\t\"Δ\",\n\t\tATTR_NORMAL\n\t],\n\tGamma: [\n\t\t1,\n\t\t\"Γ\",\n\t\tATTR_NORMAL\n\t],\n\tTheta: [\n\t\t1,\n\t\t\"Θ\",\n\t\tATTR_NORMAL\n\t],\n\tLambda: [\n\t\t1,\n\t\t\"Λ\",\n\t\tATTR_NORMAL\n\t],\n\tXi: [\n\t\t1,\n\t\t\"Ξ\",\n\t\tATTR_NORMAL\n\t],\n\tPi: [\n\t\t1,\n\t\t\"Π\",\n\t\tATTR_NORMAL\n\t],\n\tSigma: [\n\t\t1,\n\t\t\"Σ\",\n\t\tATTR_NORMAL\n\t],\n\tUpsilon: [\n\t\t1,\n\t\t\"Υ\",\n\t\tATTR_NORMAL\n\t],\n\tPhi: [\n\t\t1,\n\t\t\"Φ\",\n\t\tATTR_NORMAL\n\t],\n\tPsi: [\n\t\t1,\n\t\t\"Ψ\",\n\t\tATTR_NORMAL\n\t],\n\tOmega: [\n\t\t1,\n\t\t\"Ω\",\n\t\tATTR_NORMAL\n\t],\n\tdelta: [1, \"δ\"],\n\tepsilon: [1, \"ϵ\"],\n\tzeta: [1, \"ζ\"],\n\teta: [1, \"η\"],\n\tiota: [1, \"ι\"],\n\tkappa: [1, \"κ\"],\n\tlambda: [1, \"λ\"],\n\tmu: [1, \"μ\"],\n\tnu: [1, \"ν\"],\n\txi: [1, \"ξ\"],\n\trho: [1, \"ρ\"],\n\tsigma: [1, \"σ\"],\n\ttau: [1, \"τ\"],\n\tupsilon: [1, \"υ\"],\n\tphi: [1, \"ϕ\"],\n\tchi: [1, \"χ\"],\n\tpsi: [1, \"ψ\"],\n\tomega: [1, \"ω\"],\n\tnabla: [\n\t\t1,\n\t\t\"∇\",\n\t\tATTR_NORMAL\n\t],\n\tpartial: [\n\t\t1,\n\t\t\"∂\",\n\t\tATTR_NORMAL\n\t],\n\tapprox: [\n\t\t3,\n\t\t\"≈\",\n\t\tATTR_REL\n\t],\n\tsim: [\n\t\t3,\n\t\t\"∼\",\n\t\tATTR_REL\n\t],\n\tcong: [\n\t\t3,\n\t\t\"≅\",\n\t\tATTR_REL\n\t],\n\tpropto: [\n\t\t3,\n\t\t\"∝\",\n\t\tATTR_REL\n\t],\n\tequiv: [\n\t\t3,\n\t\t\"≡\",\n\t\tATTR_REL\n\t],\n\tneg: [1, \"¬\"],\n\tlor: [\n\t\t3,\n\t\t\"∨\",\n\t\tATTR_BIN\n\t],\n\tland: [\n\t\t3,\n\t\t\"∧\",\n\t\tATTR_BIN\n\t],\n\tni: [\n\t\t3,\n\t\t\"∋\",\n\t\tATTR_REL\n\t],\n\tperp: [\n\t\t3,\n\t\t\"⟂\",\n\t\tATTR_REL\n\t],\n\tparallel: [\n\t\t3,\n\t\t\"∥\",\n\t\tATTR_REL\n\t],\n\tell: [1, \"ℓ\"],\n\thbar: [1, \"ℏ\"],\n\tforall: [\n\t\t1,\n\t\t\"∀\",\n\t\tATTR_NORMAL\n\t],\n\texists: [\n\t\t1,\n\t\t\"∃\",\n\t\tATTR_NORMAL\n\t],\n\tin: [3, \"∈\"],\n\tnotin: [3, \"∉\"],\n\tsubset: [3, \"⊂\"],\n\tsupset: [3, \"⊃\"],\n\tsubseteq: [3, \"⊆\"],\n\tsupseteq: [3, \"⊇\"],\n\tcup: [3, \"∪\"],\n\tcap: [3, \"∩\"],\n\temptyset: [\n\t\t1,\n\t\t\"∅\",\n\t\tATTR_NORMAL\n\t]\n};\n//#endregion\n//#region src/parse.js\nvar LIMITS_MAP = {\n\t\"\\\\limits\": 1,\n\t\"\\\\nolimits\": 2\n}, MENCLOSE_MAP = {\n\t__proto__: null,\n\tboxed: 1,\n\tcancel: 2,\n\tsout: 3\n}, SPACE_MAP = {\n\t__proto__: null,\n\tquad: \"16px\",\n\tqquad: \"32px\"\n}, CHAR_MAP = {\n\t\"-\": [3, \"−\"],\n\t\"*\": [3, \"∗\"],\n\t\"/\": [\n\t\t3,\n\t\t\"/\",\n\t\tATTR_NORMAL\n\t],\n\t\"(\": [\n\t\t3,\n\t\t\"(\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\")\": [\n\t\t3,\n\t\t\")\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"[\": [\n\t\t3,\n\t\t\"[\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"]\": [\n\t\t3,\n\t\t\"]\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"|\": [\n\t\t3,\n\t\t\"|\",\n\t\tATTR_BAR\n\t],\n\t\".\": [\n\t\t3,\n\t\t\".\",\n\t\tATTR_NORMAL\n\t]\n}, DELIM_MAP = {\n\t__proto__: null,\n\t\"\\\\{\": \"{\",\n\t\"\\\\}\": \"}\",\n\t\"<\": \"⟨\",\n\t\">\": \"⟩\"\n}, ident = (val) => [1, val], num = (val) => [2, val], op = (val) => CHAR_MAP[val] ?? [3, val], lparen = () => CHAR_MAP[\"(\"], rparen = () => CHAR_MAP[\")\"], delim = (tokens, state_ref) => {\n\tconst idx = state_ref[0];\n\tif (tokens[idx] == null) return null;\n\tstate_ref[0] += 2;\n\tconst val = tokens[idx + 1];\n\tif (val === \".\") return [\n\t\t3,\n\t\t\"\",\n\t\t\" fence=\\\"true\\\" stretchy=\\\"true\\\" symmetric=\\\"true\\\"\"\n\t];\n\treturn [3, DELIM_MAP[val] ?? (val?.startsWith(\"\\\\\") ? val.slice(1) : val)];\n}, opt = (tokens, state_ref, check_num) => {\n\tif (tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"[\") {\n\t\tif (!check_num || tokens[state_ref[0] + 2] === 1) {\n\t\t\tstate_ref[0] += 2;\n\t\t\twhile (tokens[state_ref[0]] !== 0 && !(tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"]\")) state_ref[0] += 2;\n\t\t\tif (tokens[state_ref[0]] === 3) state_ref[0] += 2;\n\t\t}\n\t}\n}, brace = (tokens, state_ref) => {\n\tif (tokens[state_ref[0]] === 7) {\n\t\tstate_ref[0] += 2;\n\t\tlet str = \"\";\n\t\twhile (tokens[state_ref[0]] !== 0 && tokens[state_ref[0]] !== 8) {\n\t\t\tstr += tokens[state_ref[0] + 1];\n\t\t\tstate_ref[0] += 2;\n\t\t}\n\t\tif (tokens[state_ref[0]] === 8) state_ref[0] += 2;\n\t\treturn str;\n\t}\n\treturn \"\";\n}, rows = (tokens, state_ref, is_end_check, env_name) => {\n\tconst rows = [];\n\tlet current_row = [], current_cell = [];\n\twhile (state_ref[0] < tokens.length) {\n\t\tconst next_type = tokens[state_ref[0]], next_val = tokens[state_ref[0] + 1];\n\t\tif (next_type === 0) break;\n\t\tif (!is_end_check && next_type === 8) break;\n\t\tif (is_end_check && next_type === 4 && next_val === \"\\\\end\") {\n\t\t\tconst saved_idx = state_ref[0];\n\t\t\tstate_ref[0] += 2;\n\t\t\tif (brace(tokens, state_ref) === env_name) break;\n\t\t\tstate_ref[0] = saved_idx;\n\t\t}\n\t\tif (next_type === 3 && next_val === \"&\") {\n\t\t\tstate_ref[0] += 2;\n\t\t\tcurrent_row.push(current_cell);\n\t\t\tcurrent_cell = [];\n\t\t\tcontinue;\n\t\t}\n\t\tif (next_type === 4 && next_val === \"\\\\\\\\\") {\n\t\t\tstate_ref[0] += 2;\n\t\t\topt(tokens, state_ref, 1);\n\t\t\tcurrent_row.push(current_cell);\n\t\t\tcurrent_cell = [];\n\t\t\trows.push(current_row);\n\t\t\tcurrent_row = [];\n\t\t\tcontinue;\n\t\t}\n\t\tconst node = grab(tokens, state_ref);\n\t\tif (node) current_cell.push(node);\n\t}\n\tif (current_cell.length || current_row.length) {\n\t\tcurrent_row.push(current_cell);\n\t\trows.push(current_row);\n\t}\n\tif (rows.length) {\n\t\tconst last_row = rows[rows.length - 1];\n\t\tif (!last_row[1] && !last_row[0][0]) rows.pop();\n\t}\n\treturn rows;\n}, matrix = (tokens, state_ref, name) => {\n\tif (tokens[state_ref[0]] === 7) {\n\t\tstate_ref[0] += 2;\n\t\tconst matrix_rows = rows(tokens, state_ref, 0, name);\n\t\tif (tokens[state_ref[0]] === 8) state_ref[0] += 2;\n\t\treturn [\n\t\t\t14,\n\t\t\tname,\n\t\t\tmatrix_rows\n\t\t];\n\t}\n\tconst node = read(tokens, state_ref, 1);\n\treturn node ? [\n\t\t14,\n\t\tname,\n\t\t[[[node]]]\n\t] : null;\n}, txt = (tokens, state_ref) => {\n\tif (tokens[state_ref[0]] === 7) {\n\t\tconst text_val = brace(tokens, state_ref);\n\t\tif (text_val === \"\") return [8, []];\n\t\tconst parts = text_val.split(\"\\\\\\\\\");\n\t\tif (parts.length > 1) {\n\t\t\tconst nodes = [];\n\t\t\tparts.forEach((p, i) => {\n\t\t\t\tif (i > 0) nodes.push([15]);\n\t\t\t\tif (p) nodes.push([16, p]);\n\t\t\t});\n\t\t\treturn [8, nodes];\n\t\t}\n\t\treturn [16, text_val];\n\t}\n\tconst next_node = read(tokens, state_ref, 1);\n\tif (next_node) return [16, next_node[1]];\n\tthrow [3, \"text\"];\n}, parseBegin = (tokens, state_ref, val) => {\n\tif (tokens[state_ref[0]] === 7) {\n\t\tconst env_name = brace(tokens, state_ref);\n\t\tif (env_name === \"array\") {\n\t\t\topt(tokens, state_ref);\n\t\t\tif (tokens[state_ref[0]] === 7) brace(tokens, state_ref);\n\t\t\telse if (tokens[state_ref[0]] !== 0) state_ref[0] += 2;\n\t\t}\n\t\treturn [\n\t\t\t14,\n\t\t\tenv_name,\n\t\t\trows(tokens, state_ref, 1, env_name)\n\t\t];\n\t}\n\treturn [1, val];\n}, sqrt = (tokens, state_ref) => {\n\tif (tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"[\") {\n\t\tstate_ref[0] += 2;\n\t\tconst index_nodes = [];\n\t\twhile (tokens[state_ref[0]] !== 0 && !(tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"]\")) {\n\t\t\tconst node = grab(tokens, state_ref);\n\t\t\tif (node) index_nodes.push(node);\n\t\t}\n\t\tif (tokens[state_ref[0]] === 3) state_ref[0] += 2;\n\t\treturn [\n\t\t\t11,\n\t\t\tread(tokens, state_ref, 1),\n\t\t\t[8, index_nodes]\n\t\t];\n\t}\n\treturn [10, read(tokens, state_ref, 1)];\n}, fence = (tokens, state_ref) => {\n\tconst left_delim = delim(tokens, state_ref), body = parse(tokens, state_ref);\n\tif (tokens[state_ref[0]] === 4 && tokens[state_ref[0] + 1] === \"\\\\right\") {\n\t\tstate_ref[0] += 2;\n\t\treturn [12, [\n\t\t\tleft_delim,\n\t\t\t...body,\n\t\t\tdelim(tokens, state_ref)\n\t\t].filter(Boolean)];\n\t}\n\tthrow [1, left_delim];\n}, over = (tokens, state_ref) => [13, read(tokens, state_ref, 1)], frac = (tokens, state_ref) => [\n\t7,\n\tread(tokens, state_ref, 1),\n\tread(tokens, state_ref, 1)\n], phantom = (tokens, state_ref) => [19, read(tokens, state_ref, 1)], pmod = (tokens, state_ref) => [8, [\n\t[17, \"8px\"],\n\t[\n\t\t3,\n\t\t\"(\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t[16, \"mod\"],\n\t[17, \"4px\"],\n\tread(tokens, state_ref, 1),\n\t[\n\t\t3,\n\t\t\")\",\n\t\tATTR_STRETCHY_FALSE\n\t]\n]], CMD_MAP = {\n\t__proto__: null,\n\t\"\\\\\": (tokens, state_ref) => {\n\t\tif (tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"*\") state_ref[0] += 2;\n\t\topt(tokens, state_ref, 1);\n\t\treturn [15];\n\t},\n\ttext: txt,\n\tfrac,\n\toverline: over,\n\tbar: over,\n\tsqrt,\n\tleft: fence,\n\tphantom,\n\tpmod,\n\tbegin: parseBegin,\n\tend: (tokens, state_ref, val, name) => {\n\t\tthrow [0, name];\n\t},\n\tright: (tokens, state_ref, val, name) => {\n\t\tthrow [2, name];\n\t}\n}, TOK_MAP = {\n\t[2]: ident,\n\t[3]: op,\n\t[9]: lparen,\n\t[10]: rparen,\n\t[1]: num,\n\t[7]: (val, tokens, state_ref) => {\n\t\tconst res = [8, parse(tokens, state_ref)];\n\t\tif (tokens[state_ref[0]] === 8) state_ref[0] += 2;\n\t\treturn res;\n\t},\n\t[4]: (val, tokens, state_ref) => {\n\t\tconst name = val.slice(1), handler = CMD_MAP[name];\n\t\tif (handler) return handler(tokens, state_ref, val, name);\n\t\tif (ENV_NAMES.has(name)) return matrix(tokens, state_ref, name) ?? ident(val);\n\t\tconst space = SPACE_MAP[name];\n\t\tif (space) return [17, space];\n\t\tconst notation = MENCLOSE_MAP[name];\n\t\tif (notation) return [\n\t\t\t18,\n\t\t\tnotation,\n\t\t\tread(tokens, state_ref, 1)\n\t\t];\n\t\tif (FUNC_NAMES.has(name)) return [9, name];\n\t\treturn SYM_MAP[name] ?? ident(val);\n\t}\n}, read = (tokens, state_ref, split_num) => {\n\tconst idx = state_ref[0], type = tokens[idx];\n\tif (type == null) return null;\n\tstate_ref[0] += 2;\n\tlet val = tokens[idx + 1];\n\tif (split_num && type === 1 && val[1]) {\n\t\ttokens.splice(state_ref[0], 0, 1, val.slice(1));\n\t\tval = val[0];\n\t}\n\treturn TOK_MAP[type]?.(val, tokens, state_ref) ?? null;\n}, grab = (tokens, state_ref) => {\n\tconst base = read(tokens, state_ref);\n\tif (!base) return null;\n\tlet limits = 0;\n\tif (tokens[state_ref[0]] === 4) {\n\t\tconst limits_val = LIMITS_MAP[tokens[state_ref[0] + 1]];\n\t\tif (limits_val !== void 0) {\n\t\t\tlimits = limits_val;\n\t\t\tstate_ref[0] += 2;\n\t\t}\n\t}\n\tlet sub = null, sup = null, type;\n\twhile ((type = tokens[state_ref[0]]) != null) {\n\t\tif (type !== 5 && type !== 6) break;\n\t\tstate_ref[0] += 2;\n\t\tconst val = read(tokens, state_ref, 1);\n\t\tif (type === 5) sub = val;\n\t\telse sup = val;\n\t}\n\treturn sub && sup ? [\n\t\t6,\n\t\tbase,\n\t\tsub,\n\t\tsup,\n\t\tlimits\n\t] : sub ? [\n\t\t5,\n\t\tbase,\n\t\tsub,\n\t\tlimits\n\t] : sup ? [\n\t\t4,\n\t\tbase,\n\t\tsup,\n\t\tlimits\n\t] : base;\n}, parse = (tokens, state_ref) => {\n\tconst nodes = [];\n\tlet type;\n\twhile ((type = tokens[state_ref[0]]) != null) {\n\t\tif (type === 0 || type === 8) break;\n\t\tif (type === 4 && tokens[state_ref[0] + 1] === \"\\\\right\") break;\n\t\tconst node = grab(tokens, state_ref);\n\t\tif (node) nodes.push(node);\n\t}\n\treturn nodes;\n};\n//#endregion\n//#region src/mathml.js\nvar ENV_DELIMS = {\n\t__proto__: null,\n\tpmatrix: [\"(\", \")\"],\n\tbmatrix: [\"[\", \"]\"],\n\tvmatrix: [\"|\", \"|\"],\n\tVmatrix: [\"‖\", \"‖\"],\n\tcases: [\"{\", \"\"]\n}, MROW = \"mrow\", NOTATION_STYLE_MAP = {\n\t[1]: STYLE_BOX,\n\t[2]: STYLE_CANCEL,\n\t[3]: STYLE_SOUT\n}, ESC_MAP = {\n\t\"&\": \"&amp;\",\n\t\"<\": \"&lt;\",\n\t\">\": \"&gt;\",\n\t\"\\\"\": \"&quot;\"\n}, esc = (str) => /[&<>\"]/.test(str) ? str.replace(/[&<>\"]/g, (m) => ESC_MAP[m]) : str, wrap = (tag_name, inner, attr) => \"<\" + tag_name + (attr ?? \"\") + \">\" + inner + \"</\" + tag_name + \">\", tag = (name, val, attr) => wrap(name, esc(val), attr), nest = (name, n1, n2, n3) => wrap(name, row(n1) + row(n2) + (n3 ? row(n3) : \"\")), row = (n) => {\n\tif (!n) return wrap(MROW, \"\");\n\tconst [type, val] = n;\n\treturn type === 8 ? val[1] ? wrap(MROW, val.map(show).join(\"\")) : row(val[0]) : type === 9 ? wrap(MROW, show(n)) : show(n);\n}, scriptTag = ([type, val], limits, display, inline) => limits === 1 || limits !== 2 && (val === \"∑\" || type === 9 && (val === \"lim\" || val === \"max\" || val === \"min\" || val === \"sup\" || val === \"inf\")) ? display : inline, SHOW_MAP = {\n\t[1]: ([_, val, attr]) => tag(\"mi\", val, attr),\n\t[2]: ([_, val]) => tag(\"mn\", val),\n\t[3]: ([_, val, attr]) => tag(\"mo\", val, attr),\n\t[9]: ([_, val]) => tag(\"mi\", val) + \"<mo>⁡</mo>\",\n\t[8]: ([_, val]) => val.map(show).join(\"\"),\n\t[7]: ([_, n1, n2]) => nest(\"mfrac\", n1, n2),\n\t[4]: ([_, n1, n2, limits]) => nest(scriptTag(n1, limits, \"mover\", \"msup\"), n1, n2),\n\t[5]: ([_, n1, n2, limits]) => nest(scriptTag(n1, limits, \"munder\", \"msub\"), n1, n2),\n\t[6]: ([_, n1, n2, n3, limits]) => nest(scriptTag(n1, limits, \"munderover\", \"msubsup\"), n1, n2, n3),\n\t[16]: ([_, val]) => tag(\"mtext\", val.replace(/ /g, \"\\xA0\")),\n\t[17]: ([_, val]) => \"<mspace width=\\\"\" + val + \"\\\"></mspace>\",\n\t[10]: ([_, n1]) => wrap(\"msqrt\", row(n1)),\n\t[11]: ([_, n1, n2]) => nest(\"mroot\", n1, n2),\n\t[12]: ([_, val]) => wrap(MROW, val.map(show).join(\"\")),\n\t[13]: ([_, n1]) => nest(\"mover\", n1, [3, \"¯\"]),\n\t[18]: ([_, notation, n1]) => {\n\t\tconst style = NOTATION_STYLE_MAP[notation];\n\t\treturn style ? \"<mrow\" + style + \">\" + row(n1) + \"</mrow>\" : row(n1);\n\t},\n\t[19]: ([_, n1]) => wrap(\"mphantom\", row(n1)),\n\t[14]: ([_, env_name, rows_cells]) => {\n\t\tconst m_table = wrap(\"mtable\", rows_cells.map((row_cells) => wrap(\"mtr\", row_cells.map((cell_nodes) => {\n\t\t\tconst inner_html = cell_nodes.map(show).join(\"\");\n\t\t\treturn wrap(\"mtd\", cell_nodes[1] ? wrap(MROW, inner_html) : inner_html);\n\t\t}).join(\"\"))).join(\"\")), delims = ENV_DELIMS[env_name];\n\t\treturn delims ? wrap(MROW, (delims[0] ? tag(\"mo\", delims[0]) : \"\") + m_table + (delims[1] ? tag(\"mo\", delims[1]) : \"\")) : m_table;\n\t},\n\t[15]: () => \"<mspace linebreak=\\\"newline\\\"></mspace>\"\n}, show = (n) => n ? SHOW_MAP[n[0]](n) : \"\";\nvar mathml_default = (tex, block) => {\n\tconst clean = tex.includes(\"\\n\") || tex.includes(\"\\r\") ? tex.replace(/[\\r\\n]+/g, \" \") : tex;\n\treturn \"<math xmlns=\\\"http://www.w3.org/1998/Math/MathML\\\"\" + (block ? \" display=\\\"block\\\"\" : \"\") + \"><semantics><mrow>\" + parse(lex_default(clean), [0]).map(show).join(\"\") + \"</mrow><annotation encoding=\\\"application/x-tex\\\">\" + esc(clean) + \"</annotation></semantics></math>\";\n};\n//#endregion\nexport { mathml_default as default };\n"],"names":["CHAR_TOK","_","digit","c","alpha","skip","str","idx","len","code","charCodeAt","FALSE","space","l","r","ATTR_NORMAL","ATTR_BAR","ATTR_BIN","ATTR_REL","ENV_NAMES","Set","FUNC_NAMES","LE","GE","NE","RIGHT_ARROW","LEFT_ARROW","L_DOTS","SYM_MAP","__proto__","beta","gamma","theta","pi","infty","le","leq","ge","geq","neq","ne","cdot","times","pm","mp","div","sum","int","to","rightarrow","leftarrow","gets","leftrightarrow","Leftarrow","Rightarrow","Leftrightarrow","dots","ldots","cdots","Delta","Gamma","Theta","Lambda","Xi","Pi","Sigma","Upsilon","Phi","Psi","Omega","delta","epsilon","zeta","eta","iota","kappa","lambda","mu","nu","xi","rho","sigma","tau","upsilon","phi","chi","psi","omega","nabla","partial","approx","sim","cong","propto","equiv","neg","lor","land","ni","perp","parallel","ell","hbar","forall","exists","in","notin","subset","supset","subseteq","supseteq","cup","cap","emptyset","LIMITS_MAP","MENCLOSE_MAP","boxed","cancel","sout","SPACE_MAP","quad","qquad","CHAR_MAP","DELIM_MAP","ident","val","delim","tokens","state_ref","startsWith","slice","opt","check_num","brace","rows","is_end_check","env_name","current_row","current_cell","length","next_type","next_val","saved_idx","push","node","grab","last_row","pop","over","read","CMD_MAP","text","text_val","parts","split","nodes","forEach","p","i","next_node","frac","overline","bar","sqrt","index_nodes","left","left_delim","body","parse","filter","Boolean","phantom","pmod","begin","end","name","right","TOK_MAP","res","handler","has","matrix","matrix_rows","notation","split_num","type","splice","base","limits","limits_val","sub","sup","ENV_DELIMS","pmatrix","bmatrix","vmatrix","Vmatrix","cases","MROW","NOTATION_STYLE_MAP","ESC_MAP","esc","test","replace","m","wrap","tag_name","inner","attr","tag","nest","n1","n2","n3","row","n","map","show","join","scriptTag","display","inline","SHOW_MAP","style","rows_cells","m_table","row_cells","cell_nodes","inner_html","delims","mathml_default","tex","block","clean","includes","lex_default","start","cmd","temp_idx","brace_count","text_start","text_idx","c_code","char","default"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/mathml.js"],"sourcesContent":["//#region src/const/STYL.js\nvar STYLE_BOX = \" style=\\\"display:inline-block;border:1px solid;padding:2px 3px\\\"\";\nvar STYLE_CANCEL = \" style=\\\"display:inline-block;background:linear-gradient(to top right,transparent 47%,currentColor 47%,currentColor 53%,transparent 53%)\\\"\";\nvar STYLE_SOUT = \" style=\\\"display:inline-block;background:linear-gradient(transparent 47%,currentColor 47%,currentColor 53%,transparent 53%)\\\"\";\n//#endregion\n//#region src/lex.js\nvar MASK_WHITESPACE = 9728, CHAR_DOT = 46, CHAR_TOK = {\n\t_: 5,\n\t\"^\": 6,\n\t\"{\": 7,\n\t\"}\": 8,\n\t\"(\": 9,\n\t\")\": 10\n}, digit = (c) => c >= 48 && c <= 57, alpha = (c) => (c | 32) - 97 >>> 0 < 26, skip = (str, idx, len) => {\n\twhile (idx < len) {\n\t\tconst code = str.charCodeAt(idx);\n\t\tif (code <= 32 && (code === 32 || 1 << code & MASK_WHITESPACE)) ++idx;\n\t\telse break;\n\t}\n\treturn idx;\n};\nvar lex_default = (str) => {\n\tconst res = [], len = str.length;\n\tlet idx = 0;\n\twhile (idx < len) {\n\t\tidx = skip(str, idx, len);\n\t\tif (idx >= len) break;\n\t\tconst code = str.charCodeAt(idx);\n\t\tif (code === 92) {\n\t\t\tconst start = idx;\n\t\t\t++idx;\n\t\t\tif (idx < len) if (alpha(str.charCodeAt(idx))) while (++idx < len && alpha(str.charCodeAt(idx)));\n\t\t\telse ++idx;\n\t\t\tconst cmd = str.slice(start, idx);\n\t\t\tif (cmd === \"\\\\text\") {\n\t\t\t\tconst pos = skip(str, idx, len);\n\t\t\t\tif (str.charCodeAt(pos) === 123) {\n\t\t\t\t\tlet braces = 1, t_start = pos + 1, t_idx = t_start;\n\t\t\t\t\twhile (t_idx < len && braces) {\n\t\t\t\t\t\tconst cc = str.charCodeAt(t_idx);\n\t\t\t\t\t\tif (cc === 123) ++braces;\n\t\t\t\t\t\telse if (cc === 125) --braces;\n\t\t\t\t\t\tif (braces) ++t_idx;\n\t\t\t\t\t}\n\t\t\t\t\tif (!braces) {\n\t\t\t\t\t\tres.push(4, \"\\\\text\", 7, \"{\", 2, str.slice(t_start, t_idx), 8, \"}\");\n\t\t\t\t\t\tidx = t_idx + 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tres.push(4, cmd);\n\t\t\tcontinue;\n\t\t}\n\t\tif (digit(code) || code === CHAR_DOT && digit(str.charCodeAt(idx + 1))) {\n\t\t\tconst start = idx;\n\t\t\tif (code === CHAR_DOT) idx += 2;\n\t\t\telse {\n\t\t\t\twhile (++idx < len && digit(str.charCodeAt(idx)));\n\t\t\t\tif (str.charCodeAt(idx) === CHAR_DOT && digit(str.charCodeAt(idx + 1))) idx += 2;\n\t\t\t}\n\t\t\twhile (idx < len && digit(str.charCodeAt(idx))) ++idx;\n\t\t\tres.push(1, str.slice(start, idx));\n\t\t\tcontinue;\n\t\t}\n\t\tif (alpha(code)) {\n\t\t\tres.push(2, str[idx]);\n\t\t\t++idx;\n\t\t\tcontinue;\n\t\t}\n\t\tconst char = str[idx];\n\t\tres.push(CHAR_TOK[char] ?? 3, char);\n\t\t++idx;\n\t}\n\tres.push(0, \"\");\n\treturn res;\n};\n//#endregion\n//#region src/const/ATTR.js\nvar FALSE = \" stretchy=\\\"false\\\"\", space = (l, r) => \" lspace=\\\"\" + l + \"px\\\" rspace=\\\"\" + r + \"px\\\"\";\nvar ATTR_NORMAL = \" mathvariant=\\\"normal\\\"\";\nvar ATTR_STRETCHY_FALSE = FALSE;\nvar ATTR_BAR = FALSE + space(0, 0);\nvar ATTR_BIN = space(4, 4);\nvar ATTR_REL = space(5, 5);\n//#endregion\n//#region src/const/ENV.js\nvar ENV_NAMES = new Set([\n\t\"matrix\",\n\t\"pmatrix\",\n\t\"bmatrix\",\n\t\"vmatrix\",\n\t\"Vmatrix\",\n\t\"cases\",\n\t\"array\"\n]);\n//#endregion\n//#region src/const/FUNC.js\nvar FUNC_NAMES = new Set([\n\t\"sin\",\n\t\"cos\",\n\t\"tan\",\n\t\"cot\",\n\t\"sec\",\n\t\"csc\",\n\t\"log\",\n\t\"lg\",\n\t\"ln\",\n\t\"lim\",\n\t\"exp\",\n\t\"max\",\n\t\"min\",\n\t\"sup\",\n\t\"inf\",\n\t\"det\",\n\t\"gcd\",\n\t\"arcsin\",\n\t\"arccos\",\n\t\"arctan\",\n\t\"sinh\",\n\t\"cosh\",\n\t\"tanh\",\n\t\"coth\",\n\t\"deg\",\n\t\"arg\"\n]);\n//#endregion\n//#region src/const/SYM.js\nvar LE = [3, \"≤\"], GE = [3, \"≥\"], NE = [\n\t3,\n\t\"≠\",\n\tATTR_NORMAL\n], RIGHT_ARROW = [3, \"→\"], LEFT_ARROW = [3, \"←\"], L_DOTS = [3, \"…\"];\nvar SYM_MAP = {\n\t__proto__: null,\n\talpha: [1, \"α\"],\n\tbeta: [1, \"β\"],\n\tgamma: [1, \"γ\"],\n\ttheta: [1, \"θ\"],\n\tpi: [1, \"π\"],\n\tinfty: [\n\t\t1,\n\t\t\"∞\",\n\t\tATTR_NORMAL\n\t],\n\tle: LE,\n\tleq: LE,\n\tge: GE,\n\tgeq: GE,\n\tneq: NE,\n\tne: NE,\n\tcdot: [3, \"⋅\"],\n\ttimes: [3, \"×\"],\n\tpm: [3, \"±\"],\n\tmp: [\n\t\t3,\n\t\t\"∓\",\n\t\tATTR_BIN\n\t],\n\tdiv: [3, \"÷\"],\n\tsum: [3, \"∑\"],\n\tint: [3, \"∫\"],\n\tto: RIGHT_ARROW,\n\trightarrow: RIGHT_ARROW,\n\tleftarrow: LEFT_ARROW,\n\tgets: LEFT_ARROW,\n\tleftrightarrow: [3, \"↔\"],\n\tLeftarrow: [3, \"⇐\"],\n\tRightarrow: [3, \"⇒\"],\n\tLeftrightarrow: [3, \"⇔\"],\n\tdots: L_DOTS,\n\tldots: L_DOTS,\n\tcdots: [3, \"⋯\"],\n\tDelta: [\n\t\t1,\n\t\t\"Δ\",\n\t\tATTR_NORMAL\n\t],\n\tGamma: [\n\t\t1,\n\t\t\"Γ\",\n\t\tATTR_NORMAL\n\t],\n\tTheta: [\n\t\t1,\n\t\t\"Θ\",\n\t\tATTR_NORMAL\n\t],\n\tLambda: [\n\t\t1,\n\t\t\"Λ\",\n\t\tATTR_NORMAL\n\t],\n\tXi: [\n\t\t1,\n\t\t\"Ξ\",\n\t\tATTR_NORMAL\n\t],\n\tPi: [\n\t\t1,\n\t\t\"Π\",\n\t\tATTR_NORMAL\n\t],\n\tSigma: [\n\t\t1,\n\t\t\"Σ\",\n\t\tATTR_NORMAL\n\t],\n\tUpsilon: [\n\t\t1,\n\t\t\"Υ\",\n\t\tATTR_NORMAL\n\t],\n\tPhi: [\n\t\t1,\n\t\t\"Φ\",\n\t\tATTR_NORMAL\n\t],\n\tPsi: [\n\t\t1,\n\t\t\"Ψ\",\n\t\tATTR_NORMAL\n\t],\n\tOmega: [\n\t\t1,\n\t\t\"Ω\",\n\t\tATTR_NORMAL\n\t],\n\tdelta: [1, \"δ\"],\n\tepsilon: [1, \"ϵ\"],\n\tzeta: [1, \"ζ\"],\n\teta: [1, \"η\"],\n\tiota: [1, \"ι\"],\n\tkappa: [1, \"κ\"],\n\tlambda: [1, \"λ\"],\n\tmu: [1, \"μ\"],\n\tnu: [1, \"ν\"],\n\txi: [1, \"ξ\"],\n\trho: [1, \"ρ\"],\n\tsigma: [1, \"σ\"],\n\ttau: [1, \"τ\"],\n\tupsilon: [1, \"υ\"],\n\tphi: [1, \"ϕ\"],\n\tchi: [1, \"χ\"],\n\tpsi: [1, \"ψ\"],\n\tomega: [1, \"ω\"],\n\tnabla: [\n\t\t1,\n\t\t\"∇\",\n\t\tATTR_NORMAL\n\t],\n\tpartial: [\n\t\t1,\n\t\t\"∂\",\n\t\tATTR_NORMAL\n\t],\n\tapprox: [\n\t\t3,\n\t\t\"≈\",\n\t\tATTR_REL\n\t],\n\tsim: [\n\t\t3,\n\t\t\"∼\",\n\t\tATTR_REL\n\t],\n\tcong: [\n\t\t3,\n\t\t\"≅\",\n\t\tATTR_REL\n\t],\n\tpropto: [\n\t\t3,\n\t\t\"∝\",\n\t\tATTR_REL\n\t],\n\tequiv: [\n\t\t3,\n\t\t\"≡\",\n\t\tATTR_REL\n\t],\n\tneg: [1, \"¬\"],\n\tlor: [\n\t\t3,\n\t\t\"∨\",\n\t\tATTR_BIN\n\t],\n\tland: [\n\t\t3,\n\t\t\"∧\",\n\t\tATTR_BIN\n\t],\n\tni: [\n\t\t3,\n\t\t\"∋\",\n\t\tATTR_REL\n\t],\n\tperp: [\n\t\t3,\n\t\t\"⟂\",\n\t\tATTR_REL\n\t],\n\tparallel: [\n\t\t3,\n\t\t\"∥\",\n\t\tATTR_REL\n\t],\n\tell: [1, \"ℓ\"],\n\thbar: [1, \"ℏ\"],\n\tforall: [\n\t\t1,\n\t\t\"∀\",\n\t\tATTR_NORMAL\n\t],\n\texists: [\n\t\t1,\n\t\t\"∃\",\n\t\tATTR_NORMAL\n\t],\n\tin: [3, \"∈\"],\n\tnotin: [3, \"∉\"],\n\tsubset: [3, \"⊂\"],\n\tsupset: [3, \"⊃\"],\n\tsubseteq: [3, \"⊆\"],\n\tsupseteq: [3, \"⊇\"],\n\tcup: [3, \"∪\"],\n\tcap: [3, \"∩\"],\n\temptyset: [\n\t\t1,\n\t\t\"∅\",\n\t\tATTR_NORMAL\n\t]\n};\n//#endregion\n//#region src/parse.js\nvar LIMITS_MAP = {\n\t\"\\\\limits\": 1,\n\t\"\\\\nolimits\": 2\n}, MENCLOSE_MAP = {\n\t__proto__: null,\n\tboxed: 1,\n\tcancel: 2,\n\tsout: 3\n}, SPACE_MAP = {\n\t__proto__: null,\n\tquad: \"16px\",\n\tqquad: \"32px\"\n}, CHAR_MAP = {\n\t\"-\": [3, \"−\"],\n\t\"*\": [3, \"∗\"],\n\t\"/\": [\n\t\t3,\n\t\t\"/\",\n\t\tATTR_NORMAL\n\t],\n\t\"(\": [\n\t\t3,\n\t\t\"(\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\")\": [\n\t\t3,\n\t\t\")\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"[\": [\n\t\t3,\n\t\t\"[\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"]\": [\n\t\t3,\n\t\t\"]\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"|\": [\n\t\t3,\n\t\t\"|\",\n\t\tATTR_BAR\n\t],\n\t\".\": [\n\t\t3,\n\t\t\".\",\n\t\tATTR_NORMAL\n\t]\n}, DELIM_MAP = {\n\t__proto__: null,\n\t\"\\\\{\": \"{\",\n\t\"\\\\}\": \"}\",\n\t\"<\": \"⟨\",\n\t\">\": \"⟩\"\n}, ident = (val) => [1, val], num = (val) => [2, val], op = (val) => CHAR_MAP[val] ?? [3, val], lparen = () => CHAR_MAP[\"(\"], rparen = () => CHAR_MAP[\")\"], delim = (tokens, ref) => {\n\tconst idx = ref[0];\n\tif (tokens[idx] == null) return null;\n\tref[0] += 2;\n\tconst val = tokens[idx + 1];\n\tif (val === \".\") return [\n\t\t3,\n\t\t\"\",\n\t\t\" fence=\\\"true\\\" stretchy=\\\"true\\\" symmetric=\\\"true\\\"\"\n\t];\n\treturn [3, DELIM_MAP[val] ?? (val?.startsWith(\"\\\\\") ? val.slice(1) : val)];\n}, opt = (tokens, ref, check_num) => {\n\tif (tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"[\") {\n\t\tif (!check_num || tokens[ref[0] + 2] === 1) {\n\t\t\tref[0] += 2;\n\t\t\twhile (tokens[ref[0]] !== 0 && !(tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"]\")) ref[0] += 2;\n\t\t\tif (tokens[ref[0]] === 3) ref[0] += 2;\n\t\t}\n\t}\n}, brace = (tokens, ref) => {\n\tif (tokens[ref[0]] === 7) {\n\t\tref[0] += 2;\n\t\tlet str = \"\";\n\t\twhile (tokens[ref[0]] !== 0 && tokens[ref[0]] !== 8) {\n\t\t\tstr += tokens[ref[0] + 1];\n\t\t\tref[0] += 2;\n\t\t}\n\t\tif (tokens[ref[0]] === 8) ref[0] += 2;\n\t\treturn str;\n\t}\n\treturn \"\";\n}, rows = (tokens, ref, end_check, env) => {\n\tconst rows = [];\n\tlet row = [], cell = [];\n\twhile (ref[0] < tokens.length) {\n\t\tconst type = tokens[ref[0]], val = tokens[ref[0] + 1];\n\t\tif (type === 0) break;\n\t\tif (!end_check && type === 8) break;\n\t\tif (end_check && type === 4 && val === \"\\\\end\") {\n\t\t\tconst pos = ref[0];\n\t\t\tref[0] += 2;\n\t\t\tif (brace(tokens, ref) === env) break;\n\t\t\tref[0] = pos;\n\t\t}\n\t\tif (type === 3 && val === \"&\") {\n\t\t\tref[0] += 2;\n\t\t\trow.push(cell);\n\t\t\tcell = [];\n\t\t\tcontinue;\n\t\t}\n\t\tif (type === 4 && val === \"\\\\\\\\\") {\n\t\t\tref[0] += 2;\n\t\t\topt(tokens, ref, 1);\n\t\t\trow.push(cell);\n\t\t\tcell = [];\n\t\t\trows.push(row);\n\t\t\trow = [];\n\t\t\tcontinue;\n\t\t}\n\t\tconst node = grab(tokens, ref);\n\t\tif (node) cell.push(node);\n\t}\n\tif (cell.length || row.length) {\n\t\trow.push(cell);\n\t\trows.push(row);\n\t}\n\tif (rows.length) {\n\t\tconst last = rows[rows.length - 1];\n\t\tif (!last[1] && !last[0][0]) rows.pop();\n\t}\n\treturn rows;\n}, matrix = (tokens, ref, name) => {\n\tif (tokens[ref[0]] === 7) {\n\t\tref[0] += 2;\n\t\tconst res = rows(tokens, ref, 0, name);\n\t\tif (tokens[ref[0]] === 8) ref[0] += 2;\n\t\treturn [\n\t\t\t14,\n\t\t\tname,\n\t\t\tres\n\t\t];\n\t}\n\tconst node = read(tokens, ref, 1);\n\treturn node ? [\n\t\t14,\n\t\tname,\n\t\t[[[node]]]\n\t] : null;\n}, txt = (tokens, ref) => {\n\tif (tokens[ref[0]] === 7) {\n\t\tconst val = brace(tokens, ref);\n\t\tif (val === \"\") return [8, []];\n\t\tconst parts = val.split(\"\\\\\\\\\");\n\t\tif (parts.length > 1) {\n\t\t\tconst nodes = [];\n\t\t\tparts.forEach((p, i) => {\n\t\t\t\tif (i > 0) nodes.push([15]);\n\t\t\t\tif (p) nodes.push([16, p]);\n\t\t\t});\n\t\t\treturn [8, nodes];\n\t\t}\n\t\treturn [16, val];\n\t}\n\tconst node = read(tokens, ref, 1);\n\tif (node) return [16, node[1]];\n\tthrow [3, \"text\"];\n}, begin = (tokens, ref, val) => {\n\tif (tokens[ref[0]] === 7) {\n\t\tconst env = brace(tokens, ref);\n\t\tif (env === \"array\") {\n\t\t\topt(tokens, ref);\n\t\t\tif (tokens[ref[0]] === 7) brace(tokens, ref);\n\t\t\telse if (tokens[ref[0]] !== 0) ref[0] += 2;\n\t\t}\n\t\treturn [\n\t\t\t14,\n\t\t\tenv,\n\t\t\trows(tokens, ref, 1, env)\n\t\t];\n\t}\n\treturn [1, val];\n}, sqrt = (tokens, ref) => {\n\tif (tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"[\") {\n\t\tref[0] += 2;\n\t\tconst nodes = [];\n\t\twhile (tokens[ref[0]] !== 0 && !(tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"]\")) {\n\t\t\tconst node = grab(tokens, ref);\n\t\t\tif (node) nodes.push(node);\n\t\t}\n\t\tif (tokens[ref[0]] === 3) ref[0] += 2;\n\t\treturn [\n\t\t\t11,\n\t\t\tread(tokens, ref, 1),\n\t\t\t[8, nodes]\n\t\t];\n\t}\n\treturn [10, read(tokens, ref, 1)];\n}, fence = (tokens, ref) => {\n\tconst left = delim(tokens, ref), body = parse(tokens, ref);\n\tif (tokens[ref[0]] === 4 && tokens[ref[0] + 1] === \"\\\\right\") {\n\t\tref[0] += 2;\n\t\treturn [12, [\n\t\t\tleft,\n\t\t\t...body,\n\t\t\tdelim(tokens, ref)\n\t\t].filter(Boolean)];\n\t}\n\tthrow [1, left];\n}, over = (tokens, ref) => [13, read(tokens, ref, 1)], frac = (tokens, ref) => [\n\t7,\n\tread(tokens, ref, 1),\n\tread(tokens, ref, 1)\n], phantom = (tokens, ref) => [19, read(tokens, ref, 1)], pmod = (tokens, ref) => [8, [\n\t[17, \"8px\"],\n\t[\n\t\t3,\n\t\t\"(\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t[16, \"mod\"],\n\t[17, \"4px\"],\n\tread(tokens, ref, 1),\n\t[\n\t\t3,\n\t\t\")\",\n\t\tATTR_STRETCHY_FALSE\n\t]\n]], CMD_MAP = {\n\t__proto__: null,\n\t\"\\\\\": (tokens, ref) => {\n\t\tif (tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"*\") ref[0] += 2;\n\t\topt(tokens, ref, 1);\n\t\treturn [15];\n\t},\n\ttext: txt,\n\tfrac,\n\toverline: over,\n\tbar: over,\n\tsqrt,\n\tleft: fence,\n\tphantom,\n\tpmod,\n\tbegin,\n\tend: (tokens, ref, val, name) => {\n\t\tthrow [0, name];\n\t},\n\tright: (tokens, ref, val, name) => {\n\t\tthrow [2, name];\n\t}\n}, TOK_MAP = {\n\t[2]: ident,\n\t[3]: op,\n\t[9]: lparen,\n\t[10]: rparen,\n\t[1]: num,\n\t[7]: (val, tokens, ref) => {\n\t\tconst res = [8, parse(tokens, ref)];\n\t\tif (tokens[ref[0]] === 8) ref[0] += 2;\n\t\treturn res;\n\t},\n\t[4]: (val, tokens, ref) => {\n\t\tconst name = val.slice(1), handler = CMD_MAP[name];\n\t\tif (handler) return handler(tokens, ref, val, name);\n\t\tif (ENV_NAMES.has(name)) return matrix(tokens, ref, name) ?? ident(val);\n\t\tconst space = SPACE_MAP[name];\n\t\tif (space) return [17, space];\n\t\tconst notation = MENCLOSE_MAP[name];\n\t\tif (notation) return [\n\t\t\t18,\n\t\t\tnotation,\n\t\t\tread(tokens, ref, 1)\n\t\t];\n\t\tif (FUNC_NAMES.has(name)) return [9, name];\n\t\treturn SYM_MAP[name] ?? ident(val);\n\t}\n}, read = (tokens, ref, split_num) => {\n\tconst idx = ref[0], type = tokens[idx];\n\tif (type == null) return null;\n\tref[0] += 2;\n\tlet val = tokens[idx + 1];\n\tif (split_num && type === 1 && val[1]) {\n\t\ttokens.splice(ref[0], 0, 1, val.slice(1));\n\t\tval = val[0];\n\t}\n\treturn TOK_MAP[type]?.(val, tokens, ref) ?? null;\n}, grab = (tokens, ref) => {\n\tconst base = read(tokens, ref);\n\tif (!base) return null;\n\tlet limits = 0;\n\tif (tokens[ref[0]] === 4) {\n\t\tconst lim = LIMITS_MAP[tokens[ref[0] + 1]];\n\t\tif (lim !== void 0) {\n\t\t\tlimits = lim;\n\t\t\tref[0] += 2;\n\t\t}\n\t}\n\tlet sub = null, sup = null, type;\n\twhile ((type = tokens[ref[0]]) != null) {\n\t\tif (type !== 5 && type !== 6) break;\n\t\tref[0] += 2;\n\t\tconst val = read(tokens, ref, 1);\n\t\tif (type === 5) sub = val;\n\t\telse sup = val;\n\t}\n\treturn sub && sup ? [\n\t\t6,\n\t\tbase,\n\t\tsub,\n\t\tsup,\n\t\tlimits\n\t] : sub ? [\n\t\t5,\n\t\tbase,\n\t\tsub,\n\t\tlimits\n\t] : sup ? [\n\t\t4,\n\t\tbase,\n\t\tsup,\n\t\tlimits\n\t] : base;\n}, parse = (tokens, ref) => {\n\tconst nodes = [];\n\tlet type;\n\twhile ((type = tokens[ref[0]]) != null) {\n\t\tif (type === 0 || type === 8) break;\n\t\tif (type === 4 && tokens[ref[0] + 1] === \"\\\\right\") break;\n\t\tconst node = grab(tokens, ref);\n\t\tif (node) nodes.push(node);\n\t}\n\treturn nodes;\n};\n//#endregion\n//#region src/mathml.js\nvar ENV_DELIMS = {\n\t__proto__: null,\n\tpmatrix: [\"(\", \")\"],\n\tbmatrix: [\"[\", \"]\"],\n\tvmatrix: [\"|\", \"|\"],\n\tVmatrix: [\"‖\", \"‖\"],\n\tcases: [\"{\", \"\"]\n}, MROW = \"mrow\", NOTATION_STYLE_MAP = {\n\t[1]: STYLE_BOX,\n\t[2]: STYLE_CANCEL,\n\t[3]: STYLE_SOUT\n}, ESC_MAP = {\n\t\"&\": \"&amp;\",\n\t\"<\": \"&lt;\",\n\t\">\": \"&gt;\",\n\t\"\\\"\": \"&quot;\"\n}, esc = (str) => /[&<>\"]/.test(str) ? str.replace(/[&<>\"]/g, (m) => ESC_MAP[m]) : str, wrap = (tag_name, inner, attr) => \"<\" + tag_name + (attr ?? \"\") + \">\" + inner + \"</\" + tag_name + \">\", tag = (name, val, attr) => wrap(name, esc(val), attr), nest = (name, n1, n2, n3) => wrap(name, row(n1) + row(n2) + (n3 ? row(n3) : \"\")), row = (n) => {\n\tif (!n) return wrap(MROW, \"\");\n\tconst [type, val] = n;\n\treturn type === 8 ? val[1] ? wrap(MROW, val.map(show).join(\"\")) : row(val[0]) : type === 9 ? wrap(MROW, show(n)) : show(n);\n}, scriptTag = ([type, val], limits, display, inline) => limits === 1 || limits !== 2 && (val === \"∑\" || type === 9 && (val === \"lim\" || val === \"max\" || val === \"min\" || val === \"sup\" || val === \"inf\")) ? display : inline, SHOW_MAP = {\n\t[1]: ([_, val, attr]) => tag(\"mi\", val, attr),\n\t[2]: ([_, val]) => tag(\"mn\", val),\n\t[3]: ([_, val, attr]) => tag(\"mo\", val, attr),\n\t[9]: ([_, val]) => tag(\"mi\", val) + \"<mo>⁡</mo>\",\n\t[8]: ([_, val]) => val.map(show).join(\"\"),\n\t[7]: ([_, n1, n2]) => nest(\"mfrac\", n1, n2),\n\t[4]: ([_, n1, n2, limits]) => nest(scriptTag(n1, limits, \"mover\", \"msup\"), n1, n2),\n\t[5]: ([_, n1, n2, limits]) => nest(scriptTag(n1, limits, \"munder\", \"msub\"), n1, n2),\n\t[6]: ([_, n1, n2, n3, limits]) => nest(scriptTag(n1, limits, \"munderover\", \"msubsup\"), n1, n2, n3),\n\t[16]: ([_, val]) => tag(\"mtext\", val.replace(/ /g, \"\\xA0\")),\n\t[17]: ([_, val]) => \"<mspace width=\\\"\" + val + \"\\\"></mspace>\",\n\t[10]: ([_, n1]) => wrap(\"msqrt\", row(n1)),\n\t[11]: ([_, n1, n2]) => nest(\"mroot\", n1, n2),\n\t[12]: ([_, val]) => wrap(MROW, val.map(show).join(\"\")),\n\t[13]: ([_, n1]) => nest(\"mover\", n1, [3, \"¯\"]),\n\t[18]: ([_, notation, n1]) => {\n\t\tconst style = NOTATION_STYLE_MAP[notation];\n\t\treturn style ? \"<mrow\" + style + \">\" + row(n1) + \"</mrow>\" : row(n1);\n\t},\n\t[19]: ([_, n1]) => wrap(\"mphantom\", row(n1)),\n\t[14]: ([_, env, rows]) => {\n\t\tconst tbl = wrap(\"mtable\", rows.map((r) => wrap(\"mtr\", r.map((c) => {\n\t\t\tconst html = c.map(show).join(\"\");\n\t\t\treturn wrap(\"mtd\", c[1] ? wrap(MROW, html) : html);\n\t\t}).join(\"\"))).join(\"\")), del = ENV_DELIMS[env];\n\t\treturn del ? wrap(MROW, (del[0] ? tag(\"mo\", del[0]) : \"\") + tbl + (del[1] ? tag(\"mo\", del[1]) : \"\")) : tbl;\n\t},\n\t[15]: () => \"<mspace linebreak=\\\"newline\\\"></mspace>\"\n}, show = (n) => n ? SHOW_MAP[n[0]](n) : \"\";\nvar mathml_default = (tex, block) => {\n\tconst clean = tex.includes(\"\\n\") || tex.includes(\"\\r\") ? tex.replace(/[\\r\\n]+/g, \" \") : tex;\n\treturn \"<math xmlns=\\\"http://www.w3.org/1998/Math/MathML\\\"\" + (block ? \" display=\\\"block\\\"\" : \"\") + \"><semantics><mrow>\" + parse(lex_default(clean), [0]).map(show).join(\"\") + \"</mrow><annotation encoding=\\\"application/x-tex\\\">\" + esc(clean) + \"</annotation></semantics></math>\";\n};\n//#endregion\nexport { mathml_default as default };\n"],"names":["CHAR_TOK","_","digit","c","alpha","skip","str","idx","len","code","charCodeAt","FALSE","space","l","r","ATTR_NORMAL","ATTR_BAR","ATTR_BIN","ATTR_REL","ENV_NAMES","Set","FUNC_NAMES","LE","GE","NE","RIGHT_ARROW","LEFT_ARROW","L_DOTS","SYM_MAP","__proto__","beta","gamma","theta","pi","infty","le","leq","ge","geq","neq","ne","cdot","times","pm","mp","div","sum","int","to","rightarrow","leftarrow","gets","leftrightarrow","Leftarrow","Rightarrow","Leftrightarrow","dots","ldots","cdots","Delta","Gamma","Theta","Lambda","Xi","Pi","Sigma","Upsilon","Phi","Psi","Omega","delta","epsilon","zeta","eta","iota","kappa","lambda","mu","nu","xi","rho","sigma","tau","upsilon","phi","chi","psi","omega","nabla","partial","approx","sim","cong","propto","equiv","neg","lor","land","ni","perp","parallel","ell","hbar","forall","exists","in","notin","subset","supset","subseteq","supseteq","cup","cap","emptyset","LIMITS_MAP","MENCLOSE_MAP","boxed","cancel","sout","SPACE_MAP","quad","qquad","CHAR_MAP","DELIM_MAP","ident","val","delim","tokens","ref","startsWith","slice","opt","check_num","brace","rows","end_check","env","row","cell","length","type","pos","push","node","grab","last","pop","over","read","CMD_MAP","text","parts","split","nodes","forEach","p","i","frac","overline","bar","sqrt","left","body","parse","filter","Boolean","phantom","pmod","begin","end","name","right","TOK_MAP","res","handler","has","matrix","notation","split_num","splice","base","limits","lim","sub","sup","ENV_DELIMS","pmatrix","bmatrix","vmatrix","Vmatrix","cases","MROW","NOTATION_STYLE_MAP","ESC_MAP","esc","test","replace","m","wrap","tag_name","inner","attr","tag","nest","n1","n2","n3","n","map","show","join","scriptTag","display","inline","SHOW_MAP","style","tbl","html","del","mathml_default","tex","block","clean","includes","lex_default","start","cmd","braces","t_start","t_idx","cc","char","default"],"mappings":"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"}
package/md.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/md.js"],"sourcesContent":["//#region src/const/STYL.js\nvar STYLE_BOX = \" style=\\\"display:inline-block;border:1px solid;padding:2px 3px\\\"\";\nvar STYLE_CANCEL = \" style=\\\"display:inline-block;background:linear-gradient(to top right,transparent 47%,currentColor 47%,currentColor 53%,transparent 53%)\\\"\";\nvar STYLE_SOUT = \" style=\\\"display:inline-block;background:linear-gradient(transparent 47%,currentColor 47%,currentColor 53%,transparent 53%)\\\"\";\n//#endregion\n//#region src/lex.js\nvar MASK_WHITESPACE = 9728, CHAR_DOT = 46, CHAR_TOK = {\n\t_: 5,\n\t\"^\": 6,\n\t\"{\": 7,\n\t\"}\": 8,\n\t\"(\": 9,\n\t\")\": 10\n}, digit = (c) => c >= 48 && c <= 57, alpha = (c) => (c | 32) - 97 >>> 0 < 26, skip = (str, idx, len) => {\n\twhile (idx < len) {\n\t\tconst code = str.charCodeAt(idx);\n\t\tif (code <= 32 && (code === 32 || 1 << code & MASK_WHITESPACE)) ++idx;\n\t\telse break;\n\t}\n\treturn idx;\n};\nvar lex_default = (str) => {\n\tconst tokens = [], len = str.length;\n\tlet idx = 0;\n\twhile (idx < len) {\n\t\tidx = skip(str, idx, len);\n\t\tif (idx >= len) break;\n\t\tconst code = str.charCodeAt(idx);\n\t\tif (code === 92) {\n\t\t\tconst start = idx;\n\t\t\t++idx;\n\t\t\tif (idx < len) if (alpha(str.charCodeAt(idx))) while (++idx < len && alpha(str.charCodeAt(idx)));\n\t\t\telse ++idx;\n\t\t\tconst cmd = str.slice(start, idx);\n\t\t\tif (cmd === \"\\\\text\") {\n\t\t\t\tconst temp_idx = skip(str, idx, len);\n\t\t\t\tif (str.charCodeAt(temp_idx) === 123) {\n\t\t\t\t\tlet brace_count = 1, text_start = temp_idx + 1, text_idx = text_start;\n\t\t\t\t\twhile (text_idx < len && brace_count) {\n\t\t\t\t\t\tconst c_code = str.charCodeAt(text_idx);\n\t\t\t\t\t\tif (c_code === 123) ++brace_count;\n\t\t\t\t\t\telse if (c_code === 125) --brace_count;\n\t\t\t\t\t\tif (brace_count) ++text_idx;\n\t\t\t\t\t}\n\t\t\t\t\tif (!brace_count) {\n\t\t\t\t\t\ttokens.push(4, \"\\\\text\", 7, \"{\", 2, str.slice(text_start, text_idx), 8, \"}\");\n\t\t\t\t\t\tidx = text_idx + 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ttokens.push(4, cmd);\n\t\t\tcontinue;\n\t\t}\n\t\tif (digit(code) || code === CHAR_DOT && digit(str.charCodeAt(idx + 1))) {\n\t\t\tconst start = idx;\n\t\t\tif (code === CHAR_DOT) idx += 2;\n\t\t\telse {\n\t\t\t\twhile (++idx < len && digit(str.charCodeAt(idx)));\n\t\t\t\tif (str.charCodeAt(idx) === CHAR_DOT && digit(str.charCodeAt(idx + 1))) idx += 2;\n\t\t\t}\n\t\t\twhile (idx < len && digit(str.charCodeAt(idx))) ++idx;\n\t\t\ttokens.push(1, str.slice(start, idx));\n\t\t\tcontinue;\n\t\t}\n\t\tif (alpha(code)) {\n\t\t\ttokens.push(2, str[idx]);\n\t\t\t++idx;\n\t\t\tcontinue;\n\t\t}\n\t\tconst char = str[idx];\n\t\ttokens.push(CHAR_TOK[char] ?? 3, char);\n\t\t++idx;\n\t}\n\ttokens.push(0, \"\");\n\treturn tokens;\n};\n//#endregion\n//#region src/const/ATTR.js\nvar FALSE = \" stretchy=\\\"false\\\"\", space = (l, r) => \" lspace=\\\"\" + l + \"px\\\" rspace=\\\"\" + r + \"px\\\"\";\nvar ATTR_NORMAL = \" mathvariant=\\\"normal\\\"\";\nvar ATTR_STRETCHY_FALSE = FALSE;\nvar ATTR_BAR = FALSE + space(0, 0);\nvar ATTR_BIN = space(4, 4);\nvar ATTR_REL = space(5, 5);\n//#endregion\n//#region src/const/ENV.js\nvar ENV_NAMES = new Set([\n\t\"matrix\",\n\t\"pmatrix\",\n\t\"bmatrix\",\n\t\"vmatrix\",\n\t\"Vmatrix\",\n\t\"cases\",\n\t\"array\"\n]);\n//#endregion\n//#region src/const/FUNC.js\nvar FUNC_NAMES = new Set([\n\t\"sin\",\n\t\"cos\",\n\t\"tan\",\n\t\"cot\",\n\t\"sec\",\n\t\"csc\",\n\t\"log\",\n\t\"lg\",\n\t\"ln\",\n\t\"lim\",\n\t\"exp\",\n\t\"max\",\n\t\"min\",\n\t\"sup\",\n\t\"inf\",\n\t\"det\",\n\t\"gcd\",\n\t\"arcsin\",\n\t\"arccos\",\n\t\"arctan\",\n\t\"sinh\",\n\t\"cosh\",\n\t\"tanh\",\n\t\"coth\",\n\t\"deg\",\n\t\"arg\"\n]);\n//#endregion\n//#region src/const/SYM.js\nvar LE = [3, \"≤\"], GE = [3, \"≥\"], NE = [\n\t3,\n\t\"≠\",\n\tATTR_NORMAL\n], RIGHT_ARROW = [3, \"→\"], LEFT_ARROW = [3, \"←\"], L_DOTS = [3, \"…\"];\nvar SYM_MAP = {\n\t__proto__: null,\n\talpha: [1, \"α\"],\n\tbeta: [1, \"β\"],\n\tgamma: [1, \"γ\"],\n\ttheta: [1, \"θ\"],\n\tpi: [1, \"π\"],\n\tinfty: [\n\t\t1,\n\t\t\"∞\",\n\t\tATTR_NORMAL\n\t],\n\tle: LE,\n\tleq: LE,\n\tge: GE,\n\tgeq: GE,\n\tneq: NE,\n\tne: NE,\n\tcdot: [3, \"⋅\"],\n\ttimes: [3, \"×\"],\n\tpm: [3, \"±\"],\n\tmp: [\n\t\t3,\n\t\t\"∓\",\n\t\tATTR_BIN\n\t],\n\tdiv: [3, \"÷\"],\n\tsum: [3, \"∑\"],\n\tint: [3, \"∫\"],\n\tto: RIGHT_ARROW,\n\trightarrow: RIGHT_ARROW,\n\tleftarrow: LEFT_ARROW,\n\tgets: LEFT_ARROW,\n\tleftrightarrow: [3, \"↔\"],\n\tLeftarrow: [3, \"⇐\"],\n\tRightarrow: [3, \"⇒\"],\n\tLeftrightarrow: [3, \"⇔\"],\n\tdots: L_DOTS,\n\tldots: L_DOTS,\n\tcdots: [3, \"⋯\"],\n\tDelta: [\n\t\t1,\n\t\t\"Δ\",\n\t\tATTR_NORMAL\n\t],\n\tGamma: [\n\t\t1,\n\t\t\"Γ\",\n\t\tATTR_NORMAL\n\t],\n\tTheta: [\n\t\t1,\n\t\t\"Θ\",\n\t\tATTR_NORMAL\n\t],\n\tLambda: [\n\t\t1,\n\t\t\"Λ\",\n\t\tATTR_NORMAL\n\t],\n\tXi: [\n\t\t1,\n\t\t\"Ξ\",\n\t\tATTR_NORMAL\n\t],\n\tPi: [\n\t\t1,\n\t\t\"Π\",\n\t\tATTR_NORMAL\n\t],\n\tSigma: [\n\t\t1,\n\t\t\"Σ\",\n\t\tATTR_NORMAL\n\t],\n\tUpsilon: [\n\t\t1,\n\t\t\"Υ\",\n\t\tATTR_NORMAL\n\t],\n\tPhi: [\n\t\t1,\n\t\t\"Φ\",\n\t\tATTR_NORMAL\n\t],\n\tPsi: [\n\t\t1,\n\t\t\"Ψ\",\n\t\tATTR_NORMAL\n\t],\n\tOmega: [\n\t\t1,\n\t\t\"Ω\",\n\t\tATTR_NORMAL\n\t],\n\tdelta: [1, \"δ\"],\n\tepsilon: [1, \"ϵ\"],\n\tzeta: [1, \"ζ\"],\n\teta: [1, \"η\"],\n\tiota: [1, \"ι\"],\n\tkappa: [1, \"κ\"],\n\tlambda: [1, \"λ\"],\n\tmu: [1, \"μ\"],\n\tnu: [1, \"ν\"],\n\txi: [1, \"ξ\"],\n\trho: [1, \"ρ\"],\n\tsigma: [1, \"σ\"],\n\ttau: [1, \"τ\"],\n\tupsilon: [1, \"υ\"],\n\tphi: [1, \"ϕ\"],\n\tchi: [1, \"χ\"],\n\tpsi: [1, \"ψ\"],\n\tomega: [1, \"ω\"],\n\tnabla: [\n\t\t1,\n\t\t\"∇\",\n\t\tATTR_NORMAL\n\t],\n\tpartial: [\n\t\t1,\n\t\t\"∂\",\n\t\tATTR_NORMAL\n\t],\n\tapprox: [\n\t\t3,\n\t\t\"≈\",\n\t\tATTR_REL\n\t],\n\tsim: [\n\t\t3,\n\t\t\"∼\",\n\t\tATTR_REL\n\t],\n\tcong: [\n\t\t3,\n\t\t\"≅\",\n\t\tATTR_REL\n\t],\n\tpropto: [\n\t\t3,\n\t\t\"∝\",\n\t\tATTR_REL\n\t],\n\tequiv: [\n\t\t3,\n\t\t\"≡\",\n\t\tATTR_REL\n\t],\n\tneg: [1, \"¬\"],\n\tlor: [\n\t\t3,\n\t\t\"∨\",\n\t\tATTR_BIN\n\t],\n\tland: [\n\t\t3,\n\t\t\"∧\",\n\t\tATTR_BIN\n\t],\n\tni: [\n\t\t3,\n\t\t\"∋\",\n\t\tATTR_REL\n\t],\n\tperp: [\n\t\t3,\n\t\t\"⟂\",\n\t\tATTR_REL\n\t],\n\tparallel: [\n\t\t3,\n\t\t\"∥\",\n\t\tATTR_REL\n\t],\n\tell: [1, \"ℓ\"],\n\thbar: [1, \"ℏ\"],\n\tforall: [\n\t\t1,\n\t\t\"∀\",\n\t\tATTR_NORMAL\n\t],\n\texists: [\n\t\t1,\n\t\t\"∃\",\n\t\tATTR_NORMAL\n\t],\n\tin: [3, \"∈\"],\n\tnotin: [3, \"∉\"],\n\tsubset: [3, \"⊂\"],\n\tsupset: [3, \"⊃\"],\n\tsubseteq: [3, \"⊆\"],\n\tsupseteq: [3, \"⊇\"],\n\tcup: [3, \"∪\"],\n\tcap: [3, \"∩\"],\n\temptyset: [\n\t\t1,\n\t\t\"∅\",\n\t\tATTR_NORMAL\n\t]\n};\n//#endregion\n//#region src/parse.js\nvar LIMITS_MAP = {\n\t\"\\\\limits\": 1,\n\t\"\\\\nolimits\": 2\n}, MENCLOSE_MAP = {\n\t__proto__: null,\n\tboxed: 1,\n\tcancel: 2,\n\tsout: 3\n}, SPACE_MAP = {\n\t__proto__: null,\n\tquad: \"16px\",\n\tqquad: \"32px\"\n}, CHAR_MAP = {\n\t\"-\": [3, \"−\"],\n\t\"*\": [3, \"∗\"],\n\t\"/\": [\n\t\t3,\n\t\t\"/\",\n\t\tATTR_NORMAL\n\t],\n\t\"(\": [\n\t\t3,\n\t\t\"(\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\")\": [\n\t\t3,\n\t\t\")\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"[\": [\n\t\t3,\n\t\t\"[\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"]\": [\n\t\t3,\n\t\t\"]\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"|\": [\n\t\t3,\n\t\t\"|\",\n\t\tATTR_BAR\n\t],\n\t\".\": [\n\t\t3,\n\t\t\".\",\n\t\tATTR_NORMAL\n\t]\n}, DELIM_MAP = {\n\t__proto__: null,\n\t\"\\\\{\": \"{\",\n\t\"\\\\}\": \"}\",\n\t\"<\": \"⟨\",\n\t\">\": \"⟩\"\n}, ident = (val) => [1, val], num = (val) => [2, val], op = (val) => CHAR_MAP[val] ?? [3, val], lparen = () => CHAR_MAP[\"(\"], rparen = () => CHAR_MAP[\")\"], delim = (tokens, state_ref) => {\n\tconst idx = state_ref[0];\n\tif (tokens[idx] == null) return null;\n\tstate_ref[0] += 2;\n\tconst val = tokens[idx + 1];\n\tif (val === \".\") return [\n\t\t3,\n\t\t\"\",\n\t\t\" fence=\\\"true\\\" stretchy=\\\"true\\\" symmetric=\\\"true\\\"\"\n\t];\n\treturn [3, DELIM_MAP[val] ?? (val?.startsWith(\"\\\\\") ? val.slice(1) : val)];\n}, opt = (tokens, state_ref, check_num) => {\n\tif (tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"[\") {\n\t\tif (!check_num || tokens[state_ref[0] + 2] === 1) {\n\t\t\tstate_ref[0] += 2;\n\t\t\twhile (tokens[state_ref[0]] !== 0 && !(tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"]\")) state_ref[0] += 2;\n\t\t\tif (tokens[state_ref[0]] === 3) state_ref[0] += 2;\n\t\t}\n\t}\n}, brace = (tokens, state_ref) => {\n\tif (tokens[state_ref[0]] === 7) {\n\t\tstate_ref[0] += 2;\n\t\tlet str = \"\";\n\t\twhile (tokens[state_ref[0]] !== 0 && tokens[state_ref[0]] !== 8) {\n\t\t\tstr += tokens[state_ref[0] + 1];\n\t\t\tstate_ref[0] += 2;\n\t\t}\n\t\tif (tokens[state_ref[0]] === 8) state_ref[0] += 2;\n\t\treturn str;\n\t}\n\treturn \"\";\n}, rows = (tokens, state_ref, is_end_check, env_name) => {\n\tconst rows = [];\n\tlet current_row = [], current_cell = [];\n\twhile (state_ref[0] < tokens.length) {\n\t\tconst next_type = tokens[state_ref[0]], next_val = tokens[state_ref[0] + 1];\n\t\tif (next_type === 0) break;\n\t\tif (!is_end_check && next_type === 8) break;\n\t\tif (is_end_check && next_type === 4 && next_val === \"\\\\end\") {\n\t\t\tconst saved_idx = state_ref[0];\n\t\t\tstate_ref[0] += 2;\n\t\t\tif (brace(tokens, state_ref) === env_name) break;\n\t\t\tstate_ref[0] = saved_idx;\n\t\t}\n\t\tif (next_type === 3 && next_val === \"&\") {\n\t\t\tstate_ref[0] += 2;\n\t\t\tcurrent_row.push(current_cell);\n\t\t\tcurrent_cell = [];\n\t\t\tcontinue;\n\t\t}\n\t\tif (next_type === 4 && next_val === \"\\\\\\\\\") {\n\t\t\tstate_ref[0] += 2;\n\t\t\topt(tokens, state_ref, 1);\n\t\t\tcurrent_row.push(current_cell);\n\t\t\tcurrent_cell = [];\n\t\t\trows.push(current_row);\n\t\t\tcurrent_row = [];\n\t\t\tcontinue;\n\t\t}\n\t\tconst node = grab(tokens, state_ref);\n\t\tif (node) current_cell.push(node);\n\t}\n\tif (current_cell.length || current_row.length) {\n\t\tcurrent_row.push(current_cell);\n\t\trows.push(current_row);\n\t}\n\tif (rows.length) {\n\t\tconst last_row = rows[rows.length - 1];\n\t\tif (!last_row[1] && !last_row[0][0]) rows.pop();\n\t}\n\treturn rows;\n}, matrix = (tokens, state_ref, name) => {\n\tif (tokens[state_ref[0]] === 7) {\n\t\tstate_ref[0] += 2;\n\t\tconst matrix_rows = rows(tokens, state_ref, 0, name);\n\t\tif (tokens[state_ref[0]] === 8) state_ref[0] += 2;\n\t\treturn [\n\t\t\t14,\n\t\t\tname,\n\t\t\tmatrix_rows\n\t\t];\n\t}\n\tconst node = read(tokens, state_ref, 1);\n\treturn node ? [\n\t\t14,\n\t\tname,\n\t\t[[[node]]]\n\t] : null;\n}, txt = (tokens, state_ref) => {\n\tif (tokens[state_ref[0]] === 7) {\n\t\tconst text_val = brace(tokens, state_ref);\n\t\tif (text_val === \"\") return [8, []];\n\t\tconst parts = text_val.split(\"\\\\\\\\\");\n\t\tif (parts.length > 1) {\n\t\t\tconst nodes = [];\n\t\t\tparts.forEach((p, i) => {\n\t\t\t\tif (i > 0) nodes.push([15]);\n\t\t\t\tif (p) nodes.push([16, p]);\n\t\t\t});\n\t\t\treturn [8, nodes];\n\t\t}\n\t\treturn [16, text_val];\n\t}\n\tconst next_node = read(tokens, state_ref, 1);\n\tif (next_node) return [16, next_node[1]];\n\tthrow [3, \"text\"];\n}, parseBegin = (tokens, state_ref, val) => {\n\tif (tokens[state_ref[0]] === 7) {\n\t\tconst env_name = brace(tokens, state_ref);\n\t\tif (env_name === \"array\") {\n\t\t\topt(tokens, state_ref);\n\t\t\tif (tokens[state_ref[0]] === 7) brace(tokens, state_ref);\n\t\t\telse if (tokens[state_ref[0]] !== 0) state_ref[0] += 2;\n\t\t}\n\t\treturn [\n\t\t\t14,\n\t\t\tenv_name,\n\t\t\trows(tokens, state_ref, 1, env_name)\n\t\t];\n\t}\n\treturn [1, val];\n}, sqrt = (tokens, state_ref) => {\n\tif (tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"[\") {\n\t\tstate_ref[0] += 2;\n\t\tconst index_nodes = [];\n\t\twhile (tokens[state_ref[0]] !== 0 && !(tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"]\")) {\n\t\t\tconst node = grab(tokens, state_ref);\n\t\t\tif (node) index_nodes.push(node);\n\t\t}\n\t\tif (tokens[state_ref[0]] === 3) state_ref[0] += 2;\n\t\treturn [\n\t\t\t11,\n\t\t\tread(tokens, state_ref, 1),\n\t\t\t[8, index_nodes]\n\t\t];\n\t}\n\treturn [10, read(tokens, state_ref, 1)];\n}, fence = (tokens, state_ref) => {\n\tconst left_delim = delim(tokens, state_ref), body = parse(tokens, state_ref);\n\tif (tokens[state_ref[0]] === 4 && tokens[state_ref[0] + 1] === \"\\\\right\") {\n\t\tstate_ref[0] += 2;\n\t\treturn [12, [\n\t\t\tleft_delim,\n\t\t\t...body,\n\t\t\tdelim(tokens, state_ref)\n\t\t].filter(Boolean)];\n\t}\n\tthrow [1, left_delim];\n}, over = (tokens, state_ref) => [13, read(tokens, state_ref, 1)], frac = (tokens, state_ref) => [\n\t7,\n\tread(tokens, state_ref, 1),\n\tread(tokens, state_ref, 1)\n], phantom = (tokens, state_ref) => [19, read(tokens, state_ref, 1)], pmod = (tokens, state_ref) => [8, [\n\t[17, \"8px\"],\n\t[\n\t\t3,\n\t\t\"(\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t[16, \"mod\"],\n\t[17, \"4px\"],\n\tread(tokens, state_ref, 1),\n\t[\n\t\t3,\n\t\t\")\",\n\t\tATTR_STRETCHY_FALSE\n\t]\n]], CMD_MAP = {\n\t__proto__: null,\n\t\"\\\\\": (tokens, state_ref) => {\n\t\tif (tokens[state_ref[0]] === 3 && tokens[state_ref[0] + 1] === \"*\") state_ref[0] += 2;\n\t\topt(tokens, state_ref, 1);\n\t\treturn [15];\n\t},\n\ttext: txt,\n\tfrac,\n\toverline: over,\n\tbar: over,\n\tsqrt,\n\tleft: fence,\n\tphantom,\n\tpmod,\n\tbegin: parseBegin,\n\tend: (tokens, state_ref, val, name) => {\n\t\tthrow [0, name];\n\t},\n\tright: (tokens, state_ref, val, name) => {\n\t\tthrow [2, name];\n\t}\n}, TOK_MAP = {\n\t[2]: ident,\n\t[3]: op,\n\t[9]: lparen,\n\t[10]: rparen,\n\t[1]: num,\n\t[7]: (val, tokens, state_ref) => {\n\t\tconst res = [8, parse(tokens, state_ref)];\n\t\tif (tokens[state_ref[0]] === 8) state_ref[0] += 2;\n\t\treturn res;\n\t},\n\t[4]: (val, tokens, state_ref) => {\n\t\tconst name = val.slice(1), handler = CMD_MAP[name];\n\t\tif (handler) return handler(tokens, state_ref, val, name);\n\t\tif (ENV_NAMES.has(name)) return matrix(tokens, state_ref, name) ?? ident(val);\n\t\tconst space = SPACE_MAP[name];\n\t\tif (space) return [17, space];\n\t\tconst notation = MENCLOSE_MAP[name];\n\t\tif (notation) return [\n\t\t\t18,\n\t\t\tnotation,\n\t\t\tread(tokens, state_ref, 1)\n\t\t];\n\t\tif (FUNC_NAMES.has(name)) return [9, name];\n\t\treturn SYM_MAP[name] ?? ident(val);\n\t}\n}, read = (tokens, state_ref, split_num) => {\n\tconst idx = state_ref[0], type = tokens[idx];\n\tif (type == null) return null;\n\tstate_ref[0] += 2;\n\tlet val = tokens[idx + 1];\n\tif (split_num && type === 1 && val[1]) {\n\t\ttokens.splice(state_ref[0], 0, 1, val.slice(1));\n\t\tval = val[0];\n\t}\n\treturn TOK_MAP[type]?.(val, tokens, state_ref) ?? null;\n}, grab = (tokens, state_ref) => {\n\tconst base = read(tokens, state_ref);\n\tif (!base) return null;\n\tlet limits = 0;\n\tif (tokens[state_ref[0]] === 4) {\n\t\tconst limits_val = LIMITS_MAP[tokens[state_ref[0] + 1]];\n\t\tif (limits_val !== void 0) {\n\t\t\tlimits = limits_val;\n\t\t\tstate_ref[0] += 2;\n\t\t}\n\t}\n\tlet sub = null, sup = null, type;\n\twhile ((type = tokens[state_ref[0]]) != null) {\n\t\tif (type !== 5 && type !== 6) break;\n\t\tstate_ref[0] += 2;\n\t\tconst val = read(tokens, state_ref, 1);\n\t\tif (type === 5) sub = val;\n\t\telse sup = val;\n\t}\n\treturn sub && sup ? [\n\t\t6,\n\t\tbase,\n\t\tsub,\n\t\tsup,\n\t\tlimits\n\t] : sub ? [\n\t\t5,\n\t\tbase,\n\t\tsub,\n\t\tlimits\n\t] : sup ? [\n\t\t4,\n\t\tbase,\n\t\tsup,\n\t\tlimits\n\t] : base;\n}, parse = (tokens, state_ref) => {\n\tconst nodes = [];\n\tlet type;\n\twhile ((type = tokens[state_ref[0]]) != null) {\n\t\tif (type === 0 || type === 8) break;\n\t\tif (type === 4 && tokens[state_ref[0] + 1] === \"\\\\right\") break;\n\t\tconst node = grab(tokens, state_ref);\n\t\tif (node) nodes.push(node);\n\t}\n\treturn nodes;\n};\n//#endregion\n//#region src/mathml.js\nvar ENV_DELIMS = {\n\t__proto__: null,\n\tpmatrix: [\"(\", \")\"],\n\tbmatrix: [\"[\", \"]\"],\n\tvmatrix: [\"|\", \"|\"],\n\tVmatrix: [\"‖\", \"‖\"],\n\tcases: [\"{\", \"\"]\n}, MROW = \"mrow\", NOTATION_STYLE_MAP = {\n\t[1]: STYLE_BOX,\n\t[2]: STYLE_CANCEL,\n\t[3]: STYLE_SOUT\n}, ESC_MAP = {\n\t\"&\": \"&amp;\",\n\t\"<\": \"&lt;\",\n\t\">\": \"&gt;\",\n\t\"\\\"\": \"&quot;\"\n}, esc = (str) => /[&<>\"]/.test(str) ? str.replace(/[&<>\"]/g, (m) => ESC_MAP[m]) : str, wrap = (tag_name, inner, attr) => \"<\" + tag_name + (attr ?? \"\") + \">\" + inner + \"</\" + tag_name + \">\", tag = (name, val, attr) => wrap(name, esc(val), attr), nest = (name, n1, n2, n3) => wrap(name, row(n1) + row(n2) + (n3 ? row(n3) : \"\")), row = (n) => {\n\tif (!n) return wrap(MROW, \"\");\n\tconst [type, val] = n;\n\treturn type === 8 ? val[1] ? wrap(MROW, val.map(show).join(\"\")) : row(val[0]) : type === 9 ? wrap(MROW, show(n)) : show(n);\n}, scriptTag = ([type, val], limits, display, inline) => limits === 1 || limits !== 2 && (val === \"∑\" || type === 9 && (val === \"lim\" || val === \"max\" || val === \"min\" || val === \"sup\" || val === \"inf\")) ? display : inline, SHOW_MAP = {\n\t[1]: ([_, val, attr]) => tag(\"mi\", val, attr),\n\t[2]: ([_, val]) => tag(\"mn\", val),\n\t[3]: ([_, val, attr]) => tag(\"mo\", val, attr),\n\t[9]: ([_, val]) => tag(\"mi\", val) + \"<mo>⁡</mo>\",\n\t[8]: ([_, val]) => val.map(show).join(\"\"),\n\t[7]: ([_, n1, n2]) => nest(\"mfrac\", n1, n2),\n\t[4]: ([_, n1, n2, limits]) => nest(scriptTag(n1, limits, \"mover\", \"msup\"), n1, n2),\n\t[5]: ([_, n1, n2, limits]) => nest(scriptTag(n1, limits, \"munder\", \"msub\"), n1, n2),\n\t[6]: ([_, n1, n2, n3, limits]) => nest(scriptTag(n1, limits, \"munderover\", \"msubsup\"), n1, n2, n3),\n\t[16]: ([_, val]) => tag(\"mtext\", val.replace(/ /g, \"\\xA0\")),\n\t[17]: ([_, val]) => \"<mspace width=\\\"\" + val + \"\\\"></mspace>\",\n\t[10]: ([_, n1]) => wrap(\"msqrt\", row(n1)),\n\t[11]: ([_, n1, n2]) => nest(\"mroot\", n1, n2),\n\t[12]: ([_, val]) => wrap(MROW, val.map(show).join(\"\")),\n\t[13]: ([_, n1]) => nest(\"mover\", n1, [3, \"¯\"]),\n\t[18]: ([_, notation, n1]) => {\n\t\tconst style = NOTATION_STYLE_MAP[notation];\n\t\treturn style ? \"<mrow\" + style + \">\" + row(n1) + \"</mrow>\" : row(n1);\n\t},\n\t[19]: ([_, n1]) => wrap(\"mphantom\", row(n1)),\n\t[14]: ([_, env_name, rows_cells]) => {\n\t\tconst m_table = wrap(\"mtable\", rows_cells.map((row_cells) => wrap(\"mtr\", row_cells.map((cell_nodes) => {\n\t\t\tconst inner_html = cell_nodes.map(show).join(\"\");\n\t\t\treturn wrap(\"mtd\", cell_nodes[1] ? wrap(MROW, inner_html) : inner_html);\n\t\t}).join(\"\"))).join(\"\")), delims = ENV_DELIMS[env_name];\n\t\treturn delims ? wrap(MROW, (delims[0] ? tag(\"mo\", delims[0]) : \"\") + m_table + (delims[1] ? tag(\"mo\", delims[1]) : \"\")) : m_table;\n\t},\n\t[15]: () => \"<mspace linebreak=\\\"newline\\\"></mspace>\"\n}, show = (n) => n ? SHOW_MAP[n[0]](n) : \"\";\nvar mathml_default = (tex, block) => {\n\tconst clean = tex.includes(\"\\n\") || tex.includes(\"\\r\") ? tex.replace(/[\\r\\n]+/g, \" \") : tex;\n\treturn \"<math xmlns=\\\"http://www.w3.org/1998/Math/MathML\\\"\" + (block ? \" display=\\\"block\\\"\" : \"\") + \"><semantics><mrow>\" + parse(lex_default(clean), [0]).map(show).join(\"\") + \"</mrow><annotation encoding=\\\"application/x-tex\\\">\" + esc(clean) + \"</annotation></semantics></math>\";\n};\n//#endregion\n//#region src/md.js\nvar DOLLAR = \"$\", STATE_TEXT = 0, STATE_INLINE_CODE = 1, STATE_BLOCK_CODE = 2, STATE_INLINE_MATH = 3, STATE_BLOCK_MATH = 4, find = (str, start, is_md) => {\n\tconst len = str.length;\n\tfor (let i = start; i < len; ++i) {\n\t\tconst c = str[i];\n\t\tif (c === \"\\\\\" || c === DOLLAR || is_md && c === \"`\") return i;\n\t}\n\treturn -1;\n};\nvar md_default = (md) => {\n\tlet result = \"\", idx = 0, state = STATE_TEXT, math_start = 0;\n\tconst len = md.length;\n\twhile (idx < len) if (state === STATE_TEXT) {\n\t\tconst match_idx = find(md, idx, 1);\n\t\tif (match_idx === -1) {\n\t\t\tresult += md.slice(idx);\n\t\t\tbreak;\n\t\t}\n\t\tresult += md.slice(idx, match_idx);\n\t\tconst char = md[match_idx];\n\t\tif (char === \"\\\\\") {\n\t\t\tconst is_esc = md[match_idx + 1] === DOLLAR;\n\t\t\tresult += is_esc ? DOLLAR : \"\\\\\";\n\t\t\tidx = match_idx + (is_esc ? 2 : 1);\n\t\t} else if (char === DOLLAR) {\n\t\t\tconst block = md[match_idx + 1] === DOLLAR;\n\t\t\tstate = block ? STATE_BLOCK_MATH : STATE_INLINE_MATH;\n\t\t\tidx = match_idx + (block ? 2 : 1);\n\t\t\tmath_start = idx;\n\t\t} else {\n\t\t\tconst block = md[match_idx + 1] === \"`\" && md[match_idx + 2] === \"`\";\n\t\t\tresult += block ? \"```\" : \"`\";\n\t\t\tstate = block ? STATE_BLOCK_CODE : STATE_INLINE_CODE;\n\t\t\tidx = match_idx + (block ? 3 : 1);\n\t\t}\n\t} else if (state >= STATE_INLINE_MATH) {\n\t\tconst match_idx = find(md, idx, 0);\n\t\tif (match_idx === -1) {\n\t\t\tidx = len;\n\t\t\tbreak;\n\t\t}\n\t\tif (md[match_idx] === \"\\\\\") idx = match_idx + (md[match_idx + 1] ? 2 : 1);\n\t\telse {\n\t\t\tconst is_inline = state === STATE_INLINE_MATH;\n\t\t\tif (is_inline || md[match_idx + 1] === DOLLAR) {\n\t\t\t\tconst content = md.slice(math_start, match_idx), delim = is_inline ? DOLLAR : \"$$\";\n\t\t\t\ttry {\n\t\t\t\t\tresult += mathml_default(content, !is_inline);\n\t\t\t\t} catch {\n\t\t\t\t\tresult += delim + content + delim;\n\t\t\t\t}\n\t\t\t\tstate = STATE_TEXT;\n\t\t\t\tidx = match_idx + (is_inline ? 1 : 2);\n\t\t\t} else idx = match_idx + 1;\n\t\t}\n\t} else {\n\t\tconst delim = state === STATE_INLINE_CODE ? \"`\" : \"```\", match_idx = md.indexOf(delim, idx);\n\t\tif (match_idx === -1) {\n\t\t\tresult += md.slice(idx);\n\t\t\tbreak;\n\t\t}\n\t\tresult += md.slice(idx, match_idx) + delim;\n\t\tstate = STATE_TEXT;\n\t\tidx = match_idx + delim.length;\n\t}\n\treturn state >= STATE_INLINE_MATH ? result + (state === STATE_INLINE_MATH ? DOLLAR : \"$$\") + md.slice(math_start) : result;\n};\n//#endregion\nexport { md_default as default };\n"],"names":["CHAR_TOK","_","digit","c","alpha","skip","str","idx","len","code","charCodeAt","FALSE","space","l","r","ATTR_NORMAL","ATTR_BAR","ATTR_BIN","ATTR_REL","ENV_NAMES","Set","FUNC_NAMES","LE","GE","NE","RIGHT_ARROW","LEFT_ARROW","L_DOTS","SYM_MAP","__proto__","beta","gamma","theta","pi","infty","le","leq","ge","geq","neq","ne","cdot","times","pm","mp","div","sum","int","to","rightarrow","leftarrow","gets","leftrightarrow","Leftarrow","Rightarrow","Leftrightarrow","dots","ldots","cdots","Delta","Gamma","Theta","Lambda","Xi","Pi","Sigma","Upsilon","Phi","Psi","Omega","delta","epsilon","zeta","eta","iota","kappa","lambda","mu","nu","xi","rho","sigma","tau","upsilon","phi","chi","psi","omega","nabla","partial","approx","sim","cong","propto","equiv","neg","lor","land","ni","perp","parallel","ell","hbar","forall","exists","in","notin","subset","supset","subseteq","supseteq","cup","cap","emptyset","LIMITS_MAP","MENCLOSE_MAP","boxed","cancel","sout","SPACE_MAP","quad","qquad","CHAR_MAP","DELIM_MAP","ident","val","delim","tokens","state_ref","startsWith","slice","opt","check_num","brace","rows","is_end_check","env_name","current_row","current_cell","length","next_type","next_val","saved_idx","push","node","grab","last_row","pop","over","read","CMD_MAP","text","text_val","parts","split","nodes","forEach","p","i","next_node","frac","overline","bar","sqrt","index_nodes","left","left_delim","body","parse","filter","Boolean","phantom","pmod","begin","end","name","right","TOK_MAP","res","handler","has","matrix","matrix_rows","notation","split_num","type","splice","base","limits","limits_val","sub","sup","ENV_DELIMS","pmatrix","bmatrix","vmatrix","Vmatrix","cases","MROW","NOTATION_STYLE_MAP","ESC_MAP","esc","test","replace","m","wrap","tag_name","inner","attr","tag","nest","n1","n2","n3","row","n","map","show","join","scriptTag","display","inline","SHOW_MAP","style","rows_cells","m_table","row_cells","cell_nodes","inner_html","delims","mathml_default","tex","block","clean","includes","lex_default","start","cmd","temp_idx","brace_count","text_start","text_idx","c_code","char","find","is_md","md_default","md","result","state","math_start","match_idx","is_esc","is_inline","content","indexOf","default"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/md.js"],"sourcesContent":["//#region src/const/STYL.js\nvar STYLE_BOX = \" style=\\\"display:inline-block;border:1px solid;padding:2px 3px\\\"\";\nvar STYLE_CANCEL = \" style=\\\"display:inline-block;background:linear-gradient(to top right,transparent 47%,currentColor 47%,currentColor 53%,transparent 53%)\\\"\";\nvar STYLE_SOUT = \" style=\\\"display:inline-block;background:linear-gradient(transparent 47%,currentColor 47%,currentColor 53%,transparent 53%)\\\"\";\n//#endregion\n//#region src/lex.js\nvar MASK_WHITESPACE = 9728, CHAR_DOT = 46, CHAR_TOK = {\n\t_: 5,\n\t\"^\": 6,\n\t\"{\": 7,\n\t\"}\": 8,\n\t\"(\": 9,\n\t\")\": 10\n}, digit = (c) => c >= 48 && c <= 57, alpha = (c) => (c | 32) - 97 >>> 0 < 26, skip = (str, idx, len) => {\n\twhile (idx < len) {\n\t\tconst code = str.charCodeAt(idx);\n\t\tif (code <= 32 && (code === 32 || 1 << code & MASK_WHITESPACE)) ++idx;\n\t\telse break;\n\t}\n\treturn idx;\n};\nvar lex_default = (str) => {\n\tconst res = [], len = str.length;\n\tlet idx = 0;\n\twhile (idx < len) {\n\t\tidx = skip(str, idx, len);\n\t\tif (idx >= len) break;\n\t\tconst code = str.charCodeAt(idx);\n\t\tif (code === 92) {\n\t\t\tconst start = idx;\n\t\t\t++idx;\n\t\t\tif (idx < len) if (alpha(str.charCodeAt(idx))) while (++idx < len && alpha(str.charCodeAt(idx)));\n\t\t\telse ++idx;\n\t\t\tconst cmd = str.slice(start, idx);\n\t\t\tif (cmd === \"\\\\text\") {\n\t\t\t\tconst pos = skip(str, idx, len);\n\t\t\t\tif (str.charCodeAt(pos) === 123) {\n\t\t\t\t\tlet braces = 1, t_start = pos + 1, t_idx = t_start;\n\t\t\t\t\twhile (t_idx < len && braces) {\n\t\t\t\t\t\tconst cc = str.charCodeAt(t_idx);\n\t\t\t\t\t\tif (cc === 123) ++braces;\n\t\t\t\t\t\telse if (cc === 125) --braces;\n\t\t\t\t\t\tif (braces) ++t_idx;\n\t\t\t\t\t}\n\t\t\t\t\tif (!braces) {\n\t\t\t\t\t\tres.push(4, \"\\\\text\", 7, \"{\", 2, str.slice(t_start, t_idx), 8, \"}\");\n\t\t\t\t\t\tidx = t_idx + 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tres.push(4, cmd);\n\t\t\tcontinue;\n\t\t}\n\t\tif (digit(code) || code === CHAR_DOT && digit(str.charCodeAt(idx + 1))) {\n\t\t\tconst start = idx;\n\t\t\tif (code === CHAR_DOT) idx += 2;\n\t\t\telse {\n\t\t\t\twhile (++idx < len && digit(str.charCodeAt(idx)));\n\t\t\t\tif (str.charCodeAt(idx) === CHAR_DOT && digit(str.charCodeAt(idx + 1))) idx += 2;\n\t\t\t}\n\t\t\twhile (idx < len && digit(str.charCodeAt(idx))) ++idx;\n\t\t\tres.push(1, str.slice(start, idx));\n\t\t\tcontinue;\n\t\t}\n\t\tif (alpha(code)) {\n\t\t\tres.push(2, str[idx]);\n\t\t\t++idx;\n\t\t\tcontinue;\n\t\t}\n\t\tconst char = str[idx];\n\t\tres.push(CHAR_TOK[char] ?? 3, char);\n\t\t++idx;\n\t}\n\tres.push(0, \"\");\n\treturn res;\n};\n//#endregion\n//#region src/const/ATTR.js\nvar FALSE = \" stretchy=\\\"false\\\"\", space = (l, r) => \" lspace=\\\"\" + l + \"px\\\" rspace=\\\"\" + r + \"px\\\"\";\nvar ATTR_NORMAL = \" mathvariant=\\\"normal\\\"\";\nvar ATTR_STRETCHY_FALSE = FALSE;\nvar ATTR_BAR = FALSE + space(0, 0);\nvar ATTR_BIN = space(4, 4);\nvar ATTR_REL = space(5, 5);\n//#endregion\n//#region src/const/ENV.js\nvar ENV_NAMES = new Set([\n\t\"matrix\",\n\t\"pmatrix\",\n\t\"bmatrix\",\n\t\"vmatrix\",\n\t\"Vmatrix\",\n\t\"cases\",\n\t\"array\"\n]);\n//#endregion\n//#region src/const/FUNC.js\nvar FUNC_NAMES = new Set([\n\t\"sin\",\n\t\"cos\",\n\t\"tan\",\n\t\"cot\",\n\t\"sec\",\n\t\"csc\",\n\t\"log\",\n\t\"lg\",\n\t\"ln\",\n\t\"lim\",\n\t\"exp\",\n\t\"max\",\n\t\"min\",\n\t\"sup\",\n\t\"inf\",\n\t\"det\",\n\t\"gcd\",\n\t\"arcsin\",\n\t\"arccos\",\n\t\"arctan\",\n\t\"sinh\",\n\t\"cosh\",\n\t\"tanh\",\n\t\"coth\",\n\t\"deg\",\n\t\"arg\"\n]);\n//#endregion\n//#region src/const/SYM.js\nvar LE = [3, \"≤\"], GE = [3, \"≥\"], NE = [\n\t3,\n\t\"≠\",\n\tATTR_NORMAL\n], RIGHT_ARROW = [3, \"→\"], LEFT_ARROW = [3, \"←\"], L_DOTS = [3, \"…\"];\nvar SYM_MAP = {\n\t__proto__: null,\n\talpha: [1, \"α\"],\n\tbeta: [1, \"β\"],\n\tgamma: [1, \"γ\"],\n\ttheta: [1, \"θ\"],\n\tpi: [1, \"π\"],\n\tinfty: [\n\t\t1,\n\t\t\"∞\",\n\t\tATTR_NORMAL\n\t],\n\tle: LE,\n\tleq: LE,\n\tge: GE,\n\tgeq: GE,\n\tneq: NE,\n\tne: NE,\n\tcdot: [3, \"⋅\"],\n\ttimes: [3, \"×\"],\n\tpm: [3, \"±\"],\n\tmp: [\n\t\t3,\n\t\t\"∓\",\n\t\tATTR_BIN\n\t],\n\tdiv: [3, \"÷\"],\n\tsum: [3, \"∑\"],\n\tint: [3, \"∫\"],\n\tto: RIGHT_ARROW,\n\trightarrow: RIGHT_ARROW,\n\tleftarrow: LEFT_ARROW,\n\tgets: LEFT_ARROW,\n\tleftrightarrow: [3, \"↔\"],\n\tLeftarrow: [3, \"⇐\"],\n\tRightarrow: [3, \"⇒\"],\n\tLeftrightarrow: [3, \"⇔\"],\n\tdots: L_DOTS,\n\tldots: L_DOTS,\n\tcdots: [3, \"⋯\"],\n\tDelta: [\n\t\t1,\n\t\t\"Δ\",\n\t\tATTR_NORMAL\n\t],\n\tGamma: [\n\t\t1,\n\t\t\"Γ\",\n\t\tATTR_NORMAL\n\t],\n\tTheta: [\n\t\t1,\n\t\t\"Θ\",\n\t\tATTR_NORMAL\n\t],\n\tLambda: [\n\t\t1,\n\t\t\"Λ\",\n\t\tATTR_NORMAL\n\t],\n\tXi: [\n\t\t1,\n\t\t\"Ξ\",\n\t\tATTR_NORMAL\n\t],\n\tPi: [\n\t\t1,\n\t\t\"Π\",\n\t\tATTR_NORMAL\n\t],\n\tSigma: [\n\t\t1,\n\t\t\"Σ\",\n\t\tATTR_NORMAL\n\t],\n\tUpsilon: [\n\t\t1,\n\t\t\"Υ\",\n\t\tATTR_NORMAL\n\t],\n\tPhi: [\n\t\t1,\n\t\t\"Φ\",\n\t\tATTR_NORMAL\n\t],\n\tPsi: [\n\t\t1,\n\t\t\"Ψ\",\n\t\tATTR_NORMAL\n\t],\n\tOmega: [\n\t\t1,\n\t\t\"Ω\",\n\t\tATTR_NORMAL\n\t],\n\tdelta: [1, \"δ\"],\n\tepsilon: [1, \"ϵ\"],\n\tzeta: [1, \"ζ\"],\n\teta: [1, \"η\"],\n\tiota: [1, \"ι\"],\n\tkappa: [1, \"κ\"],\n\tlambda: [1, \"λ\"],\n\tmu: [1, \"μ\"],\n\tnu: [1, \"ν\"],\n\txi: [1, \"ξ\"],\n\trho: [1, \"ρ\"],\n\tsigma: [1, \"σ\"],\n\ttau: [1, \"τ\"],\n\tupsilon: [1, \"υ\"],\n\tphi: [1, \"ϕ\"],\n\tchi: [1, \"χ\"],\n\tpsi: [1, \"ψ\"],\n\tomega: [1, \"ω\"],\n\tnabla: [\n\t\t1,\n\t\t\"∇\",\n\t\tATTR_NORMAL\n\t],\n\tpartial: [\n\t\t1,\n\t\t\"∂\",\n\t\tATTR_NORMAL\n\t],\n\tapprox: [\n\t\t3,\n\t\t\"≈\",\n\t\tATTR_REL\n\t],\n\tsim: [\n\t\t3,\n\t\t\"∼\",\n\t\tATTR_REL\n\t],\n\tcong: [\n\t\t3,\n\t\t\"≅\",\n\t\tATTR_REL\n\t],\n\tpropto: [\n\t\t3,\n\t\t\"∝\",\n\t\tATTR_REL\n\t],\n\tequiv: [\n\t\t3,\n\t\t\"≡\",\n\t\tATTR_REL\n\t],\n\tneg: [1, \"¬\"],\n\tlor: [\n\t\t3,\n\t\t\"∨\",\n\t\tATTR_BIN\n\t],\n\tland: [\n\t\t3,\n\t\t\"∧\",\n\t\tATTR_BIN\n\t],\n\tni: [\n\t\t3,\n\t\t\"∋\",\n\t\tATTR_REL\n\t],\n\tperp: [\n\t\t3,\n\t\t\"⟂\",\n\t\tATTR_REL\n\t],\n\tparallel: [\n\t\t3,\n\t\t\"∥\",\n\t\tATTR_REL\n\t],\n\tell: [1, \"ℓ\"],\n\thbar: [1, \"ℏ\"],\n\tforall: [\n\t\t1,\n\t\t\"∀\",\n\t\tATTR_NORMAL\n\t],\n\texists: [\n\t\t1,\n\t\t\"∃\",\n\t\tATTR_NORMAL\n\t],\n\tin: [3, \"∈\"],\n\tnotin: [3, \"∉\"],\n\tsubset: [3, \"⊂\"],\n\tsupset: [3, \"⊃\"],\n\tsubseteq: [3, \"⊆\"],\n\tsupseteq: [3, \"⊇\"],\n\tcup: [3, \"∪\"],\n\tcap: [3, \"∩\"],\n\temptyset: [\n\t\t1,\n\t\t\"∅\",\n\t\tATTR_NORMAL\n\t]\n};\n//#endregion\n//#region src/parse.js\nvar LIMITS_MAP = {\n\t\"\\\\limits\": 1,\n\t\"\\\\nolimits\": 2\n}, MENCLOSE_MAP = {\n\t__proto__: null,\n\tboxed: 1,\n\tcancel: 2,\n\tsout: 3\n}, SPACE_MAP = {\n\t__proto__: null,\n\tquad: \"16px\",\n\tqquad: \"32px\"\n}, CHAR_MAP = {\n\t\"-\": [3, \"−\"],\n\t\"*\": [3, \"∗\"],\n\t\"/\": [\n\t\t3,\n\t\t\"/\",\n\t\tATTR_NORMAL\n\t],\n\t\"(\": [\n\t\t3,\n\t\t\"(\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\")\": [\n\t\t3,\n\t\t\")\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"[\": [\n\t\t3,\n\t\t\"[\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"]\": [\n\t\t3,\n\t\t\"]\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t\"|\": [\n\t\t3,\n\t\t\"|\",\n\t\tATTR_BAR\n\t],\n\t\".\": [\n\t\t3,\n\t\t\".\",\n\t\tATTR_NORMAL\n\t]\n}, DELIM_MAP = {\n\t__proto__: null,\n\t\"\\\\{\": \"{\",\n\t\"\\\\}\": \"}\",\n\t\"<\": \"⟨\",\n\t\">\": \"⟩\"\n}, ident = (val) => [1, val], num = (val) => [2, val], op = (val) => CHAR_MAP[val] ?? [3, val], lparen = () => CHAR_MAP[\"(\"], rparen = () => CHAR_MAP[\")\"], delim = (tokens, ref) => {\n\tconst idx = ref[0];\n\tif (tokens[idx] == null) return null;\n\tref[0] += 2;\n\tconst val = tokens[idx + 1];\n\tif (val === \".\") return [\n\t\t3,\n\t\t\"\",\n\t\t\" fence=\\\"true\\\" stretchy=\\\"true\\\" symmetric=\\\"true\\\"\"\n\t];\n\treturn [3, DELIM_MAP[val] ?? (val?.startsWith(\"\\\\\") ? val.slice(1) : val)];\n}, opt = (tokens, ref, check_num) => {\n\tif (tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"[\") {\n\t\tif (!check_num || tokens[ref[0] + 2] === 1) {\n\t\t\tref[0] += 2;\n\t\t\twhile (tokens[ref[0]] !== 0 && !(tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"]\")) ref[0] += 2;\n\t\t\tif (tokens[ref[0]] === 3) ref[0] += 2;\n\t\t}\n\t}\n}, brace = (tokens, ref) => {\n\tif (tokens[ref[0]] === 7) {\n\t\tref[0] += 2;\n\t\tlet str = \"\";\n\t\twhile (tokens[ref[0]] !== 0 && tokens[ref[0]] !== 8) {\n\t\t\tstr += tokens[ref[0] + 1];\n\t\t\tref[0] += 2;\n\t\t}\n\t\tif (tokens[ref[0]] === 8) ref[0] += 2;\n\t\treturn str;\n\t}\n\treturn \"\";\n}, rows = (tokens, ref, end_check, env) => {\n\tconst rows = [];\n\tlet row = [], cell = [];\n\twhile (ref[0] < tokens.length) {\n\t\tconst type = tokens[ref[0]], val = tokens[ref[0] + 1];\n\t\tif (type === 0) break;\n\t\tif (!end_check && type === 8) break;\n\t\tif (end_check && type === 4 && val === \"\\\\end\") {\n\t\t\tconst pos = ref[0];\n\t\t\tref[0] += 2;\n\t\t\tif (brace(tokens, ref) === env) break;\n\t\t\tref[0] = pos;\n\t\t}\n\t\tif (type === 3 && val === \"&\") {\n\t\t\tref[0] += 2;\n\t\t\trow.push(cell);\n\t\t\tcell = [];\n\t\t\tcontinue;\n\t\t}\n\t\tif (type === 4 && val === \"\\\\\\\\\") {\n\t\t\tref[0] += 2;\n\t\t\topt(tokens, ref, 1);\n\t\t\trow.push(cell);\n\t\t\tcell = [];\n\t\t\trows.push(row);\n\t\t\trow = [];\n\t\t\tcontinue;\n\t\t}\n\t\tconst node = grab(tokens, ref);\n\t\tif (node) cell.push(node);\n\t}\n\tif (cell.length || row.length) {\n\t\trow.push(cell);\n\t\trows.push(row);\n\t}\n\tif (rows.length) {\n\t\tconst last = rows[rows.length - 1];\n\t\tif (!last[1] && !last[0][0]) rows.pop();\n\t}\n\treturn rows;\n}, matrix = (tokens, ref, name) => {\n\tif (tokens[ref[0]] === 7) {\n\t\tref[0] += 2;\n\t\tconst res = rows(tokens, ref, 0, name);\n\t\tif (tokens[ref[0]] === 8) ref[0] += 2;\n\t\treturn [\n\t\t\t14,\n\t\t\tname,\n\t\t\tres\n\t\t];\n\t}\n\tconst node = read(tokens, ref, 1);\n\treturn node ? [\n\t\t14,\n\t\tname,\n\t\t[[[node]]]\n\t] : null;\n}, txt = (tokens, ref) => {\n\tif (tokens[ref[0]] === 7) {\n\t\tconst val = brace(tokens, ref);\n\t\tif (val === \"\") return [8, []];\n\t\tconst parts = val.split(\"\\\\\\\\\");\n\t\tif (parts.length > 1) {\n\t\t\tconst nodes = [];\n\t\t\tparts.forEach((p, i) => {\n\t\t\t\tif (i > 0) nodes.push([15]);\n\t\t\t\tif (p) nodes.push([16, p]);\n\t\t\t});\n\t\t\treturn [8, nodes];\n\t\t}\n\t\treturn [16, val];\n\t}\n\tconst node = read(tokens, ref, 1);\n\tif (node) return [16, node[1]];\n\tthrow [3, \"text\"];\n}, begin = (tokens, ref, val) => {\n\tif (tokens[ref[0]] === 7) {\n\t\tconst env = brace(tokens, ref);\n\t\tif (env === \"array\") {\n\t\t\topt(tokens, ref);\n\t\t\tif (tokens[ref[0]] === 7) brace(tokens, ref);\n\t\t\telse if (tokens[ref[0]] !== 0) ref[0] += 2;\n\t\t}\n\t\treturn [\n\t\t\t14,\n\t\t\tenv,\n\t\t\trows(tokens, ref, 1, env)\n\t\t];\n\t}\n\treturn [1, val];\n}, sqrt = (tokens, ref) => {\n\tif (tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"[\") {\n\t\tref[0] += 2;\n\t\tconst nodes = [];\n\t\twhile (tokens[ref[0]] !== 0 && !(tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"]\")) {\n\t\t\tconst node = grab(tokens, ref);\n\t\t\tif (node) nodes.push(node);\n\t\t}\n\t\tif (tokens[ref[0]] === 3) ref[0] += 2;\n\t\treturn [\n\t\t\t11,\n\t\t\tread(tokens, ref, 1),\n\t\t\t[8, nodes]\n\t\t];\n\t}\n\treturn [10, read(tokens, ref, 1)];\n}, fence = (tokens, ref) => {\n\tconst left = delim(tokens, ref), body = parse(tokens, ref);\n\tif (tokens[ref[0]] === 4 && tokens[ref[0] + 1] === \"\\\\right\") {\n\t\tref[0] += 2;\n\t\treturn [12, [\n\t\t\tleft,\n\t\t\t...body,\n\t\t\tdelim(tokens, ref)\n\t\t].filter(Boolean)];\n\t}\n\tthrow [1, left];\n}, over = (tokens, ref) => [13, read(tokens, ref, 1)], frac = (tokens, ref) => [\n\t7,\n\tread(tokens, ref, 1),\n\tread(tokens, ref, 1)\n], phantom = (tokens, ref) => [19, read(tokens, ref, 1)], pmod = (tokens, ref) => [8, [\n\t[17, \"8px\"],\n\t[\n\t\t3,\n\t\t\"(\",\n\t\tATTR_STRETCHY_FALSE\n\t],\n\t[16, \"mod\"],\n\t[17, \"4px\"],\n\tread(tokens, ref, 1),\n\t[\n\t\t3,\n\t\t\")\",\n\t\tATTR_STRETCHY_FALSE\n\t]\n]], CMD_MAP = {\n\t__proto__: null,\n\t\"\\\\\": (tokens, ref) => {\n\t\tif (tokens[ref[0]] === 3 && tokens[ref[0] + 1] === \"*\") ref[0] += 2;\n\t\topt(tokens, ref, 1);\n\t\treturn [15];\n\t},\n\ttext: txt,\n\tfrac,\n\toverline: over,\n\tbar: over,\n\tsqrt,\n\tleft: fence,\n\tphantom,\n\tpmod,\n\tbegin,\n\tend: (tokens, ref, val, name) => {\n\t\tthrow [0, name];\n\t},\n\tright: (tokens, ref, val, name) => {\n\t\tthrow [2, name];\n\t}\n}, TOK_MAP = {\n\t[2]: ident,\n\t[3]: op,\n\t[9]: lparen,\n\t[10]: rparen,\n\t[1]: num,\n\t[7]: (val, tokens, ref) => {\n\t\tconst res = [8, parse(tokens, ref)];\n\t\tif (tokens[ref[0]] === 8) ref[0] += 2;\n\t\treturn res;\n\t},\n\t[4]: (val, tokens, ref) => {\n\t\tconst name = val.slice(1), handler = CMD_MAP[name];\n\t\tif (handler) return handler(tokens, ref, val, name);\n\t\tif (ENV_NAMES.has(name)) return matrix(tokens, ref, name) ?? ident(val);\n\t\tconst space = SPACE_MAP[name];\n\t\tif (space) return [17, space];\n\t\tconst notation = MENCLOSE_MAP[name];\n\t\tif (notation) return [\n\t\t\t18,\n\t\t\tnotation,\n\t\t\tread(tokens, ref, 1)\n\t\t];\n\t\tif (FUNC_NAMES.has(name)) return [9, name];\n\t\treturn SYM_MAP[name] ?? ident(val);\n\t}\n}, read = (tokens, ref, split_num) => {\n\tconst idx = ref[0], type = tokens[idx];\n\tif (type == null) return null;\n\tref[0] += 2;\n\tlet val = tokens[idx + 1];\n\tif (split_num && type === 1 && val[1]) {\n\t\ttokens.splice(ref[0], 0, 1, val.slice(1));\n\t\tval = val[0];\n\t}\n\treturn TOK_MAP[type]?.(val, tokens, ref) ?? null;\n}, grab = (tokens, ref) => {\n\tconst base = read(tokens, ref);\n\tif (!base) return null;\n\tlet limits = 0;\n\tif (tokens[ref[0]] === 4) {\n\t\tconst lim = LIMITS_MAP[tokens[ref[0] + 1]];\n\t\tif (lim !== void 0) {\n\t\t\tlimits = lim;\n\t\t\tref[0] += 2;\n\t\t}\n\t}\n\tlet sub = null, sup = null, type;\n\twhile ((type = tokens[ref[0]]) != null) {\n\t\tif (type !== 5 && type !== 6) break;\n\t\tref[0] += 2;\n\t\tconst val = read(tokens, ref, 1);\n\t\tif (type === 5) sub = val;\n\t\telse sup = val;\n\t}\n\treturn sub && sup ? [\n\t\t6,\n\t\tbase,\n\t\tsub,\n\t\tsup,\n\t\tlimits\n\t] : sub ? [\n\t\t5,\n\t\tbase,\n\t\tsub,\n\t\tlimits\n\t] : sup ? [\n\t\t4,\n\t\tbase,\n\t\tsup,\n\t\tlimits\n\t] : base;\n}, parse = (tokens, ref) => {\n\tconst nodes = [];\n\tlet type;\n\twhile ((type = tokens[ref[0]]) != null) {\n\t\tif (type === 0 || type === 8) break;\n\t\tif (type === 4 && tokens[ref[0] + 1] === \"\\\\right\") break;\n\t\tconst node = grab(tokens, ref);\n\t\tif (node) nodes.push(node);\n\t}\n\treturn nodes;\n};\n//#endregion\n//#region src/mathml.js\nvar ENV_DELIMS = {\n\t__proto__: null,\n\tpmatrix: [\"(\", \")\"],\n\tbmatrix: [\"[\", \"]\"],\n\tvmatrix: [\"|\", \"|\"],\n\tVmatrix: [\"‖\", \"‖\"],\n\tcases: [\"{\", \"\"]\n}, MROW = \"mrow\", NOTATION_STYLE_MAP = {\n\t[1]: STYLE_BOX,\n\t[2]: STYLE_CANCEL,\n\t[3]: STYLE_SOUT\n}, ESC_MAP = {\n\t\"&\": \"&amp;\",\n\t\"<\": \"&lt;\",\n\t\">\": \"&gt;\",\n\t\"\\\"\": \"&quot;\"\n}, esc = (str) => /[&<>\"]/.test(str) ? str.replace(/[&<>\"]/g, (m) => ESC_MAP[m]) : str, wrap = (tag_name, inner, attr) => \"<\" + tag_name + (attr ?? \"\") + \">\" + inner + \"</\" + tag_name + \">\", tag = (name, val, attr) => wrap(name, esc(val), attr), nest = (name, n1, n2, n3) => wrap(name, row(n1) + row(n2) + (n3 ? row(n3) : \"\")), row = (n) => {\n\tif (!n) return wrap(MROW, \"\");\n\tconst [type, val] = n;\n\treturn type === 8 ? val[1] ? wrap(MROW, val.map(show).join(\"\")) : row(val[0]) : type === 9 ? wrap(MROW, show(n)) : show(n);\n}, scriptTag = ([type, val], limits, display, inline) => limits === 1 || limits !== 2 && (val === \"∑\" || type === 9 && (val === \"lim\" || val === \"max\" || val === \"min\" || val === \"sup\" || val === \"inf\")) ? display : inline, SHOW_MAP = {\n\t[1]: ([_, val, attr]) => tag(\"mi\", val, attr),\n\t[2]: ([_, val]) => tag(\"mn\", val),\n\t[3]: ([_, val, attr]) => tag(\"mo\", val, attr),\n\t[9]: ([_, val]) => tag(\"mi\", val) + \"<mo>⁡</mo>\",\n\t[8]: ([_, val]) => val.map(show).join(\"\"),\n\t[7]: ([_, n1, n2]) => nest(\"mfrac\", n1, n2),\n\t[4]: ([_, n1, n2, limits]) => nest(scriptTag(n1, limits, \"mover\", \"msup\"), n1, n2),\n\t[5]: ([_, n1, n2, limits]) => nest(scriptTag(n1, limits, \"munder\", \"msub\"), n1, n2),\n\t[6]: ([_, n1, n2, n3, limits]) => nest(scriptTag(n1, limits, \"munderover\", \"msubsup\"), n1, n2, n3),\n\t[16]: ([_, val]) => tag(\"mtext\", val.replace(/ /g, \"\\xA0\")),\n\t[17]: ([_, val]) => \"<mspace width=\\\"\" + val + \"\\\"></mspace>\",\n\t[10]: ([_, n1]) => wrap(\"msqrt\", row(n1)),\n\t[11]: ([_, n1, n2]) => nest(\"mroot\", n1, n2),\n\t[12]: ([_, val]) => wrap(MROW, val.map(show).join(\"\")),\n\t[13]: ([_, n1]) => nest(\"mover\", n1, [3, \"¯\"]),\n\t[18]: ([_, notation, n1]) => {\n\t\tconst style = NOTATION_STYLE_MAP[notation];\n\t\treturn style ? \"<mrow\" + style + \">\" + row(n1) + \"</mrow>\" : row(n1);\n\t},\n\t[19]: ([_, n1]) => wrap(\"mphantom\", row(n1)),\n\t[14]: ([_, env, rows]) => {\n\t\tconst tbl = wrap(\"mtable\", rows.map((r) => wrap(\"mtr\", r.map((c) => {\n\t\t\tconst html = c.map(show).join(\"\");\n\t\t\treturn wrap(\"mtd\", c[1] ? wrap(MROW, html) : html);\n\t\t}).join(\"\"))).join(\"\")), del = ENV_DELIMS[env];\n\t\treturn del ? wrap(MROW, (del[0] ? tag(\"mo\", del[0]) : \"\") + tbl + (del[1] ? tag(\"mo\", del[1]) : \"\")) : tbl;\n\t},\n\t[15]: () => \"<mspace linebreak=\\\"newline\\\"></mspace>\"\n}, show = (n) => n ? SHOW_MAP[n[0]](n) : \"\";\nvar mathml_default = (tex, block) => {\n\tconst clean = tex.includes(\"\\n\") || tex.includes(\"\\r\") ? tex.replace(/[\\r\\n]+/g, \" \") : tex;\n\treturn \"<math xmlns=\\\"http://www.w3.org/1998/Math/MathML\\\"\" + (block ? \" display=\\\"block\\\"\" : \"\") + \"><semantics><mrow>\" + parse(lex_default(clean), [0]).map(show).join(\"\") + \"</mrow><annotation encoding=\\\"application/x-tex\\\">\" + esc(clean) + \"</annotation></semantics></math>\";\n};\n//#endregion\n//#region src/md.js\nvar DOLLAR = \"$\", STATE_TEXT = 0, STATE_INLINE_CODE = 1, STATE_BLOCK_CODE = 2, STATE_INLINE_MATH = 3, STATE_BLOCK_MATH = 4, find = (str, start, is_md) => {\n\tconst len = str.length;\n\tfor (let i = start; i < len; ++i) {\n\t\tconst c = str[i];\n\t\tif (c === \"\\\\\" || c === DOLLAR || is_md && c === \"`\") return i;\n\t}\n\treturn -1;\n};\nvar md_default = (md) => {\n\tlet res = \"\", idx = 0, state = STATE_TEXT, start = 0;\n\tconst len = md.length;\n\twhile (idx < len) if (state === STATE_TEXT) {\n\t\tconst pos = find(md, idx, 1);\n\t\tif (pos === -1) {\n\t\t\tres += md.slice(idx);\n\t\t\tbreak;\n\t\t}\n\t\tres += md.slice(idx, pos);\n\t\tconst char = md[pos];\n\t\tif (char === \"\\\\\") {\n\t\t\tconst esc = md[pos + 1] === DOLLAR;\n\t\t\tres += esc ? DOLLAR : \"\\\\\";\n\t\t\tidx = pos + (esc ? 2 : 1);\n\t\t} else if (char === DOLLAR) {\n\t\t\tconst block = md[pos + 1] === DOLLAR;\n\t\t\tstate = block ? STATE_BLOCK_MATH : STATE_INLINE_MATH;\n\t\t\tidx = pos + (block ? 2 : 1);\n\t\t\tstart = idx;\n\t\t} else {\n\t\t\tconst block = md[pos + 1] === \"`\" && md[pos + 2] === \"`\";\n\t\t\tres += block ? \"```\" : \"`\";\n\t\t\tstate = block ? STATE_BLOCK_CODE : STATE_INLINE_CODE;\n\t\t\tidx = pos + (block ? 3 : 1);\n\t\t}\n\t} else if (state >= STATE_INLINE_MATH) {\n\t\tconst pos = find(md, idx, 0);\n\t\tif (pos === -1) {\n\t\t\tidx = len;\n\t\t\tbreak;\n\t\t}\n\t\tif (md[pos] === \"\\\\\") idx = pos + (md[pos + 1] ? 2 : 1);\n\t\telse {\n\t\t\tconst inline = state === STATE_INLINE_MATH;\n\t\t\tif (inline || md[pos + 1] === DOLLAR) {\n\t\t\t\tconst content = md.slice(start, pos), delim = inline ? DOLLAR : \"$$\";\n\t\t\t\ttry {\n\t\t\t\t\tres += mathml_default(content, !inline);\n\t\t\t\t} catch {\n\t\t\t\t\tres += delim + content + delim;\n\t\t\t\t}\n\t\t\t\tstate = STATE_TEXT;\n\t\t\t\tidx = pos + (inline ? 1 : 2);\n\t\t\t} else idx = pos + 1;\n\t\t}\n\t} else {\n\t\tconst delim = state === STATE_INLINE_CODE ? \"`\" : \"```\", pos = md.indexOf(delim, idx);\n\t\tif (pos === -1) {\n\t\t\tres += md.slice(idx);\n\t\t\tbreak;\n\t\t}\n\t\tres += md.slice(idx, pos) + delim;\n\t\tstate = STATE_TEXT;\n\t\tidx = pos + delim.length;\n\t}\n\treturn state >= STATE_INLINE_MATH ? res + (state === STATE_INLINE_MATH ? DOLLAR : \"$$\") + md.slice(start) : res;\n};\n//#endregion\nexport { md_default as default };\n"],"names":["CHAR_TOK","_","digit","c","alpha","skip","str","idx","len","code","charCodeAt","FALSE","space","l","r","ATTR_NORMAL","ATTR_BAR","ATTR_BIN","ATTR_REL","ENV_NAMES","Set","FUNC_NAMES","LE","GE","NE","RIGHT_ARROW","LEFT_ARROW","L_DOTS","SYM_MAP","__proto__","beta","gamma","theta","pi","infty","le","leq","ge","geq","neq","ne","cdot","times","pm","mp","div","sum","int","to","rightarrow","leftarrow","gets","leftrightarrow","Leftarrow","Rightarrow","Leftrightarrow","dots","ldots","cdots","Delta","Gamma","Theta","Lambda","Xi","Pi","Sigma","Upsilon","Phi","Psi","Omega","delta","epsilon","zeta","eta","iota","kappa","lambda","mu","nu","xi","rho","sigma","tau","upsilon","phi","chi","psi","omega","nabla","partial","approx","sim","cong","propto","equiv","neg","lor","land","ni","perp","parallel","ell","hbar","forall","exists","in","notin","subset","supset","subseteq","supseteq","cup","cap","emptyset","LIMITS_MAP","MENCLOSE_MAP","boxed","cancel","sout","SPACE_MAP","quad","qquad","CHAR_MAP","DELIM_MAP","ident","val","delim","tokens","ref","startsWith","slice","opt","check_num","brace","rows","end_check","env","row","cell","length","type","pos","push","node","grab","last","pop","over","read","CMD_MAP","text","parts","split","nodes","forEach","p","i","frac","overline","bar","sqrt","left","body","parse","filter","Boolean","phantom","pmod","begin","end","name","right","TOK_MAP","res","handler","has","matrix","notation","split_num","splice","base","limits","lim","sub","sup","ENV_DELIMS","pmatrix","bmatrix","vmatrix","Vmatrix","cases","MROW","NOTATION_STYLE_MAP","ESC_MAP","esc","test","replace","m","wrap","tag_name","inner","attr","tag","nest","n1","n2","n3","n","map","show","join","scriptTag","display","inline","SHOW_MAP","style","tbl","html","del","mathml_default","tex","block","clean","includes","lex_default","start","cmd","braces","t_start","t_idx","cc","char","find","is_md","md_default","md","state","content","indexOf","default"],"mappings":"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"}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@webc.site/math","version":"0.1.5","description":"The world's smallest and fastest web Markdown formula renderer / 全球最小最快的网页Markdown公式渲染器","keywords":["markdown","math","mathml","render","tex"],"homepage":"https://math.webc.site","license":"MulanPSL-2.0","author":"i18n.site@gmail.com","repository":{"type":"git","url":"git+https://github.com/webc-site/math.git"},"type":"module","exports":{".":{"types":"./mathml.d.ts","default":"./mathml.js"},"./md.js":{"types":"./md.d.ts","default":"./md.js"},"./*":"./*"},"dependencies":{}}
1
+ {"name":"@webc.site/math","version":"0.1.8","description":"The world's smallest and fastest web Markdown formula renderer / 全球最小最快的网页Markdown公式渲染器","keywords":["markdown","math","mathml","render","tex"],"homepage":"https://math.webc.site","license":"MulanPSL-2.0","author":"i18n.site@gmail.com","repository":{"type":"git","url":"git+https://github.com/webc-site/math.git"},"type":"module","exports":{".":{"types":"./mathml.d.ts","default":"./mathml.js"},"./md.js":{"types":"./md.d.ts","default":"./md.js"},"./*":"./*"},"dependencies":{}}