ooxml-core 1.12.2 → 1.14.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 (682) hide show
  1. package/dist/PptxHandler-5YP75BPO.cjs +12 -0
  2. package/dist/PptxHandler-GT5Q66TG.mjs +3 -0
  3. package/dist/{PptxHandler-FIN6XDTI.mjs → PptxHandler-KNBFECUE.mjs} +3 -3
  4. package/dist/PresentationBuilder-5DCCFHWJ.mjs +7 -0
  5. package/dist/PresentationBuilder-CVM6LJ7L.mjs +3 -0
  6. package/dist/PresentationBuilder-II7C4A3R.cjs +20 -0
  7. package/dist/automation/docx.d.ts +18 -0
  8. package/dist/automation/docx.d.ts.map +1 -1
  9. package/dist/automation/index.cjs +22549 -8585
  10. package/dist/automation/index.d.ts +1 -0
  11. package/dist/automation/index.d.ts.map +1 -1
  12. package/dist/automation/index.mjs +22546 -8586
  13. package/dist/automation/node.cjs +66 -6
  14. package/dist/automation/node.d.ts +10 -0
  15. package/dist/automation/node.d.ts.map +1 -1
  16. package/dist/automation/node.mjs +67 -7
  17. package/dist/automation/outline.d.ts +29 -0
  18. package/dist/automation/outline.d.ts.map +1 -0
  19. package/dist/automation/xlsx.d.ts +21 -0
  20. package/dist/automation/xlsx.d.ts.map +1 -1
  21. package/dist/chart/auto-title.d.ts +31 -0
  22. package/dist/chart/auto-title.d.ts.map +1 -0
  23. package/dist/chart/axis-format.d.ts +13 -0
  24. package/dist/chart/axis-format.d.ts.map +1 -0
  25. package/dist/chart/bubble-radius.d.ts +30 -0
  26. package/dist/chart/bubble-radius.d.ts.map +1 -0
  27. package/dist/chart/error-bar-amount.d.ts +22 -0
  28. package/dist/chart/error-bar-amount.d.ts.map +1 -0
  29. package/dist/chart/hierarchy.d.ts +69 -0
  30. package/dist/chart/hierarchy.d.ts.map +1 -0
  31. package/dist/chart/index.cjs +2377 -527
  32. package/dist/chart/index.d.ts +12 -0
  33. package/dist/chart/index.d.ts.map +1 -1
  34. package/dist/chart/index.mjs +2338 -528
  35. package/dist/chart/model-analysis.d.ts +66 -0
  36. package/dist/chart/model-analysis.d.ts.map +1 -0
  37. package/dist/chart/model-series.d.ts +5 -0
  38. package/dist/chart/model-series.d.ts.map +1 -1
  39. package/dist/chart/number-format-pattern.d.ts +35 -0
  40. package/dist/chart/number-format-pattern.d.ts.map +1 -0
  41. package/dist/chart/number-format.d.ts +21 -0
  42. package/dist/chart/number-format.d.ts.map +1 -0
  43. package/dist/chart/parse-analysis.d.ts +13 -0
  44. package/dist/chart/parse-analysis.d.ts.map +1 -0
  45. package/dist/chart/parse-series.d.ts +1 -1
  46. package/dist/chart/parse-series.d.ts.map +1 -1
  47. package/dist/chart/parse-util.d.ts +2 -0
  48. package/dist/chart/parse-util.d.ts.map +1 -1
  49. package/dist/chart/render/chart-svg-analysis.d.ts +7 -0
  50. package/dist/chart/render/chart-svg-analysis.d.ts.map +1 -0
  51. package/dist/chart/render/chart-svg-bars.d.ts +5 -0
  52. package/dist/chart/render/chart-svg-bars.d.ts.map +1 -1
  53. package/dist/chart/render/chart-svg-cartesian.d.ts +7 -2
  54. package/dist/chart/render/chart-svg-cartesian.d.ts.map +1 -1
  55. package/dist/chart/render/chart-svg-hierarchy.d.ts +5 -0
  56. package/dist/chart/render/chart-svg-hierarchy.d.ts.map +1 -0
  57. package/dist/chart/render/chart-svg-plots.d.ts +5 -0
  58. package/dist/chart/render/chart-svg-plots.d.ts.map +1 -0
  59. package/dist/chart/render/chart-svg-stock.d.ts +4 -0
  60. package/dist/chart/render/chart-svg-stock.d.ts.map +1 -0
  61. package/dist/chart/render/chart-svg-waterfall.d.ts +4 -0
  62. package/dist/chart/render/chart-svg-waterfall.d.ts.map +1 -0
  63. package/dist/chart/render/chart-svg-xy.d.ts +4 -0
  64. package/dist/chart/render/chart-svg-xy.d.ts.map +1 -0
  65. package/dist/chart/render/chart-svg.d.ts +1 -1
  66. package/dist/chart/render/chart-svg.d.ts.map +1 -1
  67. package/dist/chart/render/chart-value-axis.d.ts +6 -1
  68. package/dist/chart/render/chart-value-axis.d.ts.map +1 -1
  69. package/dist/chart/render/chart-view-analysis.d.ts +30 -0
  70. package/dist/chart/render/chart-view-analysis.d.ts.map +1 -0
  71. package/dist/chart/render/chart-view-ex.d.ts +24 -0
  72. package/dist/chart/render/chart-view-ex.d.ts.map +1 -0
  73. package/dist/chart/render/chart-view-families.d.ts +10 -0
  74. package/dist/chart/render/chart-view-families.d.ts.map +1 -0
  75. package/dist/chart/render/chart-view-series.d.ts +36 -0
  76. package/dist/chart/render/chart-view-series.d.ts.map +1 -0
  77. package/dist/chart/render/chart-view-stock.d.ts +23 -0
  78. package/dist/chart/render/chart-view-stock.d.ts.map +1 -0
  79. package/dist/chart/render/chart-view.d.ts +49 -18
  80. package/dist/chart/render/chart-view.d.ts.map +1 -1
  81. package/dist/chart/render/index.d.ts +2 -0
  82. package/dist/chart/render/index.d.ts.map +1 -1
  83. package/dist/chart/render/render-space.d.ts +6 -1
  84. package/dist/chart/render/render-space.d.ts.map +1 -1
  85. package/dist/chart/render/summary-analysis.d.ts +11 -0
  86. package/dist/chart/render/summary-analysis.d.ts.map +1 -0
  87. package/dist/chart/render/summary-from-chartex.d.ts +11 -0
  88. package/dist/chart/render/summary-from-chartex.d.ts.map +1 -0
  89. package/dist/chart/render/summary-from-space.d.ts.map +1 -1
  90. package/dist/chart/render/summary.d.ts +86 -3
  91. package/dist/chart/render/summary.d.ts.map +1 -1
  92. package/dist/chart/stock-candles.d.ts +72 -0
  93. package/dist/chart/stock-candles.d.ts.map +1 -0
  94. package/dist/chart/style-palette.d.ts +29 -0
  95. package/dist/chart/style-palette.d.ts.map +1 -0
  96. package/dist/chart/sunburst-arcs.d.ts +41 -0
  97. package/dist/chart/sunburst-arcs.d.ts.map +1 -0
  98. package/dist/chart/trendline-fit.d.ts +39 -0
  99. package/dist/chart/trendline-fit.d.ts.map +1 -0
  100. package/dist/chart/waterfall.d.ts +31 -0
  101. package/dist/chart/waterfall.d.ts.map +1 -0
  102. package/dist/chart/write-analysis.d.ts +12 -0
  103. package/dist/chart/write-analysis.d.ts.map +1 -0
  104. package/dist/chart/write-series.d.ts.map +1 -1
  105. package/dist/{chunk-G5PQKHCG.mjs → chunk-2D4IFQ5M.mjs} +1 -1
  106. package/dist/{chunk-UAY26XOI.mjs → chunk-2EBMHIGJ.mjs} +1303 -994
  107. package/dist/{chunk-TVE6UIJF.mjs → chunk-4WZLFUUA.mjs} +54 -13
  108. package/dist/{chunk-H2FRDUNV.mjs → chunk-54ASP65T.mjs} +868 -585
  109. package/dist/chunk-M4XLF4R7.mjs +387 -0
  110. package/dist/{chunk-O6NIA4NG.mjs → chunk-ORH32TO3.mjs} +5798 -5742
  111. package/dist/{chunk-B2JBBAEQ.mjs → chunk-TNNXOW2O.mjs} +1 -1
  112. package/dist/{chunk-IT3U6QD6.cjs → chunk-TQE7FFNT.cjs} +6754 -6695
  113. package/dist/{chunk-7QZGRB3T.cjs → chunk-X7MGZQ6C.cjs} +1321 -995
  114. package/dist/{chunk-6DELVMYB.mjs → chunk-XGXIS4PN.mjs} +12316 -12260
  115. package/dist/crypto/decrypt.d.ts +17 -3
  116. package/dist/crypto/decrypt.d.ts.map +1 -1
  117. package/dist/crypto/encryption-info.d.ts.map +1 -1
  118. package/dist/crypto/index.cjs +252 -78
  119. package/dist/crypto/index.d.ts +19 -4
  120. package/dist/crypto/index.d.ts.map +1 -1
  121. package/dist/crypto/index.mjs +252 -79
  122. package/dist/crypto/key-derivation.d.ts +2 -3
  123. package/dist/crypto/key-derivation.d.ts.map +1 -1
  124. package/dist/crypto/validate.d.ts +22 -0
  125. package/dist/crypto/validate.d.ts.map +1 -0
  126. package/dist/diagram/engine/layout-def-parse.d.ts.map +1 -1
  127. package/dist/diagram/engine/pres-tree.d.ts.map +1 -1
  128. package/dist/diagram/index.cjs +102 -52
  129. package/dist/diagram/index.mjs +102 -52
  130. package/dist/digest/index.cjs +23 -11
  131. package/dist/digest/index.d.ts +2 -1
  132. package/dist/digest/index.d.ts.map +1 -1
  133. package/dist/digest/index.mjs +21 -12
  134. package/dist/digest/password-hash.d.ts +19 -5
  135. package/dist/digest/password-hash.d.ts.map +1 -1
  136. package/dist/digest/timing-safe.d.ts +7 -0
  137. package/dist/digest/timing-safe.d.ts.map +1 -0
  138. package/dist/docx/block-parser.d.ts.map +1 -1
  139. package/dist/docx/chart-paint.d.ts.map +1 -1
  140. package/dist/docx/chart.d.ts +10 -2
  141. package/dist/docx/chart.d.ts.map +1 -1
  142. package/dist/docx/content-control-edit.d.ts +26 -0
  143. package/dist/docx/content-control-edit.d.ts.map +1 -0
  144. package/dist/docx/content-control-model.d.ts +51 -0
  145. package/dist/docx/content-control-model.d.ts.map +1 -0
  146. package/dist/docx/content-control.d.ts +9 -0
  147. package/dist/docx/content-control.d.ts.map +1 -0
  148. package/dist/docx/default-styles.d.ts.map +1 -1
  149. package/dist/docx/drawing.d.ts.map +1 -1
  150. package/dist/docx/embedded.cjs +9932 -935
  151. package/dist/docx/embedded.mjs +9932 -935
  152. package/dist/docx/equation.d.ts +7 -3
  153. package/dist/docx/equation.d.ts.map +1 -1
  154. package/dist/docx/index.cjs +14117 -1513
  155. package/dist/docx/index.d.ts +6 -0
  156. package/dist/docx/index.d.ts.map +1 -1
  157. package/dist/docx/index.mjs +14093 -1514
  158. package/dist/docx/inline-model.d.ts +3 -0
  159. package/dist/docx/inline-model.d.ts.map +1 -1
  160. package/dist/docx/layout/adapt-floats.d.ts +3 -3
  161. package/dist/docx/layout/adapt-floats.d.ts.map +1 -1
  162. package/dist/docx/layout/adapter.d.ts.map +1 -1
  163. package/dist/docx/layout/equation-object.d.ts +7 -0
  164. package/dist/docx/layout/equation-object.d.ts.map +1 -0
  165. package/dist/docx/layout/floats.d.ts +8 -0
  166. package/dist/docx/layout/floats.d.ts.map +1 -1
  167. package/dist/docx/layout/incremental-layout.d.ts +39 -0
  168. package/dist/docx/layout/incremental-layout.d.ts.map +1 -0
  169. package/dist/docx/layout/index.cjs +14177 -1707
  170. package/dist/docx/layout/index.d.ts +2 -2
  171. package/dist/docx/layout/index.d.ts.map +1 -1
  172. package/dist/docx/layout/index.mjs +14176 -1708
  173. package/dist/docx/layout/input.d.ts +4 -0
  174. package/dist/docx/layout/input.d.ts.map +1 -1
  175. package/dist/docx/layout/layout-session.d.ts +13 -2
  176. package/dist/docx/layout/layout-session.d.ts.map +1 -1
  177. package/dist/docx/layout/layout.d.ts +1 -1
  178. package/dist/docx/layout/layout.d.ts.map +1 -1
  179. package/dist/docx/layout/line-metrics.d.ts.map +1 -1
  180. package/dist/docx/layout/page-cursor.d.ts +1 -1
  181. package/dist/docx/layout/page-cursor.d.ts.map +1 -1
  182. package/dist/docx/layout/page-fields.d.ts +3 -1
  183. package/dist/docx/layout/page-fields.d.ts.map +1 -1
  184. package/dist/docx/layout/result.d.ts +14 -1
  185. package/dist/docx/layout/result.d.ts.map +1 -1
  186. package/dist/docx/layout/section-flow.d.ts +11 -1
  187. package/dist/docx/layout/section-flow.d.ts.map +1 -1
  188. package/dist/docx/ligatures.d.ts +2 -0
  189. package/dist/docx/ligatures.d.ts.map +1 -1
  190. package/dist/docx/load/index.cjs +12709 -3590
  191. package/dist/docx/load/index.mjs +12709 -3590
  192. package/dist/docx/model-paragraph.d.ts +3 -0
  193. package/dist/docx/model-paragraph.d.ts.map +1 -1
  194. package/dist/docx/model-run.d.ts +3 -0
  195. package/dist/docx/model-run.d.ts.map +1 -1
  196. package/dist/docx/model.d.ts +3 -0
  197. package/dist/docx/model.d.ts.map +1 -1
  198. package/dist/docx/numbering-parse.d.ts.map +1 -1
  199. package/dist/docx/numbering-text.d.ts.map +1 -1
  200. package/dist/docx/package-limits.d.ts +6 -0
  201. package/dist/docx/package-limits.d.ts.map +1 -0
  202. package/dist/docx/parse-content-control.d.ts +28 -0
  203. package/dist/docx/parse-content-control.d.ts.map +1 -0
  204. package/dist/docx/parse-table.d.ts.map +1 -1
  205. package/dist/docx/parse.d.ts.map +1 -1
  206. package/dist/docx/save.d.ts.map +1 -1
  207. package/dist/docx/shape-model.d.ts +31 -0
  208. package/dist/docx/shape-model.d.ts.map +1 -0
  209. package/dist/docx/shape-palette.d.ts +19 -0
  210. package/dist/docx/shape-palette.d.ts.map +1 -0
  211. package/dist/docx/shape-parse.d.ts +16 -0
  212. package/dist/docx/shape-parse.d.ts.map +1 -0
  213. package/dist/docx/shape-svg.d.ts +20 -0
  214. package/dist/docx/shape-svg.d.ts.map +1 -0
  215. package/dist/docx/table-model.d.ts +4 -0
  216. package/dist/docx/table-model.d.ts.map +1 -1
  217. package/dist/docx/ui/content-control-commands.d.ts +37 -0
  218. package/dist/docx/ui/content-control-commands.d.ts.map +1 -0
  219. package/dist/docx/ui/content-control-guard.d.ts +8 -0
  220. package/dist/docx/ui/content-control-guard.d.ts.map +1 -0
  221. package/dist/docx/ui/content-control-spans.d.ts +19 -0
  222. package/dist/docx/ui/content-control-spans.d.ts.map +1 -0
  223. package/dist/docx/ui/index.cjs +3132 -506
  224. package/dist/docx/ui/index.d.ts +3 -0
  225. package/dist/docx/ui/index.d.ts.map +1 -1
  226. package/dist/docx/ui/index.mjs +3117 -507
  227. package/dist/docx/ui/inline-content-schema.d.ts.map +1 -1
  228. package/dist/docx/ui/paragraph-attributes.d.ts.map +1 -1
  229. package/dist/docx/ui/ribbon-action-ids.d.ts +1 -1
  230. package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -1
  231. package/dist/docx/ui/run-adapter.d.ts.map +1 -1
  232. package/dist/docx/ui/run-compare.d.ts.map +1 -1
  233. package/dist/docx/ui/run-mark-properties.d.ts.map +1 -1
  234. package/dist/docx/ui/run-marks.d.ts.map +1 -1
  235. package/dist/docx/ui/schema-marks.d.ts +16 -1
  236. package/dist/docx/ui/schema-marks.d.ts.map +1 -1
  237. package/dist/docx/ui/table-structure-guard.d.ts.map +1 -1
  238. package/dist/docx/write-block-placement.d.ts +9 -0
  239. package/dist/docx/write-block-placement.d.ts.map +1 -0
  240. package/dist/docx/write-content-control.d.ts +12 -0
  241. package/dist/docx/write-content-control.d.ts.map +1 -0
  242. package/dist/docx/write-drawing.d.ts +2 -0
  243. package/dist/docx/write-drawing.d.ts.map +1 -1
  244. package/dist/docx/write-inline.d.ts.map +1 -1
  245. package/dist/docx/write-paragraph.d.ts.map +1 -1
  246. package/dist/docx/write-shape.d.ts +16 -0
  247. package/dist/docx/write-shape.d.ts.map +1 -0
  248. package/dist/docx/write-table.d.ts.map +1 -1
  249. package/dist/docx/write.d.ts.map +1 -1
  250. package/dist/drawingml/index.cjs +24 -0
  251. package/dist/drawingml/index.mjs +24 -0
  252. package/dist/geometry/index.cjs +63 -48
  253. package/dist/geometry/index.mjs +63 -48
  254. package/dist/geometry/preset-shape-definitions-table.d.ts.map +1 -1
  255. package/dist/i18n/index.cjs +266 -0
  256. package/dist/i18n/index.d.ts +1 -0
  257. package/dist/i18n/index.d.ts.map +1 -1
  258. package/dist/i18n/index.mjs +265 -1
  259. package/dist/i18n/option-strings.d.ts +17 -0
  260. package/dist/i18n/option-strings.d.ts.map +1 -0
  261. package/dist/index.cjs +4558 -1579
  262. package/dist/index.mjs +4558 -1579
  263. package/dist/math/equation-gallery.d.ts +10 -0
  264. package/dist/math/equation-gallery.d.ts.map +1 -0
  265. package/dist/math/index.cjs +777 -139
  266. package/dist/math/index.d.ts +3 -0
  267. package/dist/math/index.d.ts.map +1 -1
  268. package/dist/math/index.mjs +772 -140
  269. package/dist/math/latex-omml-siblings.d.ts.map +1 -1
  270. package/dist/math/latex-to-omml.d.ts.map +1 -1
  271. package/dist/math/omml-box-grouped.d.ts +9 -0
  272. package/dist/math/omml-box-grouped.d.ts.map +1 -0
  273. package/dist/math/omml-box-layout.d.ts +15 -0
  274. package/dist/math/omml-box-layout.d.ts.map +1 -0
  275. package/dist/math/omml-box-structures.d.ts +7 -0
  276. package/dist/math/omml-box-structures.d.ts.map +1 -0
  277. package/dist/math/omml-box.d.ts +85 -0
  278. package/dist/math/omml-box.d.ts.map +1 -0
  279. package/dist/math/omml-dom.d.ts.map +1 -1
  280. package/dist/math/omml-mathml-converters.d.ts.map +1 -1
  281. package/dist/math/omml-svg.d.ts +14 -0
  282. package/dist/math/omml-svg.d.ts.map +1 -0
  283. package/dist/math/omml-to-xml.d.ts +10 -0
  284. package/dist/math/omml-to-xml.d.ts.map +1 -0
  285. package/dist/opc/embedded-packages.d.ts.map +1 -1
  286. package/dist/opc/index.cjs +257 -22
  287. package/dist/opc/index.d.ts +1 -0
  288. package/dist/opc/index.d.ts.map +1 -1
  289. package/dist/opc/index.mjs +251 -23
  290. package/dist/opc/package.d.ts.map +1 -1
  291. package/dist/opc/signature/detection.d.ts +22 -6
  292. package/dist/opc/signature/detection.d.ts.map +1 -1
  293. package/dist/opc/signature/index.d.ts +1 -1
  294. package/dist/opc/signature/index.d.ts.map +1 -1
  295. package/dist/opc/signature/xml-utils.d.ts.map +1 -1
  296. package/dist/opc/zip-limits.d.ts +52 -0
  297. package/dist/opc/zip-limits.d.ts.map +1 -0
  298. package/dist/pptx/automation/index.cjs +1848 -1320
  299. package/dist/pptx/automation/index.d.ts +4 -4
  300. package/dist/pptx/automation/index.mjs +6 -6
  301. package/dist/pptx/chunks/{elements-DmbzOhFu.d.ts → elements-tK7xnWeS.d.ts} +20 -9
  302. package/dist/pptx/chunks/elements-tK7xnWeS.d.ts.map +1 -0
  303. package/dist/pptx/chunks/{index-Cija6Dih.d.ts → index-BSpNQuvz.d.ts} +30 -5
  304. package/dist/pptx/chunks/{index-Cija6Dih.d.ts.map → index-BSpNQuvz.d.ts.map} +1 -1
  305. package/dist/pptx/chunks/{index-BmvOxbsh.d.ts → index-DS9Y4Ne3.d.ts} +25 -9
  306. package/dist/pptx/chunks/index-DS9Y4Ne3.d.ts.map +1 -0
  307. package/dist/pptx/chunks/inspection-status-DjiWd_Aa.d.ts.map +1 -1
  308. package/dist/pptx/chunks/{text-operations-sXxhsKDd.d.ts → text-operations-BdD_UQ11.d.ts} +2 -2
  309. package/dist/pptx/chunks/{text-operations-sXxhsKDd.d.ts.map → text-operations-BdD_UQ11.d.ts.map} +1 -1
  310. package/dist/pptx/cli/index.cjs +1795 -1275
  311. package/dist/pptx/cli/index.d.ts +1 -1
  312. package/dist/pptx/cli/index.mjs +5 -5
  313. package/dist/pptx/converter/index.cjs +80 -54
  314. package/dist/pptx/converter/index.d.ts +1 -1
  315. package/dist/pptx/converter/index.mjs +3 -3
  316. package/dist/pptx/editor/render/find-replace.cjs +14 -14
  317. package/dist/pptx/editor/render/find-replace.d.ts +2 -2
  318. package/dist/pptx/editor/render/find-replace.mjs +1 -1
  319. package/dist/pptx/editor/render/slide-operations.cjs +8 -8
  320. package/dist/pptx/editor/render/slide-operations.mjs +2 -2
  321. package/dist/pptx/editor/render/text-runs-style-patch.d.ts +1 -1
  322. package/dist/pptx/editor/render/text-style-scope.d.ts +1 -1
  323. package/dist/pptx/index.cjs +1117 -351
  324. package/dist/pptx/index.d.ts +5 -5
  325. package/dist/pptx/index.mjs +6 -6
  326. package/dist/pptx/signature-node/index.cjs +342 -65
  327. package/dist/pptx/signature-node/index.d.ts +12 -1
  328. package/dist/pptx/signature-node/index.d.ts.map +1 -1
  329. package/dist/pptx/signature-node/index.mjs +112 -52
  330. package/dist/teams/activity-feed.d.ts +19 -0
  331. package/dist/teams/activity-feed.d.ts.map +1 -0
  332. package/dist/teams/activity-state.d.ts +12 -0
  333. package/dist/teams/activity-state.d.ts.map +1 -0
  334. package/dist/teams/activity.d.ts +52 -0
  335. package/dist/teams/activity.d.ts.map +1 -0
  336. package/dist/teams/calendar.d.ts +57 -0
  337. package/dist/teams/calendar.d.ts.map +1 -0
  338. package/dist/teams/chat-actions.d.ts +20 -0
  339. package/dist/teams/chat-actions.d.ts.map +1 -0
  340. package/dist/teams/chat-rooms.d.ts +42 -0
  341. package/dist/teams/chat-rooms.d.ts.map +1 -0
  342. package/dist/teams/chat-view.d.ts +56 -0
  343. package/dist/teams/chat-view.d.ts.map +1 -0
  344. package/dist/teams/chat.d.ts +25 -3
  345. package/dist/teams/chat.d.ts.map +1 -1
  346. package/dist/teams/chats.d.ts +52 -0
  347. package/dist/teams/chats.d.ts.map +1 -0
  348. package/dist/teams/ics-timezone.d.ts +17 -0
  349. package/dist/teams/ics-timezone.d.ts.map +1 -0
  350. package/dist/teams/ics.d.ts +20 -0
  351. package/dist/teams/ics.d.ts.map +1 -0
  352. package/dist/teams/index.cjs +12462 -7011
  353. package/dist/teams/index.d.ts +25 -0
  354. package/dist/teams/index.d.ts.map +1 -1
  355. package/dist/teams/index.mjs +12349 -7012
  356. package/dist/teams/meeting-actions.d.ts +31 -0
  357. package/dist/teams/meeting-actions.d.ts.map +1 -0
  358. package/dist/teams/meeting-exceptions.d.ts +28 -0
  359. package/dist/teams/meeting-exceptions.d.ts.map +1 -0
  360. package/dist/teams/meeting-reminders.d.ts +13 -0
  361. package/dist/teams/meeting-reminders.d.ts.map +1 -0
  362. package/dist/teams/meetings.d.ts +71 -0
  363. package/dist/teams/meetings.d.ts.map +1 -0
  364. package/dist/teams/mention-text.d.ts +11 -0
  365. package/dist/teams/mention-text.d.ts.map +1 -0
  366. package/dist/teams/mentions.d.ts +68 -0
  367. package/dist/teams/mentions.d.ts.map +1 -0
  368. package/dist/teams/model.d.ts +7 -0
  369. package/dist/teams/model.d.ts.map +1 -1
  370. package/dist/teams/notifications.d.ts +21 -0
  371. package/dist/teams/notifications.d.ts.map +1 -0
  372. package/dist/teams/pins.d.ts +22 -0
  373. package/dist/teams/pins.d.ts.map +1 -0
  374. package/dist/teams/presence-controller.d.ts +39 -0
  375. package/dist/teams/presence-controller.d.ts.map +1 -0
  376. package/dist/teams/presence.d.ts +55 -0
  377. package/dist/teams/presence.d.ts.map +1 -0
  378. package/dist/teams/recurrence.d.ts +18 -0
  379. package/dist/teams/recurrence.d.ts.map +1 -0
  380. package/dist/teams/roster.d.ts +12 -0
  381. package/dist/teams/roster.d.ts.map +1 -0
  382. package/dist/teams/server-config.d.ts +23 -2
  383. package/dist/teams/server-config.d.ts.map +1 -1
  384. package/dist/teams/server-session.d.ts +19 -0
  385. package/dist/teams/server-session.d.ts.map +1 -0
  386. package/dist/teams/shared-chat.d.ts +83 -0
  387. package/dist/teams/shared-chat.d.ts.map +1 -0
  388. package/dist/teams/store.d.ts +79 -5
  389. package/dist/teams/store.d.ts.map +1 -1
  390. package/dist/teams/sync-transport.d.ts +12 -0
  391. package/dist/teams/sync-transport.d.ts.map +1 -0
  392. package/dist/teams/time-zone.d.ts +32 -0
  393. package/dist/teams/time-zone.d.ts.map +1 -0
  394. package/dist/teams/view.d.ts +8 -0
  395. package/dist/teams/view.d.ts.map +1 -1
  396. package/dist/teams/workspace.d.ts +23 -4
  397. package/dist/teams/workspace.d.ts.map +1 -1
  398. package/dist/visio/edit-connector-follow.d.ts +15 -0
  399. package/dist/visio/edit-connector-follow.d.ts.map +1 -0
  400. package/dist/visio/edit-connector-obstacles.d.ts +9 -3
  401. package/dist/visio/edit-connector-obstacles.d.ts.map +1 -1
  402. package/dist/visio/edit-connector-reroute.d.ts.map +1 -1
  403. package/dist/visio/edit-connector.d.ts.map +1 -1
  404. package/dist/visio/edit-master-add.d.ts +37 -0
  405. package/dist/visio/edit-master-add.d.ts.map +1 -0
  406. package/dist/visio/edit-master-drop.d.ts +6 -0
  407. package/dist/visio/edit-master-drop.d.ts.map +1 -1
  408. package/dist/visio/edit-recalculate-index.d.ts +5 -0
  409. package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
  410. package/dist/visio/edit-recalculate-values.d.ts.map +1 -1
  411. package/dist/visio/edit-stencil-connector-layout.d.ts +2 -0
  412. package/dist/visio/edit-stencil-connector-layout.d.ts.map +1 -1
  413. package/dist/visio/edit-stencil-connector.d.ts +1 -0
  414. package/dist/visio/edit-stencil-connector.d.ts.map +1 -1
  415. package/dist/visio/edit-stencil-import.d.ts +10 -0
  416. package/dist/visio/edit-stencil-import.d.ts.map +1 -0
  417. package/dist/visio/edit-stencil-line.d.ts +29 -0
  418. package/dist/visio/edit-stencil-line.d.ts.map +1 -0
  419. package/dist/visio/edit-stencil-master.d.ts +3 -8
  420. package/dist/visio/edit-stencil-master.d.ts.map +1 -1
  421. package/dist/visio/edit.d.ts.map +1 -1
  422. package/dist/visio/formula-evaluate.d.ts.map +1 -1
  423. package/dist/visio/formula-math-functions.d.ts +11 -0
  424. package/dist/visio/formula-math-functions.d.ts.map +1 -0
  425. package/dist/visio/formula-text-functions.d.ts +23 -0
  426. package/dist/visio/formula-text-functions.d.ts.map +1 -0
  427. package/dist/visio/formula.d.ts.map +1 -1
  428. package/dist/visio/index.cjs +2552 -1833
  429. package/dist/visio/index.d.ts +1 -0
  430. package/dist/visio/index.d.ts.map +1 -1
  431. package/dist/visio/index.mjs +2552 -1834
  432. package/dist/visio/parser.d.ts +6 -0
  433. package/dist/visio/parser.d.ts.map +1 -1
  434. package/dist/visio/stencil-file.d.ts +14 -0
  435. package/dist/visio/stencil-file.d.ts.map +1 -0
  436. package/dist/visio/ui/index.cjs +2398 -1679
  437. package/dist/visio/ui/index.mjs +2398 -1680
  438. package/dist/visio/ui/master-drop.d.ts +10 -0
  439. package/dist/visio/ui/master-drop.d.ts.map +1 -1
  440. package/dist/xlsx/edit/cell-values.d.ts.map +1 -1
  441. package/dist/xlsx/edit/clipboard-html-parse.d.ts +4 -0
  442. package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -1
  443. package/dist/xlsx/edit/data-table.d.ts +38 -0
  444. package/dist/xlsx/edit/data-table.d.ts.map +1 -0
  445. package/dist/xlsx/edit/drawings.d.ts.map +1 -1
  446. package/dist/xlsx/edit/goal-seek.d.ts +30 -0
  447. package/dist/xlsx/edit/goal-seek.d.ts.map +1 -0
  448. package/dist/xlsx/edit/goal-solver.d.ts +20 -0
  449. package/dist/xlsx/edit/goal-solver.d.ts.map +1 -0
  450. package/dist/xlsx/edit/history.d.ts +1 -1
  451. package/dist/xlsx/edit/history.d.ts.map +1 -1
  452. package/dist/xlsx/edit/index.d.ts +5 -0
  453. package/dist/xlsx/edit/index.d.ts.map +1 -1
  454. package/dist/xlsx/edit/input-text.d.ts.map +1 -1
  455. package/dist/xlsx/edit/pivots.d.ts +2 -1
  456. package/dist/xlsx/edit/pivots.d.ts.map +1 -1
  457. package/dist/xlsx/edit/scenarios.d.ts +41 -0
  458. package/dist/xlsx/edit/scenarios.d.ts.map +1 -0
  459. package/dist/xlsx/edit/session.d.ts.map +1 -1
  460. package/dist/xlsx/edit/slicers.d.ts +34 -0
  461. package/dist/xlsx/edit/slicers.d.ts.map +1 -0
  462. package/dist/xlsx/edit/table-edits.d.ts.map +1 -1
  463. package/dist/xlsx/edit/timelines.d.ts +26 -0
  464. package/dist/xlsx/edit/timelines.d.ts.map +1 -0
  465. package/dist/xlsx/edit/types.d.ts +39 -0
  466. package/dist/xlsx/edit/types.d.ts.map +1 -1
  467. package/dist/xlsx/formula/context.d.ts +13 -0
  468. package/dist/xlsx/formula/context.d.ts.map +1 -1
  469. package/dist/xlsx/formula/engine.d.ts.map +1 -1
  470. package/dist/xlsx/formula/evaluator.d.ts.map +1 -1
  471. package/dist/xlsx/formula/functions/amordegrc.d.ts +6 -0
  472. package/dist/xlsx/formula/functions/amordegrc.d.ts.map +1 -0
  473. package/dist/xlsx/formula/functions/bahttext.d.ts +4 -0
  474. package/dist/xlsx/formula/functions/bahttext.d.ts.map +1 -0
  475. package/dist/xlsx/formula/functions/bessel.d.ts +7 -0
  476. package/dist/xlsx/formula/functions/bessel.d.ts.map +1 -0
  477. package/dist/xlsx/formula/functions/bonds.d.ts +3 -0
  478. package/dist/xlsx/formula/functions/bonds.d.ts.map +1 -1
  479. package/dist/xlsx/formula/functions/engineering.d.ts.map +1 -1
  480. package/dist/xlsx/formula/functions/financial.d.ts.map +1 -1
  481. package/dist/xlsx/formula/functions/getpivotdata.d.ts +2 -0
  482. package/dist/xlsx/formula/functions/getpivotdata.d.ts.map +1 -0
  483. package/dist/xlsx/formula/functions/groupby.d.ts +3 -0
  484. package/dist/xlsx/formula/functions/groupby.d.ts.map +1 -0
  485. package/dist/xlsx/formula/functions/helpers.d.ts +3 -2
  486. package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -1
  487. package/dist/xlsx/formula/functions/logical.d.ts.map +1 -1
  488. package/dist/xlsx/formula/functions/modern.d.ts +3 -0
  489. package/dist/xlsx/formula/functions/modern.d.ts.map +1 -0
  490. package/dist/xlsx/formula/functions/odd-securities.d.ts +3 -0
  491. package/dist/xlsx/formula/functions/odd-securities.d.ts.map +1 -0
  492. package/dist/xlsx/formula/functions/registry.d.ts.map +1 -1
  493. package/dist/xlsx/formula/functions/text-regex.d.ts +8 -0
  494. package/dist/xlsx/formula/functions/text-regex.d.ts.map +1 -1
  495. package/dist/xlsx/formula/functions/text.d.ts.map +1 -1
  496. package/dist/xlsx/formula/functions/wildcard.d.ts +8 -0
  497. package/dist/xlsx/formula/functions/wildcard.d.ts.map +1 -0
  498. package/dist/xlsx/formula/values.d.ts +11 -0
  499. package/dist/xlsx/formula/values.d.ts.map +1 -1
  500. package/dist/xlsx/index.cjs +11696 -4994
  501. package/dist/xlsx/index.d.ts +1 -0
  502. package/dist/xlsx/index.d.ts.map +1 -1
  503. package/dist/xlsx/index.mjs +11612 -4994
  504. package/dist/xlsx/layout/chart-view.d.ts.map +1 -1
  505. package/dist/xlsx/layout/header-footer-edit.d.ts +16 -0
  506. package/dist/xlsx/layout/header-footer-edit.d.ts.map +1 -0
  507. package/dist/xlsx/layout/index.d.ts +3 -0
  508. package/dist/xlsx/layout/index.d.ts.map +1 -1
  509. package/dist/xlsx/layout/page-break-view.d.ts +39 -0
  510. package/dist/xlsx/layout/page-break-view.d.ts.map +1 -0
  511. package/dist/xlsx/layout/page-view.d.ts +69 -0
  512. package/dist/xlsx/layout/page-view.d.ts.map +1 -0
  513. package/dist/xlsx/layout/ref-evaluator.d.ts.map +1 -1
  514. package/dist/xlsx/load/index.cjs +5718 -2191
  515. package/dist/xlsx/load/index.mjs +5717 -2190
  516. package/dist/xlsx/model-pivots.d.ts +88 -2
  517. package/dist/xlsx/model-pivots.d.ts.map +1 -1
  518. package/dist/xlsx/model-slicers.d.ts +146 -0
  519. package/dist/xlsx/model-slicers.d.ts.map +1 -0
  520. package/dist/xlsx/model-whatif.d.ts +51 -0
  521. package/dist/xlsx/model-whatif.d.ts.map +1 -0
  522. package/dist/xlsx/model.d.ts +26 -1
  523. package/dist/xlsx/model.d.ts.map +1 -1
  524. package/dist/xlsx/pivot/admission.d.ts.map +1 -1
  525. package/dist/xlsx/pivot/aggregate.d.ts +15 -6
  526. package/dist/xlsx/pivot/aggregate.d.ts.map +1 -1
  527. package/dist/xlsx/pivot/axes.d.ts +6 -0
  528. package/dist/xlsx/pivot/axes.d.ts.map +1 -0
  529. package/dist/xlsx/pivot/cache-xml.d.ts.map +1 -1
  530. package/dist/xlsx/pivot/columns.d.ts +48 -0
  531. package/dist/xlsx/pivot/columns.d.ts.map +1 -0
  532. package/dist/xlsx/pivot/data.d.ts +9 -3
  533. package/dist/xlsx/pivot/data.d.ts.map +1 -1
  534. package/dist/xlsx/pivot/date-axes.d.ts +12 -0
  535. package/dist/xlsx/pivot/date-axes.d.ts.map +1 -0
  536. package/dist/xlsx/pivot/date-group-read.d.ts +11 -0
  537. package/dist/xlsx/pivot/date-group-read.d.ts.map +1 -0
  538. package/dist/xlsx/pivot/date-groups.d.ts +60 -0
  539. package/dist/xlsx/pivot/date-groups.d.ts.map +1 -0
  540. package/dist/xlsx/pivot/date-read.d.ts +10 -0
  541. package/dist/xlsx/pivot/date-read.d.ts.map +1 -0
  542. package/dist/xlsx/pivot/dates.d.ts +17 -0
  543. package/dist/xlsx/pivot/dates.d.ts.map +1 -0
  544. package/dist/xlsx/pivot/group-read.d.ts +9 -0
  545. package/dist/xlsx/pivot/group-read.d.ts.map +1 -0
  546. package/dist/xlsx/pivot/groups.d.ts +31 -0
  547. package/dist/xlsx/pivot/groups.d.ts.map +1 -0
  548. package/dist/xlsx/pivot/hierarchy.d.ts +4 -1
  549. package/dist/xlsx/pivot/hierarchy.d.ts.map +1 -1
  550. package/dist/xlsx/pivot/index.d.ts +7 -0
  551. package/dist/xlsx/pivot/index.d.ts.map +1 -1
  552. package/dist/xlsx/pivot/item-filters-read.d.ts +7 -0
  553. package/dist/xlsx/pivot/item-filters-read.d.ts.map +1 -0
  554. package/dist/xlsx/pivot/item-filters.d.ts +23 -0
  555. package/dist/xlsx/pivot/item-filters.d.ts.map +1 -0
  556. package/dist/xlsx/pivot/measures.d.ts +6 -4
  557. package/dist/xlsx/pivot/measures.d.ts.map +1 -1
  558. package/dist/xlsx/pivot/nested.d.ts +8 -0
  559. package/dist/xlsx/pivot/nested.d.ts.map +1 -0
  560. package/dist/xlsx/pivot/page-filter-admission.d.ts.map +1 -1
  561. package/dist/xlsx/pivot/page-filter.d.ts.map +1 -1
  562. package/dist/xlsx/pivot/read.d.ts +2 -1
  563. package/dist/xlsx/pivot/read.d.ts.map +1 -1
  564. package/dist/xlsx/pivot/subtotal-read.d.ts +9 -0
  565. package/dist/xlsx/pivot/subtotal-read.d.ts.map +1 -0
  566. package/dist/xlsx/pivot/subtotals.d.ts +23 -0
  567. package/dist/xlsx/pivot/subtotals.d.ts.map +1 -0
  568. package/dist/xlsx/pivot/table-xml.d.ts +1 -1
  569. package/dist/xlsx/pivot/table-xml.d.ts.map +1 -1
  570. package/dist/xlsx/pivot/values-axis.d.ts +2 -2
  571. package/dist/xlsx/pivot/values-axis.d.ts.map +1 -1
  572. package/dist/xlsx/read/chart-ex.d.ts +9 -0
  573. package/dist/xlsx/read/chart-ex.d.ts.map +1 -0
  574. package/dist/xlsx/read/chart.d.ts.map +1 -1
  575. package/dist/xlsx/read/drawing.d.ts.map +1 -1
  576. package/dist/xlsx/read/load.d.ts.map +1 -1
  577. package/dist/xlsx/read/package.d.ts +2 -1
  578. package/dist/xlsx/read/package.d.ts.map +1 -1
  579. package/dist/xlsx/read/scenarios.d.ts +4 -0
  580. package/dist/xlsx/read/scenarios.d.ts.map +1 -0
  581. package/dist/xlsx/read/sheet-data.d.ts.map +1 -1
  582. package/dist/xlsx/read/sheet-props.d.ts.map +1 -1
  583. package/dist/xlsx/read/tables.d.ts +3 -0
  584. package/dist/xlsx/read/tables.d.ts.map +1 -1
  585. package/dist/xlsx/read/worksheet.d.ts.map +1 -1
  586. package/dist/xlsx/slicer/book.d.ts +16 -0
  587. package/dist/xlsx/slicer/book.d.ts.map +1 -0
  588. package/dist/xlsx/slicer/frame.d.ts +14 -0
  589. package/dist/xlsx/slicer/frame.d.ts.map +1 -0
  590. package/dist/xlsx/slicer/index.d.ts +10 -0
  591. package/dist/xlsx/slicer/index.d.ts.map +1 -0
  592. package/dist/xlsx/slicer/items.d.ts +30 -0
  593. package/dist/xlsx/slicer/items.d.ts.map +1 -0
  594. package/dist/xlsx/slicer/layout.d.ts +67 -0
  595. package/dist/xlsx/slicer/layout.d.ts.map +1 -0
  596. package/dist/xlsx/slicer/read-slicers.d.ts +11 -0
  597. package/dist/xlsx/slicer/read-slicers.d.ts.map +1 -0
  598. package/dist/xlsx/slicer/read-timelines.d.ts +5 -0
  599. package/dist/xlsx/slicer/read-timelines.d.ts.map +1 -0
  600. package/dist/xlsx/slicer/read.d.ts +26 -0
  601. package/dist/xlsx/slicer/read.d.ts.map +1 -0
  602. package/dist/xlsx/slicer/select.d.ts +10 -0
  603. package/dist/xlsx/slicer/select.d.ts.map +1 -0
  604. package/dist/xlsx/slicer/styles.d.ts +36 -0
  605. package/dist/xlsx/slicer/styles.d.ts.map +1 -0
  606. package/dist/xlsx/slicer/table-filter.d.ts +28 -0
  607. package/dist/xlsx/slicer/table-filter.d.ts.map +1 -0
  608. package/dist/xlsx/slicer/timeline-periods.d.ts +35 -0
  609. package/dist/xlsx/slicer/timeline-periods.d.ts.map +1 -0
  610. package/dist/xlsx/slicer/timeline-view.d.ts +60 -0
  611. package/dist/xlsx/slicer/timeline-view.d.ts.map +1 -0
  612. package/dist/xlsx/slicer/write-plan.d.ts +31 -0
  613. package/dist/xlsx/slicer/write-plan.d.ts.map +1 -0
  614. package/dist/xlsx/slicer/write-timeline.d.ts +7 -0
  615. package/dist/xlsx/slicer/write-timeline.d.ts.map +1 -0
  616. package/dist/xlsx/slicer/write-xml.d.ts +17 -0
  617. package/dist/xlsx/slicer/write-xml.d.ts.map +1 -0
  618. package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -1
  619. package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -1
  620. package/dist/xlsx/ui/commands/i18n/print-layout.d.ts.map +1 -1
  621. package/dist/xlsx/ui/commands/i18n/slicers.d.ts +3 -0
  622. package/dist/xlsx/ui/commands/i18n/slicers.d.ts.map +1 -0
  623. package/dist/xlsx/ui/commands/i18n/what-if.d.ts +3 -0
  624. package/dist/xlsx/ui/commands/i18n/what-if.d.ts.map +1 -0
  625. package/dist/xlsx/ui/commands/icons.d.ts.map +1 -1
  626. package/dist/xlsx/ui/commands/slicers.d.ts +37 -0
  627. package/dist/xlsx/ui/commands/slicers.d.ts.map +1 -0
  628. package/dist/xlsx/ui/commands/what-if.d.ts +4 -0
  629. package/dist/xlsx/ui/commands/what-if.d.ts.map +1 -0
  630. package/dist/xlsx/ui/commands.d.ts +2 -0
  631. package/dist/xlsx/ui/commands.d.ts.map +1 -1
  632. package/dist/xlsx/ui/index.cjs +6999 -3052
  633. package/dist/xlsx/ui/index.d.ts +2 -0
  634. package/dist/xlsx/ui/index.d.ts.map +1 -1
  635. package/dist/xlsx/ui/index.mjs +6994 -3053
  636. package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -1
  637. package/dist/xlsx/ui/locales/de/options.d.ts +2 -0
  638. package/dist/xlsx/ui/locales/de/options.d.ts.map +1 -0
  639. package/dist/xlsx/ui/locales/de/shell.d.ts.map +1 -1
  640. package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -1
  641. package/dist/xlsx/ui/locales/en/options.d.ts +2 -0
  642. package/dist/xlsx/ui/locales/en/options.d.ts.map +1 -0
  643. package/dist/xlsx/ui/locales/en/shell.d.ts.map +1 -1
  644. package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -1
  645. package/dist/xlsx/ui/locales/es/options.d.ts +2 -0
  646. package/dist/xlsx/ui/locales/es/options.d.ts.map +1 -0
  647. package/dist/xlsx/ui/locales/es/shell.d.ts.map +1 -1
  648. package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -1
  649. package/dist/xlsx/ui/locales/fr/options.d.ts +2 -0
  650. package/dist/xlsx/ui/locales/fr/options.d.ts.map +1 -0
  651. package/dist/xlsx/ui/locales/fr/shell.d.ts.map +1 -1
  652. package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -1
  653. package/dist/xlsx/ui/locales/zh-CN/options.d.ts +2 -0
  654. package/dist/xlsx/ui/locales/zh-CN/options.d.ts.map +1 -0
  655. package/dist/xlsx/ui/locales/zh-CN/shell.d.ts.map +1 -1
  656. package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts.map +1 -1
  657. package/dist/xlsx/write/carried-refs.d.ts.map +1 -1
  658. package/dist/xlsx/write/drawing.d.ts.map +1 -1
  659. package/dist/xlsx/write/package-writer.d.ts +2 -0
  660. package/dist/xlsx/write/package-writer.d.ts.map +1 -1
  661. package/dist/xlsx/write/save.d.ts.map +1 -1
  662. package/dist/xlsx/write/scenarios.d.ts +4 -0
  663. package/dist/xlsx/write/scenarios.d.ts.map +1 -0
  664. package/dist/xlsx/write/sheet-data.d.ts.map +1 -1
  665. package/dist/xlsx/write/sheet-parts.d.ts +1 -0
  666. package/dist/xlsx/write/sheet-parts.d.ts.map +1 -1
  667. package/dist/xlsx/write/sheet-props.d.ts.map +1 -1
  668. package/dist/xlsx/write/table-patch.d.ts.map +1 -1
  669. package/dist/xlsx/write/tables.d.ts.map +1 -1
  670. package/dist/xlsx/write/worksheet.d.ts.map +1 -1
  671. package/dist/xml/index.cjs +28 -0
  672. package/dist/xml/index.mjs +27 -1
  673. package/dist/xml/namespaces.d.ts +2 -0
  674. package/dist/xml/namespaces.d.ts.map +1 -1
  675. package/dist/xml/xml.d.ts +15 -0
  676. package/dist/xml/xml.d.ts.map +1 -1
  677. package/package.json +1 -1
  678. package/dist/PptxHandler-RWTOUCLC.mjs +0 -3
  679. package/dist/PptxHandler-UU4ZCT6H.cjs +0 -12
  680. package/dist/chunk-KBIJI6P5.mjs +0 -166
  681. package/dist/pptx/chunks/elements-DmbzOhFu.d.ts.map +0 -1
  682. package/dist/pptx/chunks/index-BmvOxbsh.d.ts.map +0 -1
@@ -77,13 +77,13 @@ function mergeSiblings(nodes) {
77
77
  for (const [key] of entries) {
78
78
  counts.set(key, (counts.get(key) ?? 0) + 1);
79
79
  }
80
- const ordered = {};
80
+ const ordered = /* @__PURE__ */ Object.create(null);
81
81
  for (const [position, [key, value]] of entries.entries()) {
82
82
  ordered[(counts.get(key) ?? 0) > 1 ? orderedXmlKey(key, position) : key] = value;
83
83
  }
84
84
  return ordered;
85
85
  }
86
- const result = {};
86
+ const result = /* @__PURE__ */ Object.create(null);
87
87
  for (const [key, value] of entries) {
88
88
  if (result[key]) {
89
89
  const existing = result[key];
@@ -336,7 +336,7 @@ var REVERSE_ESCAPE = {
336
336
  // math/latex-to-omml-constructs.ts
337
337
  function parseScriptArgs(ctx) {
338
338
  const args = { sub: [], sup: [], hasSub: false, hasSup: false };
339
- for (let round = 0; round < 2; round++) {
339
+ for (let round2 = 0; round2 < 2; round2++) {
340
340
  while (ctx.peek()?.type === "whitespace") {
341
341
  ctx.next();
342
342
  }
@@ -538,7 +538,7 @@ function readEnvName(ctx) {
538
538
  }
539
539
  function parseEnvBody(ctx) {
540
540
  const rows = [];
541
- let row = [];
541
+ let row2 = [];
542
542
  let cell = [];
543
543
  while (ctx.peek()) {
544
544
  const tok = ctx.peek();
@@ -549,15 +549,15 @@ function parseEnvBody(ctx) {
549
549
  }
550
550
  if (tok.type === "command" && tok.value === "\\\\") {
551
551
  ctx.next();
552
- row.push(cell);
553
- rows.push(row);
554
- row = [];
552
+ row2.push(cell);
553
+ rows.push(row2);
554
+ row2 = [];
555
555
  cell = [];
556
556
  continue;
557
557
  }
558
558
  if (tok.type === "text" && tok.value === "&") {
559
559
  ctx.next();
560
- row.push(cell);
560
+ row2.push(cell);
561
561
  cell = [];
562
562
  continue;
563
563
  }
@@ -566,9 +566,9 @@ function parseEnvBody(ctx) {
566
566
  cell.push(atom);
567
567
  }
568
568
  }
569
- if (cell.length > 0 || row.length > 0) {
570
- row.push(cell);
571
- rows.push(row);
569
+ if (cell.length > 0 || row2.length > 0) {
570
+ row2.push(cell);
571
+ rows.push(row2);
572
572
  }
573
573
  return rows;
574
574
  }
@@ -602,9 +602,9 @@ function parseEnvironment(ctx) {
602
602
  const rows = parseEnvBody(ctx);
603
603
  const matrixDelims = MATRIX_ENVS[name];
604
604
  if (matrixDelims) {
605
- const matrix = buildMatrix(ctx, rows);
605
+ const matrix2 = buildMatrix(ctx, rows);
606
606
  const [open, close] = matrixDelims;
607
- return open || close ? wrapDelimited(ctx, matrix, open, close) : matrix;
607
+ return open || close ? wrapDelimited(ctx, matrix2, open, close) : matrix2;
608
608
  }
609
609
  if (name === "cases") {
610
610
  return wrapDelimited(ctx, buildEqArr(ctx, rows), "{", "");
@@ -996,11 +996,11 @@ function matrixEnvFor(open, close) {
996
996
  });
997
997
  }
998
998
  function rowsToLatex(emit, rows) {
999
- return rows.map((row) => emit.children(row)).join(" \\\\ ");
999
+ return rows.map((row2) => emit.children(row2)).join(" \\\\ ");
1000
1000
  }
1001
1001
  function matrixToLatex(emit, node, env) {
1002
1002
  const rows = ensureArr(node["m:mr"]).map(
1003
- (row) => ensureArr(row["m:e"]).map((cell) => emit.children(cell)).join(" & ")
1003
+ (row2) => ensureArr(row2["m:e"]).map((cell) => emit.children(cell)).join(" & ")
1004
1004
  );
1005
1005
  return `\\begin{${env}}${rows.join(" \\\\ ")}\\end{${env}}`;
1006
1006
  }
@@ -1090,7 +1090,7 @@ function radicalToLatex(node) {
1090
1090
  function funcNameToLatex(fName) {
1091
1091
  const sole = soleChild(fName);
1092
1092
  let nameNode = null;
1093
- let scripts = "";
1093
+ let scripts2 = "";
1094
1094
  if (sole?.tag === "m:r") {
1095
1095
  nameNode = sole.node;
1096
1096
  } else if (sole && ["m:sSub", "m:sSup", "m:sSubSup", "m:limLow", "m:limUpp"].includes(sole.tag)) {
@@ -1099,7 +1099,7 @@ function funcNameToLatex(fName) {
1099
1099
  nameNode = inner.node;
1100
1100
  const sub = arg(sole.node, sole.tag === "m:limLow" ? "m:lim" : "m:sub");
1101
1101
  const sup = arg(sole.node, sole.tag === "m:limUpp" ? "m:lim" : "m:sup");
1102
- scripts = `${sub ? `_{${sub}}` : ""}${sup ? `^{${sup}}` : ""}`;
1102
+ scripts2 = `${sub ? `_{${sub}}` : ""}${sup ? `^{${sup}}` : ""}`;
1103
1103
  }
1104
1104
  }
1105
1105
  if (!nameNode) {
@@ -1107,7 +1107,7 @@ function funcNameToLatex(fName) {
1107
1107
  }
1108
1108
  const name = readRunText(nameNode).trim();
1109
1109
  const spelled = FUNC_NAMES.has(name) ? `\\${name}` : `\\operatorname{${escapeTextArgument(name)}}`;
1110
- return `${spelled}${scripts}`;
1110
+ return `${spelled}${scripts2}`;
1111
1111
  }
1112
1112
  function accentToLatex(node) {
1113
1113
  const raw = attrVal(childNode(childNode(node, "m:accPr"), "m:chr")) || "\u0302";
@@ -1215,14 +1215,27 @@ function convertOmmlToLatex(omml) {
1215
1215
  }
1216
1216
 
1217
1217
  // math/latex-to-omml.ts
1218
+ var MAX_NESTING_DEPTH = 512;
1218
1219
  var LatexParser = class {
1219
1220
  tokens;
1220
1221
  pos = 0;
1221
1222
  /** Set for one `parseAtom` call: the atom is a bare script argument and takes no scripts of its own. */
1222
1223
  bare = false;
1224
+ /** Current group nesting; bounded so hostile input cannot exhaust the call stack. */
1225
+ depth = 0;
1223
1226
  constructor(tokens) {
1224
1227
  this.tokens = tokens;
1225
1228
  }
1229
+ nest(parse) {
1230
+ if (++this.depth > MAX_NESTING_DEPTH) {
1231
+ throw new Error(`LaTeX nesting exceeds ${MAX_NESTING_DEPTH} levels`);
1232
+ }
1233
+ try {
1234
+ return parse();
1235
+ } finally {
1236
+ this.depth--;
1237
+ }
1238
+ }
1226
1239
  peek() {
1227
1240
  return this.tokens[this.pos];
1228
1241
  }
@@ -1237,6 +1250,9 @@ var LatexParser = class {
1237
1250
  return tok;
1238
1251
  }
1239
1252
  parseGroup() {
1253
+ return this.nest(() => this.readGroup());
1254
+ }
1255
+ readGroup() {
1240
1256
  this.expect("group_start");
1241
1257
  const nodes = [];
1242
1258
  while (this.peek() && this.peek().type !== "group_end") {
@@ -1260,6 +1276,9 @@ var LatexParser = class {
1260
1276
  }
1261
1277
  /** Parse atoms up to and including the closing brace of the current group. */
1262
1278
  parseGroupRest() {
1279
+ return this.nest(() => this.readGroupRest());
1280
+ }
1281
+ readGroupRest() {
1263
1282
  const nodes = [];
1264
1283
  while (this.peek() && this.peek().type !== "group_end") {
1265
1284
  const node = this.parseAtom();
@@ -1278,10 +1297,12 @@ var LatexParser = class {
1278
1297
  if (this.peek()?.type === "group_start") {
1279
1298
  return this.parseGroup();
1280
1299
  }
1281
- this.bare = true;
1282
- const atom = this.parseAtom();
1283
- this.bare = false;
1284
- return atom ? [atom] : [];
1300
+ return this.nest(() => {
1301
+ this.bare = true;
1302
+ const atom = this.parseAtom();
1303
+ this.bare = false;
1304
+ return atom ? [atom] : [];
1305
+ });
1285
1306
  }
1286
1307
  wrapE(nodes) {
1287
1308
  if (nodes.length === 1) {
@@ -1302,7 +1323,7 @@ var LatexParser = class {
1302
1323
  return null;
1303
1324
  }
1304
1325
  if (tok.type === "whitespace") {
1305
- this.next();
1326
+ while (this.peek()?.type === "whitespace") this.next();
1306
1327
  return this.parseAtom();
1307
1328
  }
1308
1329
  const bare = this.bare;
@@ -1380,70 +1401,6 @@ function convertLatexToOmml(latex) {
1380
1401
  };
1381
1402
  }
1382
1403
 
1383
- // math/omml-color.ts
1384
- function getOmmlMathColor(node) {
1385
- if (!node || typeof node !== "object") {
1386
- return void 0;
1387
- }
1388
- const drawingRunProperties = node["a:rPr"];
1389
- if (drawingRunProperties && typeof drawingRunProperties === "object") {
1390
- const solidFill = drawingRunProperties["a:solidFill"];
1391
- const srgbColor = solidFill && typeof solidFill === "object" ? solidFill["a:srgbClr"] : void 0;
1392
- const value = srgbColor?.["@_val"];
1393
- if (typeof value === "string" && /^[0-9a-f]{6}$/iu.test(value)) {
1394
- return `#${value.toUpperCase()}`;
1395
- }
1396
- }
1397
- for (const value of Object.values(node)) {
1398
- if (Array.isArray(value)) {
1399
- for (const child2 of value) {
1400
- if (child2 && typeof child2 === "object") {
1401
- const color = getOmmlMathColor(child2);
1402
- if (color) {
1403
- return color;
1404
- }
1405
- }
1406
- }
1407
- } else if (value && typeof value === "object") {
1408
- const color = getOmmlMathColor(value);
1409
- if (color) {
1410
- return color;
1411
- }
1412
- }
1413
- }
1414
- return void 0;
1415
- }
1416
- function getOmmlMathFontSize(node) {
1417
- if (!node || typeof node !== "object") {
1418
- return void 0;
1419
- }
1420
- const drawingRunProperties = node["a:rPr"];
1421
- if (drawingRunProperties && typeof drawingRunProperties === "object") {
1422
- const size = Number(drawingRunProperties["@_sz"]);
1423
- if (Number.isFinite(size) && size > 0) {
1424
- return size / 100;
1425
- }
1426
- }
1427
- for (const value of Object.values(node)) {
1428
- if (Array.isArray(value)) {
1429
- for (const child2 of value) {
1430
- if (child2 && typeof child2 === "object") {
1431
- const size = getOmmlMathFontSize(child2);
1432
- if (size) {
1433
- return size;
1434
- }
1435
- }
1436
- }
1437
- } else if (value && typeof value === "object") {
1438
- const size = getOmmlMathFontSize(value);
1439
- if (size) {
1440
- return size;
1441
- }
1442
- }
1443
- }
1444
- return void 0;
1445
- }
1446
-
1447
1404
  // math/omml-mathml-helpers.ts
1448
1405
  function child(node, key) {
1449
1406
  if (!node) {
@@ -1629,13 +1586,722 @@ var DELIM_END_MAP = {
1629
1586
  "\u230B": "\u230B"
1630
1587
  };
1631
1588
 
1589
+ // math/omml-to-xml.ts
1590
+ var OMML_NAMESPACE = "http://schemas.openxmlformats.org/officeDocument/2006/math";
1591
+ var escapeAttribute = (value) => escapeXml(value).replace(/"/g, "&quot;");
1592
+ function element(tag, value) {
1593
+ if (value === void 0 || value === null) return "";
1594
+ if (Array.isArray(value)) return value.map((item) => element(tag, item)).join("");
1595
+ if (typeof value !== "object") {
1596
+ const text = String(value);
1597
+ const space = tag === "m:t" && /^\s|\s$/.test(text) ? ' xml:space="preserve"' : "";
1598
+ return `<${tag}${space}>${escapeXml(text)}</${tag}>`;
1599
+ }
1600
+ const node = value;
1601
+ let attributes = "";
1602
+ let content = "";
1603
+ for (const key of Object.keys(node)) {
1604
+ if (key.startsWith("@_")) {
1605
+ attributes += ` ${tag === "m:t" ? "" : "m:"}${key.slice(2)}="${escapeAttribute(String(node[key]))}"`;
1606
+ } else if (key === "#text") {
1607
+ content += escapeXml(String(node[key]));
1608
+ } else content += element(stripXmlOrderSuffix(key), node[key]);
1609
+ }
1610
+ if (tag === "m:t" && /^\s|\s$/.test(content) && !attributes) attributes = ' xml:space="preserve"';
1611
+ return content ? `<${tag}${attributes}>${content}</${tag}>` : `<${tag}${attributes}/>`;
1612
+ }
1613
+ function ommlToXml(tree) {
1614
+ const markup = Object.keys(tree).map((key) => element(stripXmlOrderSuffix(key), tree[key])).join("");
1615
+ return markup.replace(/^<([\w:]+)/, `<$1 xmlns:m="${OMML_NAMESPACE}"`);
1616
+ }
1617
+ function latexToOmmlXml(latex, display) {
1618
+ const tree = convertLatexToOmml(latex);
1619
+ const para = tree["m:oMathPara"];
1620
+ const math = para?.["m:oMath"];
1621
+ if (!math) return void 0;
1622
+ return ommlToXml(display ? tree : { "m:oMath": math });
1623
+ }
1624
+
1625
+ // math/omml-box.ts
1626
+ var AXIS = 0.25;
1627
+ var emptyBox = () => ({ width: 0, ascent: 0, descent: 0, prims: [] });
1628
+ function scriptStyle(style) {
1629
+ return {
1630
+ ...style,
1631
+ level: style.level + 1,
1632
+ size: style.level >= 2 ? style.size : style.size * 0.7
1633
+ };
1634
+ }
1635
+ function shifted(prims, dx, dy) {
1636
+ return prims.map((prim) => {
1637
+ switch (prim.kind) {
1638
+ case "text":
1639
+ return { ...prim, x: prim.x + dx, y: prim.y + dy };
1640
+ case "line":
1641
+ return { ...prim, x1: prim.x1 + dx, x2: prim.x2 + dx, y1: prim.y1 + dy, y2: prim.y2 + dy };
1642
+ case "rect":
1643
+ return { ...prim, x: prim.x + dx, y: prim.y + dy };
1644
+ default:
1645
+ return { ...prim, d: translatePath(prim.d, dx, dy) };
1646
+ }
1647
+ });
1648
+ }
1649
+ function translatePath(d, dx, dy) {
1650
+ return d.replace(
1651
+ /([ML])\s*(-?[\d.]+)[ ,]+(-?[\d.]+)/g,
1652
+ (_m, cmd, x, y) => `${cmd}${round(Number(x) + dx)} ${round(Number(y) + dy)}`
1653
+ );
1654
+ }
1655
+ var round = (value) => Math.round(value * 100) / 100;
1656
+ function row(boxes, gap = 0) {
1657
+ const result = emptyBox();
1658
+ let x = 0;
1659
+ for (const box of boxes) {
1660
+ if (result.prims.length || x > 0) x += gap;
1661
+ result.prims.push(...shifted(box.prims, x, 0));
1662
+ x += box.width;
1663
+ result.ascent = Math.max(result.ascent, box.ascent);
1664
+ result.descent = Math.max(result.descent, box.descent);
1665
+ }
1666
+ result.width = x;
1667
+ return result;
1668
+ }
1669
+ function placed(box, dx, dy) {
1670
+ return {
1671
+ width: box.width,
1672
+ ascent: box.ascent - dy,
1673
+ descent: box.descent + dy,
1674
+ prims: shifted(box.prims, dx, dy)
1675
+ };
1676
+ }
1677
+ function overlay(parts) {
1678
+ const result = emptyBox();
1679
+ for (const { box, x, y } of parts) {
1680
+ result.prims.push(...shifted(box.prims, x, y));
1681
+ result.width = Math.max(result.width, x + box.width);
1682
+ result.ascent = Math.max(result.ascent, box.ascent - y);
1683
+ result.descent = Math.max(result.descent, box.descent + y);
1684
+ }
1685
+ return result;
1686
+ }
1687
+ var RELATIONS = new Set("=\u2260<>\u2264\u2265\u2248\u2261\u226A\u226B\u2208\u2209\u2282\u2283\u2286\u2287\u2192\u2190\u2194\u21D2\u21D0\u21D4\u221D\u2245\u223C\u2243".split(""));
1688
+ var BINARY = new Set("+\u2212-\xD7\xF7\xB7\xB1\u2213\u222A\u2229\u2227\u2228\u2295\u2297\u2218\u2217".split(""));
1689
+ var isRelation = (ch) => RELATIONS.has(ch);
1690
+ var isBinary = (ch) => BINARY.has(ch);
1691
+ function glyphEm(ch, bold) {
1692
+ let em;
1693
+ if (/[iIjl|!.,;:'`]/.test(ch)) em = ch === "I" ? 0.36 : 0.3;
1694
+ else if (/[ftr]/.test(ch)) em = 0.38;
1695
+ else if (/[mwMW@]/.test(ch)) em = ch === "m" ? 0.82 : 0.86;
1696
+ else if (/[A-Z]/.test(ch)) em = 0.66;
1697
+ else if (/[a-z]/.test(ch)) em = 0.52;
1698
+ else if (/[0-9]/.test(ch)) em = 0.5;
1699
+ else if (/[()[\]{}]/.test(ch)) em = 0.34;
1700
+ else if (ch === " ") em = 0.25;
1701
+ else if (isRelation(ch) || isBinary(ch)) em = 0.7;
1702
+ else if (/[Ͱ-Ͽ]/.test(ch)) em = 0.58;
1703
+ else if (/[⺀-鿿＀-￯]/.test(ch)) em = 1;
1704
+ else em = 0.6;
1705
+ return bold ? em * 1.08 : em;
1706
+ }
1707
+ var isOn2 = (value) => value === "1" || value === "on" || value === "true";
1708
+ function glyph(text, size, stretch = 1) {
1709
+ const width = Array.from(text).reduce((sum, ch) => sum + glyphEm(ch, false), 0) * size;
1710
+ const box = emptyBox();
1711
+ box.width = width;
1712
+ box.ascent = size * 0.78 * stretch;
1713
+ box.descent = size * 0.22 * stretch;
1714
+ box.prims.push({
1715
+ kind: "text",
1716
+ x: 0,
1717
+ y: 0,
1718
+ text,
1719
+ size,
1720
+ italic: false,
1721
+ bold: false,
1722
+ fit: width,
1723
+ ...stretch > 1 ? { stretch } : {}
1724
+ });
1725
+ return box;
1726
+ }
1727
+ function scripts(base, sub, sup, style) {
1728
+ const raise = Math.max(style.size * 0.4, base.ascent - style.size * 0.3);
1729
+ const drop = Math.max(style.size * 0.2, base.descent + style.size * 0.12);
1730
+ const parts = [{ box: base, x: 0, y: 0 }];
1731
+ let width = base.width;
1732
+ if (sup) {
1733
+ const y = -Math.max(raise, sup.descent + style.size * 0.25);
1734
+ parts.push({ box: sup, x: base.width + 1, y });
1735
+ width = Math.max(width, base.width + 1 + sup.width);
1736
+ }
1737
+ if (sub) {
1738
+ const y = Math.max(drop, sub.ascent - style.size * 0.1);
1739
+ parts.push({ box: sub, x: base.width + 1, y });
1740
+ width = Math.max(width, base.width + 1 + sub.width);
1741
+ }
1742
+ const box = overlay(parts);
1743
+ box.width = width;
1744
+ return box;
1745
+ }
1746
+
1747
+ // math/omml-box-grouped.ts
1748
+ var NARY = /* @__PURE__ */ new Set(["\u2211", "\u220F", "\u2210", "\u22C0", "\u22C1", "\u22C2", "\u22C3"]);
1749
+ function nary(node, style, ctx) {
1750
+ const pr = child(node, "m:naryPr");
1751
+ const chr = val(child(pr, "m:chr")) || "\u222B";
1752
+ const big = NARY.has(chr) ? 1.4 : 1.6;
1753
+ const op = glyph(chr, style.size * big);
1754
+ op.ascent = style.size * 0.78 * (big > 1.5 ? 1.5 : 1.25);
1755
+ op.descent = style.size * (big > 1.5 ? 0.55 : 0.4);
1756
+ const limits = (val(child(pr, "m:limLoc")) || (NARY.has(chr) ? "undOvr" : "subSup")) === "undOvr";
1757
+ const sub = isOn2(val(child(pr, "m:subHide"))) ? void 0 : ctx.layout(child(node, "m:sub"), ctx.script(style));
1758
+ const sup = isOn2(val(child(pr, "m:supHide"))) ? void 0 : ctx.layout(child(node, "m:sup"), ctx.script(style));
1759
+ const hasSub = Boolean(sub?.width);
1760
+ const hasSup = Boolean(sup?.width);
1761
+ let head;
1762
+ if (limits && (hasSub || hasSup)) {
1763
+ const width = Math.max(op.width, sub?.width ?? 0, sup?.width ?? 0);
1764
+ const parts = [{ box: op, x: (width - op.width) / 2, y: 0 }];
1765
+ if (hasSup)
1766
+ parts.push({
1767
+ box: sup,
1768
+ x: (width - sup.width) / 2,
1769
+ y: -(op.ascent + sup.descent + style.size * 0.05)
1770
+ });
1771
+ if (hasSub)
1772
+ parts.push({
1773
+ box: sub,
1774
+ x: (width - sub.width) / 2,
1775
+ y: op.descent + sub.ascent + style.size * 0.05
1776
+ });
1777
+ head = overlay(parts);
1778
+ head.width = width;
1779
+ } else head = scripts(op, hasSub ? sub : void 0, hasSup ? sup : void 0, style);
1780
+ const body = ctx.layout(child(node, "m:e"), style);
1781
+ return row([head, body], style.size * 0.12);
1782
+ }
1783
+ var MATCHING_OPEN = {
1784
+ "(": "(",
1785
+ "[": "[",
1786
+ "{": "{",
1787
+ "|": "|",
1788
+ "\u2016": "\u2016",
1789
+ "\u27E8": "\u27E8",
1790
+ "\u2308": "\u2308",
1791
+ "\u230A": "\u230A"
1792
+ };
1793
+ function delimiter(node, style, ctx) {
1794
+ const pr = child(node, "m:dPr");
1795
+ const begin = child(pr, "m:begChr")["@_val"] === void 0 ? "(" : val(child(pr, "m:begChr"));
1796
+ const end = child(pr, "m:endChr")["@_val"] === void 0 ? ")" : val(child(pr, "m:endChr"));
1797
+ const separator = val(child(pr, "m:sepChr")) || "|";
1798
+ const cells = ensureArray(node["m:e"]).map((cell) => ctx.layout(cell, style));
1799
+ const parts = [];
1800
+ cells.forEach((cell, index) => {
1801
+ if (index > 0) parts.push(glyph(separator, style.size));
1802
+ parts.push(cell);
1803
+ });
1804
+ const content = row(parts, style.size * 0.05);
1805
+ const tall = (content.ascent + content.descent) / style.size;
1806
+ const stretch = Math.max(1, tall / 1);
1807
+ const open = begin ? glyph(MATCHING_OPEN[begin] ?? begin, style.size, stretch) : emptyBox();
1808
+ const close = end ? glyph(end, style.size, stretch) : emptyBox();
1809
+ return row([open, content, close], style.size * 0.04);
1810
+ }
1811
+ function matrix(node, style, ctx) {
1812
+ const rows = ensureArray(node["m:mr"]).map(
1813
+ (mr) => ensureArray(mr["m:e"]).map((cell) => ctx.layout(cell, style))
1814
+ );
1815
+ const columns = Math.max(0, ...rows.map((cells) => cells.length));
1816
+ const widths = Array.from(
1817
+ { length: columns },
1818
+ (_, c) => Math.max(0, ...rows.map((cells) => cells[c]?.width ?? 0))
1819
+ );
1820
+ const gapX = style.size * 0.8;
1821
+ const gapY = style.size * 0.3;
1822
+ const result = emptyBox();
1823
+ let y = 0;
1824
+ const heights = rows.map((cells) => ({
1825
+ a: Math.max(style.size * 0.78, ...cells.map((cell) => cell.ascent)),
1826
+ d: Math.max(style.size * 0.22, ...cells.map((cell) => cell.descent))
1827
+ }));
1828
+ const total = heights.reduce((sum, h) => sum + h.a + h.d, 0) + gapY * Math.max(0, rows.length - 1);
1829
+ y = -(total / 2) + style.size * AXIS;
1830
+ rows.forEach((cells, r) => {
1831
+ const h = heights[r];
1832
+ y += h.a;
1833
+ let x = 0;
1834
+ cells.forEach((cell, c) => {
1835
+ result.prims.push(...shifted(cell.prims, x + (widths[c] - cell.width) / 2, y));
1836
+ x += widths[c] + gapX;
1837
+ });
1838
+ y += h.d + gapY;
1839
+ });
1840
+ result.width = widths.reduce((sum, w) => sum + w, 0) + gapX * Math.max(0, columns - 1);
1841
+ result.ascent = total / 2 + style.size * AXIS;
1842
+ result.descent = total / 2 - style.size * AXIS;
1843
+ return result;
1844
+ }
1845
+ function above(base, mark, style) {
1846
+ const width = Math.max(base.width, mark.width);
1847
+ const box = overlay([
1848
+ { box: base, x: (width - base.width) / 2, y: 0 },
1849
+ {
1850
+ box: mark,
1851
+ x: (width - mark.width) / 2,
1852
+ y: -(base.ascent + mark.descent + style.size * 0.04)
1853
+ }
1854
+ ]);
1855
+ box.width = width;
1856
+ return box;
1857
+ }
1858
+ function below(base, mark, style) {
1859
+ const width = Math.max(base.width, mark.width);
1860
+ const box = overlay([
1861
+ { box: base, x: (width - base.width) / 2, y: 0 },
1862
+ { box: mark, x: (width - mark.width) / 2, y: base.descent + mark.ascent + style.size * 0.04 }
1863
+ ]);
1864
+ box.width = width;
1865
+ return box;
1866
+ }
1867
+
1868
+ // math/omml-box-structures.ts
1869
+ function fraction(node, style, ctx) {
1870
+ const type = val(child(child(node, "m:fPr"), "m:type"));
1871
+ const inner = ctx.script({ ...style, level: Math.min(style.level, 0) });
1872
+ const small = style.level === 0 ? { ...style, size: style.size * 0.9 } : inner;
1873
+ const num = ctx.layout(child(node, "m:num"), small);
1874
+ const den = ctx.layout(child(node, "m:den"), small);
1875
+ if (type === "lin") {
1876
+ const slash = glyph("/", style.size);
1877
+ return row([num, slash, den]);
1878
+ }
1879
+ const gap = style.size * 0.12;
1880
+ const axis = style.size * AXIS;
1881
+ const width = Math.max(num.width, den.width) + style.size * 0.2;
1882
+ const bar = type === "noBar" ? [] : [
1883
+ {
1884
+ kind: "line",
1885
+ x1: 0,
1886
+ x2: width,
1887
+ y1: -axis,
1888
+ y2: -axis,
1889
+ width: Math.max(0.8, style.size * 0.05)
1890
+ }
1891
+ ];
1892
+ const box = overlay([
1893
+ { box: num, x: (width - num.width) / 2, y: -(axis + gap + num.descent) },
1894
+ { box: den, x: (width - den.width) / 2, y: -axis + gap + den.ascent }
1895
+ ]);
1896
+ box.width = width;
1897
+ box.prims.push(...bar);
1898
+ return box;
1899
+ }
1900
+ function radical(node, style, ctx) {
1901
+ const content = ctx.layout(child(node, "m:e"), style);
1902
+ const hide = isOn2(val(child(child(node, "m:radPr"), "m:degHide")));
1903
+ const degree = hide ? void 0 : ctx.layout(child(node, "m:deg"), { ...ctx.script(ctx.script(style)) });
1904
+ const gap = style.size * 0.12;
1905
+ const top = -(content.ascent + gap);
1906
+ const bottom = content.descent + style.size * 0.05;
1907
+ const height = bottom - top;
1908
+ const sign = style.size * 0.55;
1909
+ const lead = degree && degree.width ? Math.max(0, degree.width - sign * 0.4) : 0;
1910
+ const x0 = lead;
1911
+ const d = `M${round(x0)} ${round(top + height * 0.58)} L${round(x0 + sign * 0.22)} ${round(top + height * 0.52)} L${round(x0 + sign * 0.5)} ${round(bottom)} L${round(x0 + sign)} ${round(top)} L${round(x0 + sign + content.width + style.size * 0.1)} ${round(top)}`;
1912
+ const parts = [{ box: content, x: x0 + sign + style.size * 0.05, y: 0 }];
1913
+ const box = overlay(parts);
1914
+ box.ascent = Math.max(box.ascent, -top);
1915
+ box.descent = Math.max(box.descent, bottom);
1916
+ box.width = x0 + sign + content.width + style.size * 0.15;
1917
+ box.prims.push({ kind: "path", d, width: Math.max(0.8, style.size * 0.06) });
1918
+ if (degree) box.prims.push(...shifted(degree.prims, 0, top + height * 0.35 - degree.descent));
1919
+ return box;
1920
+ }
1921
+ function layoutStructure(tag, node, style, ctx) {
1922
+ const arg2 = (name, next = style) => ctx.layout(child(node, name), next);
1923
+ const small = () => ctx.script(style);
1924
+ switch (tag) {
1925
+ case "m:f":
1926
+ return fraction(node, style, ctx);
1927
+ case "m:rad":
1928
+ return radical(node, style, ctx);
1929
+ case "m:sSup":
1930
+ return scripts(arg2("m:e"), void 0, arg2("m:sup", small()), style);
1931
+ case "m:sSub":
1932
+ return scripts(arg2("m:e"), arg2("m:sub", small()), void 0, style);
1933
+ case "m:sSubSup":
1934
+ return scripts(arg2("m:e"), arg2("m:sub", small()), arg2("m:sup", small()), style);
1935
+ case "m:sPre": {
1936
+ const pre = scripts(emptyBox(), arg2("m:sub", small()), arg2("m:sup", small()), style);
1937
+ return row([pre, arg2("m:e")], 1);
1938
+ }
1939
+ case "m:nary":
1940
+ return nary(node, style, ctx);
1941
+ case "m:d":
1942
+ return delimiter(node, style, ctx);
1943
+ case "m:m":
1944
+ return matrix(node, style, ctx);
1945
+ case "m:acc": {
1946
+ const chr = val(child(child(node, "m:accPr"), "m:chr")) || "\u0302";
1947
+ const mark = glyph(
1948
+ chr === "\u0302" ? "^" : chr === "\u0303" ? "~" : chr === "\u0304" ? "\xAF" : chr,
1949
+ style.size * 0.8
1950
+ );
1951
+ mark.ascent = style.size * 0.2;
1952
+ mark.descent = 0;
1953
+ return above(arg2("m:e"), mark, style);
1954
+ }
1955
+ case "m:bar": {
1956
+ const base = arg2("m:e");
1957
+ const under = val(child(child(node, "m:barPr"), "m:pos")) === "bot";
1958
+ const y = under ? base.descent + style.size * 0.08 : -(base.ascent + style.size * 0.08);
1959
+ const box = overlay([{ box: base, x: 0, y: 0 }]);
1960
+ box.prims.push({
1961
+ kind: "line",
1962
+ x1: 0,
1963
+ x2: base.width,
1964
+ y1: y,
1965
+ y2: y,
1966
+ width: Math.max(0.8, style.size * 0.05)
1967
+ });
1968
+ box.ascent = Math.max(box.ascent, under ? 0 : -y);
1969
+ box.descent = Math.max(box.descent, under ? y : 0);
1970
+ return box;
1971
+ }
1972
+ case "m:limLow":
1973
+ return below(arg2("m:e"), arg2("m:lim", small()), style);
1974
+ case "m:limUpp":
1975
+ return above(arg2("m:e"), arg2("m:lim", small()), style);
1976
+ case "m:groupChr": {
1977
+ const pr = child(node, "m:groupChrPr");
1978
+ const mark = glyph(val(child(pr, "m:chr")) || "\u23DF", style.size);
1979
+ mark.ascent = style.size * 0.2;
1980
+ mark.descent = style.size * 0.1;
1981
+ return val(child(pr, "m:pos")) === "top" ? above(arg2("m:e"), mark, style) : below(arg2("m:e"), mark, style);
1982
+ }
1983
+ case "m:eqArr": {
1984
+ const lines = ensureArray(node["m:e"]).map((line) => ctx.layout(line, style));
1985
+ const result = emptyBox();
1986
+ const gap = style.size * 0.25;
1987
+ const total = lines.reduce((sum, line) => sum + line.ascent + line.descent, 0) + gap * Math.max(0, lines.length - 1);
1988
+ let y = -(total / 2) + style.size * AXIS;
1989
+ for (const line of lines) {
1990
+ y += line.ascent;
1991
+ result.prims.push(...shifted(line.prims, 0, y));
1992
+ result.width = Math.max(result.width, line.width);
1993
+ y += line.descent + gap;
1994
+ }
1995
+ result.ascent = total / 2 + style.size * AXIS;
1996
+ result.descent = total / 2 - style.size * AXIS;
1997
+ return result;
1998
+ }
1999
+ case "m:func": {
2000
+ const name = arg2("m:fName", { ...style, plain: true });
2001
+ return row([name, arg2("m:e")], style.size * 0.17);
2002
+ }
2003
+ case "m:borderBox": {
2004
+ const inner = arg2("m:e");
2005
+ const pad = style.size * 0.15;
2006
+ const box = placed(inner, pad, 0);
2007
+ box.width = inner.width + pad * 2;
2008
+ box.ascent += pad;
2009
+ box.descent += pad;
2010
+ box.prims.push({
2011
+ kind: "rect",
2012
+ x: 0,
2013
+ y: -box.ascent,
2014
+ w: box.width,
2015
+ h: box.ascent + box.descent,
2016
+ width: 0.8
2017
+ });
2018
+ return box;
2019
+ }
2020
+ case "m:box":
2021
+ case "m:phant":
2022
+ return arg2("m:e");
2023
+ default:
2024
+ return ctx.layout(node, style);
2025
+ }
2026
+ }
2027
+
2028
+ // math/omml-box-layout.ts
2029
+ var isOn3 = (value) => value === "1" || value === "on" || value === "true";
2030
+ var isUnaryContext = (ch) => isRelation(ch) || isBinary(ch) || /[([{,;:]/.test(ch);
2031
+ function lastCharOf(node) {
2032
+ const text = readText(node);
2033
+ return text ? Array.from(text).at(-1) ?? "" : "";
2034
+ }
2035
+ function layoutRun(node, style, atStart) {
2036
+ const text = readText(node);
2037
+ if (!text) return emptyBox();
2038
+ const rPr = child(node, "m:rPr");
2039
+ const sty = val(child(rPr, "m:sty"));
2040
+ const plain = style.plain || isOn3(val(child(rPr, "m:nor"))) || sty === "p" || sty === "b";
2041
+ const bold = Boolean(style.bold) || sty === "b" || sty === "bi";
2042
+ const boxes = [];
2043
+ let index = 0;
2044
+ let previous = atStart ? "(" : "x";
2045
+ for (const raw of Array.from(text)) {
2046
+ const ch = raw === "-" ? "\u2212" : raw;
2047
+ const italic = !plain && /[A-Za-zα-ω]/.test(ch);
2048
+ const unary = index === 0 ? atStart : isUnaryContext(previous);
2049
+ const spaced = style.level > 0 ? 0 : isRelation(ch) ? 0.28 : isBinary(ch) && !unary ? 0.22 : 0;
2050
+ previous = ch;
2051
+ const width = glyphEm(ch, bold) * style.size;
2052
+ const pad = spaced * style.size;
2053
+ const box = emptyBox();
2054
+ box.width = width + pad * 2;
2055
+ box.ascent = style.size * 0.78;
2056
+ box.descent = style.size * 0.22;
2057
+ if (ch !== " " || width)
2058
+ box.prims.push({
2059
+ kind: "text",
2060
+ x: pad,
2061
+ y: 0,
2062
+ text: ch,
2063
+ size: style.size,
2064
+ italic,
2065
+ bold,
2066
+ fit: width
2067
+ });
2068
+ boxes.push(box);
2069
+ index++;
2070
+ }
2071
+ return mergeText(row(boxes));
2072
+ }
2073
+ function mergeText(box) {
2074
+ const merged = [];
2075
+ for (const prim of box.prims) {
2076
+ const last = merged.at(-1);
2077
+ if (prim.kind === "text" && last?.kind === "text" && last.italic === prim.italic && last.bold === prim.bold && last.size === prim.size && last.y === prim.y && Math.abs(last.x + last.fit - prim.x) < 0.01)
2078
+ merged[merged.length - 1] = {
2079
+ ...last,
2080
+ text: last.text + prim.text,
2081
+ fit: last.fit + prim.fit
2082
+ };
2083
+ else merged.push(prim);
2084
+ }
2085
+ return { ...box, prims: merged };
2086
+ }
2087
+ function layoutChildren(node, style) {
2088
+ const boxes = [];
2089
+ let last = "";
2090
+ for (const key of Object.keys(node)) {
2091
+ if (key.startsWith("@_") || key === "#text") continue;
2092
+ const tag = stripXmlOrderSuffix(key);
2093
+ for (const item of ensureArray(node[key])) {
2094
+ const atStart = boxes.length === 0 || last !== "" && isUnaryContext(last);
2095
+ boxes.push(layoutElement(tag, item, style, atStart));
2096
+ last = tag === "m:r" ? lastCharOf(item) : "";
2097
+ }
2098
+ }
2099
+ return row(boxes);
2100
+ }
2101
+ function layoutElement(tag, node, style, atStart) {
2102
+ if (tag === "m:r") return layoutRun(node, style, atStart);
2103
+ if (tag === "m:oMath" || tag === "m:oMathPara") return layoutChildren(node, style);
2104
+ if (/Pr$/.test(tag) || tag === "m:ctrlPr") return emptyBox();
2105
+ return layoutStructure(tag, node, style, { layout: layoutChildren, script: scriptStyle });
2106
+ }
2107
+ function layoutEquation(root, sizePx) {
2108
+ const box = layoutChildren(root, { level: 0, size: sizePx });
2109
+ const pad = 1;
2110
+ const ascent = Math.max(box.ascent, sizePx * 0.78) + pad;
2111
+ const descent = Math.max(box.descent, sizePx * 0.22) + pad;
2112
+ return {
2113
+ box: { ...box, prims: shifted(box.prims, pad, 0), ascent, descent },
2114
+ widthPx: round(Math.max(box.width, sizePx * 0.5) + pad * 2),
2115
+ heightPx: round(ascent + descent),
2116
+ descentPx: round(descent)
2117
+ };
2118
+ }
2119
+ var DEFAULT_XML_LIMITS = {
2120
+ maxDepth: 512,
2121
+ maxNodes: 5e6
2122
+ };
2123
+ var MARKUP_RE = /<!--[\s\S]*?-->|<!\[CDATA\[[\s\S]*?\]\]>|<\?[\s\S]*?\?>|<(\/?)([^\s\/>]+)(?:\s+[^\s=\/>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*(\/?)>/g;
2124
+ function checkXmlLimits(xml, label, limits = {}) {
2125
+ const maxDepth = limits.maxDepth ?? DEFAULT_XML_LIMITS.maxDepth;
2126
+ const maxNodes = limits.maxNodes ?? DEFAULT_XML_LIMITS.maxNodes;
2127
+ let depth = 0;
2128
+ let nodes = 0;
2129
+ for (const match of xml.matchAll(MARKUP_RE)) {
2130
+ const [, closing, name, selfClosing] = match;
2131
+ if (name === void 0) continue;
2132
+ if (closing) {
2133
+ depth--;
2134
+ continue;
2135
+ }
2136
+ nodes++;
2137
+ if (nodes > maxNodes) throw new Error(`${label} XML exceeds the limit of ${maxNodes} elements`);
2138
+ if (!selfClosing && ++depth > maxDepth)
2139
+ throw new Error(`${label} XML exceeds the nesting depth limit of ${maxDepth}`);
2140
+ }
2141
+ }
2142
+ function parseXml(xml, options = {}) {
2143
+ const label = options.label ?? "OOXML";
2144
+ if (/<!DOCTYPE|<!ENTITY/i.test(xml))
2145
+ throw new Error(`${label} XML with DTD or entity declarations is not supported`);
2146
+ checkXmlLimits(xml, label, options.limits);
2147
+ let parseError = "";
2148
+ let parsed;
2149
+ try {
2150
+ parsed = new DOMParser({
2151
+ onError: (level, message) => {
2152
+ if (level !== "warning") parseError = message;
2153
+ }
2154
+ }).parseFromString(xml, "application/xml");
2155
+ } catch (error) {
2156
+ throw new Error(
2157
+ `Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
2158
+ { cause: error }
2159
+ );
2160
+ }
2161
+ if (parseError || !parsed.documentElement)
2162
+ throw new Error(`Invalid ${label} XML: ${parseError || "missing root element"}`);
2163
+ return parsed;
2164
+ }
2165
+ var isElement = (node) => node.nodeType === 1;
2166
+ var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
2167
+
2168
+ // math/omml-dom.ts
2169
+ var PREFIXES = {
2170
+ "http://schemas.openxmlformats.org/officeDocument/2006/math": "m",
2171
+ "http://purl.oclc.org/ooxml/officeDocument/math": "m",
2172
+ "http://schemas.openxmlformats.org/drawingml/2006/main": "a",
2173
+ "http://schemas.openxmlformats.org/wordprocessingml/2006/main": "w"
2174
+ };
2175
+ var MAX_DEPTH = 512;
2176
+ function ommlFromElement(element2) {
2177
+ const visit = (node, depth) => {
2178
+ if (depth > MAX_DEPTH) throw new Error(`OMML nesting exceeds ${MAX_DEPTH} levels`);
2179
+ const prefix = PREFIXES[node.namespaceURI ?? ""];
2180
+ const name = prefix ? `${prefix}:${node.localName}` : node.tagName;
2181
+ const body = mergeSiblings(elements(node).map((child2) => visit(child2, depth + 1)));
2182
+ for (const attribute of Array.from(node.attributes)) {
2183
+ if (attribute.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
2184
+ body[`@_${attribute.localName}`] = attribute.value;
2185
+ }
2186
+ const text = Array.from(node.childNodes).filter((child2) => child2.nodeType === 3 || child2.nodeType === 4).map((child2) => child2.nodeValue ?? "").join("");
2187
+ if (text && (!elements(node).length || text.trim())) body["#text"] = text;
2188
+ return { [name]: body };
2189
+ };
2190
+ return visit(element2, 1);
2191
+ }
2192
+ function parseOmml(xml) {
2193
+ return ommlFromElement(parseXml(xml, { label: "OMML" }).documentElement);
2194
+ }
2195
+
2196
+ // math/omml-svg.ts
2197
+ var FONT_FAMILY = "'Cambria Math','STIX Two Math','Latin Modern Math','Times New Roman',serif";
2198
+ function primMarkup(prim) {
2199
+ switch (prim.kind) {
2200
+ case "text": {
2201
+ const attrs = [
2202
+ `font-size="${round(prim.size)}"`,
2203
+ prim.italic ? 'font-style="italic"' : "",
2204
+ prim.bold ? 'font-weight="bold"' : "",
2205
+ Array.from(prim.text).length > 1 ? `textLength="${round(prim.fit)}" lengthAdjust="spacing"` : ""
2206
+ ].filter(Boolean);
2207
+ const at = prim.stretch ? `transform="translate(${round(prim.x)} ${round(prim.y)}) scale(1 ${round(prim.stretch)})"` : `x="${round(prim.x)}" y="${round(prim.y)}"`;
2208
+ return `<text ${at} ${attrs.join(" ")}>${escapeXml(prim.text)}</text>`;
2209
+ }
2210
+ case "line":
2211
+ return `<line x1="${round(prim.x1)}" y1="${round(prim.y1)}" x2="${round(prim.x2)}" y2="${round(prim.y2)}" stroke="currentColor" stroke-width="${round(prim.width)}"/>`;
2212
+ case "rect":
2213
+ return `<rect x="${round(prim.x)}" y="${round(prim.y)}" width="${round(prim.w)}" height="${round(prim.h)}" fill="none" stroke="currentColor" stroke-width="${round(prim.width)}"/>`;
2214
+ default:
2215
+ return `<path d="${prim.d}" fill="none" stroke="currentColor" stroke-width="${round(prim.width)}" stroke-linejoin="round"/>`;
2216
+ }
2217
+ }
2218
+ function drawOmmlTree(root, sizePx, label = "") {
2219
+ const { box, widthPx, heightPx, descentPx } = layoutEquation(root, sizePx);
2220
+ if (!box.prims.length) return void 0;
2221
+ const body = box.prims.map(primMarkup).join("");
2222
+ const aria = label ? ` aria-label="${escapeXml(label).replace(/"/g, "&quot;")}"` : "";
2223
+ const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${widthPx}" height="${heightPx}" viewBox="0 0 ${widthPx} ${heightPx}" role="img"${aria}><g font-family="${FONT_FAMILY}" fill="currentColor" transform="translate(0 ${round(box.ascent)})">${body}</g></svg>`;
2224
+ return { svg, widthPx, heightPx, descentPx };
2225
+ }
2226
+ function drawEquation(omml, sizePx, label = "") {
2227
+ try {
2228
+ return drawOmmlTree(parseOmml(omml), sizePx, label);
2229
+ } catch {
2230
+ return void 0;
2231
+ }
2232
+ }
2233
+
2234
+ // math/omml-color.ts
2235
+ function getOmmlMathColor(node) {
2236
+ if (!node || typeof node !== "object") {
2237
+ return void 0;
2238
+ }
2239
+ const drawingRunProperties = node["a:rPr"];
2240
+ if (drawingRunProperties && typeof drawingRunProperties === "object") {
2241
+ const solidFill = drawingRunProperties["a:solidFill"];
2242
+ const srgbColor = solidFill && typeof solidFill === "object" ? solidFill["a:srgbClr"] : void 0;
2243
+ const value = srgbColor?.["@_val"];
2244
+ if (typeof value === "string" && /^[0-9a-f]{6}$/iu.test(value)) {
2245
+ return `#${value.toUpperCase()}`;
2246
+ }
2247
+ }
2248
+ for (const value of Object.values(node)) {
2249
+ if (Array.isArray(value)) {
2250
+ for (const child2 of value) {
2251
+ if (child2 && typeof child2 === "object") {
2252
+ const color = getOmmlMathColor(child2);
2253
+ if (color) {
2254
+ return color;
2255
+ }
2256
+ }
2257
+ }
2258
+ } else if (value && typeof value === "object") {
2259
+ const color = getOmmlMathColor(value);
2260
+ if (color) {
2261
+ return color;
2262
+ }
2263
+ }
2264
+ }
2265
+ return void 0;
2266
+ }
2267
+ function getOmmlMathFontSize(node) {
2268
+ if (!node || typeof node !== "object") {
2269
+ return void 0;
2270
+ }
2271
+ const drawingRunProperties = node["a:rPr"];
2272
+ if (drawingRunProperties && typeof drawingRunProperties === "object") {
2273
+ const size = Number(drawingRunProperties["@_sz"]);
2274
+ if (Number.isFinite(size) && size > 0) {
2275
+ return size / 100;
2276
+ }
2277
+ }
2278
+ for (const value of Object.values(node)) {
2279
+ if (Array.isArray(value)) {
2280
+ for (const child2 of value) {
2281
+ if (child2 && typeof child2 === "object") {
2282
+ const size = getOmmlMathFontSize(child2);
2283
+ if (size) {
2284
+ return size;
2285
+ }
2286
+ }
2287
+ }
2288
+ } else if (value && typeof value === "object") {
2289
+ const size = getOmmlMathFontSize(value);
2290
+ if (size) {
2291
+ return size;
2292
+ }
2293
+ }
2294
+ }
2295
+ return void 0;
2296
+ }
2297
+
1632
2298
  // math/omml-mathml-converters.ts
1633
2299
  function convertRun(node) {
1634
2300
  const text = readText(node);
1635
2301
  if (text.length === 0) {
1636
2302
  return "";
1637
2303
  }
1638
- const escaped = escapeXml(text);
2304
+ const escaped = escapeXml(text === "-" ? "\u2212" : text);
1639
2305
  const rPr = child(node, "m:rPr");
1640
2306
  const norVal = val(child(rPr, "m:nor"));
1641
2307
  const isNormal = norVal === "1" || norVal === "on" || norVal === "true";
@@ -1756,8 +2422,8 @@ function convertDelimiter(node, cc) {
1756
2422
  function convertMatrix(node, cc) {
1757
2423
  const rows = ensureArray(node["m:mr"]);
1758
2424
  const tableRows = [];
1759
- for (const row of rows) {
1760
- const cells = ensureArray(row["m:e"]);
2425
+ for (const row2 of rows) {
2426
+ const cells = ensureArray(row2["m:e"]);
1761
2427
  const tdParts = [];
1762
2428
  for (const cell of cells) {
1763
2429
  tdParts.push(`<mtd><mrow>${cc(cell)}</mrow></mtd>`);
@@ -1932,55 +2598,21 @@ function ommlToMathml(omml) {
1932
2598
  }
1933
2599
  return convertOmmlToMathMl(omml);
1934
2600
  }
1935
- function parseXml(xml, options = {}) {
1936
- const label = options.label ?? "OOXML";
1937
- if (/<!DOCTYPE|<!ENTITY/i.test(xml))
1938
- throw new Error(`${label} XML with DTD or entity declarations is not supported`);
1939
- let parseError = "";
1940
- let parsed;
1941
- try {
1942
- parsed = new DOMParser({
1943
- onError: (level, message) => {
1944
- if (level !== "warning") parseError = message;
1945
- }
1946
- }).parseFromString(xml, "application/xml");
1947
- } catch (error) {
1948
- throw new Error(
1949
- `Invalid ${label} XML: ${error instanceof Error ? error.message : String(error)}`,
1950
- { cause: error }
1951
- );
1952
- }
1953
- if (parseError || !parsed.documentElement)
1954
- throw new Error(`Invalid ${label} XML: ${parseError || "missing root element"}`);
1955
- return parsed;
1956
- }
1957
- var isElement = (node) => node.nodeType === 1;
1958
- var elements = (parent) => Array.from(parent.childNodes).filter(isElement);
1959
2601
 
1960
- // math/omml-dom.ts
1961
- var PREFIXES = {
1962
- "http://schemas.openxmlformats.org/officeDocument/2006/math": "m",
1963
- "http://purl.oclc.org/ooxml/officeDocument/math": "m",
1964
- "http://schemas.openxmlformats.org/drawingml/2006/main": "a",
1965
- "http://schemas.openxmlformats.org/wordprocessingml/2006/main": "w"
1966
- };
1967
- function ommlFromElement(element) {
1968
- const visit = (node) => {
1969
- const prefix = PREFIXES[node.namespaceURI ?? ""];
1970
- const name = prefix ? `${prefix}:${node.localName}` : node.tagName;
1971
- const body = mergeSiblings(elements(node).map(visit));
1972
- for (const attribute of Array.from(node.attributes)) {
1973
- if (attribute.namespaceURI === "http://www.w3.org/2000/xmlns/") continue;
1974
- body[`@_${attribute.localName}`] = attribute.value;
1975
- }
1976
- const text = Array.from(node.childNodes).filter((child2) => child2.nodeType === 3 || child2.nodeType === 4).map((child2) => child2.nodeValue ?? "").join("");
1977
- if (text && (!elements(node).length || text.trim())) body["#text"] = text;
1978
- return { [name]: body };
1979
- };
1980
- return visit(element);
1981
- }
1982
- function parseOmml(xml) {
1983
- return ommlFromElement(parseXml(xml, { label: "OMML" }).documentElement);
1984
- }
2602
+ // math/equation-gallery.ts
2603
+ var EQUATION_GALLERY = [
2604
+ { id: "area", name: "Area of Circle", latex: "A = \\pi r^{2}" },
2605
+ {
2606
+ id: "quadratic",
2607
+ name: "Quadratic Formula",
2608
+ latex: "x = \\frac{-b \\pm \\sqrt{b^{2} - 4ac}}{2a}"
2609
+ },
2610
+ { id: "pythagorean", name: "Pythagorean Theorem", latex: "a^{2} + b^{2} = c^{2}" },
2611
+ {
2612
+ id: "binomial",
2613
+ name: "Binomial Theorem",
2614
+ latex: "(x + a)^{n} = \\sum_{k=0}^{n} \\binom{n}{k} x^{k} a^{n-k}"
2615
+ }
2616
+ ];
1985
2617
 
1986
- export { ACCENT_ALIASES, ACCENT_MAP, DELIM_MAP, EQARR_ENVS, ESCAPE_MAP, FUNC_NAMES, GREEK_MAP, LIMIT_FUNC_NAMES, MATRIX_ENVS, NARY_MAP, OPERATOR_MAP, REVERSE_ACCENT, REVERSE_DELIM, REVERSE_ESCAPE, REVERSE_GREEK, REVERSE_NARY, REVERSE_OPERATOR, applyScripts, attrVal, buildPrescript, childNode, collectText, contentKeys, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, delimiterToLatex, ensureArr, eqArrToLatex, escapeChar, escapeMathText, escapeTextArgument, getOmmlMathColor, getOmmlMathFontSize, hasAttr, isOn, isSingleAtom, matrixToLatex, mergeSiblings, naryToLatex, ommlFromElement, ommlToMathml, parseAccent, parseBar, parseBoxed, parseCommand, parseDelimiter, parseEnvironment, parseFuncApplication, parseGroupChr, parseNary, parseOmml, parseOperatorName, parsePhantom, parsePrescript, parseScriptArgs, parseTextArgument, parseUnderOverset, readRunText, rowsToLatex, soleChild, tokenize, tryParseScripts, wrapDelimited };
2618
+ export { ACCENT_ALIASES, ACCENT_MAP, DELIM_MAP, EQARR_ENVS, EQUATION_GALLERY, ESCAPE_MAP, FUNC_NAMES, GREEK_MAP, LIMIT_FUNC_NAMES, MATRIX_ENVS, NARY_MAP, OMML_NAMESPACE, OPERATOR_MAP, REVERSE_ACCENT, REVERSE_DELIM, REVERSE_ESCAPE, REVERSE_GREEK, REVERSE_NARY, REVERSE_OPERATOR, applyScripts, attrVal, buildPrescript, childNode, collectText, contentKeys, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, delimiterToLatex, drawEquation, drawOmmlTree, ensureArr, eqArrToLatex, escapeChar, escapeMathText, escapeTextArgument, getOmmlMathColor, getOmmlMathFontSize, hasAttr, isOn, isSingleAtom, latexToOmmlXml, matrixToLatex, mergeSiblings, naryToLatex, ommlFromElement, ommlToMathml, ommlToXml, parseAccent, parseBar, parseBoxed, parseCommand, parseDelimiter, parseEnvironment, parseFuncApplication, parseGroupChr, parseNary, parseOmml, parseOperatorName, parsePhantom, parsePrescript, parseScriptArgs, parseTextArgument, parseUnderOverset, readRunText, rowsToLatex, soleChild, tokenize, tryParseScripts, wrapDelimited };