@fiduswriter/document 0.1.0-alpha.4 → 0.1.0-alpha.6

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 (550) hide show
  1. package/dist/bibliography/common.d.ts +9 -91
  2. package/dist/bibliography/common.d.ts.map +1 -1
  3. package/dist/bibliography/common.js +3 -2
  4. package/dist/bibliography/common.js.map +1 -1
  5. package/dist/bibliography/csl_bib.d.ts +1 -1
  6. package/dist/bibliography/csl_bib.d.ts.map +1 -1
  7. package/dist/bibliography/csl_bib.js +7 -7
  8. package/dist/bibliography/csl_bib.js.map +1 -1
  9. package/dist/citations/citeproc_sys.d.ts +9 -10
  10. package/dist/citations/citeproc_sys.d.ts.map +1 -1
  11. package/dist/citations/citeproc_sys.js +6 -1
  12. package/dist/citations/citeproc_sys.js.map +1 -1
  13. package/dist/citations/format.d.ts +33 -16
  14. package/dist/citations/format.d.ts.map +1 -1
  15. package/dist/citations/format.js +29 -4
  16. package/dist/citations/format.js.map +1 -1
  17. package/dist/editor/e2ee/encryptor.d.ts +35 -35
  18. package/dist/editor/e2ee/encryptor.d.ts.map +1 -1
  19. package/dist/editor/e2ee/encryptor.js +31 -31
  20. package/dist/editor/e2ee/encryptor.js.map +1 -1
  21. package/dist/exporter/docx/citations.d.ts +27 -17
  22. package/dist/exporter/docx/citations.d.ts.map +1 -1
  23. package/dist/exporter/docx/citations.js +24 -7
  24. package/dist/exporter/docx/citations.js.map +1 -1
  25. package/dist/exporter/docx/comments.d.ts +15 -11
  26. package/dist/exporter/docx/comments.d.ts.map +1 -1
  27. package/dist/exporter/docx/comments.js +47 -14
  28. package/dist/exporter/docx/comments.js.map +1 -1
  29. package/dist/exporter/docx/footnotes.d.ts +36 -31
  30. package/dist/exporter/docx/footnotes.d.ts.map +1 -1
  31. package/dist/exporter/docx/footnotes.js +46 -12
  32. package/dist/exporter/docx/footnotes.js.map +1 -1
  33. package/dist/exporter/docx/images.d.ts +23 -12
  34. package/dist/exporter/docx/images.d.ts.map +1 -1
  35. package/dist/exporter/docx/images.js +35 -20
  36. package/dist/exporter/docx/images.js.map +1 -1
  37. package/dist/exporter/docx/index.d.ts +11 -17
  38. package/dist/exporter/docx/index.d.ts.map +1 -1
  39. package/dist/exporter/docx/index.js +15 -7
  40. package/dist/exporter/docx/index.js.map +1 -1
  41. package/dist/exporter/docx/lists.d.ts +27 -22
  42. package/dist/exporter/docx/lists.d.ts.map +1 -1
  43. package/dist/exporter/docx/lists.js +77 -30
  44. package/dist/exporter/docx/lists.js.map +1 -1
  45. package/dist/exporter/docx/math.d.ts +9 -9
  46. package/dist/exporter/docx/math.d.ts.map +1 -1
  47. package/dist/exporter/docx/math.js +22 -5
  48. package/dist/exporter/docx/math.js.map +1 -1
  49. package/dist/exporter/docx/metadata.d.ts +12 -9
  50. package/dist/exporter/docx/metadata.d.ts.map +1 -1
  51. package/dist/exporter/docx/metadata.js +59 -26
  52. package/dist/exporter/docx/metadata.js.map +1 -1
  53. package/dist/exporter/docx/rels.d.ts +14 -12
  54. package/dist/exporter/docx/rels.d.ts.map +1 -1
  55. package/dist/exporter/docx/rels.js +37 -22
  56. package/dist/exporter/docx/rels.js.map +1 -1
  57. package/dist/exporter/docx/render.d.ts +17 -15
  58. package/dist/exporter/docx/render.d.ts.map +1 -1
  59. package/dist/exporter/docx/render.js +37 -31
  60. package/dist/exporter/docx/render.js.map +1 -1
  61. package/dist/exporter/docx/richtext.d.ts +8 -8
  62. package/dist/exporter/docx/richtext.d.ts.map +1 -1
  63. package/dist/exporter/docx/richtext.js +61 -43
  64. package/dist/exporter/docx/richtext.js.map +1 -1
  65. package/dist/exporter/docx/tables.d.ts +11 -9
  66. package/dist/exporter/docx/tables.d.ts.map +1 -1
  67. package/dist/exporter/docx/tables.js +16 -10
  68. package/dist/exporter/docx/tables.js.map +1 -1
  69. package/dist/exporter/docx/tools.d.ts +3 -2
  70. package/dist/exporter/docx/tools.d.ts.map +1 -1
  71. package/dist/exporter/docx/tools.js +3 -3
  72. package/dist/exporter/docx/tools.js.map +1 -1
  73. package/dist/exporter/epub/index.d.ts +11 -3
  74. package/dist/exporter/epub/index.d.ts.map +1 -1
  75. package/dist/exporter/epub/index.js +10 -3
  76. package/dist/exporter/epub/index.js.map +1 -1
  77. package/dist/exporter/epub/templates.d.ts +62 -31
  78. package/dist/exporter/epub/templates.d.ts.map +1 -1
  79. package/dist/exporter/epub/templates.js +1 -1
  80. package/dist/exporter/epub/templates.js.map +1 -1
  81. package/dist/exporter/epub/tools.d.ts +12 -4
  82. package/dist/exporter/epub/tools.d.ts.map +1 -1
  83. package/dist/exporter/epub/tools.js +14 -13
  84. package/dist/exporter/epub/tools.js.map +1 -1
  85. package/dist/exporter/html/citations.d.ts +17 -15
  86. package/dist/exporter/html/citations.d.ts.map +1 -1
  87. package/dist/exporter/html/citations.js +37 -18
  88. package/dist/exporter/html/citations.js.map +1 -1
  89. package/dist/exporter/html/convert.d.ts +20 -70
  90. package/dist/exporter/html/convert.d.ts.map +1 -1
  91. package/dist/exporter/html/convert.js +74 -42
  92. package/dist/exporter/html/convert.js.map +1 -1
  93. package/dist/exporter/html/index.d.ts +55 -52
  94. package/dist/exporter/html/index.d.ts.map +1 -1
  95. package/dist/exporter/html/index.js +23 -3
  96. package/dist/exporter/html/index.js.map +1 -1
  97. package/dist/exporter/html/templates.d.ts +23 -9
  98. package/dist/exporter/html/templates.d.ts.map +1 -1
  99. package/dist/exporter/html/templates.js +1 -1
  100. package/dist/exporter/html/templates.js.map +1 -1
  101. package/dist/exporter/html/tools.d.ts +1 -1
  102. package/dist/exporter/html/tools.d.ts.map +1 -1
  103. package/dist/exporter/html/tools.js +2 -2
  104. package/dist/exporter/html/tools.js.map +1 -1
  105. package/dist/exporter/jats/bibliography.d.ts +2 -1
  106. package/dist/exporter/jats/bibliography.d.ts.map +1 -1
  107. package/dist/exporter/jats/bibliography.js +57 -52
  108. package/dist/exporter/jats/bibliography.js.map +1 -1
  109. package/dist/exporter/jats/citations.d.ts +13 -11
  110. package/dist/exporter/jats/citations.d.ts.map +1 -1
  111. package/dist/exporter/jats/citations.js +28 -6
  112. package/dist/exporter/jats/citations.js.map +1 -1
  113. package/dist/exporter/jats/convert.d.ts +24 -28
  114. package/dist/exporter/jats/convert.d.ts.map +1 -1
  115. package/dist/exporter/jats/convert.js +53 -36
  116. package/dist/exporter/jats/convert.js.map +1 -1
  117. package/dist/exporter/jats/index.d.ts +21 -15
  118. package/dist/exporter/jats/index.d.ts.map +1 -1
  119. package/dist/exporter/jats/index.js +21 -5
  120. package/dist/exporter/jats/index.js.map +1 -1
  121. package/dist/exporter/jats/templates.d.ts +17 -15
  122. package/dist/exporter/jats/templates.d.ts.map +1 -1
  123. package/dist/exporter/jats/templates.js.map +1 -1
  124. package/dist/exporter/jats/text.d.ts +3 -2
  125. package/dist/exporter/jats/text.d.ts.map +1 -1
  126. package/dist/exporter/jats/text.js +4 -4
  127. package/dist/exporter/jats/text.js.map +1 -1
  128. package/dist/exporter/latex/convert.d.ts +12 -15
  129. package/dist/exporter/latex/convert.d.ts.map +1 -1
  130. package/dist/exporter/latex/convert.js +70 -54
  131. package/dist/exporter/latex/convert.js.map +1 -1
  132. package/dist/exporter/latex/escape_latex.d.ts +1 -1
  133. package/dist/exporter/latex/escape_latex.d.ts.map +1 -1
  134. package/dist/exporter/latex/escape_latex.js +1 -1
  135. package/dist/exporter/latex/escape_latex.js.map +1 -1
  136. package/dist/exporter/latex/index.d.ts +20 -19
  137. package/dist/exporter/latex/index.d.ts.map +1 -1
  138. package/dist/exporter/latex/index.js +15 -5
  139. package/dist/exporter/latex/index.js.map +1 -1
  140. package/dist/exporter/latex/readme.d.ts +1 -1
  141. package/dist/exporter/latex/readme.d.ts.map +1 -1
  142. package/dist/exporter/latex/readme.js +2 -2
  143. package/dist/exporter/latex/readme.js.map +1 -1
  144. package/dist/exporter/native/copy.d.ts +30 -0
  145. package/dist/exporter/native/copy.d.ts.map +1 -0
  146. package/dist/exporter/native/copy.js +151 -0
  147. package/dist/exporter/native/copy.js.map +1 -0
  148. package/dist/exporter/native/file.d.ts +12 -0
  149. package/dist/exporter/native/file.d.ts.map +1 -0
  150. package/dist/exporter/native/file.js +38 -0
  151. package/dist/exporter/native/file.js.map +1 -0
  152. package/dist/exporter/native/index.d.ts +5 -0
  153. package/dist/exporter/native/index.d.ts.map +1 -0
  154. package/dist/exporter/native/index.js +5 -0
  155. package/dist/exporter/native/index.js.map +1 -0
  156. package/dist/exporter/native/revision.d.ts +18 -0
  157. package/dist/exporter/native/revision.d.ts.map +1 -0
  158. package/dist/exporter/native/revision.js +39 -0
  159. package/dist/exporter/native/revision.js.map +1 -0
  160. package/dist/exporter/native/shrink.d.ts +29 -14
  161. package/dist/exporter/native/shrink.d.ts.map +1 -1
  162. package/dist/exporter/native/shrink.js +27 -18
  163. package/dist/exporter/native/shrink.js.map +1 -1
  164. package/dist/exporter/native/zip.d.ts +25 -0
  165. package/dist/exporter/native/zip.d.ts.map +1 -0
  166. package/dist/exporter/native/zip.js +56 -0
  167. package/dist/exporter/native/zip.js.map +1 -0
  168. package/dist/exporter/odt/citations.d.ts +18 -15
  169. package/dist/exporter/odt/citations.d.ts.map +1 -1
  170. package/dist/exporter/odt/citations.js +21 -4
  171. package/dist/exporter/odt/citations.js.map +1 -1
  172. package/dist/exporter/odt/footnotes.d.ts +25 -19
  173. package/dist/exporter/odt/footnotes.d.ts.map +1 -1
  174. package/dist/exporter/odt/footnotes.js +23 -6
  175. package/dist/exporter/odt/footnotes.js.map +1 -1
  176. package/dist/exporter/odt/images.d.ts +23 -11
  177. package/dist/exporter/odt/images.d.ts.map +1 -1
  178. package/dist/exporter/odt/images.js +34 -26
  179. package/dist/exporter/odt/images.js.map +1 -1
  180. package/dist/exporter/odt/index.d.ts +12 -18
  181. package/dist/exporter/odt/index.d.ts.map +1 -1
  182. package/dist/exporter/odt/index.js +16 -7
  183. package/dist/exporter/odt/index.js.map +1 -1
  184. package/dist/exporter/odt/math.d.ts +10 -8
  185. package/dist/exporter/odt/math.d.ts.map +1 -1
  186. package/dist/exporter/odt/math.js +27 -4
  187. package/dist/exporter/odt/math.js.map +1 -1
  188. package/dist/exporter/odt/metadata.d.ts +13 -9
  189. package/dist/exporter/odt/metadata.d.ts.map +1 -1
  190. package/dist/exporter/odt/metadata.js +36 -15
  191. package/dist/exporter/odt/metadata.js.map +1 -1
  192. package/dist/exporter/odt/render.d.ts +17 -15
  193. package/dist/exporter/odt/render.d.ts.map +1 -1
  194. package/dist/exporter/odt/render.js +25 -18
  195. package/dist/exporter/odt/render.js.map +1 -1
  196. package/dist/exporter/odt/richtext.d.ts +9 -9
  197. package/dist/exporter/odt/richtext.d.ts.map +1 -1
  198. package/dist/exporter/odt/richtext.js +55 -40
  199. package/dist/exporter/odt/richtext.js.map +1 -1
  200. package/dist/exporter/odt/styles.d.ts +29 -21
  201. package/dist/exporter/odt/styles.d.ts.map +1 -1
  202. package/dist/exporter/odt/styles.js +44 -22
  203. package/dist/exporter/odt/styles.js.map +1 -1
  204. package/dist/exporter/odt/track.d.ts +14 -7
  205. package/dist/exporter/odt/track.d.ts.map +1 -1
  206. package/dist/exporter/odt/track.js +7 -0
  207. package/dist/exporter/odt/track.js.map +1 -1
  208. package/dist/exporter/pandoc/citations.d.ts +20 -14
  209. package/dist/exporter/pandoc/citations.d.ts.map +1 -1
  210. package/dist/exporter/pandoc/citations.js +18 -4
  211. package/dist/exporter/pandoc/citations.js.map +1 -1
  212. package/dist/exporter/pandoc/convert.d.ts +10 -29
  213. package/dist/exporter/pandoc/convert.d.ts.map +1 -1
  214. package/dist/exporter/pandoc/convert.js +45 -40
  215. package/dist/exporter/pandoc/convert.js.map +1 -1
  216. package/dist/exporter/pandoc/index.d.ts +20 -33
  217. package/dist/exporter/pandoc/index.d.ts.map +1 -1
  218. package/dist/exporter/pandoc/index.js +20 -8
  219. package/dist/exporter/pandoc/index.js.map +1 -1
  220. package/dist/exporter/pandoc/readme.d.ts +1 -1
  221. package/dist/exporter/pandoc/readme.d.ts.map +1 -1
  222. package/dist/exporter/pandoc/readme.js +0 -1
  223. package/dist/exporter/pandoc/readme.js.map +1 -1
  224. package/dist/exporter/pandoc/tools.d.ts +21 -5
  225. package/dist/exporter/pandoc/tools.d.ts.map +1 -1
  226. package/dist/exporter/pandoc/tools.js +2 -2
  227. package/dist/exporter/pandoc/tools.js.map +1 -1
  228. package/dist/exporter/print/index.d.ts +18 -7
  229. package/dist/exporter/print/index.d.ts.map +1 -1
  230. package/dist/exporter/print/index.js +12 -10
  231. package/dist/exporter/print/index.js.map +1 -1
  232. package/dist/exporter/tools/doc_content.d.ts +5 -6
  233. package/dist/exporter/tools/doc_content.d.ts.map +1 -1
  234. package/dist/exporter/tools/doc_content.js +17 -16
  235. package/dist/exporter/tools/doc_content.js.map +1 -1
  236. package/dist/exporter/tools/svg.d.ts +7 -1
  237. package/dist/exporter/tools/svg.d.ts.map +1 -1
  238. package/dist/exporter/tools/svg.js.map +1 -1
  239. package/dist/exporter/tools/xml.d.ts +39 -38
  240. package/dist/exporter/tools/xml.d.ts.map +1 -1
  241. package/dist/exporter/tools/xml.js +82 -55
  242. package/dist/exporter/tools/xml.js.map +1 -1
  243. package/dist/exporter/tools/xml_zip.d.ts +15 -14
  244. package/dist/exporter/tools/xml_zip.d.ts.map +1 -1
  245. package/dist/exporter/tools/xml_zip.js +8 -2
  246. package/dist/exporter/tools/xml_zip.js.map +1 -1
  247. package/dist/exporter/tools/zip.d.ts +28 -14
  248. package/dist/exporter/tools/zip.d.ts.map +1 -1
  249. package/dist/exporter/tools/zip.js +13 -6
  250. package/dist/exporter/tools/zip.js.map +1 -1
  251. package/dist/exporter/tools/zotero_csl.d.ts +19 -6
  252. package/dist/exporter/tools/zotero_csl.d.ts.map +1 -1
  253. package/dist/exporter/tools/zotero_csl.js +9 -9
  254. package/dist/exporter/tools/zotero_csl.js.map +1 -1
  255. package/dist/importer/citations.d.ts +25 -22
  256. package/dist/importer/citations.d.ts.map +1 -1
  257. package/dist/importer/citations.js +1 -49
  258. package/dist/importer/citations.js.map +1 -1
  259. package/dist/importer/docx/citations.d.ts +8 -30
  260. package/dist/importer/docx/citations.d.ts.map +1 -1
  261. package/dist/importer/docx/citations.js +1 -26
  262. package/dist/importer/docx/citations.js.map +1 -1
  263. package/dist/importer/docx/convert.d.ts +38 -116
  264. package/dist/importer/docx/convert.d.ts.map +1 -1
  265. package/dist/importer/docx/convert.js +99 -82
  266. package/dist/importer/docx/convert.js.map +1 -1
  267. package/dist/importer/docx/helpers.d.ts +1 -1
  268. package/dist/importer/docx/helpers.d.ts.map +1 -1
  269. package/dist/importer/docx/helpers.js +1 -1
  270. package/dist/importer/docx/helpers.js.map +1 -1
  271. package/dist/importer/docx/index.d.ts +27 -0
  272. package/dist/importer/docx/index.d.ts.map +1 -0
  273. package/dist/importer/docx/index.js +77 -0
  274. package/dist/importer/docx/index.js.map +1 -0
  275. package/dist/importer/docx/omml2mathml.d.ts +2 -3
  276. package/dist/importer/docx/omml2mathml.d.ts.map +1 -1
  277. package/dist/importer/docx/omml2mathml.js +23 -116
  278. package/dist/importer/docx/omml2mathml.js.map +1 -1
  279. package/dist/importer/docx/parse.d.ts +22 -131
  280. package/dist/importer/docx/parse.d.ts.map +1 -1
  281. package/dist/importer/docx/parse.js +73 -55
  282. package/dist/importer/docx/parse.js.map +1 -1
  283. package/dist/importer/native/extract_template.d.ts +6 -0
  284. package/dist/importer/native/extract_template.d.ts.map +1 -0
  285. package/dist/importer/native/extract_template.js +80 -0
  286. package/dist/importer/native/extract_template.js.map +1 -0
  287. package/dist/importer/native/file.d.ts +37 -0
  288. package/dist/importer/native/file.d.ts.map +1 -0
  289. package/dist/importer/native/file.js +162 -0
  290. package/dist/importer/native/file.js.map +1 -0
  291. package/dist/importer/native/get_images.d.ts +18 -8
  292. package/dist/importer/native/get_images.d.ts.map +1 -1
  293. package/dist/importer/native/get_images.js +39 -45
  294. package/dist/importer/native/get_images.js.map +1 -1
  295. package/dist/importer/native/importer.d.ts +41 -0
  296. package/dist/importer/native/importer.d.ts.map +1 -0
  297. package/dist/importer/native/importer.js +170 -0
  298. package/dist/importer/native/importer.js.map +1 -0
  299. package/dist/importer/native/index.d.ts +7 -0
  300. package/dist/importer/native/index.d.ts.map +1 -0
  301. package/dist/importer/native/index.js +7 -0
  302. package/dist/importer/native/index.js.map +1 -0
  303. package/dist/importer/native/update.d.ts +5 -4
  304. package/dist/importer/native/update.d.ts.map +1 -1
  305. package/dist/importer/native/update.js +4 -3
  306. package/dist/importer/native/update.js.map +1 -1
  307. package/dist/importer/native/update_template.d.ts +12 -0
  308. package/dist/importer/native/update_template.d.ts.map +1 -0
  309. package/dist/importer/native/update_template.js +19 -0
  310. package/dist/importer/native/update_template.js.map +1 -0
  311. package/dist/importer/odt/citations.d.ts +7 -27
  312. package/dist/importer/odt/citations.d.ts.map +1 -1
  313. package/dist/importer/odt/citations.js +0 -22
  314. package/dist/importer/odt/citations.js.map +1 -1
  315. package/dist/importer/odt/convert.d.ts +53 -237
  316. package/dist/importer/odt/convert.d.ts.map +1 -1
  317. package/dist/importer/odt/convert.js +162 -138
  318. package/dist/importer/odt/convert.js.map +1 -1
  319. package/dist/importer/odt/index.d.ts +30 -0
  320. package/dist/importer/odt/index.d.ts.map +1 -0
  321. package/dist/importer/odt/index.js +124 -0
  322. package/dist/importer/odt/index.js.map +1 -0
  323. package/dist/importer/pandoc/convert.d.ts +25 -77
  324. package/dist/importer/pandoc/convert.d.ts.map +1 -1
  325. package/dist/importer/pandoc/convert.js +65 -52
  326. package/dist/importer/pandoc/convert.js.map +1 -1
  327. package/dist/importer/pandoc/helpers.d.ts +4 -3
  328. package/dist/importer/pandoc/helpers.d.ts.map +1 -1
  329. package/dist/importer/pandoc/helpers.js +24 -26
  330. package/dist/importer/pandoc/helpers.js.map +1 -1
  331. package/dist/importer/pandoc/index.d.ts +31 -0
  332. package/dist/importer/pandoc/index.d.ts.map +1 -0
  333. package/dist/importer/pandoc/index.js +114 -0
  334. package/dist/importer/pandoc/index.js.map +1 -0
  335. package/dist/importer/registry.d.ts +21 -0
  336. package/dist/importer/registry.d.ts.map +1 -0
  337. package/dist/importer/registry.js +41 -0
  338. package/dist/importer/registry.js.map +1 -0
  339. package/dist/importer/zip_analyzer.d.ts +27 -21
  340. package/dist/importer/zip_analyzer.d.ts.map +1 -1
  341. package/dist/importer/zip_analyzer.js +10 -5
  342. package/dist/importer/zip_analyzer.js.map +1 -1
  343. package/dist/mathlive/opf_includes.d.ts +1 -1
  344. package/dist/mathlive/opf_includes.d.ts.map +1 -1
  345. package/dist/mathlive/opf_includes.js.map +1 -1
  346. package/dist/schema/common/annotate.d.ts +37 -49
  347. package/dist/schema/common/annotate.d.ts.map +1 -1
  348. package/dist/schema/common/annotate.js +2 -2
  349. package/dist/schema/common/annotate.js.map +1 -1
  350. package/dist/schema/common/base.d.ts +63 -81
  351. package/dist/schema/common/base.d.ts.map +1 -1
  352. package/dist/schema/common/base.js.map +1 -1
  353. package/dist/schema/common/citation.d.ts +23 -22
  354. package/dist/schema/common/citation.d.ts.map +1 -1
  355. package/dist/schema/common/citation.js +4 -5
  356. package/dist/schema/common/citation.js.map +1 -1
  357. package/dist/schema/common/equation.d.ts +13 -14
  358. package/dist/schema/common/equation.d.ts.map +1 -1
  359. package/dist/schema/common/equation.js +1 -1
  360. package/dist/schema/common/equation.js.map +1 -1
  361. package/dist/schema/common/figure.d.ts +72 -93
  362. package/dist/schema/common/figure.d.ts.map +1 -1
  363. package/dist/schema/common/figure.js +11 -9
  364. package/dist/schema/common/figure.js.map +1 -1
  365. package/dist/schema/common/heading.d.ts +8 -32
  366. package/dist/schema/common/heading.d.ts.map +1 -1
  367. package/dist/schema/common/heading.js +2 -2
  368. package/dist/schema/common/heading.js.map +1 -1
  369. package/dist/schema/common/index.d.ts +2 -2
  370. package/dist/schema/common/index.d.ts.map +1 -1
  371. package/dist/schema/common/index.js.map +1 -1
  372. package/dist/schema/common/list.d.ts +52 -72
  373. package/dist/schema/common/list.d.ts.map +1 -1
  374. package/dist/schema/common/list.js +3 -3
  375. package/dist/schema/common/list.js.map +1 -1
  376. package/dist/schema/common/reference.d.ts +51 -59
  377. package/dist/schema/common/reference.d.ts.map +1 -1
  378. package/dist/schema/common/reference.js +5 -5
  379. package/dist/schema/common/reference.js.map +1 -1
  380. package/dist/schema/common/table.d.ts +59 -75
  381. package/dist/schema/common/table.d.ts.map +1 -1
  382. package/dist/schema/common/table.js +3 -2
  383. package/dist/schema/common/table.js.map +1 -1
  384. package/dist/schema/common/track.d.ts +83 -97
  385. package/dist/schema/common/track.d.ts.map +1 -1
  386. package/dist/schema/common/track.js +18 -17
  387. package/dist/schema/common/track.js.map +1 -1
  388. package/dist/schema/convert.d.ts +2 -2
  389. package/dist/schema/convert.d.ts.map +1 -1
  390. package/dist/schema/convert.js +2 -2
  391. package/dist/schema/convert.js.map +1 -1
  392. package/dist/schema/document/content.d.ts +95 -122
  393. package/dist/schema/document/content.d.ts.map +1 -1
  394. package/dist/schema/document/content.js +9 -9
  395. package/dist/schema/document/content.js.map +1 -1
  396. package/dist/schema/document/index.d.ts +173 -257
  397. package/dist/schema/document/index.d.ts.map +1 -1
  398. package/dist/schema/document/index.js.map +1 -1
  399. package/dist/schema/document/structure.d.ts +149 -258
  400. package/dist/schema/document/structure.d.ts.map +1 -1
  401. package/dist/schema/document/structure.js +2 -2
  402. package/dist/schema/document/structure.js.map +1 -1
  403. package/dist/schema/export.d.ts +4 -877
  404. package/dist/schema/export.d.ts.map +1 -1
  405. package/dist/schema/export.js +1 -0
  406. package/dist/schema/export.js.map +1 -1
  407. package/dist/schema/footnotes.d.ts +110 -155
  408. package/dist/schema/footnotes.d.ts.map +1 -1
  409. package/dist/schema/footnotes.js +4 -2
  410. package/dist/schema/footnotes.js.map +1 -1
  411. package/dist/schema/footnotes_convert.d.ts +3 -3
  412. package/dist/schema/footnotes_convert.d.ts.map +1 -1
  413. package/dist/schema/footnotes_convert.js +10 -6
  414. package/dist/schema/footnotes_convert.js.map +1 -1
  415. package/dist/schema/i18n.d.ts +3 -534
  416. package/dist/schema/i18n.d.ts.map +1 -1
  417. package/dist/schema/i18n.js +1 -0
  418. package/dist/schema/i18n.js.map +1 -1
  419. package/dist/schema/index.d.ts +1 -1
  420. package/dist/schema/index.d.ts.map +1 -1
  421. package/dist/schema/index.js.map +1 -1
  422. package/dist/schema/mini_json.d.ts +3 -4
  423. package/dist/schema/mini_json.d.ts.map +1 -1
  424. package/dist/schema/mini_json.js +2 -0
  425. package/dist/schema/mini_json.js.map +1 -1
  426. package/dist/schema/text.d.ts +2 -1
  427. package/dist/schema/text.d.ts.map +1 -1
  428. package/dist/schema/text.js +1 -1
  429. package/dist/schema/text.js.map +1 -1
  430. package/dist/types.d.ts +167 -8
  431. package/dist/types.d.ts.map +1 -1
  432. package/package.json +24 -1
  433. package/src/bibliography/{common.js → common.ts} +15 -12
  434. package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
  435. package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
  436. package/src/citations/{format.js → format.ts} +80 -24
  437. package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
  438. package/src/exporter/docx/{citations.js → citations.ts} +51 -23
  439. package/src/exporter/docx/{comments.js → comments.ts} +69 -26
  440. package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
  441. package/src/exporter/docx/images.ts +128 -0
  442. package/src/exporter/docx/{index.js → index.ts} +48 -25
  443. package/src/exporter/docx/{lists.js → lists.ts} +89 -46
  444. package/src/exporter/docx/{math.js → math.ts} +29 -9
  445. package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
  446. package/src/exporter/docx/{rels.js → rels.ts} +71 -50
  447. package/src/exporter/docx/{render.js → render.ts} +124 -87
  448. package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
  449. package/src/exporter/docx/{tables.js → tables.ts} +33 -23
  450. package/src/exporter/docx/{tools.js → tools.ts} +4 -3
  451. package/src/exporter/epub/{index.js → index.ts} +44 -15
  452. package/src/exporter/epub/{templates.js → templates.ts} +71 -7
  453. package/src/exporter/epub/{tools.js → tools.ts} +31 -25
  454. package/src/exporter/html/{citations.js → citations.ts} +79 -31
  455. package/src/exporter/html/{convert.js → convert.ts} +118 -71
  456. package/src/exporter/html/{index.js → index.ts} +63 -29
  457. package/src/exporter/html/{templates.js → templates.ts} +22 -2
  458. package/src/exporter/html/{tools.js → tools.ts} +9 -6
  459. package/src/exporter/jats/bibliography.ts +199 -0
  460. package/src/exporter/jats/{citations.js → citations.ts} +56 -20
  461. package/src/exporter/jats/{convert.js → convert.ts} +72 -53
  462. package/src/exporter/jats/index.ts +132 -0
  463. package/src/exporter/jats/{templates.js → templates.ts} +19 -3
  464. package/src/exporter/jats/{text.js → text.ts} +8 -6
  465. package/src/exporter/latex/{convert.js → convert.ts} +160 -125
  466. package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
  467. package/src/exporter/latex/{index.js → index.ts} +27 -12
  468. package/src/exporter/latex/{readme.js → readme.ts} +2 -2
  469. package/src/exporter/native/copy.ts +231 -0
  470. package/src/exporter/native/file.ts +65 -0
  471. package/src/exporter/native/index.ts +4 -0
  472. package/src/exporter/native/revision.ts +76 -0
  473. package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
  474. package/src/exporter/native/zip.ts +85 -0
  475. package/src/exporter/odt/{citations.js → citations.ts} +35 -15
  476. package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
  477. package/src/exporter/odt/images.ts +135 -0
  478. package/src/exporter/odt/{index.js → index.ts} +49 -27
  479. package/src/exporter/odt/{math.js → math.ts} +38 -9
  480. package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
  481. package/src/exporter/odt/{render.js → render.ts} +89 -60
  482. package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
  483. package/src/exporter/odt/{styles.js → styles.ts} +98 -66
  484. package/src/exporter/odt/{track.js → track.ts} +22 -6
  485. package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
  486. package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
  487. package/src/exporter/pandoc/{index.js → index.ts} +36 -13
  488. package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
  489. package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
  490. package/src/exporter/print/{index.js → index.ts} +38 -19
  491. package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
  492. package/src/exporter/tools/{svg.js → svg.ts} +9 -3
  493. package/src/exporter/tools/{xml.js → xml.ts} +187 -138
  494. package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
  495. package/src/exporter/tools/{zip.js → zip.ts} +35 -11
  496. package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
  497. package/src/global.d.ts +2 -0
  498. package/src/importer/citations.ts +116 -0
  499. package/src/importer/docx/{citations.js → citations.ts} +22 -37
  500. package/src/importer/docx/{convert.js → convert.ts} +176 -141
  501. package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
  502. package/src/importer/docx/index.ts +124 -0
  503. package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
  504. package/src/importer/docx/{parse.js → parse.ts} +103 -81
  505. package/src/importer/native/extract_template.ts +83 -0
  506. package/src/importer/native/file.ts +282 -0
  507. package/src/importer/native/get_images.ts +82 -0
  508. package/src/importer/native/importer.ts +244 -0
  509. package/src/importer/native/index.ts +6 -0
  510. package/src/importer/native/{update.js → update.ts} +13 -5
  511. package/src/importer/native/update_template.ts +32 -0
  512. package/src/importer/odt/{citations.js → citations.ts} +17 -29
  513. package/src/importer/odt/{convert.js → convert.ts} +261 -237
  514. package/src/importer/odt/index.ts +202 -0
  515. package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
  516. package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
  517. package/src/importer/pandoc/index.ts +171 -0
  518. package/src/importer/registry.ts +69 -0
  519. package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
  520. package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
  521. package/src/modules.d.ts +40 -0
  522. package/src/schema/common/{annotate.js → annotate.ts} +10 -8
  523. package/src/schema/common/{base.js → base.ts} +12 -10
  524. package/src/schema/common/{citation.js → citation.ts} +17 -8
  525. package/src/schema/common/{equation.js → equation.ts} +6 -4
  526. package/src/schema/common/{figure.js → figure.ts} +43 -23
  527. package/src/schema/common/{heading.js → heading.ts} +7 -5
  528. package/src/schema/common/{list.js → list.ts} +15 -13
  529. package/src/schema/common/{reference.js → reference.ts} +14 -12
  530. package/src/schema/common/{table.js → table.ts} +16 -14
  531. package/src/schema/common/{track.js → track.ts} +42 -31
  532. package/src/schema/{convert.js → convert.ts} +6 -2
  533. package/src/schema/document/{content.js → content.ts} +22 -20
  534. package/src/schema/document/{structure.js → structure.ts} +15 -9
  535. package/src/schema/{export.js → export.ts} +4 -2
  536. package/src/schema/{footnotes.js → footnotes.ts} +11 -8
  537. package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
  538. package/src/schema/{i18n.js → i18n.ts} +7 -1
  539. package/src/schema/{mini_json.js → mini_json.ts} +11 -12
  540. package/src/schema/{text.js → text.ts} +6 -2
  541. package/src/types.ts +185 -7
  542. package/src/exporter/docx/images.js +0 -101
  543. package/src/exporter/jats/bibliography.js +0 -183
  544. package/src/exporter/jats/index.js +0 -92
  545. package/src/exporter/odt/images.js +0 -115
  546. package/src/importer/citations.js +0 -129
  547. package/src/importer/native/get_images.js +0 -76
  548. /package/src/schema/common/{index.js → index.ts} +0 -0
  549. /package/src/schema/document/{index.js → index.ts} +0 -0
  550. /package/src/schema/{index.js → index.ts} +0 -0
@@ -2,6 +2,8 @@
2
2
  // that works with our xml dom.
3
3
 
4
4
  import {xmlDOM} from "../../exporter/tools/xml.js"
5
+ import type {XMLElement} from "../../exporter/tools/xml.js"
6
+
5
7
  const MATH_NS = "http://www.w3.org/1998/Math/MathML"
6
8
 
7
9
  // Regular expression matching mathematical operators
@@ -10,10 +12,8 @@ const oprx =
10
12
 
11
13
  /**
12
14
  * Converts OMML to MathML
13
- * @param {XMLElement} omml - OMML XML element
14
- * @return {string} MathML XML string
15
15
  */
16
- export function omml2mathml(omml) {
16
+ export function omml2mathml(omml: XMLElement): XMLElement {
17
17
  // Create the root math element
18
18
  const math = xmlDOM(`<math xmlns="${MATH_NS}" display="inline"></math>`)
19
19
 
@@ -25,14 +25,12 @@ export function omml2mathml(omml) {
25
25
 
26
26
  /**
27
27
  * Process the OMML document and convert to MathML
28
- * @param {XMLElement} omml - The OMML element to process
29
- * @param {XMLElement} math - The parent MathML element
30
28
  */
31
- function processOMML(omml, math) {
29
+ function processOMML(omml: XMLElement, math: XMLElement): void {
32
30
  // Handle different OMML elements
33
31
  if (omml.tagName === "m:oMathPara") {
34
32
  math.setAttribute("display", "block")
35
- omml.queryAll("m:oMath").forEach(omath => {
33
+ omml.queryAll("m:oMath").forEach((omath: any) => {
36
34
  processOMML(omath, math)
37
35
  })
38
36
  } else if (omml.tagName === "m:oMath") {
@@ -45,10 +43,8 @@ function processOMML(omml, math) {
45
43
 
46
44
  /**
47
45
  * Process an OMML element and create corresponding MathML
48
- * @param {XMLElement} element - The OMML element to process
49
- * @param {XMLElement} parent - The parent MathML element
50
46
  */
51
- function processElement(element, parent) {
47
+ function processElement(element: XMLElement | null, parent: XMLElement): void {
52
48
  if (!element || !element.tagName) {
53
49
  return
54
50
  }
@@ -127,33 +123,34 @@ function processElement(element, parent) {
127
123
 
128
124
  /**
129
125
  * Process all children of an element
130
- * @param {XMLElement} element - The element whose children to process
131
- * @param {XMLElement} parent - The parent MathML element
132
126
  */
133
- function processChildren(element, parent) {
127
+ function processChildren(
128
+ element: XMLElement | null,
129
+ parent: XMLElement
130
+ ): void {
134
131
  if (!element || !element.children) {
135
132
  return
136
133
  }
137
134
 
138
- element.children.forEach(child => {
135
+ element.children.forEach((child: any) => {
139
136
  if (typeof child === "object") {
140
- processElement(child, parent)
137
+ processElement(child as XMLElement, parent)
141
138
  }
142
139
  })
143
140
  }
144
141
 
145
142
  /**
146
143
  * Create a MathML element with specified attributes
147
- * @param {string} tag - The MathML tag name
148
- * @param {Object} attrs - The attributes to set
149
- * @param {XMLElement} parent - The parent element
150
- * @return {XMLElement} The created element
151
144
  */
152
- function createMathElement(tag, attrs = {}, parent = null) {
145
+ function createMathElement(
146
+ tag: string,
147
+ attrs: Record<string, unknown> = {},
148
+ parent: XMLElement | null = null
149
+ ): XMLElement {
153
150
  const elem = xmlDOM(`<${tag}></${tag}>`)
154
151
 
155
152
  // Set attributes
156
- Object.entries(attrs).forEach(([key, value]) => {
153
+ Object.entries(attrs).forEach(([key, value]: any) => {
157
154
  if (value !== undefined && value !== "") {
158
155
  elem.setAttribute(key, value)
159
156
  }
@@ -168,10 +165,8 @@ function createMathElement(tag, attrs = {}, parent = null) {
168
165
 
169
166
  /**
170
167
  * Process a fraction element
171
- * @param {XMLElement} element - The OMML fraction element
172
- * @param {XMLElement} parent - The parent MathML element
173
168
  */
174
- function processFraction(element, parent) {
169
+ function processFraction(element: XMLElement, parent: XMLElement): void {
175
170
  const type = getAttr(element, "m:fPr/m:type", "m:val") || ""
176
171
 
177
172
  if (type.toLowerCase() === "lin") {
@@ -208,20 +203,18 @@ function processFraction(element, parent) {
208
203
 
209
204
  /**
210
205
  * Process a run of text
211
- * @param {XMLElement} element - The OMML run element
212
- * @param {XMLElement} parent - The parent MathML element
213
206
  */
214
- function processRun(element, parent) {
207
+ function processRun(element: XMLElement, parent: XMLElement): void {
215
208
  const nor = forceFalse(getAttr(element, "m:rPr/m:nor", "m:val") || "false")
216
209
  if (nor) {
217
210
  const mtext = createMathElement("mtext", {}, parent)
218
211
  const textContent = element
219
212
  .queryAll("m:t")
220
- .map(t => t.textContent)
213
+ .map((t: any) => t.textContent)
221
214
  .join("")
222
215
  mtext.textContent = nbsp(textContent)
223
216
  } else {
224
- element.queryAll("m:t").forEach(t => {
217
+ element.queryAll("m:t").forEach((t: any) => {
225
218
  const toParse = t.textContent
226
219
  const scr = getAttr(element, "m:rPr/m:scr", "m:val")
227
220
  const sty = getAttr(element, "m:rPr/m:sty", "m:val")
@@ -237,10 +230,8 @@ function processRun(element, parent) {
237
230
 
238
231
  /**
239
232
  * Process a lower limit element
240
- * @param {XMLElement} element - The OMML limLow element
241
- * @param {XMLElement} parent - The parent MathML element
242
233
  */
243
- function processLimLow(element, parent) {
234
+ function processLimLow(element: XMLElement, parent: XMLElement): void {
244
235
  const munder = createMathElement("munder", {}, parent)
245
236
  const row1 = createMathElement("mrow", {}, munder)
246
237
  const row2 = createMathElement("mrow", {}, munder)
@@ -258,10 +249,8 @@ function processLimLow(element, parent) {
258
249
 
259
250
  /**
260
251
  * Process an upper limit element
261
- * @param {XMLElement} element - The OMML limUpp element
262
- * @param {XMLElement} parent - The parent MathML element
263
252
  */
264
- function processLimUpp(element, parent) {
253
+ function processLimUpp(element: XMLElement, parent: XMLElement): void {
265
254
  const mover = createMathElement("mover", {}, parent)
266
255
  const row1 = createMathElement("mrow", {}, mover)
267
256
  const row2 = createMathElement("mrow", {}, mover)
@@ -279,10 +268,8 @@ function processLimUpp(element, parent) {
279
268
 
280
269
  /**
281
270
  * Process a subscript element
282
- * @param {XMLElement} element - The OMML sSub element
283
- * @param {XMLElement} parent - The parent MathML element
284
271
  */
285
- function processSubscript(element, parent) {
272
+ function processSubscript(element: XMLElement, parent: XMLElement): void {
286
273
  const msub = createMathElement("msub", {}, parent)
287
274
  const row1 = createMathElement("mrow", {}, msub)
288
275
  const row2 = createMathElement("mrow", {}, msub)
@@ -300,10 +287,8 @@ function processSubscript(element, parent) {
300
287
 
301
288
  /**
302
289
  * Process a superscript element
303
- * @param {XMLElement} element - The OMML sSup element
304
- * @param {XMLElement} parent - The parent MathML element
305
290
  */
306
- function processSuperscript(element, parent) {
291
+ function processSuperscript(element: XMLElement, parent: XMLElement): void {
307
292
  const msup = createMathElement("msup", {}, parent)
308
293
  const row1 = createMathElement("mrow", {}, msup)
309
294
  const row2 = createMathElement("mrow", {}, msup)
@@ -321,10 +306,8 @@ function processSuperscript(element, parent) {
321
306
 
322
307
  /**
323
308
  * Process a subscript-superscript element
324
- * @param {XMLElement} element - The OMML sSubSup element
325
- * @param {XMLElement} parent - The parent MathML element
326
309
  */
327
- function processSubSuperscript(element, parent) {
310
+ function processSubSuperscript(element: XMLElement, parent: XMLElement): void {
328
311
  const msubsup = createMathElement("msubsup", {}, parent)
329
312
  const row1 = createMathElement("mrow", {}, msubsup)
330
313
  const row2 = createMathElement("mrow", {}, msubsup)
@@ -348,10 +331,8 @@ function processSubSuperscript(element, parent) {
348
331
 
349
332
  /**
350
333
  * Process a prescripted element
351
- * @param {XMLElement} element - The OMML sPre element
352
- * @param {XMLElement} parent - The parent MathML element
353
334
  */
354
- function processPreScript(element, parent) {
335
+ function processPreScript(element: XMLElement, parent: XMLElement): void {
355
336
  const mmultiscripts = createMathElement("mmultiscripts", {}, parent)
356
337
  const row = createMathElement("mrow", {}, mmultiscripts)
357
338
 
@@ -371,23 +352,21 @@ function processPreScript(element, parent) {
371
352
 
372
353
  /**
373
354
  * Process a matrix element
374
- * @param {XMLElement} element - The OMML matrix element
375
- * @param {XMLElement} parent - The parent MathML element
376
355
  */
377
- function processMatrix(element, parent) {
356
+ function processMatrix(element: XMLElement, parent: XMLElement): void {
378
357
  const mcjc = getAttr(element, "m:mPr/m:mcs/m:mc/m:mcPr/m:mcJc", "m:val")
379
358
 
380
- const attrs = {}
359
+ const attrs: Record<string, string> = {}
381
360
  if (mcjc && mcjc.toLowerCase() !== "center") {
382
361
  attrs.columnalign = mcjc.toLowerCase()
383
362
  }
384
363
 
385
364
  const mtable = createMathElement("mtable", attrs, parent)
386
365
 
387
- element.queryAll("m:mr").forEach(mr => {
366
+ element.queryAll("m:mr").forEach((mr: any) => {
388
367
  const mtr = createMathElement("mtr", {}, mtable)
389
368
 
390
- mr.queryAll("m:e").forEach(me => {
369
+ mr.queryAll("m:e").forEach((me: any) => {
391
370
  const mtd = createMathElement("mtd", {}, mtr)
392
371
  processElement(me, mtd)
393
372
  })
@@ -396,10 +375,8 @@ function processMatrix(element, parent) {
396
375
 
397
376
  /**
398
377
  * Process a radical element
399
- * @param {XMLElement} element - The OMML radical element
400
- * @param {XMLElement} parent - The parent MathML element
401
378
  */
402
- function processRadical(element, parent) {
379
+ function processRadical(element: XMLElement, parent: XMLElement): void {
403
380
  const degHide = forceFalse(
404
381
  getAttr(element, "m:radPr/m:degHide", "m:val") || "false"
405
382
  )
@@ -429,10 +406,8 @@ function processRadical(element, parent) {
429
406
 
430
407
  /**
431
408
  * Process an n-ary operator element
432
- * @param {XMLElement} element - The OMML nary element
433
- * @param {XMLElement} parent - The parent MathML element
434
409
  */
435
- function processNary(element, parent) {
410
+ function processNary(element: XMLElement, parent: XMLElement): void {
436
411
  const subHide = forceFalse(
437
412
  getAttr(element, "m:naryPr/m:subHide", "m:val") || "false"
438
413
  )
@@ -508,15 +483,13 @@ function processNary(element, parent) {
508
483
 
509
484
  /**
510
485
  * Process a delimiter element
511
- * @param {XMLElement} element - The OMML delimiter element
512
- * @param {XMLElement} parent - The parent MathML element
513
486
  */
514
- function processDelimiter(element, parent) {
487
+ function processDelimiter(element: XMLElement, parent: XMLElement): void {
515
488
  const begChr = getAttr(element, "m:dPr/m:begChr", "m:val")
516
489
  const endChr = getAttr(element, "m:dPr/m:endChr", "m:val")
517
490
  const sepChr = getAttr(element, "m:dPr/m:sepChr", "m:val") || "|"
518
491
 
519
- const attr = {}
492
+ const attr: Record<string, string> = {}
520
493
  if (begChr !== undefined && begChr !== "(") {
521
494
  attr.open = begChr
522
495
  }
@@ -529,7 +502,7 @@ function processDelimiter(element, parent) {
529
502
 
530
503
  const mfenced = createMathElement("mfenced", attr, parent)
531
504
 
532
- element.queryAll("m:e").forEach(me => {
505
+ element.queryAll("m:e").forEach((me: any) => {
533
506
  const row = createMathElement("mrow", {}, mfenced)
534
507
  processElement(me, row)
535
508
  })
@@ -537,13 +510,11 @@ function processDelimiter(element, parent) {
537
510
 
538
511
  /**
539
512
  * Process an equation array element
540
- * @param {XMLElement} element - The OMML eqArr element
541
- * @param {XMLElement} parent - The parent MathML element
542
513
  */
543
- function processEqArr(element, parent) {
514
+ function processEqArr(element: XMLElement, parent: XMLElement): void {
544
515
  const mtable = createMathElement("mtable", {}, parent)
545
516
 
546
- element.queryAll("m:e").forEach(me => {
517
+ element.queryAll("m:e").forEach((me: any) => {
547
518
  const mtr = createMathElement("mtr", {}, mtable)
548
519
  const mtd = createMathElement("mtd", {}, mtr)
549
520
 
@@ -557,21 +528,19 @@ function processEqArr(element, parent) {
557
528
 
558
529
  const firstChild = me.children[0]
559
530
  if (firstChild) {
560
- createEqArrRow(outer, element, firstChild, 1)
531
+ createEqArrRow(outer, element, firstChild as XMLElement, 1)
561
532
  }
562
533
  })
563
534
  }
564
535
 
565
536
  /**
566
537
  * Process a function element
567
- * @param {XMLElement} element - The OMML function element
568
- * @param {XMLElement} parent - The parent MathML element
569
538
  */
570
- function processFunction(element, parent) {
539
+ function processFunction(element: XMLElement, parent: XMLElement): void {
571
540
  const outer = createMathElement("mrow", {}, parent)
572
541
  const row1 = createMathElement("mrow", {}, outer)
573
542
 
574
- element.queryAll("m:fName").forEach(fn => {
543
+ element.queryAll("m:fName").forEach((fn: any) => {
575
544
  processElement(fn, row1)
576
545
  })
577
546
 
@@ -587,10 +556,8 @@ function processFunction(element, parent) {
587
556
 
588
557
  /**
589
558
  * Process an accent element
590
- * @param {XMLElement} element - The OMML accent element
591
- * @param {XMLElement} parent - The parent MathML element
592
559
  */
593
- function processAccent(element, parent) {
560
+ function processAccent(element: XMLElement, parent: XMLElement): void {
594
561
  const mover = createMathElement("mover", {accent: "true"}, parent)
595
562
  const row = createMathElement("mrow", {}, mover)
596
563
 
@@ -599,10 +566,9 @@ function processAccent(element, parent) {
599
566
  processElement(e, row)
600
567
  }
601
568
 
602
- const acc = (getAttr(element, "m:accPr/m:chr", "m:val") || "\u0302").substr(
603
- 0,
604
- 1
605
- )
569
+ const acc = (
570
+ getAttr(element, "m:accPr/m:chr", "m:val") || "\u0302"
571
+ ).substr(0, 1)
606
572
  const nonComb = toNonCombining(acc)
607
573
 
608
574
  if (acc.length === 0) {
@@ -622,10 +588,8 @@ function processAccent(element, parent) {
622
588
 
623
589
  /**
624
590
  * Process a group character element
625
- * @param {XMLElement} element - The OMML groupChr element
626
- * @param {XMLElement} parent - The parent MathML element
627
591
  */
628
- function processGroupChar(element, parent) {
592
+ function processGroupChar(element: XMLElement, parent: XMLElement): void {
629
593
  const lastGroupChrPr = element.query("m:groupChrPr")
630
594
  if (!lastGroupChrPr) {
631
595
  return
@@ -637,8 +601,8 @@ function processGroupChar(element, parent) {
637
601
  ).toLowerCase()
638
602
  const chr = getAttr(lastGroupChrPr, "m:chr", "m:val") || "\u23DF"
639
603
 
640
- const mkMrow = parent => {
641
- const mrow = createMathElement("mrow", {}, parent)
604
+ const mkMrow = (p: XMLElement) => {
605
+ const mrow = createMathElement("mrow", {}, p)
642
606
  const e = element.query("m:e")
643
607
  if (e) {
644
608
  processElement(e, mrow)
@@ -646,8 +610,8 @@ function processGroupChar(element, parent) {
646
610
  return mrow
647
611
  }
648
612
 
649
- const mkMo = parent => {
650
- const mo = createMathElement("mo", {}, parent)
613
+ const mkMo = (p: XMLElement) => {
614
+ const mo = createMathElement("mo", {}, p)
651
615
  mo.textContent = chr.substr(0, 1)
652
616
  return mo
653
617
  }
@@ -685,10 +649,8 @@ function processGroupChar(element, parent) {
685
649
 
686
650
  /**
687
651
  * Process a border box element
688
- * @param {XMLElement} element - The OMML borderBox element
689
- * @param {XMLElement} parent - The parent MathML element
690
652
  */
691
- function processBorderBox(element, parent) {
653
+ function processBorderBox(element: XMLElement, parent: XMLElement): void {
692
654
  const hideTop = forceTrue(
693
655
  getAttr(element, "m:borderBoxPr/m:hideTop", "m:val") || "false"
694
656
  )
@@ -714,7 +676,7 @@ function processBorderBox(element, parent) {
714
676
  getAttr(element, "m:borderBoxPr/m:strikeTLBR", "m:val") || "false"
715
677
  )
716
678
 
717
- let outer
679
+ let outer: XMLElement
718
680
 
719
681
  if (
720
682
  hideTop &&
@@ -749,10 +711,8 @@ function processBorderBox(element, parent) {
749
711
 
750
712
  /**
751
713
  * Process a bar element
752
- * @param {XMLElement} element - The OMML bar element
753
- * @param {XMLElement} parent - The parent MathML element
754
714
  */
755
- function processBar(element, parent) {
715
+ function processBar(element: XMLElement, parent: XMLElement): void {
756
716
  const pos = (getAttr(element, "m:barPr/m:pos", "m:val") || "").toLowerCase()
757
717
 
758
718
  if (pos === "top") {
@@ -786,10 +746,8 @@ function processBar(element, parent) {
786
746
 
787
747
  /**
788
748
  * Process a phantom element
789
- * @param {XMLElement} element - The OMML phantom element
790
- * @param {XMLElement} parent - The parent MathML element
791
749
  */
792
- function processPhantom(element, parent) {
750
+ function processPhantom(element: XMLElement, parent: XMLElement): void {
793
751
  const zeroWid = forceFalse(
794
752
  getAttr(element, "m:phantPr/m:zeroWid", "m:val") || "false"
795
753
  )
@@ -803,7 +761,7 @@ function processPhantom(element, parent) {
803
761
  getAttr(element, "m:phantPr/m:show", "m:val") || "false"
804
762
  )
805
763
 
806
- let container
764
+ let container: XMLElement
807
765
 
808
766
  if (showVal) {
809
767
  container = createMathElement(
@@ -831,10 +789,8 @@ function processPhantom(element, parent) {
831
789
 
832
790
  /**
833
791
  * Process an argument element
834
- * @param {XMLElement} element - The OMML argument element
835
- * @param {XMLElement} parent - The parent MathML element
836
792
  */
837
- function processArgument(element, parent) {
793
+ function processArgument(element: XMLElement, parent: XMLElement): void {
838
794
  const scriptlevel = getAttr(element, "m:argPr/m:scrLvl", "m:val")
839
795
 
840
796
  if (!scriptlevel) {
@@ -847,18 +803,18 @@ function processArgument(element, parent) {
847
803
 
848
804
  /**
849
805
  * Get attribute value from an element using a simplified XPath-like path
850
- * @param {XMLElement} element - The element to query
851
- * @param {string} path - The simplified path to the attribute
852
- * @param {string} attrName - The attribute name
853
- * @return {string} The attribute value or empty string
854
806
  */
855
- function getAttr(element, path, attrName) {
807
+ function getAttr(
808
+ element: XMLElement | null | undefined,
809
+ path: string,
810
+ attrName: string
811
+ ): string {
856
812
  if (!element) {
857
813
  return ""
858
814
  }
859
815
 
860
816
  const parts = path.split("/")
861
- let current = element
817
+ let current: XMLElement | null = element
862
818
 
863
819
  for (let i = 0; i < parts.length; i++) {
864
820
  if (!current) {
@@ -885,15 +841,16 @@ function getAttr(element, path, attrName) {
885
841
  }
886
842
  }
887
843
 
888
- return current ? current.getAttribute(attrName) || "" : ""
844
+ return current ? String(current.getAttribute(attrName) || "") : ""
889
845
  }
890
846
 
891
847
  /**
892
848
  * Output a script element, or "none" if not provided
893
- * @param {XMLElement} parent - The parent element
894
- * @param {XMLElement} element - The script element to output
895
849
  */
896
- function outputScript(parent, element) {
850
+ function outputScript(
851
+ parent: XMLElement,
852
+ element: XMLElement | null | undefined
853
+ ): void {
897
854
  if (element) {
898
855
  const row = createMathElement("mrow", {}, parent)
899
856
  processElement(element, row)
@@ -904,11 +861,12 @@ function outputScript(parent, element) {
904
861
 
905
862
  /**
906
863
  * Output an n-ary operator
907
- * @param {XMLElement} element - The OMML nary element
908
- * @param {XMLElement} parent - The parent MathML element
909
- * @param {boolean} grow - Whether the operator should stretch
910
864
  */
911
- function outputNAryMO(element, parent, grow = false) {
865
+ function outputNAryMO(
866
+ element: XMLElement,
867
+ parent: XMLElement,
868
+ grow: any = false
869
+ ): void {
912
870
  const mo = createMathElement(
913
871
  "mo",
914
872
  {stretchy: grow ? "true" : "false"},
@@ -920,12 +878,13 @@ function outputNAryMO(element, parent, grow = false) {
920
878
 
921
879
  /**
922
880
  * Create an equation array row
923
- * @param {XMLElement} parent - The parent MathML element
924
- * @param {XMLElement} src - The source OMML element
925
- * @param {XMLElement} cur - The current OMML element
926
- * @param {number} align - Alignment indicator
927
881
  */
928
- function createEqArrRow(parent, src, cur, align) {
882
+ function createEqArrRow(
883
+ parent: XMLElement,
884
+ src: XMLElement,
885
+ cur: XMLElement | null | undefined,
886
+ align: number
887
+ ): void {
929
888
  if (!cur) {
930
889
  return
931
890
  }
@@ -933,7 +892,7 @@ function createEqArrRow(parent, src, cur, align) {
933
892
  if (cur.tagName === "m:r") {
934
893
  const allMt = cur
935
894
  .queryAll("m:t")
936
- .map(t => t.textContent)
895
+ .map((t: any) => t.textContent)
937
896
  .join("")
938
897
  const nor = forceFalse(getAttr(cur, "m:rPr/m:nor", "m:val") || "false")
939
898
 
@@ -951,12 +910,13 @@ function createEqArrRow(parent, src, cur, align) {
951
910
  // Get the next sibling if available
952
911
  const siblings = cur.parentElement ? cur.parentElement.children : []
953
912
  const index = siblings.indexOf(cur)
954
- const nextSibling = index < siblings.length - 1 ? siblings[index + 1] : null
913
+ const nextSibling =
914
+ index < siblings.length - 1 ? (siblings[index + 1] as XMLElement) : null
955
915
 
956
916
  if (nextSibling) {
957
917
  const allMt = cur
958
918
  .queryAll("m:t")
959
- .map(t => t.textContent)
919
+ .map((t: any) => t.textContent)
960
920
  .join("")
961
921
  const amp = countAmp(allMt)
962
922
  createEqArrRow(parent, src, nextSibling, (align + (amp % 2)) % 2)
@@ -965,10 +925,23 @@ function createEqArrRow(parent, src, cur, align) {
965
925
 
966
926
  /**
967
927
  * Parse equation array run text
968
- * @param {XMLElement} parent - The parent MathML element
969
- * @param {Object} options - Parsing options
970
928
  */
971
- function parseEqArrMr(parent, {toParse = "", scr, sty, nor, align}) {
929
+ function parseEqArrMr(
930
+ parent: XMLElement,
931
+ {
932
+ toParse = "",
933
+ scr,
934
+ sty,
935
+ nor,
936
+ align
937
+ }: {
938
+ toParse?: string
939
+ scr?: string
940
+ sty?: string
941
+ nor?: boolean
942
+ align?: number
943
+ }
944
+ ): void {
972
945
  if (!toParse.length) {
973
946
  return
974
947
  }
@@ -977,7 +950,7 @@ function parseEqArrMr(parent, {toParse = "", scr, sty, nor, align}) {
977
950
  createMathElement(align ? "malignmark" : "maligngroup", {}, parent)
978
951
  parseEqArrMr(parent, {
979
952
  toParse: toParse.substr(1),
980
- align: !align,
953
+ align: align ? 0 : 1,
981
954
  scr,
982
955
  sty,
983
956
  nor
@@ -1067,11 +1040,22 @@ function parseEqArrMr(parent, {toParse = "", scr, sty, nor, align}) {
1067
1040
 
1068
1041
  /**
1069
1042
  * Parse math text
1070
- * @param {XMLElement} ctx - The context OMML element
1071
- * @param {XMLElement} parent - The parent MathML element
1072
- * @param {Object} options - Parsing options
1073
1043
  */
1074
- function parseMT(ctx, parent, {toParse = "", scr, sty, nor}) {
1044
+ function parseMT(
1045
+ ctx: XMLElement,
1046
+ parent: XMLElement,
1047
+ {
1048
+ toParse = "",
1049
+ scr,
1050
+ sty,
1051
+ nor
1052
+ }: {
1053
+ toParse?: string
1054
+ scr?: string
1055
+ sty?: string
1056
+ nor?: boolean
1057
+ }
1058
+ ): void {
1075
1059
  if (!toParse.length) {
1076
1060
  return
1077
1061
  }
@@ -1154,11 +1138,8 @@ function parseMT(ctx, parent, {toParse = "", scr, sty, nor}) {
1154
1138
 
1155
1139
  /**
1156
1140
  * Find the index of a regex match in a string
1157
- * @param {string} str - The string to search
1158
- * @param {RegExp} rx - The regex to match
1159
- * @return {number} The match index + 1, or 0 if no match
1160
1141
  */
1161
- function rxIndexOf(str, rx) {
1142
+ function rxIndexOf(str: string, rx: RegExp): number {
1162
1143
  const re = rx.exec(str)
1163
1144
  if (!re) {
1164
1145
  return 0
@@ -1168,10 +1149,8 @@ function rxIndexOf(str, rx) {
1168
1149
 
1169
1150
  /**
1170
1151
  * Get the start of a number in a string
1171
- * @param {string} str - The string to check
1172
- * @return {string} The number at the start of the string
1173
1152
  */
1174
- function numStart(str) {
1153
+ function numStart(str: string): string {
1175
1154
  if (!str) {
1176
1155
  return ""
1177
1156
  }
@@ -1181,20 +1160,16 @@ function numStart(str) {
1181
1160
 
1182
1161
  /**
1183
1162
  * Count ampersands in a string
1184
- * @param {string} str - The string to check
1185
- * @return {number} The number of ampersands
1186
1163
  */
1187
- function countAmp(str) {
1164
+ function countAmp(str: string): number {
1188
1165
  return ((str || "").match(/&/g) || []).length
1189
1166
  }
1190
1167
 
1191
1168
  /**
1192
1169
  * Convert a combining character to its non-combining equivalent
1193
- * @param {string} ch - The character to convert
1194
- * @return {string} The non-combining equivalent
1195
1170
  */
1196
- function toNonCombining(ch) {
1197
- const combiMap = {
1171
+ function toNonCombining(ch: string): string {
1172
+ const combiMap: Record<string, string> = {
1198
1173
  "\u0306": "\u02D8", // breve
1199
1174
  "\u032e": "\u02D8", // breve below
1200
1175
  "\u0312": "\u00B8", // cedilla
@@ -1226,16 +1201,15 @@ function toNonCombining(ch) {
1226
1201
 
1227
1202
  /**
1228
1203
  * Create MathML token attributes based on token settings
1229
- * @param {Object} options - Token options
1230
- * @return {Object} Attribute object
1231
1204
  */
1232
- function tokenAttributes({scr, sty, nor, charToPrint = 0, tokenType}) {
1233
- const attr = {}
1205
+ function tokenAttributes(options: any): Record<string, string> {
1206
+ const {scr, sty, nor, charToPrint = 0, tokenType} = options
1207
+ const attr: Record<string, string> = {}
1234
1208
 
1235
1209
  if (nor) {
1236
1210
  attr.mathvariant = "normal"
1237
1211
  } else {
1238
- let mathvariant
1212
+ let mathvariant: string | undefined
1239
1213
  const fontweight = sty === "b" || sty === "bi" ? "bold" : "normal"
1240
1214
  const fontstyle = sty === "b" || sty === "p" ? "normal" : "italic"
1241
1215
 
@@ -1311,8 +1285,6 @@ function tokenAttributes({scr, sty, nor, charToPrint = 0, tokenType}) {
1311
1285
 
1312
1286
  /**
1313
1287
  * Create menclose notation attribute value
1314
- * @param {Object} options - Notation options
1315
- * @return {Object} The notation attributes
1316
1288
  */
1317
1289
  function createMEnclodeNotation({
1318
1290
  hideTop,
@@ -1323,8 +1295,17 @@ function createMEnclodeNotation({
1323
1295
  strikeV,
1324
1296
  strikeBLTR,
1325
1297
  strikeTLBR
1326
- }) {
1327
- const notation = []
1298
+ }: {
1299
+ hideTop: boolean
1300
+ hideBot: boolean
1301
+ hideLeft: boolean
1302
+ hideRight: boolean
1303
+ strikeH: boolean
1304
+ strikeV: boolean
1305
+ strikeBLTR: boolean
1306
+ strikeTLBR: boolean
1307
+ }): {notation: string} {
1308
+ const notation: string[] = []
1328
1309
 
1329
1310
  if (!hideTop && !hideBot && !hideLeft && !hideRight) {
1330
1311
  notation.push("box")
@@ -1361,11 +1342,17 @@ function createMEnclodeNotation({
1361
1342
 
1362
1343
  /**
1363
1344
  * Create mpadded attributes
1364
- * @param {Object} options - Padding options
1365
- * @return {Object} The padding attributes
1366
1345
  */
1367
- function createMPaddedAttr({zeroWid, zeroAsc, zeroDesc}) {
1368
- const attr = {}
1346
+ function createMPaddedAttr({
1347
+ zeroWid,
1348
+ zeroAsc,
1349
+ zeroDesc
1350
+ }: {
1351
+ zeroWid: boolean
1352
+ zeroAsc: boolean
1353
+ zeroDesc: boolean
1354
+ }): Record<string, string> {
1355
+ const attr: Record<string, string> = {}
1369
1356
 
1370
1357
  if (zeroWid) {
1371
1358
  attr.width = "0in"
@@ -1382,10 +1369,8 @@ function createMPaddedAttr({zeroWid, zeroAsc, zeroDesc}) {
1382
1369
 
1383
1370
  /**
1384
1371
  * Get fraction properties
1385
- * @param {string} type - Fraction type
1386
- * @return {Object} Fraction attributes
1387
1372
  */
1388
- function getFracProps(type) {
1373
+ function getFracProps(type: string): Record<string, string> {
1389
1374
  if (type === "skw" || type === "lin") {
1390
1375
  return {bevelled: "true"}
1391
1376
  }
@@ -1397,10 +1382,8 @@ function getFracProps(type) {
1397
1382
 
1398
1383
  /**
1399
1384
  * Replace spaces with non-breaking spaces
1400
- * @param {string} str - The string to process
1401
- * @return {string} String with non-breaking spaces
1402
1385
  */
1403
- function nbsp(str) {
1386
+ function nbsp(str: string): string {
1404
1387
  if (!str) {
1405
1388
  return ""
1406
1389
  }
@@ -1409,28 +1392,25 @@ function nbsp(str) {
1409
1392
 
1410
1393
  /**
1411
1394
  * Parse a boolean value
1412
- * @param {string} str - The string to parse
1413
- * @return {boolean|undefined} The parsed boolean or undefined
1414
1395
  */
1415
- function tf(str) {
1396
+ function tf(str: unknown): boolean | undefined {
1416
1397
  if (str == null) {
1417
1398
  return
1418
1399
  }
1419
- str = str.toLowerCase()
1420
- if (str === "on" || str === "1" || str === "true") {
1400
+ const lower = String(str).toLowerCase()
1401
+ if (lower === "on" || lower === "1" || lower === "true") {
1421
1402
  return true
1422
1403
  }
1423
- if (str === "off" || str === "0" || str === "false") {
1404
+ if (lower === "off" || lower === "0" || lower === "false") {
1424
1405
  return false
1425
1406
  }
1407
+ return undefined
1426
1408
  }
1427
1409
 
1428
1410
  /**
1429
1411
  * Force a value to be true unless explicitly false
1430
- * @param {string} str - The string to parse
1431
- * @return {boolean} True unless the string is explicitly false
1432
1412
  */
1433
- function forceFalse(str) {
1413
+ function forceFalse(str: unknown): boolean {
1434
1414
  const res = tf(str)
1435
1415
  if (res === false) {
1436
1416
  return false
@@ -1440,9 +1420,7 @@ function forceFalse(str) {
1440
1420
 
1441
1421
  /**
1442
1422
  * Force a value to be false unless explicitly true
1443
- * @param {string} str - The string to parse
1444
- * @return {boolean} False unless the string is explicitly true
1445
1423
  */
1446
- function forceTrue(str) {
1424
+ function forceTrue(str: unknown): boolean {
1447
1425
  return tf(str) || false
1448
1426
  }