velo-plot 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/README.md +15 -8
  2. package/dist/{ChartCore-BhQ4j7f5.js → ChartCore-BpzRvN4Y.js} +998 -855
  3. package/dist/ChartCore-BpzRvN4Y.js.map +1 -0
  4. package/dist/a11y-Bw6urYpr.js +105 -0
  5. package/dist/a11y-Bw6urYpr.js.map +1 -0
  6. package/dist/angular/hooks-entry.d.ts +1 -0
  7. package/dist/angular/hooks.d.ts +26 -0
  8. package/dist/angular/index.d.ts +8 -0
  9. package/dist/angular/velo-plot.component.d.ts +46 -0
  10. package/dist/angular-hooks.d.ts +1 -0
  11. package/dist/angular-hooks.js +9 -0
  12. package/dist/angular-hooks.js.map +1 -0
  13. package/dist/angular.d.ts +1 -0
  14. package/dist/angular.js +166 -0
  15. package/dist/angular.js.map +1 -0
  16. package/dist/assets/indicator.worker-bv0zC4EX.js.map +1 -1
  17. package/dist/astro/StackedPlot.astro +19 -0
  18. package/dist/astro/VeloPlot.astro +23 -0
  19. package/dist/{axisFormat-SPX-CD5s.js → axisFormat-CzumxpCL.js} +3 -3
  20. package/dist/axisFormat-CzumxpCL.js.map +1 -0
  21. package/dist/bindings/shared/a11y.d.ts +26 -0
  22. package/dist/bindings/shared/chartLifecycle.d.ts +16 -0
  23. package/dist/bindings/shared/chartSyncBridge.d.ts +8 -0
  24. package/dist/bindings/shared/dimensions.d.ts +1 -0
  25. package/dist/bindings/shared/index.d.ts +9 -0
  26. package/dist/bindings/shared/indicatorBridge.d.ts +11 -0
  27. package/dist/bindings/shared/optionsSync.d.ts +7 -0
  28. package/dist/bindings/shared/seriesDiff.d.ts +8 -0
  29. package/dist/bindings/shared/stackedSync.d.ts +9 -0
  30. package/dist/bindings/shared/types.d.ts +46 -0
  31. package/dist/bindings/test-utils/index.d.ts +35 -0
  32. package/dist/bindings/test-utils/mockLifecycle.d.ts +120 -0
  33. package/dist/bindings/test-utils/vitestSveltePlugin.d.ts +3 -0
  34. package/dist/chartSyncBridge-DbWrwtyP.js +57 -0
  35. package/dist/chartSyncBridge-DbWrwtyP.js.map +1 -0
  36. package/dist/core/Chart.d.ts +1 -1
  37. package/dist/core/InteractionManager.d.ts +7 -1
  38. package/dist/core/OverlayRenderer.d.ts +5 -0
  39. package/dist/core/annotations/types.d.ts +1 -1
  40. package/dist/core/chart/ChartAxisManager.d.ts +2 -0
  41. package/dist/core/chart/ChartCore.d.ts +17 -2
  42. package/dist/core/chart/ChartPluginBridge.d.ts +1 -0
  43. package/dist/core/chart/ChartRenderLoop.d.ts +2 -0
  44. package/dist/core/chart/ChartStateManager.d.ts +2 -0
  45. package/dist/core/chart/types.d.ts +6 -1
  46. package/dist/core/clipboard/index.d.ts +1 -1
  47. package/dist/core/debug/index.d.ts +1 -1
  48. package/dist/core/keybindings/index.d.ts +1 -1
  49. package/dist/core/loading/index.d.ts +1 -1
  50. package/dist/core/locale/index.d.ts +1 -1
  51. package/dist/core/stacked/paneResize.d.ts +3 -0
  52. package/dist/core/stacked/types.d.ts +10 -0
  53. package/dist/core/sync/index.d.ts +0 -1
  54. package/dist/core/theme-editor/index.d.ts +1 -1
  55. package/dist/createStackedChart-Dm-YqUT7.js +756 -0
  56. package/dist/createStackedChart-Dm-YqUT7.js.map +1 -0
  57. package/dist/examples/PluginDemonstration.d.ts +1 -1
  58. package/dist/gpuRenderer-BpaMYz-k.js.map +1 -1
  59. package/dist/hooks-CYPCxoZx.js +69 -0
  60. package/dist/hooks-CYPCxoZx.js.map +1 -0
  61. package/dist/{index-D7dTq6VB.js → index-0InEyj0q.js} +130 -134
  62. package/dist/index-0InEyj0q.js.map +1 -0
  63. package/dist/index-BMiZoKmm.js.map +1 -1
  64. package/dist/{index-DoYxf1cV.js → index-CWxIHdwX.js} +38 -98
  65. package/dist/index-CWxIHdwX.js.map +1 -0
  66. package/dist/{index-CUGS98p4.js → index-CaXWSOTk.js} +3 -6
  67. package/dist/index-CaXWSOTk.js.map +1 -0
  68. package/dist/index-Dag88bW4.js.map +1 -1
  69. package/dist/index-qhscKTDy.js.map +1 -1
  70. package/dist/{index-CWipqOLP.js → index-qunX30Xu.js} +2 -2
  71. package/dist/index-qunX30Xu.js.map +1 -0
  72. package/dist/index-x4stH3jD.js.map +1 -1
  73. package/dist/{index.core-fpZ1dYN0.js → index.core-BmZe2jRQ.js} +30 -29
  74. package/dist/index.core-BmZe2jRQ.js.map +1 -0
  75. package/dist/index.core.d.ts +1 -1
  76. package/dist/index.d.ts +3 -3
  77. package/dist/indicators--eJGmVox.js.map +1 -1
  78. package/dist/{mockDatafeed-Cdg5hKEo.js → mockDatafeed-DHIDPcpX.js} +150 -146
  79. package/dist/mockDatafeed-DHIDPcpX.js.map +1 -0
  80. package/dist/optionsSync-QUiN4Inw.js +119 -0
  81. package/dist/optionsSync-QUiN4Inw.js.map +1 -0
  82. package/dist/plugins/3d/index.d.ts +2 -2
  83. package/dist/plugins/3d.d.ts +2 -2
  84. package/dist/plugins/3d.js.map +1 -1
  85. package/dist/plugins/analysis/contours.d.ts +31 -0
  86. package/dist/plugins/analysis/index.d.ts +1 -1
  87. package/dist/plugins/analysis/indicators.d.ts +1 -1
  88. package/dist/plugins/analysis.d.ts +2 -2
  89. package/dist/plugins/analysis.js +495 -408
  90. package/dist/plugins/analysis.js.map +1 -1
  91. package/dist/plugins/annotations/index.d.ts +1 -1
  92. package/dist/plugins/annotations.d.ts +2 -2
  93. package/dist/plugins/annotations.js.map +1 -1
  94. package/dist/plugins/anomaly-detection.js +1 -1
  95. package/dist/plugins/anomaly-detection.js.map +1 -1
  96. package/dist/plugins/broken-axis.d.ts +2 -2
  97. package/dist/plugins/broken-axis.js +170 -181
  98. package/dist/plugins/broken-axis.js.map +1 -1
  99. package/dist/plugins/builtins/crosshair/CrosshairPlugin.d.ts +1 -1
  100. package/dist/plugins/builtins/index.d.ts +1 -1
  101. package/dist/plugins/caching.d.ts +2 -2
  102. package/dist/plugins/clipboard/index.d.ts +2 -2
  103. package/dist/plugins/clipboard.d.ts +2 -2
  104. package/dist/plugins/clipboard.js.map +1 -1
  105. package/dist/plugins/context-menu/index.d.ts +1 -1
  106. package/dist/plugins/context-menu.d.ts +2 -2
  107. package/dist/plugins/context-menu.js +1 -1
  108. package/dist/plugins/context-menu.js.map +1 -1
  109. package/dist/plugins/data-export/index.d.ts +1 -1
  110. package/dist/plugins/data-export.d.ts +2 -2
  111. package/dist/plugins/data-export.js +2 -2
  112. package/dist/plugins/data-export.js.map +1 -1
  113. package/dist/plugins/data-transform.d.ts +2 -2
  114. package/dist/plugins/data-transform.js +19 -19
  115. package/dist/plugins/data-transform.js.map +1 -1
  116. package/dist/plugins/debug/index.d.ts +2 -2
  117. package/dist/plugins/debug.d.ts +2 -2
  118. package/dist/plugins/debug.js +2 -2
  119. package/dist/plugins/debug.js.map +1 -1
  120. package/dist/plugins/forecasting/algorithms.d.ts +7 -2
  121. package/dist/plugins/forecasting/index.d.ts +1 -1
  122. package/dist/plugins/forecasting/types.d.ts +13 -3
  123. package/dist/plugins/forecasting.js +355 -175
  124. package/dist/plugins/forecasting.js.map +1 -1
  125. package/dist/plugins/gpu/index.d.ts +2 -2
  126. package/dist/plugins/gpu.d.ts +2 -2
  127. package/dist/plugins/gpu.js.map +1 -1
  128. package/dist/plugins/i18n/index.d.ts +2 -2
  129. package/dist/plugins/i18n.d.ts +2 -2
  130. package/dist/plugins/i18n.js.map +1 -1
  131. package/dist/plugins/index.d.ts +1 -1
  132. package/dist/plugins/keyboard.d.ts +2 -2
  133. package/dist/plugins/keyboard.js +65 -5
  134. package/dist/plugins/keyboard.js.map +1 -1
  135. package/dist/plugins/latex/symbols.d.ts +50 -0
  136. package/dist/plugins/latex/types.d.ts +13 -1
  137. package/dist/plugins/latex.js +351 -331
  138. package/dist/plugins/latex.js.map +1 -1
  139. package/dist/plugins/lazy-load.d.ts +2 -2
  140. package/dist/plugins/loading/index.d.ts +1 -1
  141. package/dist/plugins/loading.d.ts +2 -2
  142. package/dist/plugins/ml-integration/native-algorithms.d.ts +24 -4
  143. package/dist/plugins/ml-integration/types.d.ts +19 -0
  144. package/dist/plugins/ml-integration.d.ts +2 -2
  145. package/dist/plugins/ml-integration.js +190 -139
  146. package/dist/plugins/ml-integration.js.map +1 -1
  147. package/dist/plugins/offscreen.d.ts +2 -2
  148. package/dist/plugins/pattern-recognition/types.d.ts +28 -1
  149. package/dist/plugins/pattern-recognition.d.ts +2 -2
  150. package/dist/plugins/pattern-recognition.js +417 -344
  151. package/dist/plugins/pattern-recognition.js.map +1 -1
  152. package/dist/plugins/radar.d.ts +2 -2
  153. package/dist/plugins/regression.d.ts +2 -2
  154. package/dist/plugins/regression.js +1 -1
  155. package/dist/plugins/regression.js.map +1 -1
  156. package/dist/plugins/roi.js +9 -9
  157. package/dist/plugins/roi.js.map +1 -1
  158. package/dist/plugins/snapshot/index.d.ts +1 -1
  159. package/dist/plugins/snapshot/types.d.ts +1 -1
  160. package/dist/plugins/snapshot.d.ts +2 -2
  161. package/dist/plugins/snapshot.js +36 -36
  162. package/dist/plugins/snapshot.js.map +1 -1
  163. package/dist/plugins/streaming/index.d.ts +2 -2
  164. package/dist/plugins/streaming.d.ts +2 -2
  165. package/dist/plugins/sync/index.d.ts +3 -2
  166. package/dist/plugins/sync.d.ts +2 -2
  167. package/dist/plugins/sync.js +1 -1
  168. package/dist/plugins/sync.js.map +1 -1
  169. package/dist/plugins/theme-editor/index.d.ts +1 -1
  170. package/dist/plugins/theme-editor.d.ts +2 -2
  171. package/dist/plugins/tools/index.d.ts +1 -1
  172. package/dist/plugins/tools/tooltip/index.d.ts +1 -1
  173. package/dist/plugins/tools.d.ts +2 -2
  174. package/dist/plugins/tools.js +1 -1
  175. package/dist/plugins/types.d.ts +1 -1
  176. package/dist/plugins/video-recorder.d.ts +2 -2
  177. package/dist/plugins/virtualization.d.ts +2 -2
  178. package/dist/plugins/virtualization.js +1 -1
  179. package/dist/pool-DZ8shSqv.js +109 -0
  180. package/dist/pool-DZ8shSqv.js.map +1 -0
  181. package/dist/react/StackedPlot.d.ts +31 -0
  182. package/dist/react/VeloPlot.d.ts +29 -0
  183. package/dist/react/index.d.ts +25 -3
  184. package/dist/react/useChartSync.d.ts +8 -0
  185. package/dist/react/useIndicator.d.ts +12 -0
  186. package/dist/react/useVeloPlot.d.ts +19 -0
  187. package/dist/react.js +328 -24
  188. package/dist/react.js.map +1 -1
  189. package/dist/scientific/index.d.ts +48 -0
  190. package/dist/scientific.d.ts +1 -0
  191. package/dist/scientific.js +91 -0
  192. package/dist/scientific.js.map +1 -0
  193. package/dist/solid/VeloPlot.d.ts +16 -0
  194. package/dist/solid/index.d.ts +13 -0
  195. package/dist/solid/useChartSync.d.ts +6 -0
  196. package/dist/solid/useIndicator.d.ts +11 -0
  197. package/dist/solid/useStackedPlot.d.ts +14 -0
  198. package/dist/solid/useVeloPlot.d.ts +18 -0
  199. package/dist/solid.d.ts +1 -0
  200. package/dist/solid.js +172 -0
  201. package/dist/solid.js.map +1 -0
  202. package/dist/stackedSync-tnrunZMt.js +100 -0
  203. package/dist/stackedSync-tnrunZMt.js.map +1 -0
  204. package/dist/svelte/StackedPlot.svelte +29 -0
  205. package/dist/svelte/StackedPlot.test.ts +114 -0
  206. package/dist/svelte/VeloPlot.svelte +44 -0
  207. package/dist/svelte/VeloPlot.test.ts +105 -0
  208. package/dist/svelte/index.d.ts +11 -0
  209. package/dist/svelte/index.test.ts +20 -0
  210. package/dist/svelte/index.ts +15 -0
  211. package/dist/svelte/useChartSync.d.ts +8 -0
  212. package/dist/svelte/useChartSync.test.ts +49 -0
  213. package/dist/svelte/useChartSync.ts +29 -0
  214. package/dist/svelte/useIndicator.d.ts +13 -0
  215. package/dist/svelte/useIndicator.test.ts +67 -0
  216. package/dist/svelte/useIndicator.ts +43 -0
  217. package/dist/svelte/useStackedPlot.d.ts +16 -0
  218. package/dist/svelte/useStackedPlot.test.ts +76 -0
  219. package/dist/svelte/useStackedPlot.ts +54 -0
  220. package/dist/svelte/useVeloPlot.d.ts +21 -0
  221. package/dist/svelte/useVeloPlot.test.ts +100 -0
  222. package/dist/svelte/useVeloPlot.ts +81 -0
  223. package/dist/svelte.d.ts +1 -0
  224. package/dist/svelte.js +143 -0
  225. package/dist/svelte.js.map +1 -0
  226. package/dist/symbols-DT0eLlpW.js +568 -0
  227. package/dist/symbols-DT0eLlpW.js.map +1 -0
  228. package/dist/testing/index.d.ts +1 -1
  229. package/dist/theme/index.d.ts +2 -1
  230. package/dist/trading.js +7 -7
  231. package/dist/types.d.ts +1 -1
  232. package/dist/{utils-BK5UUXxj.js → utils-Dx0h0bgQ.js} +9 -9
  233. package/dist/{utils-BK5UUXxj.js.map → utils-Dx0h0bgQ.js.map} +1 -1
  234. package/dist/velo-plot.full.js +444 -433
  235. package/dist/velo-plot.full.js.map +1 -1
  236. package/dist/velo-plot.js +15 -15
  237. package/dist/vue/StackedPlot.vue.d.ts +48 -0
  238. package/dist/vue/VeloPlot.vue.d.ts +64 -0
  239. package/dist/vue/index.d.ts +250 -0
  240. package/dist/vue/useChartSync.d.ts +52 -0
  241. package/dist/vue/useIndicator.d.ts +23 -0
  242. package/dist/vue/useStackedPlot.d.ts +15 -0
  243. package/dist/vue/useVeloPlot.d.ts +20 -0
  244. package/dist/vue.d.ts +1 -0
  245. package/dist/vue.js +312 -0
  246. package/dist/vue.js.map +1 -0
  247. package/dist/workers/indicatorsAsync.d.ts +26 -0
  248. package/dist/workers/pool.d.ts +9 -0
  249. package/package.json +88 -10
  250. package/dist/ChartCore-BhQ4j7f5.js.map +0 -1
  251. package/dist/SciPlot-GJvw7GJo.js +0 -463
  252. package/dist/SciPlot-GJvw7GJo.js.map +0 -1
  253. package/dist/axisFormat-SPX-CD5s.js.map +0 -1
  254. package/dist/createStackedChart-DJSmqerD.js +0 -706
  255. package/dist/createStackedChart-DJSmqerD.js.map +0 -1
  256. package/dist/index-CUGS98p4.js.map +0 -1
  257. package/dist/index-CWipqOLP.js.map +0 -1
  258. package/dist/index-D7dTq6VB.js.map +0 -1
  259. package/dist/index-DoYxf1cV.js.map +0 -1
  260. package/dist/index.core-fpZ1dYN0.js.map +0 -1
  261. package/dist/mockDatafeed-Cdg5hKEo.js.map +0 -1
  262. package/dist/pool-15HMCNv8.js +0 -88
  263. package/dist/pool-15HMCNv8.js.map +0 -1
  264. package/dist/react/SciPlot.d.ts +0 -60
  265. package/dist/react/useSciPlot.d.ts +0 -56
@@ -1,431 +1,450 @@
1
- const L = {
2
- alpha: "α",
3
- beta: "β",
4
- gamma: "γ",
5
- delta: "δ",
6
- epsilon: "ε",
7
- zeta: "ζ",
8
- eta: "η",
9
- theta: "θ",
10
- iota: "ι",
11
- kappa: "κ",
12
- lambda: "λ",
13
- mu: "μ",
14
- nu: "ν",
15
- xi: "ξ",
16
- omicron: "ο",
17
- pi: "π",
18
- rho: "ρ",
19
- sigma: "σ",
20
- tau: "τ",
21
- upsilon: "υ",
22
- phi: "φ",
23
- chi: "χ",
24
- psi: "ψ",
25
- omega: "ω"
26
- }, x = {
27
- Alpha: "Α",
28
- Beta: "Β",
29
- Gamma: "Γ",
30
- Delta: "Δ",
31
- Epsilon: "Ε",
32
- Zeta: "Ζ",
33
- Eta: "Η",
34
- Theta: "Θ",
35
- Iota: "Ι",
36
- Kappa: "Κ",
37
- Lambda: "Λ",
38
- Mu: "Μ",
39
- Nu: "Ν",
40
- Xi: "Ξ",
41
- Omicron: "Ο",
42
- Pi: "Π",
43
- Rho: "Ρ",
44
- Sigma: "Σ",
45
- Tau: "Τ",
46
- Upsilon: "Υ",
47
- Phi: "Φ",
48
- Chi: "Χ",
49
- Psi: "Ψ",
50
- Omega: "Ω"
1
+ import { F as W, C as E, B as H, i as _, g as D } from "../symbols-DT0eLlpW.js";
2
+ const $ = {
3
+ matrix: ["", ""],
4
+ pmatrix: ["(", ")"],
5
+ bmatrix: ["[", "]"],
6
+ Bmatrix: ["{", "}"],
7
+ vmatrix: ["|", "|"],
8
+ Vmatrix: ["", "‖"]
51
9
  }, F = {
52
- sum: "∑",
53
- prod: "∏",
54
- int: "∫",
55
- oint: "∮",
56
- partial: "∂",
57
- nabla: "∇",
58
- infty: "∞",
59
- hbar: "ℏ",
60
- pm: "±",
61
- mp: "∓",
62
- times: "×",
63
- div: "÷",
64
- cdot: "·",
65
- ast: "∗",
66
- star: "⋆",
67
- circ: "∘",
68
- bullet: "•",
69
- cap: "∩",
70
- cup: "∪",
71
- vee: "∨",
72
- wedge: "∧",
73
- oplus: "⊕",
74
- otimes: "⊗",
75
- equiv: "≡",
76
- cong: "≅",
77
- approx: "≈",
78
- propto: "∝",
79
- neq: "≠",
80
- leq: "≤",
81
- geq: "≥",
82
- ll: "≪",
83
- gg: "≫",
84
- subset: "⊂",
85
- supset: "⊃",
86
- subseteq: "⊆",
87
- supseteq: "⊇",
88
- in: "∈",
89
- notin: "∉",
90
- ni: "∋",
91
- forall: "∀",
92
- exists: "∃",
93
- emptyset: "∅",
94
- neg: "¬",
95
- angle: "∠",
96
- perp: "⊥",
97
- parallel: "∥",
98
- rightarrow: "→",
99
- leftarrow: "←",
100
- leftrightarrow: "↔",
101
- Rightarrow: "⇒",
102
- Leftarrow: "⇐",
103
- Leftrightarrow: "⇔",
104
- mapsto: "↦",
105
- to: "→",
106
- langle: "⟨",
107
- rangle: "⟩",
108
- rightleftharpoons: "⇌",
109
- log: "log",
110
- ln: "ln",
111
- sin: "sin",
112
- cos: "cos",
113
- tan: "tan"
114
- }, E = {
115
- ...L,
116
- ...x,
117
- ...F
10
+ mathbb: H,
11
+ mathcal: E,
12
+ mathfrak: W
118
13
  };
119
- function z(n) {
120
- return E[n];
14
+ function P(s) {
15
+ const t = N(s);
16
+ return M(t);
121
17
  }
122
- function q(n) {
123
- return n in E;
18
+ function v(s) {
19
+ let t = "";
20
+ for (const e of s)
21
+ e.type === "text" || e.type === "textgroup" || e.type === "symbol" ? t += e.content || "" : e.children && (t += v(e.children));
22
+ return t;
124
23
  }
125
- function T(n) {
126
- const e = D(n);
127
- return A(e);
128
- }
129
- function M(n) {
130
- let e = "";
131
- for (const t of n)
132
- t.type === "text" || t.type === "textgroup" || t.type === "symbol" ? e += t.content || "" : t.children && (e += M(t.children));
133
- return e;
134
- }
135
- function D(n) {
136
- const e = [];
137
- let t = 0;
138
- for (; t < n.length; ) {
139
- const s = n[t];
140
- if (s === "\\") {
24
+ function N(s) {
25
+ const t = [];
26
+ let e = 0;
27
+ for (; e < s.length; ) {
28
+ const n = s[e];
29
+ if (n === "\\") {
141
30
  let i = "";
142
- for (t++; t < n.length && /[a-zA-Z]/.test(n[t]); )
143
- i += n[t], t++;
144
- i ? e.push("\\" + i) : t < n.length && (e.push("\\" + n[t]), t++);
145
- } else if (s === "{" || s === "}" || s === "^" || s === "_")
146
- e.push(s), t++;
147
- else if (/\s/.test(s))
148
- for (e.push(" "), t++; t < n.length && /\s/.test(n[t]); )
149
- t++;
31
+ for (e++; e < s.length && /[a-zA-Z]/.test(s[e]); )
32
+ i += s[e], e++;
33
+ i ? t.push("\\" + i) : e < s.length && (t.push("\\" + s[e]), e++);
34
+ } else if (n === "{" || n === "}" || n === "^" || n === "_")
35
+ t.push(n), e++;
36
+ else if (/\s/.test(n))
37
+ for (t.push(" "), e++; e < s.length && /\s/.test(s[e]); )
38
+ e++;
150
39
  else
151
- e.push(s), t++;
40
+ t.push(n), e++;
152
41
  }
153
- return e;
42
+ return t;
154
43
  }
155
- function A(n) {
156
- const e = [];
157
- let t = 0;
158
- for (; t < n.length; ) {
159
- const s = n[t];
160
- if (s === "^") {
161
- t++;
162
- const i = m(n, t);
163
- e.push({
44
+ function M(s) {
45
+ const t = [];
46
+ let e = 0;
47
+ for (; e < s.length; ) {
48
+ const n = s[e];
49
+ if (n === "^") {
50
+ e++;
51
+ const i = w(s, e);
52
+ t.push({
164
53
  type: "superscript",
165
54
  children: i.nodes
166
- }), t = i.nextIndex;
167
- } else if (s === "_") {
168
- t++;
169
- const i = m(n, t);
170
- e.push({
55
+ }), e = i.nextIndex;
56
+ } else if (n === "_") {
57
+ e++;
58
+ const i = w(s, e);
59
+ t.push({
171
60
  type: "subscript",
172
61
  children: i.nodes
173
- }), t = i.nextIndex;
174
- } else if (s.startsWith("\\")) {
175
- const i = s.substring(1);
62
+ }), e = i.nextIndex;
63
+ } else if (n.startsWith("\\")) {
64
+ const i = n.substring(1);
176
65
  if (i === "frac") {
177
- t++;
178
- const o = m(n, t);
179
- t = o.nextIndex;
180
- const r = m(n, t);
181
- t = r.nextIndex, e.push({
66
+ e++;
67
+ const o = w(s, e);
68
+ e = o.nextIndex;
69
+ const l = w(s, e);
70
+ e = l.nextIndex, t.push({
182
71
  type: "fraction",
183
72
  numerator: o.nodes,
184
- denominator: r.nodes
73
+ denominator: l.nodes
185
74
  });
186
75
  } else if (i === "sqrt") {
187
- t++;
188
- const o = m(n, t);
189
- e.push({
76
+ e++;
77
+ const o = w(s, e);
78
+ t.push({
190
79
  type: "sqrt",
191
80
  children: o.nodes
192
- }), t = o.nextIndex;
193
- } else if (i === "text") {
194
- t++;
195
- const o = m(n, t), r = M(o.nodes);
196
- e.push({
81
+ }), e = o.nextIndex;
82
+ } else if (i === "text" || i === "mathrm" || i === "mathbf" || i === "mathit" || i === "operatorname") {
83
+ e++;
84
+ const o = w(s, e), l = v(o.nodes);
85
+ t.push({
197
86
  type: "textgroup",
198
- content: r
199
- }), t = o.nextIndex;
200
- } else q(i) ? (e.push({
87
+ content: l
88
+ }), e = o.nextIndex;
89
+ } else if (i in F) {
90
+ e++;
91
+ const o = w(s, e);
92
+ e = o.nextIndex;
93
+ const l = F[i], r = v(o.nodes);
94
+ let c = "";
95
+ for (const f of r) c += l[f] ?? f;
96
+ t.push({ type: "text", content: c });
97
+ } else i === "begin" ? e = Y(s, e, t) : _(i) ? (t.push({
201
98
  type: "symbol",
202
- content: z(i)
203
- }), t++) : i === "times" || i === "cdot" || i === "pm" || i === "mp" ? (e.push({
99
+ content: D(i)
100
+ }), e++) : i === "times" || i === "cdot" || i === "pm" || i === "mp" ? (t.push({
204
101
  type: "symbol",
205
- content: z(i)
206
- }), t++) : (e.push({
102
+ content: D(i)
103
+ }), e++) : (t.push({
207
104
  type: "text",
208
- content: s
209
- }), t++);
210
- } else if (s === "{") {
211
- const i = m(n, t);
212
- e.push({
105
+ content: n
106
+ }), e++);
107
+ } else if (n === "{") {
108
+ const i = w(s, e);
109
+ t.push({
213
110
  type: "group",
214
111
  children: i.nodes
215
- }), t = i.nextIndex;
112
+ }), e = i.nextIndex;
216
113
  } else
217
- e.push({
114
+ t.push({
218
115
  type: "text",
219
- content: s
220
- }), t++;
116
+ content: n
117
+ }), e++;
118
+ }
119
+ return t;
120
+ }
121
+ function Y(s, t, e) {
122
+ let n = t + 1, i = "";
123
+ if (s[n] === "{") {
124
+ for (n++; n < s.length && s[n] !== "}"; )
125
+ i += s[n], n++;
126
+ s[n] === "}" && n++;
127
+ }
128
+ const o = [];
129
+ let l = 1;
130
+ for (; n < s.length && l > 0; ) {
131
+ const a = s[n];
132
+ if (a === "\\begin")
133
+ l++, o.push(a), n++;
134
+ else if (a === "\\end")
135
+ if (l--, l === 0) {
136
+ if (n++, s[n] === "{") {
137
+ for (n++; n < s.length && s[n] !== "}"; ) n++;
138
+ s[n] === "}" && n++;
139
+ }
140
+ } else
141
+ o.push(a), n++;
142
+ else
143
+ o.push(a), n++;
221
144
  }
222
- return e;
145
+ const r = [];
146
+ let c = [], f = [];
147
+ const p = () => {
148
+ c.push(M(f)), f = [];
149
+ }, b = () => {
150
+ p(), r.push(c), c = [];
151
+ };
152
+ for (const a of o)
153
+ a === "&" ? p() : a === "\\\\" ? b() : f.push(a);
154
+ (f.length > 0 || c.length > 0) && b();
155
+ const m = $[i] ?? ["", ""];
156
+ return e.push({ type: "matrix", rows: r, delimiters: m }), n;
223
157
  }
224
- function m(n, e) {
225
- if (n[e] !== "{")
158
+ function w(s, t) {
159
+ if (s[t] !== "{")
226
160
  return {
227
161
  nodes: [
228
162
  {
229
163
  type: "text",
230
- content: n[e] || ""
164
+ content: s[t] || ""
231
165
  }
232
166
  ],
233
- nextIndex: e + 1
167
+ nextIndex: t + 1
234
168
  };
235
- let t = e + 1;
236
- const s = [];
169
+ let e = t + 1;
170
+ const n = [];
237
171
  let i = 1;
238
- for (; t < n.length && i > 0; ) {
239
- const o = n[t];
240
- o === "{" ? (i++, s.push(o)) : o === "}" ? (i--, i > 0 && s.push(o)) : s.push(o), t++;
172
+ for (; e < s.length && i > 0; ) {
173
+ const o = s[e];
174
+ o === "{" ? (i++, n.push(o)) : o === "}" ? (i--, i > 0 && n.push(o)) : n.push(o), e++;
241
175
  }
242
176
  return {
243
- nodes: A(s),
244
- nextIndex: t
177
+ nodes: M(n),
178
+ nextIndex: e
245
179
  };
246
180
  }
247
- function d(n, e) {
248
- let t = e.x, s = 0, i = 0;
249
- for (let o = 0; o < n.length; o++) {
250
- const r = n[o], f = r.type === "subscript", p = r.type === "superscript", u = n[o + 1], a = (u == null ? void 0 : u.type) === "subscript", c = (u == null ? void 0 : u.type) === "superscript";
251
- if (f && c || p && a) {
252
- const l = w(r, { ...e, x: t }), h = w(u, { ...e, x: t }), g = Math.max(l.width, h.width);
253
- t += g + e.fontSize * 0.15, s = Math.max(s, l.baseline, h.baseline), i = Math.max(i, l.height - l.baseline, h.height - h.baseline), o++;
181
+ function T(s, t) {
182
+ let e = t.x, n = 0, i = 0;
183
+ for (let o = 0; o < s.length; o++) {
184
+ const l = s[o], r = l.type === "subscript", c = l.type === "superscript", f = s[o + 1], p = (f == null ? void 0 : f.type) === "subscript", b = (f == null ? void 0 : f.type) === "superscript";
185
+ if (r && b || c && p) {
186
+ const m = C(l, { ...t, x: e }), a = C(f, { ...t, x: e }), u = Math.max(m.width, a.width);
187
+ e += u + t.fontSize * 0.15, n = Math.max(n, m.baseline, a.baseline), i = Math.max(i, m.height - m.baseline, a.height - a.baseline), o++;
254
188
  } else {
255
- const l = w(r, { ...e, x: t });
256
- t += l.width, (f || p) && (t += e.fontSize * 0.12), s = Math.max(s, l.baseline), i = Math.max(i, l.height - l.baseline);
189
+ const m = C(l, { ...t, x: e });
190
+ e += m.width, (r || c) && (e += t.fontSize * 0.12), n = Math.max(n, m.baseline), i = Math.max(i, m.height - m.baseline);
257
191
  }
258
192
  }
259
193
  return {
260
- width: t - e.x,
261
- height: s + i,
262
- baseline: s
194
+ width: e - t.x,
195
+ height: n + i,
196
+ baseline: n
263
197
  };
264
198
  }
265
- function w(n, e) {
266
- switch (n.type) {
199
+ function C(s, t) {
200
+ switch (s.type) {
267
201
  case "text":
268
- return C(n.content || "", e);
202
+ return R(s.content || "", t);
269
203
  case "textgroup":
270
- return C(n.content || "", e);
204
+ return R(s.content || "", t);
271
205
  case "symbol":
272
- return P(n.content || "", e);
206
+ return x(s.content || "", t);
273
207
  case "superscript":
274
- return R(n.children || [], e);
208
+ return K(s.children || [], t);
275
209
  case "subscript":
276
- return X(n.children || [], e);
210
+ return O(s.children || [], t);
277
211
  case "fraction":
278
- return I(
279
- n.numerator || [],
280
- n.denominator || [],
281
- e
212
+ return G(
213
+ s.numerator || [],
214
+ s.denominator || [],
215
+ t
282
216
  );
283
217
  case "sqrt":
284
- return O(n.children || [], e);
218
+ return J(s.children || [], t);
285
219
  case "group":
286
- return d(n.children || [], e);
220
+ return T(s.children || [], t);
221
+ case "matrix":
222
+ return k(s.rows || [], s.delimiters || ["", ""], t);
287
223
  default:
288
224
  return { width: 0, height: 0, baseline: 0 };
289
225
  }
290
226
  }
291
- function C(n, e) {
292
- e.ctx.save(), e.ctx.font = `${e.fontSize}px ${e.fontFamily}`, e.ctx.fillStyle = e.color, e.ctx.textAlign = "left", e.ctx.textBaseline = "alphabetic";
293
- const t = e.ctx.measureText(n);
294
- e.ctx.fillText(n, e.x, e.y), e.ctx.restore();
295
- const s = e.fontSize, i = s * 0.75;
227
+ function k(s, t, e) {
228
+ const n = s.length, i = s.reduce((h, d) => Math.max(h, d.length), 0);
229
+ if (n === 0 || i === 0)
230
+ return { width: 0, height: 0, baseline: 0 };
231
+ const o = e.fontSize * 0.35, l = e.fontSize * 0.25, r = e.fontSize * 0.35, c = s.map((h) => h.map((d) => A(d, e))), f = new Array(i).fill(0), p = new Array(n).fill(0), b = new Array(n).fill(0);
232
+ for (let h = 0; h < n; h++)
233
+ for (let d = 0; d < s[h].length; d++) {
234
+ const g = c[h][d];
235
+ f[d] = Math.max(f[d], g.width), p[h] = Math.max(p[h], g.baseline), b[h] = Math.max(b[h], g.height - g.baseline);
236
+ }
237
+ const m = p.map((h, d) => h + b[d]), a = m.reduce((h, d) => h + d, 0) + l * 2 * n, z = f.reduce((h, d) => h + d, 0) + o * 2 * i + r * 2, y = e.y - a / 2;
238
+ X(e, t[0], e.x, y, a, r, "left"), X(e, t[1], e.x + z - r, y, a, r, "right");
239
+ let S = y + l;
240
+ for (let h = 0; h < n; h++) {
241
+ let d = e.x + r + o;
242
+ for (let g = 0; g < i; g++) {
243
+ const I = s[h][g];
244
+ if (I) {
245
+ const q = c[h][g], B = d + (f[g] - q.width) / 2, L = S + p[h];
246
+ T(I, { ...e, x: B, y: L });
247
+ }
248
+ d += f[g] + o * 2;
249
+ }
250
+ S += m[h] + l * 2;
251
+ }
252
+ return { width: z, height: a, baseline: a / 2 };
253
+ }
254
+ function X(s, t, e, n, i, o, l) {
255
+ if (!t) return;
256
+ const r = s.ctx;
257
+ r.save(), r.strokeStyle = s.color, r.lineWidth = Math.max(1, s.fontSize * 0.05), r.lineCap = "round", r.lineJoin = "round";
258
+ const c = n + i, f = o * 0.7, p = (u) => {
259
+ r.beginPath(), u ? (r.moveTo(e + o, n), r.quadraticCurveTo(e, (n + c) / 2, e + o, c)) : (r.moveTo(e, n), r.quadraticCurveTo(e + o, (n + c) / 2, e, c)), r.stroke();
260
+ }, b = (u) => {
261
+ r.beginPath(), u ? (r.moveTo(e + f, n), r.lineTo(e, n), r.lineTo(e, c), r.lineTo(e + f, c)) : (r.moveTo(e + o - f, n), r.lineTo(e + o, n), r.lineTo(e + o, c), r.lineTo(e + o - f, c)), r.stroke();
262
+ }, m = (u) => {
263
+ r.beginPath(), r.moveTo(e + u, n), r.lineTo(e + u, c), r.stroke();
264
+ }, a = (u) => {
265
+ const z = (n + c) / 2, y = u ? e + o : e, S = u ? e : e + o;
266
+ r.beginPath(), r.moveTo(y, n), r.quadraticCurveTo(S, n + i * 0.25, (y + S) / 2, n + i * 0.4), r.quadraticCurveTo(S, z - 1, S, z), r.quadraticCurveTo(S, z + 1, (y + S) / 2, c - i * 0.4), r.quadraticCurveTo(S, c - i * 0.25, y, c), r.stroke();
267
+ };
268
+ switch (t) {
269
+ case "(":
270
+ p(!0);
271
+ break;
272
+ case ")":
273
+ p(!1);
274
+ break;
275
+ case "[":
276
+ b(!0);
277
+ break;
278
+ case "]":
279
+ b(!1);
280
+ break;
281
+ case "{":
282
+ a(!0);
283
+ break;
284
+ case "}":
285
+ a(!1);
286
+ break;
287
+ case "|":
288
+ m(o * 0.5);
289
+ break;
290
+ case "‖":
291
+ m(o * 0.3), m(o * 0.7);
292
+ break;
293
+ }
294
+ r.restore();
295
+ }
296
+ function R(s, t) {
297
+ t.ctx.save(), t.ctx.font = `${t.fontSize}px ${t.fontFamily}`, t.ctx.fillStyle = t.color, t.ctx.textAlign = "left", t.ctx.textBaseline = "alphabetic";
298
+ const e = t.ctx.measureText(s);
299
+ t.ctx.fillText(s, t.x, t.y), t.ctx.restore();
300
+ const n = t.fontSize, i = n * 0.75;
296
301
  return {
297
- width: t.width,
298
- height: s,
302
+ width: e.width,
303
+ height: n,
299
304
  baseline: i
300
305
  };
301
306
  }
302
- function P(n, e) {
303
- e.ctx.save(), e.ctx.font = `${e.fontSize * 1.1}px ${e.fontFamily}`, e.ctx.fillStyle = e.color, e.ctx.textAlign = "left", e.ctx.textBaseline = "alphabetic";
304
- const t = e.ctx.measureText(n);
305
- e.ctx.fillText(n, e.x, e.y), e.ctx.restore();
306
- const s = e.fontSize * 1.1, i = s * 0.75;
307
+ function x(s, t) {
308
+ t.ctx.save(), t.ctx.font = `${t.fontSize * 1.1}px ${t.fontFamily}`, t.ctx.fillStyle = t.color, t.ctx.textAlign = "left", t.ctx.textBaseline = "alphabetic";
309
+ const e = t.ctx.measureText(s);
310
+ t.ctx.fillText(s, t.x, t.y), t.ctx.restore();
311
+ const n = t.fontSize * 1.1, i = n * 0.75;
307
312
  return {
308
- width: t.width,
309
- height: s,
313
+ width: e.width,
314
+ height: n,
310
315
  baseline: i
311
316
  };
312
317
  }
313
- function R(n, e) {
314
- const t = e.fontSize * 0.7, s = -e.fontSize * 0.4, i = d(n, {
315
- ...e,
316
- fontSize: t,
317
- y: e.y + s
318
- }), o = i.baseline, r = i.height - i.baseline;
318
+ function K(s, t) {
319
+ const e = t.fontSize * 0.7, n = -t.fontSize * 0.4, i = T(s, {
320
+ ...t,
321
+ fontSize: e,
322
+ y: t.y + n
323
+ }), o = i.baseline, l = i.height - i.baseline;
319
324
  return {
320
325
  width: i.width,
321
- height: o - s + (r + s),
322
- baseline: o - s
326
+ height: o - n + (l + n),
327
+ baseline: o - n
323
328
  };
324
329
  }
325
- function X(n, e) {
326
- const t = e.fontSize * 0.7, s = e.fontSize * 0.3, i = d(n, {
327
- ...e,
328
- fontSize: t,
329
- y: e.y + s
330
- }), o = i.baseline, r = i.height - i.baseline;
330
+ function O(s, t) {
331
+ const e = t.fontSize * 0.7, n = t.fontSize * 0.3, i = T(s, {
332
+ ...t,
333
+ fontSize: e,
334
+ y: t.y + n
335
+ }), o = i.baseline, l = i.height - i.baseline;
331
336
  return {
332
337
  width: i.width,
333
- height: o - s + (r + s),
334
- baseline: o - s
338
+ height: o - n + (l + n),
339
+ baseline: o - n
335
340
  };
336
341
  }
337
- function I(n, e, t) {
338
- const s = t.fontSize * 0.85, i = Math.max(1, t.fontSize * 0.05), o = t.fontSize * 0.1, r = v(n, {
339
- ...t,
340
- fontSize: s
341
- }), f = v(e, {
342
- ...t,
343
- fontSize: s
344
- }), p = Math.max(r.width, f.width), u = r.height + f.height + o * 2 + i, a = t.x + (p - r.width) / 2, c = t.y - o - i / 2;
345
- d(n, {
346
- ...t,
347
- x: a,
348
- y: c,
349
- fontSize: s
350
- }), t.ctx.fillStyle = t.color, t.ctx.fillRect(
351
- t.x,
352
- t.y - i / 2,
353
- p,
342
+ function G(s, t, e) {
343
+ const n = e.fontSize * 0.85, i = Math.max(1, e.fontSize * 0.05), o = e.fontSize * 0.1, l = A(s, {
344
+ ...e,
345
+ fontSize: n
346
+ }), r = A(t, {
347
+ ...e,
348
+ fontSize: n
349
+ }), c = Math.max(l.width, r.width), f = l.height + r.height + o * 2 + i, p = e.x + (c - l.width) / 2, b = e.y - o - i / 2;
350
+ T(s, {
351
+ ...e,
352
+ x: p,
353
+ y: b,
354
+ fontSize: n
355
+ }), e.ctx.fillStyle = e.color, e.ctx.fillRect(
356
+ e.x,
357
+ e.y - i / 2,
358
+ c,
354
359
  i
355
360
  );
356
- const l = t.x + (p - f.width) / 2, h = t.y + f.baseline + o + i / 2;
357
- return d(e, {
358
- ...t,
359
- x: l,
360
- y: h,
361
- fontSize: s
361
+ const m = e.x + (c - r.width) / 2, a = e.y + r.baseline + o + i / 2;
362
+ return T(t, {
363
+ ...e,
364
+ x: m,
365
+ y: a,
366
+ fontSize: n
362
367
  }), {
363
- width: p,
364
- height: u,
365
- baseline: u / 2
368
+ width: c,
369
+ height: f,
370
+ baseline: f / 2
366
371
  };
367
372
  }
368
- function O(n, e) {
369
- const t = d(n, {
370
- ...e,
371
- x: e.x + e.fontSize * 0.4
372
- }), s = t.width + e.fontSize * 0.5, i = t.height * 1.1;
373
- return e.ctx.save(), e.ctx.strokeStyle = e.color, e.ctx.lineWidth = Math.max(1, e.fontSize * 0.05), e.ctx.lineCap = "round", e.ctx.lineJoin = "miter", e.ctx.beginPath(), e.ctx.moveTo(e.x, e.y - i * 0.3), e.ctx.lineTo(e.x + e.fontSize * 0.15, e.y), e.ctx.lineTo(e.x + e.fontSize * 0.3, e.y - i * 0.9), e.ctx.lineTo(e.x + s, e.y - i * 0.9), e.ctx.stroke(), e.ctx.restore(), {
374
- width: s,
373
+ function J(s, t) {
374
+ const e = T(s, {
375
+ ...t,
376
+ x: t.x + t.fontSize * 0.4
377
+ }), n = e.width + t.fontSize * 0.5, i = e.height * 1.1;
378
+ return t.ctx.save(), t.ctx.strokeStyle = t.color, t.ctx.lineWidth = Math.max(1, t.fontSize * 0.05), t.ctx.lineCap = "round", t.ctx.lineJoin = "miter", t.ctx.beginPath(), t.ctx.moveTo(t.x, t.y - i * 0.3), t.ctx.lineTo(t.x + t.fontSize * 0.15, t.y), t.ctx.lineTo(t.x + t.fontSize * 0.3, t.y - i * 0.9), t.ctx.lineTo(t.x + n, t.y - i * 0.9), t.ctx.stroke(), t.ctx.restore(), {
379
+ width: n,
375
380
  height: i,
376
- baseline: t.baseline
381
+ baseline: e.baseline
377
382
  };
378
383
  }
379
- function v(n, e) {
380
- const s = document.createElement("canvas").getContext("2d");
381
- return s ? d(n, { ...e, ctx: s, x: 0, y: 0 }) : { width: 0, height: 0, baseline: 0 };
384
+ function A(s, t) {
385
+ const n = document.createElement("canvas").getContext("2d");
386
+ return n ? T(s, { ...t, ctx: n, x: 0, y: 0 }) : { width: 0, height: 0, baseline: 0 };
382
387
  }
383
- function _(n = {}) {
384
- const t = { ...{
388
+ function V(s = {}) {
389
+ const e = { ...{
385
390
  fontSize: 14,
386
391
  fontFamily: "serif",
387
392
  color: "#000000",
388
393
  enableCache: !0,
389
394
  customSymbols: {}
390
- }, ...n }, s = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
391
- function o() {
392
- s.clear(), i.clear();
395
+ }, ...s }, n = 1e3;
396
+ function i(a) {
397
+ if (a.size > n) {
398
+ const u = a.keys().next().value;
399
+ u !== void 0 && a.delete(u);
400
+ }
393
401
  }
394
- function r(a) {
395
- if (!t.enableCache)
396
- return T(a);
397
- let c = s.get(a);
398
- return c || (c = T(a), s.set(a, c)), c;
402
+ const o = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map();
403
+ function r() {
404
+ o.clear(), l.clear();
399
405
  }
400
- function f(a, c, l, h, g = {}) {
401
- const y = { ...t, ...g }, b = r(a);
402
- return d(b, {
403
- ctx: c,
404
- x: l,
405
- y: h,
406
- fontSize: y.fontSize,
407
- fontFamily: y.fontFamily,
408
- color: y.color,
406
+ function c(a) {
407
+ if (!e.enableCache)
408
+ return P(a);
409
+ let u = o.get(a);
410
+ return u || (u = P(a), o.set(a, u), i(o)), u;
411
+ }
412
+ function f(a, u, z, y, S = {}) {
413
+ const h = { ...e, ...S }, d = c(a);
414
+ return T(d, {
415
+ ctx: u,
416
+ x: z,
417
+ y,
418
+ fontSize: h.fontSize,
419
+ fontFamily: h.fontFamily,
420
+ color: h.color,
409
421
  scale: 1
410
422
  });
411
423
  }
412
- function p(a, c = {}) {
413
- const l = `${a}:${c.fontSize || t.fontSize}`;
414
- if (t.enableCache && i.has(l))
415
- return i.get(l);
416
- const h = { ...t, ...c }, g = r(a), b = document.createElement("canvas").getContext("2d");
417
- if (!b)
424
+ function p(a, u = {}) {
425
+ const z = `${a}:${u.fontSize || e.fontSize}`;
426
+ if (e.enableCache && l.has(z))
427
+ return l.get(z);
428
+ const y = { ...e, ...u }, S = c(a), d = document.createElement("canvas").getContext("2d");
429
+ if (!d)
418
430
  return { width: 0, height: 0, baseline: 0 };
419
- const S = d(g, {
420
- ctx: b,
431
+ const g = T(S, {
432
+ ctx: d,
421
433
  x: 0,
422
434
  y: 0,
423
- fontSize: h.fontSize,
424
- fontFamily: h.fontFamily,
425
- color: h.color,
435
+ fontSize: y.fontSize,
436
+ fontFamily: y.fontFamily,
437
+ color: y.color,
426
438
  scale: 1
427
439
  });
428
- return t.enableCache && i.set(l, S), S;
440
+ return e.enableCache && (l.set(z, g), i(l)), g;
441
+ }
442
+ function b() {
443
+ return {
444
+ parseCache: o.size,
445
+ measureCache: l.size,
446
+ maxEntries: n
447
+ };
429
448
  }
430
449
  return {
431
450
  manifest: {
@@ -439,16 +458,17 @@ function _(n = {}) {
439
458
  a.log.info("LaTeX plugin initialized");
440
459
  },
441
460
  onDestroy(a) {
442
- o(), a.log.info("LaTeX plugin destroyed");
461
+ r(), a.log.info("LaTeX plugin destroyed");
443
462
  },
444
463
  api: {
445
464
  render: f,
446
465
  measure: p,
447
- clearCache: o
466
+ clearCache: r,
467
+ getCacheStats: b
448
468
  }
449
469
  };
450
470
  }
451
471
  export {
452
- _ as PluginLaTeX
472
+ V as PluginLaTeX
453
473
  };
454
474
  //# sourceMappingURL=latex.js.map