@fiduswriter/document 0.1.0-alpha.3 → 0.1.0-alpha.5

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 (582) hide show
  1. package/README.md +22 -1
  2. package/dist/bibliography/common.d.ts +10 -0
  3. package/dist/bibliography/common.d.ts.map +1 -0
  4. package/dist/bibliography/common.js +86 -0
  5. package/dist/bibliography/common.js.map +1 -0
  6. package/dist/bibliography/csl_bib.d.ts +3 -0
  7. package/dist/bibliography/csl_bib.d.ts.map +1 -0
  8. package/dist/bibliography/csl_bib.js +131 -0
  9. package/dist/bibliography/csl_bib.js.map +1 -0
  10. package/dist/citations/citeproc_sys.d.ts +12 -0
  11. package/dist/citations/citeproc_sys.d.ts.map +1 -0
  12. package/dist/citations/citeproc_sys.js +48 -0
  13. package/dist/citations/citeproc_sys.js.map +1 -0
  14. package/dist/citations/format.d.ts +40 -0
  15. package/dist/citations/format.d.ts.map +1 -0
  16. package/dist/citations/format.js +186 -0
  17. package/dist/citations/format.js.map +1 -0
  18. package/dist/editor/e2ee/encryptor.d.ts +123 -0
  19. package/dist/editor/e2ee/encryptor.d.ts.map +1 -0
  20. package/dist/editor/e2ee/encryptor.js +201 -0
  21. package/dist/editor/e2ee/encryptor.js.map +1 -0
  22. package/dist/exporter/docx/citations.d.ts +31 -0
  23. package/dist/exporter/docx/citations.d.ts.map +1 -0
  24. package/dist/exporter/docx/citations.js +171 -0
  25. package/dist/exporter/docx/citations.js.map +1 -0
  26. package/dist/exporter/docx/comments.d.ts +22 -0
  27. package/dist/exporter/docx/comments.d.ts.map +1 -0
  28. package/dist/exporter/docx/comments.js +170 -0
  29. package/dist/exporter/docx/comments.js.map +1 -0
  30. package/dist/exporter/docx/footnotes.d.ts +47 -0
  31. package/dist/exporter/docx/footnotes.d.ts.map +1 -0
  32. package/dist/exporter/docx/footnotes.js +216 -0
  33. package/dist/exporter/docx/footnotes.js.map +1 -0
  34. package/dist/exporter/docx/images.d.ts +25 -0
  35. package/dist/exporter/docx/images.d.ts.map +1 -0
  36. package/dist/exporter/docx/images.js +101 -0
  37. package/dist/exporter/docx/images.js.map +1 -0
  38. package/dist/exporter/docx/index.d.ts +16 -0
  39. package/dist/exporter/docx/index.d.ts.map +1 -0
  40. package/dist/exporter/docx/index.js +115 -0
  41. package/dist/exporter/docx/index.js.map +1 -0
  42. package/dist/exporter/docx/lists.d.ts +38 -0
  43. package/dist/exporter/docx/lists.d.ts.map +1 -0
  44. package/dist/exporter/docx/lists.js +276 -0
  45. package/dist/exporter/docx/lists.js.map +1 -0
  46. package/dist/exporter/docx/math.d.ts +13 -0
  47. package/dist/exporter/docx/math.d.ts.map +1 -0
  48. package/dist/exporter/docx/math.js +59 -0
  49. package/dist/exporter/docx/math.js.map +1 -0
  50. package/dist/exporter/docx/metadata.d.ts +17 -0
  51. package/dist/exporter/docx/metadata.d.ts.map +1 -0
  52. package/dist/exporter/docx/metadata.js +272 -0
  53. package/dist/exporter/docx/metadata.js.map +1 -0
  54. package/dist/exporter/docx/rels.d.ts +27 -0
  55. package/dist/exporter/docx/rels.d.ts.map +1 -0
  56. package/dist/exporter/docx/rels.js +183 -0
  57. package/dist/exporter/docx/rels.js.map +1 -0
  58. package/dist/exporter/docx/render.d.ts +22 -0
  59. package/dist/exporter/docx/render.d.ts.map +1 -0
  60. package/dist/exporter/docx/render.js +780 -0
  61. package/dist/exporter/docx/render.js.map +1 -0
  62. package/dist/exporter/docx/richtext.d.ts +25 -0
  63. package/dist/exporter/docx/richtext.d.ts.map +1 -0
  64. package/dist/exporter/docx/richtext.js +1070 -0
  65. package/dist/exporter/docx/richtext.js.map +1 -0
  66. package/dist/exporter/docx/tables.d.ts +16 -0
  67. package/dist/exporter/docx/tables.d.ts.map +1 -0
  68. package/dist/exporter/docx/tables.js +115 -0
  69. package/dist/exporter/docx/tables.js.map +1 -0
  70. package/dist/exporter/docx/tools.d.ts +4 -0
  71. package/dist/exporter/docx/tools.d.ts.map +1 -0
  72. package/dist/exporter/docx/tools.js +48 -0
  73. package/dist/exporter/docx/tools.js.map +1 -0
  74. package/dist/exporter/epub/index.d.ts +19 -0
  75. package/dist/exporter/epub/index.d.ts.map +1 -0
  76. package/dist/exporter/epub/index.js +109 -0
  77. package/dist/exporter/epub/index.js.map +1 -0
  78. package/dist/exporter/epub/templates.d.ts +63 -0
  79. package/dist/exporter/epub/templates.d.ts.map +1 -0
  80. package/dist/exporter/epub/templates.js +95 -0
  81. package/dist/exporter/epub/templates.js.map +1 -0
  82. package/dist/exporter/epub/tools.d.ts +13 -0
  83. package/dist/exporter/epub/tools.d.ts.map +1 -0
  84. package/{src → dist}/exporter/epub/tools.js +32 -46
  85. package/dist/exporter/epub/tools.js.map +1 -0
  86. package/dist/exporter/html/citations.d.ts +29 -0
  87. package/dist/exporter/html/citations.d.ts.map +1 -0
  88. package/dist/exporter/html/citations.js +110 -0
  89. package/dist/exporter/html/citations.js.map +1 -0
  90. package/dist/exporter/html/convert.d.ts +50 -0
  91. package/dist/exporter/html/convert.d.ts.map +1 -0
  92. package/dist/exporter/html/convert.js +750 -0
  93. package/dist/exporter/html/convert.js.map +1 -0
  94. package/dist/exporter/html/index.d.ts +64 -0
  95. package/dist/exporter/html/index.d.ts.map +1 -0
  96. package/dist/exporter/html/index.js +154 -0
  97. package/dist/exporter/html/index.js.map +1 -0
  98. package/dist/exporter/html/templates.d.ts +24 -0
  99. package/dist/exporter/html/templates.d.ts.map +1 -0
  100. package/dist/exporter/html/templates.js +21 -0
  101. package/dist/exporter/html/templates.js.map +1 -0
  102. package/dist/exporter/html/tools.d.ts +2 -0
  103. package/dist/exporter/html/tools.d.ts.map +1 -0
  104. package/dist/exporter/html/tools.js +49 -0
  105. package/dist/exporter/html/tools.js.map +1 -0
  106. package/dist/exporter/jats/bibliography.d.ts +3 -0
  107. package/dist/exporter/jats/bibliography.d.ts.map +1 -0
  108. package/dist/exporter/jats/bibliography.js +158 -0
  109. package/dist/exporter/jats/bibliography.js.map +1 -0
  110. package/dist/exporter/jats/citations.d.ts +16 -0
  111. package/dist/exporter/jats/citations.d.ts.map +1 -0
  112. package/dist/exporter/jats/citations.js +105 -0
  113. package/dist/exporter/jats/citations.js.map +1 -0
  114. package/dist/exporter/jats/convert.d.ts +41 -0
  115. package/dist/exporter/jats/convert.d.ts.map +1 -0
  116. package/dist/exporter/jats/convert.js +816 -0
  117. package/dist/exporter/jats/convert.js.map +1 -0
  118. package/dist/exporter/jats/index.d.ts +25 -0
  119. package/dist/exporter/jats/index.d.ts.map +1 -0
  120. package/dist/exporter/jats/index.js +82 -0
  121. package/dist/exporter/jats/index.js.map +1 -0
  122. package/dist/exporter/jats/templates.d.ts +18 -0
  123. package/dist/exporter/jats/templates.d.ts.map +1 -0
  124. package/dist/exporter/jats/templates.js +25 -0
  125. package/dist/exporter/jats/templates.js.map +1 -0
  126. package/dist/exporter/jats/text.d.ts +4 -0
  127. package/dist/exporter/jats/text.d.ts.map +1 -0
  128. package/dist/exporter/jats/text.js +72 -0
  129. package/dist/exporter/jats/text.js.map +1 -0
  130. package/dist/exporter/latex/convert.d.ts +24 -0
  131. package/dist/exporter/latex/convert.d.ts.map +1 -0
  132. package/dist/exporter/latex/convert.js +881 -0
  133. package/dist/exporter/latex/convert.js.map +1 -0
  134. package/dist/exporter/latex/escape_latex.d.ts +2 -0
  135. package/dist/exporter/latex/escape_latex.d.ts.map +1 -0
  136. package/dist/exporter/latex/escape_latex.js +20 -0
  137. package/dist/exporter/latex/escape_latex.js.map +1 -0
  138. package/dist/exporter/latex/index.d.ts +24 -0
  139. package/dist/exporter/latex/index.d.ts.map +1 -0
  140. package/dist/exporter/latex/index.js +67 -0
  141. package/dist/exporter/latex/index.js.map +1 -0
  142. package/dist/exporter/latex/readme.d.ts +2 -0
  143. package/dist/exporter/latex/readme.d.ts.map +1 -0
  144. package/dist/exporter/latex/readme.js +23 -0
  145. package/dist/exporter/latex/readme.js.map +1 -0
  146. package/dist/exporter/native/copy.d.ts +30 -0
  147. package/dist/exporter/native/copy.d.ts.map +1 -0
  148. package/dist/exporter/native/copy.js +151 -0
  149. package/dist/exporter/native/copy.js.map +1 -0
  150. package/dist/exporter/native/file.d.ts +12 -0
  151. package/dist/exporter/native/file.d.ts.map +1 -0
  152. package/dist/exporter/native/file.js +38 -0
  153. package/dist/exporter/native/file.js.map +1 -0
  154. package/dist/exporter/native/index.d.ts +5 -0
  155. package/dist/exporter/native/index.d.ts.map +1 -0
  156. package/dist/exporter/native/index.js +5 -0
  157. package/dist/exporter/native/index.js.map +1 -0
  158. package/dist/exporter/native/revision.d.ts +18 -0
  159. package/dist/exporter/native/revision.d.ts.map +1 -0
  160. package/dist/exporter/native/revision.js +39 -0
  161. package/dist/exporter/native/revision.js.map +1 -0
  162. package/dist/exporter/native/shrink.d.ts +36 -0
  163. package/dist/exporter/native/shrink.d.ts.map +1 -0
  164. package/dist/exporter/native/shrink.js +124 -0
  165. package/dist/exporter/native/shrink.js.map +1 -0
  166. package/dist/exporter/native/zip.d.ts +25 -0
  167. package/dist/exporter/native/zip.d.ts.map +1 -0
  168. package/dist/exporter/native/zip.js +56 -0
  169. package/dist/exporter/native/zip.js.map +1 -0
  170. package/dist/exporter/odt/citations.d.ts +21 -0
  171. package/dist/exporter/odt/citations.d.ts.map +1 -0
  172. package/dist/exporter/odt/citations.js +104 -0
  173. package/dist/exporter/odt/citations.js.map +1 -0
  174. package/dist/exporter/odt/footnotes.d.ts +31 -0
  175. package/dist/exporter/odt/footnotes.d.ts.map +1 -0
  176. package/dist/exporter/odt/footnotes.js +129 -0
  177. package/dist/exporter/odt/footnotes.js.map +1 -0
  178. package/dist/exporter/odt/images.d.ts +25 -0
  179. package/dist/exporter/odt/images.d.ts.map +1 -0
  180. package/dist/exporter/odt/images.js +106 -0
  181. package/dist/exporter/odt/images.js.map +1 -0
  182. package/dist/exporter/odt/index.d.ts +17 -0
  183. package/dist/exporter/odt/index.d.ts.map +1 -0
  184. package/dist/exporter/odt/index.js +108 -0
  185. package/dist/exporter/odt/index.js.map +1 -0
  186. package/dist/exporter/odt/math.d.ts +15 -0
  187. package/dist/exporter/odt/math.d.ts.map +1 -0
  188. package/dist/exporter/odt/math.js +71 -0
  189. package/dist/exporter/odt/math.js.map +1 -0
  190. package/dist/exporter/odt/metadata.d.ts +18 -0
  191. package/dist/exporter/odt/metadata.d.ts.map +1 -0
  192. package/dist/exporter/odt/metadata.js +224 -0
  193. package/dist/exporter/odt/metadata.js.map +1 -0
  194. package/dist/exporter/odt/render.d.ts +26 -0
  195. package/dist/exporter/odt/render.d.ts.map +1 -0
  196. package/dist/exporter/odt/render.js +651 -0
  197. package/dist/exporter/odt/render.js.map +1 -0
  198. package/dist/exporter/odt/richtext.d.ts +22 -0
  199. package/dist/exporter/odt/richtext.d.ts.map +1 -0
  200. package/dist/exporter/odt/richtext.js +743 -0
  201. package/dist/exporter/odt/richtext.js.map +1 -0
  202. package/dist/exporter/odt/styles.d.ts +41 -0
  203. package/dist/exporter/odt/styles.d.ts.map +1 -0
  204. package/dist/exporter/odt/styles.js +370 -0
  205. package/dist/exporter/odt/styles.js.map +1 -0
  206. package/dist/exporter/odt/track.d.ts +18 -0
  207. package/dist/exporter/odt/track.d.ts.map +1 -0
  208. package/dist/exporter/odt/track.js +66 -0
  209. package/dist/exporter/odt/track.js.map +1 -0
  210. package/dist/exporter/pandoc/citations.d.ts +23 -0
  211. package/dist/exporter/pandoc/citations.d.ts.map +1 -0
  212. package/dist/exporter/pandoc/citations.js +99 -0
  213. package/dist/exporter/pandoc/citations.js.map +1 -0
  214. package/dist/exporter/pandoc/convert.d.ts +19 -0
  215. package/dist/exporter/pandoc/convert.d.ts.map +1 -0
  216. package/dist/exporter/pandoc/convert.js +886 -0
  217. package/dist/exporter/pandoc/convert.js.map +1 -0
  218. package/dist/exporter/pandoc/index.d.ts +25 -0
  219. package/dist/exporter/pandoc/index.d.ts.map +1 -0
  220. package/dist/exporter/pandoc/index.js +79 -0
  221. package/dist/exporter/pandoc/index.js.map +1 -0
  222. package/dist/exporter/pandoc/readme.d.ts +2 -0
  223. package/dist/exporter/pandoc/readme.d.ts.map +1 -0
  224. package/dist/exporter/pandoc/readme.js +8 -0
  225. package/dist/exporter/pandoc/readme.js.map +1 -0
  226. package/dist/exporter/pandoc/tools.d.ts +22 -0
  227. package/dist/exporter/pandoc/tools.d.ts.map +1 -0
  228. package/dist/exporter/pandoc/tools.js +52 -0
  229. package/dist/exporter/pandoc/tools.js.map +1 -0
  230. package/dist/exporter/print/index.d.ts +20 -0
  231. package/dist/exporter/print/index.d.ts.map +1 -0
  232. package/dist/exporter/print/index.js +142 -0
  233. package/dist/exporter/print/index.js.map +1 -0
  234. package/dist/exporter/tools/doc_content.d.ts +6 -0
  235. package/dist/exporter/tools/doc_content.d.ts.map +1 -0
  236. package/dist/exporter/tools/doc_content.js +130 -0
  237. package/dist/exporter/tools/doc_content.js.map +1 -0
  238. package/dist/exporter/tools/file.d.ts +2 -0
  239. package/dist/exporter/tools/file.d.ts.map +1 -0
  240. package/dist/exporter/tools/file.js +10 -0
  241. package/dist/exporter/tools/file.js.map +1 -0
  242. package/dist/exporter/tools/json.d.ts +7 -0
  243. package/dist/exporter/tools/json.d.ts.map +1 -0
  244. package/dist/exporter/tools/json.js +82 -0
  245. package/dist/exporter/tools/json.js.map +1 -0
  246. package/dist/exporter/tools/svg.d.ts +8 -0
  247. package/dist/exporter/tools/svg.d.ts.map +1 -0
  248. package/dist/exporter/tools/svg.js +26 -0
  249. package/dist/exporter/tools/svg.js.map +1 -0
  250. package/dist/exporter/tools/xml.d.ts +42 -0
  251. package/dist/exporter/tools/xml.d.ts.map +1 -0
  252. package/dist/exporter/tools/xml.js +467 -0
  253. package/dist/exporter/tools/xml.js.map +1 -0
  254. package/dist/exporter/tools/xml_zip.d.ts +21 -0
  255. package/dist/exporter/tools/xml_zip.d.ts.map +1 -0
  256. package/dist/exporter/tools/xml_zip.js +92 -0
  257. package/dist/exporter/tools/xml_zip.js.map +1 -0
  258. package/dist/exporter/tools/zip.d.ts +35 -0
  259. package/dist/exporter/tools/zip.d.ts.map +1 -0
  260. package/dist/exporter/tools/zip.js +78 -0
  261. package/dist/exporter/tools/zip.js.map +1 -0
  262. package/dist/exporter/tools/zotero_csl.d.ts +23 -0
  263. package/dist/exporter/tools/zotero_csl.d.ts.map +1 -0
  264. package/dist/exporter/tools/zotero_csl.js +78 -0
  265. package/dist/exporter/tools/zotero_csl.js.map +1 -0
  266. package/dist/importer/citations.d.ts +28 -0
  267. package/dist/importer/citations.d.ts.map +1 -0
  268. package/dist/importer/citations.js +68 -0
  269. package/dist/importer/citations.js.map +1 -0
  270. package/dist/importer/docx/citations.d.ts +43 -0
  271. package/dist/importer/docx/citations.d.ts.map +1 -0
  272. package/dist/importer/docx/citations.js +81 -0
  273. package/dist/importer/docx/citations.js.map +1 -0
  274. package/dist/importer/docx/convert.d.ts +150 -0
  275. package/dist/importer/docx/convert.d.ts.map +1 -0
  276. package/dist/importer/docx/convert.js +1243 -0
  277. package/dist/importer/docx/convert.js.map +1 -0
  278. package/dist/importer/docx/helpers.d.ts +2 -0
  279. package/dist/importer/docx/helpers.d.ts.map +1 -0
  280. package/dist/importer/docx/helpers.js +10 -0
  281. package/dist/importer/docx/helpers.js.map +1 -0
  282. package/dist/importer/docx/index.d.ts +27 -0
  283. package/dist/importer/docx/index.d.ts.map +1 -0
  284. package/dist/importer/docx/index.js +77 -0
  285. package/dist/importer/docx/index.js.map +1 -0
  286. package/dist/importer/docx/omml2mathml.d.ts +6 -0
  287. package/dist/importer/docx/omml2mathml.d.ts.map +1 -0
  288. package/dist/importer/docx/omml2mathml.js +1146 -0
  289. package/dist/importer/docx/omml2mathml.js.map +1 -0
  290. package/dist/importer/docx/parse.d.ts +96 -0
  291. package/dist/importer/docx/parse.d.ts.map +1 -0
  292. package/dist/importer/docx/parse.js +681 -0
  293. package/dist/importer/docx/parse.js.map +1 -0
  294. package/dist/importer/native/extract_template.d.ts +6 -0
  295. package/dist/importer/native/extract_template.d.ts.map +1 -0
  296. package/dist/importer/native/extract_template.js +80 -0
  297. package/dist/importer/native/extract_template.js.map +1 -0
  298. package/dist/importer/native/file.d.ts +37 -0
  299. package/dist/importer/native/file.d.ts.map +1 -0
  300. package/dist/importer/native/file.js +162 -0
  301. package/dist/importer/native/file.js.map +1 -0
  302. package/dist/importer/native/get_images.d.ts +21 -0
  303. package/dist/importer/native/get_images.d.ts.map +1 -0
  304. package/dist/importer/native/get_images.js +58 -0
  305. package/dist/importer/native/get_images.js.map +1 -0
  306. package/dist/importer/native/importer.d.ts +41 -0
  307. package/dist/importer/native/importer.d.ts.map +1 -0
  308. package/dist/importer/native/importer.js +170 -0
  309. package/dist/importer/native/importer.js.map +1 -0
  310. package/dist/importer/native/index.d.ts +7 -0
  311. package/dist/importer/native/index.d.ts.map +1 -0
  312. package/dist/importer/native/index.js +7 -0
  313. package/dist/importer/native/index.js.map +1 -0
  314. package/dist/importer/native/update.d.ts +7 -0
  315. package/dist/importer/native/update.d.ts.map +1 -0
  316. package/dist/importer/native/update.js +27 -0
  317. package/dist/importer/native/update.js.map +1 -0
  318. package/dist/importer/native/update_template.d.ts +12 -0
  319. package/dist/importer/native/update_template.d.ts.map +1 -0
  320. package/dist/importer/native/update_template.js +19 -0
  321. package/dist/importer/native/update_template.js.map +1 -0
  322. package/dist/importer/odt/citations.d.ts +27 -0
  323. package/dist/importer/odt/citations.d.ts.map +1 -0
  324. package/dist/importer/odt/citations.js +57 -0
  325. package/dist/importer/odt/citations.js.map +1 -0
  326. package/dist/importer/odt/convert.d.ts +146 -0
  327. package/dist/importer/odt/convert.d.ts.map +1 -0
  328. package/dist/importer/odt/convert.js +1530 -0
  329. package/dist/importer/odt/convert.js.map +1 -0
  330. package/dist/importer/odt/index.d.ts +30 -0
  331. package/dist/importer/odt/index.d.ts.map +1 -0
  332. package/dist/importer/odt/index.js +124 -0
  333. package/dist/importer/odt/index.js.map +1 -0
  334. package/dist/importer/pandoc/convert.d.ts +32 -0
  335. package/dist/importer/pandoc/convert.d.ts.map +1 -0
  336. package/dist/importer/pandoc/convert.js +790 -0
  337. package/dist/importer/pandoc/convert.js.map +1 -0
  338. package/dist/importer/pandoc/helpers.d.ts +5 -0
  339. package/dist/importer/pandoc/helpers.d.ts.map +1 -0
  340. package/dist/importer/pandoc/helpers.js +73 -0
  341. package/dist/importer/pandoc/helpers.js.map +1 -0
  342. package/dist/importer/pandoc/index.d.ts +31 -0
  343. package/dist/importer/pandoc/index.d.ts.map +1 -0
  344. package/dist/importer/pandoc/index.js +114 -0
  345. package/dist/importer/pandoc/index.js.map +1 -0
  346. package/dist/importer/registry.d.ts +21 -0
  347. package/dist/importer/registry.d.ts.map +1 -0
  348. package/dist/importer/registry.js +41 -0
  349. package/dist/importer/registry.js.map +1 -0
  350. package/dist/importer/zip_analyzer.d.ts +31 -0
  351. package/dist/importer/zip_analyzer.d.ts.map +1 -0
  352. package/dist/importer/zip_analyzer.js +89 -0
  353. package/dist/importer/zip_analyzer.js.map +1 -0
  354. package/dist/index.d.ts +2 -0
  355. package/dist/index.d.ts.map +1 -0
  356. package/dist/index.js +2 -0
  357. package/dist/index.js.map +1 -0
  358. package/dist/mathlive/opf_includes.d.ts +2 -0
  359. package/dist/mathlive/opf_includes.d.ts.map +1 -0
  360. package/dist/mathlive/opf_includes.js +25 -0
  361. package/dist/mathlive/opf_includes.js.map +1 -0
  362. package/dist/schema/common/annotate.d.ts +47 -0
  363. package/dist/schema/common/annotate.d.ts.map +1 -0
  364. package/dist/schema/common/annotate.js +75 -0
  365. package/dist/schema/common/annotate.js.map +1 -0
  366. package/dist/schema/common/base.d.ts +91 -0
  367. package/dist/schema/common/base.d.ts.map +1 -0
  368. package/dist/schema/common/base.js +109 -0
  369. package/dist/schema/common/base.js.map +1 -0
  370. package/dist/schema/common/citation.d.ts +30 -0
  371. package/dist/schema/common/citation.d.ts.map +1 -0
  372. package/dist/schema/common/citation.js +61 -0
  373. package/dist/schema/common/citation.js.map +1 -0
  374. package/dist/schema/common/equation.d.ts +17 -0
  375. package/dist/schema/common/equation.d.ts.map +1 -0
  376. package/dist/schema/common/equation.js +32 -0
  377. package/dist/schema/common/equation.js.map +1 -0
  378. package/dist/schema/common/figure.d.ts +87 -0
  379. package/dist/schema/common/figure.d.ts.map +1 -0
  380. package/dist/schema/common/figure.js +178 -0
  381. package/dist/schema/common/figure.js.map +1 -0
  382. package/dist/schema/common/heading.d.ts +9 -0
  383. package/dist/schema/common/heading.d.ts.map +1 -0
  384. package/dist/schema/common/heading.js +41 -0
  385. package/dist/schema/common/heading.js.map +1 -0
  386. package/dist/schema/common/index.d.ts +11 -0
  387. package/dist/schema/common/index.d.ts.map +1 -0
  388. package/dist/schema/common/index.js +11 -0
  389. package/dist/schema/common/index.js.map +1 -0
  390. package/dist/schema/common/list.d.ts +63 -0
  391. package/dist/schema/common/list.d.ts.map +1 -0
  392. package/dist/schema/common/list.js +92 -0
  393. package/dist/schema/common/list.js.map +1 -0
  394. package/dist/schema/common/reference.d.ts +70 -0
  395. package/dist/schema/common/reference.d.ts.map +1 -0
  396. package/dist/schema/common/reference.js +97 -0
  397. package/dist/schema/common/reference.js.map +1 -0
  398. package/dist/schema/common/table.d.ts +76 -0
  399. package/dist/schema/common/table.d.ts.map +1 -0
  400. package/dist/schema/common/table.js +86 -0
  401. package/dist/schema/common/table.js.map +1 -0
  402. package/dist/schema/common/track.d.ts +117 -0
  403. package/dist/schema/common/track.d.ts.map +1 -0
  404. package/{src → dist}/schema/common/track.js +44 -49
  405. package/dist/schema/common/track.js.map +1 -0
  406. package/dist/schema/const.d.ts +3 -0
  407. package/dist/schema/const.d.ts.map +1 -0
  408. package/{src → dist}/schema/const.js +3 -3
  409. package/dist/schema/const.js.map +1 -0
  410. package/dist/schema/convert.d.ts +3 -0
  411. package/dist/schema/convert.d.ts.map +1 -0
  412. package/dist/schema/convert.js +1215 -0
  413. package/dist/schema/convert.js.map +1 -0
  414. package/dist/schema/document/content.d.ts +110 -0
  415. package/dist/schema/document/content.d.ts.map +1 -0
  416. package/dist/schema/document/content.js +177 -0
  417. package/dist/schema/document/content.js.map +1 -0
  418. package/dist/schema/document/index.d.ts +795 -0
  419. package/dist/schema/document/index.d.ts.map +1 -0
  420. package/dist/schema/document/index.js +68 -0
  421. package/dist/schema/document/index.js.map +1 -0
  422. package/dist/schema/document/structure.d.ts +164 -0
  423. package/dist/schema/document/structure.d.ts.map +1 -0
  424. package/dist/schema/document/structure.js +445 -0
  425. package/dist/schema/document/structure.js.map +1 -0
  426. package/dist/schema/export.d.ts +7 -0
  427. package/dist/schema/export.d.ts.map +1 -0
  428. package/dist/schema/export.js +17 -0
  429. package/dist/schema/export.js.map +1 -0
  430. package/dist/schema/footnotes.d.ts +454 -0
  431. package/dist/schema/footnotes.d.ts.map +1 -0
  432. package/dist/schema/footnotes.js +90 -0
  433. package/dist/schema/footnotes.js.map +1 -0
  434. package/dist/schema/footnotes_convert.d.ts +5 -0
  435. package/dist/schema/footnotes_convert.d.ts.map +1 -0
  436. package/dist/schema/footnotes_convert.js +30 -0
  437. package/dist/schema/footnotes_convert.js.map +1 -0
  438. package/dist/schema/i18n.d.ts +55 -0
  439. package/dist/schema/i18n.d.ts.map +1 -0
  440. package/{src → dist}/schema/i18n.js +14 -23
  441. package/dist/schema/i18n.js.map +1 -0
  442. package/dist/schema/index.d.ts +6 -0
  443. package/dist/schema/index.d.ts.map +1 -0
  444. package/dist/schema/index.js +6 -0
  445. package/dist/schema/index.js.map +1 -0
  446. package/dist/schema/mini_json.d.ts +4 -0
  447. package/dist/schema/mini_json.d.ts.map +1 -0
  448. package/{src → dist}/schema/mini_json.js +19 -28
  449. package/dist/schema/mini_json.js.map +1 -0
  450. package/dist/schema/text.d.ts +3 -0
  451. package/dist/schema/text.d.ts.map +1 -0
  452. package/dist/schema/text.js +23 -0
  453. package/dist/schema/text.js.map +1 -0
  454. package/dist/types.d.ts +281 -0
  455. package/dist/types.d.ts.map +1 -0
  456. package/dist/types.js +9 -0
  457. package/dist/types.js.map +1 -0
  458. package/package.json +51 -16
  459. package/scripts/export-schema.js +1 -1
  460. package/src/bibliography/{common.js → common.ts} +15 -12
  461. package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
  462. package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
  463. package/src/citations/{format.js → format.ts} +80 -24
  464. package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
  465. package/src/exporter/docx/{citations.js → citations.ts} +51 -23
  466. package/src/exporter/docx/{comments.js → comments.ts} +69 -26
  467. package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
  468. package/src/exporter/docx/images.ts +128 -0
  469. package/src/exporter/docx/{index.js → index.ts} +48 -25
  470. package/src/exporter/docx/{lists.js → lists.ts} +89 -46
  471. package/src/exporter/docx/{math.js → math.ts} +29 -9
  472. package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
  473. package/src/exporter/docx/{rels.js → rels.ts} +71 -50
  474. package/src/exporter/docx/{render.js → render.ts} +124 -87
  475. package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
  476. package/src/exporter/docx/{tables.js → tables.ts} +33 -23
  477. package/src/exporter/docx/{tools.js → tools.ts} +4 -3
  478. package/src/exporter/epub/{index.js → index.ts} +44 -15
  479. package/src/exporter/epub/{templates.js → templates.ts} +71 -7
  480. package/src/exporter/epub/tools.ts +102 -0
  481. package/src/exporter/html/{citations.js → citations.ts} +79 -31
  482. package/src/exporter/html/{convert.js → convert.ts} +118 -71
  483. package/src/exporter/html/{index.js → index.ts} +63 -29
  484. package/src/exporter/html/{templates.js → templates.ts} +22 -2
  485. package/src/exporter/html/{tools.js → tools.ts} +9 -6
  486. package/src/exporter/jats/bibliography.ts +199 -0
  487. package/src/exporter/jats/{citations.js → citations.ts} +56 -20
  488. package/src/exporter/jats/{convert.js → convert.ts} +72 -53
  489. package/src/exporter/jats/index.ts +132 -0
  490. package/src/exporter/jats/{templates.js → templates.ts} +19 -3
  491. package/src/exporter/jats/{text.js → text.ts} +8 -6
  492. package/src/exporter/latex/{convert.js → convert.ts} +160 -125
  493. package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
  494. package/src/exporter/latex/{index.js → index.ts} +27 -12
  495. package/src/exporter/latex/{readme.js → readme.ts} +2 -2
  496. package/src/exporter/native/copy.ts +231 -0
  497. package/src/exporter/native/file.ts +65 -0
  498. package/src/exporter/native/index.ts +4 -0
  499. package/src/exporter/native/revision.ts +76 -0
  500. package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
  501. package/src/exporter/native/zip.ts +85 -0
  502. package/src/exporter/odt/{citations.js → citations.ts} +35 -15
  503. package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
  504. package/src/exporter/odt/images.ts +135 -0
  505. package/src/exporter/odt/{index.js → index.ts} +49 -27
  506. package/src/exporter/odt/{math.js → math.ts} +38 -9
  507. package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
  508. package/src/exporter/odt/{render.js → render.ts} +89 -60
  509. package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
  510. package/src/exporter/odt/{styles.js → styles.ts} +98 -66
  511. package/src/exporter/odt/{track.js → track.ts} +22 -6
  512. package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
  513. package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
  514. package/src/exporter/pandoc/{index.js → index.ts} +36 -13
  515. package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
  516. package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
  517. package/src/exporter/print/{index.js → index.ts} +38 -19
  518. package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
  519. package/src/exporter/tools/{file.js → file.ts} +1 -1
  520. package/src/exporter/tools/{json.js → json.ts} +30 -19
  521. package/src/exporter/tools/{svg.js → svg.ts} +9 -3
  522. package/src/exporter/tools/{xml.js → xml.ts} +187 -138
  523. package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
  524. package/src/exporter/tools/{zip.js → zip.ts} +35 -11
  525. package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
  526. package/src/global.d.ts +13 -0
  527. package/src/importer/citations.ts +116 -0
  528. package/src/importer/docx/{citations.js → citations.ts} +22 -37
  529. package/src/importer/docx/{convert.js → convert.ts} +176 -141
  530. package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
  531. package/src/importer/docx/index.ts +124 -0
  532. package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
  533. package/src/importer/docx/{parse.js → parse.ts} +103 -81
  534. package/src/importer/native/extract_template.ts +83 -0
  535. package/src/importer/native/file.ts +282 -0
  536. package/src/importer/native/get_images.ts +82 -0
  537. package/src/importer/native/importer.ts +244 -0
  538. package/src/importer/native/index.ts +6 -0
  539. package/src/importer/native/{update.js → update.ts} +13 -5
  540. package/src/importer/native/update_template.ts +32 -0
  541. package/src/importer/odt/{citations.js → citations.ts} +17 -29
  542. package/src/importer/odt/{convert.js → convert.ts} +261 -237
  543. package/src/importer/odt/index.ts +202 -0
  544. package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
  545. package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
  546. package/src/importer/pandoc/index.ts +171 -0
  547. package/src/importer/registry.ts +69 -0
  548. package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
  549. package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
  550. package/src/modules.d.ts +40 -0
  551. package/src/schema/common/{annotate.js → annotate.ts} +10 -8
  552. package/src/schema/common/{base.js → base.ts} +12 -10
  553. package/src/schema/common/{citation.js → citation.ts} +17 -8
  554. package/src/schema/common/{equation.js → equation.ts} +6 -4
  555. package/src/schema/common/{figure.js → figure.ts} +43 -23
  556. package/src/schema/common/{heading.js → heading.ts} +7 -5
  557. package/src/schema/common/{list.js → list.ts} +15 -13
  558. package/src/schema/common/{reference.js → reference.ts} +14 -12
  559. package/src/schema/common/{table.js → table.ts} +16 -14
  560. package/src/schema/common/track.ts +201 -0
  561. package/src/schema/const.ts +58 -0
  562. package/src/schema/{convert.js → convert.ts} +6 -2
  563. package/src/schema/document/{content.js → content.ts} +22 -20
  564. package/src/schema/document/{structure.js → structure.ts} +15 -9
  565. package/src/schema/{export.js → export.ts} +4 -2
  566. package/src/schema/{footnotes.js → footnotes.ts} +11 -8
  567. package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
  568. package/src/schema/i18n.ts +601 -0
  569. package/src/schema/mini_json.ts +60 -0
  570. package/src/schema/{text.js → text.ts} +6 -2
  571. package/src/types.ts +314 -0
  572. package/jest.config.js +0 -24
  573. package/src/exporter/docx/images.js +0 -101
  574. package/src/exporter/jats/bibliography.js +0 -183
  575. package/src/exporter/jats/index.js +0 -92
  576. package/src/exporter/odt/images.js +0 -115
  577. package/src/importer/citations.js +0 -129
  578. package/src/importer/native/get_images.js +0 -76
  579. /package/src/{index.js → index.ts} +0 -0
  580. /package/src/schema/common/{index.js → index.ts} +0 -0
  581. /package/src/schema/document/{index.js → index.ts} +0 -0
  582. /package/src/schema/{index.js → index.ts} +0 -0
@@ -1,7 +1,8 @@
1
1
  import {escapeText} from "fwtoolkit"
2
- import {CATS} from "../../schema/i18n.js"
2
+ import {getCat} from "../../schema/i18n.js"
3
3
 
4
4
  import {xmlDOM} from "../tools/xml.js"
5
+ import type {XMLElement} from "../tools/xml.js"
5
6
  import {createZoteroCitation} from "../tools/zotero_csl.js"
6
7
 
7
8
  import {translateBlockType} from "./tools.js"
@@ -35,19 +36,19 @@ const INLINE_TYPES = [
35
36
 
36
37
  /**
37
38
  * Create Zotero citation field instruction for DOCX.
38
- * @param {Array} references - Array of {id, prefix?, locator?} from citation node
39
- * @param {Object} bibDB - Bibliography database
40
- * @param {string} formattedCitation - Pre-formatted citation text from citeproc
41
- * @param {string} citationId - Optional citation ID (generated if not provided)
42
- * @returns {string} Field instruction text
39
+ * @param references - Array of {id, prefix?, locator?} from citation node
40
+ * @param bibDB - Bibliography database
41
+ * @param formattedCitation - Pre-formatted citation text from citeproc
42
+ * @param citationId - Optional citation ID (generated if not provided)
43
+ * @returns Field instruction text
43
44
  */
44
45
 
45
46
  function createZoteroCitationField(
46
- references,
47
- bibDB,
48
- formattedCitation,
49
- citationId = null
50
- ) {
47
+ references: any[],
48
+ bibDB: any,
49
+ formattedCitation: string,
50
+ citationId: string | null = null
51
+ ): string | null {
51
52
  const zoteroCitation = createZoteroCitation(
52
53
  references,
53
54
  bibDB,
@@ -62,16 +63,36 @@ function createZoteroCitationField(
62
63
  }
63
64
 
64
65
  export class DOCXExporterRichtext {
66
+ doc: any
67
+ settings: any
68
+ lists: any
69
+ footnotes: any
70
+ math: any
71
+ tables: any
72
+ rels: any
73
+ citations: any
74
+ images: any
75
+
76
+ comments: Record<string, any>
77
+ commentRangeCounter: number
78
+ changeCounter: number
79
+ fnCounter: number // footnotes 0 and 1 are occupied by separators by default.
80
+ bookmarkCounter: number
81
+ categoryCounter: Record<string, number> // counters for each type of figure (figure/table/photo)
82
+ fncategoryCounter: Record<string, number>
83
+ docPrCount: number
84
+ citationCounter: number // Track which citation we're processing
85
+
65
86
  constructor(
66
- doc,
67
- settings,
68
- lists,
69
- footnotes,
70
- math,
71
- tables,
72
- rels,
73
- citations,
74
- images
87
+ doc: any,
88
+ settings: any,
89
+ lists: any,
90
+ footnotes: any,
91
+ math: any,
92
+ tables: any,
93
+ rels: any,
94
+ citations: any,
95
+ images: any
75
96
  ) {
76
97
  this.doc = doc
77
98
  this.settings = settings
@@ -94,16 +115,16 @@ export class DOCXExporterRichtext {
94
115
  this.citationCounter = 0 // Track which citation we're processing
95
116
  }
96
117
 
97
- run(node, options = {}, nextNode = null) {
118
+ run(node: any, options: any = {}, nextNode: any = null): string {
98
119
  options.comments = this.findComments(node) // Data related to comments. We need to mark the first and last occurence of comment
99
120
  return this.transformRichtext(node, options, nextNode)
100
121
  }
101
122
 
102
- findComments(node, comments = {}) {
123
+ findComments(node: any, comments: any = {}): any {
103
124
  if (node.marks) {
104
125
  node.marks
105
- .filter(mark => mark.type === "comment")
106
- .forEach(comment => {
126
+ .filter((mark: any) => mark.type === "comment")
127
+ .forEach((comment: any) => {
107
128
  if (!this.doc.comments[comment.attrs.id]) {
108
129
  return
109
130
  }
@@ -126,7 +147,7 @@ export class DOCXExporterRichtext {
126
147
  return comments
127
148
  }
128
149
 
129
- transformRichtext(node, options = {}, nextNode = null) {
150
+ transformRichtext(node: any, options: any = {}, nextNode: any = null): string {
130
151
  let start = "",
131
152
  content = "",
132
153
  end = ""
@@ -134,8 +155,8 @@ export class DOCXExporterRichtext {
134
155
  if (node.marks && options.comments) {
135
156
  // Footnotes don't allow comments in DOCX
136
157
  node.marks
137
- .filter(mark => mark.type === "comment")
138
- .forEach(comment => {
158
+ .filter((mark: any) => mark.type === "comment")
159
+ .forEach((comment: any) => {
139
160
  const commentData = options.comments[comment.attrs.id]
140
161
  if (!commentData) {
141
162
  return
@@ -144,7 +165,7 @@ export class DOCXExporterRichtext {
144
165
  let commentId = this.comments[comment.attrs.id]
145
166
  start += `<w:commentRangeStart w:id="${commentId}"/>`
146
167
  commentData.content.answers?.forEach(
147
- _answer =>
168
+ (_answer: any) =>
148
169
  (start += `<w:commentRangeStart w:id="${++commentId}"/>`)
149
170
  )
150
171
  }
@@ -156,7 +177,7 @@ export class DOCXExporterRichtext {
156
177
  commentId
157
178
  }"/></w:r>${(commentData.content.answers || [])
158
179
  .map(
159
- _answer =>
180
+ (_answer: any) =>
160
181
  `<w:commentRangeEnd w:id="${++commentId}"/><w:r><w:commentReference w:id="${commentId}"/></w:r>`
161
182
  )
162
183
  .join("")}` + end
@@ -166,24 +187,25 @@ export class DOCXExporterRichtext {
166
187
 
167
188
  const inlineType = INLINE_TYPES.includes(node.type)
168
189
 
169
- let inlineDelete,
170
- nextBlockDelete,
171
- nextBlockInsert,
172
- blockChange,
173
- blockDelete,
174
- blockInsert
190
+ let inlineDelete: any,
191
+ nextBlockDelete: any,
192
+ nextBlockInsert: any,
193
+ blockChange: any,
194
+ blockDelete: any,
195
+ blockInsert: any
175
196
  if (inlineType) {
176
197
  const inlineInsert =
177
198
  inlineType &&
178
199
  (node.marks?.find(
179
- mark =>
200
+ (mark: any) =>
180
201
  mark.type === "insertion" &&
181
202
  mark.attrs.approved === false
182
203
  )?.attrs ||
183
204
  options.blockInsert)
184
205
  inlineDelete =
185
206
  inlineType &&
186
- (node.marks?.find(mark => mark.type === "deletion")?.attrs ||
207
+ (node.marks?.find((mark: any) => mark.type === "deletion")
208
+ ?.attrs ||
187
209
  options.blockDelete)
188
210
  if (
189
211
  inlineInsert &&
@@ -204,27 +226,27 @@ export class DOCXExporterRichtext {
204
226
  }
205
227
  } else if (TEXT_BLOCK_TYPES.includes(node.type)) {
206
228
  blockChange = node.attrs?.track?.find(
207
- mark => mark.type === "block_change"
229
+ (mark: any) => mark.type === "block_change"
208
230
  )
209
231
 
210
232
  if (nextNode && TEXT_BLOCK_TYPES.includes(nextNode.type)) {
211
233
  nextBlockDelete = nextNode.attrs?.track?.find(
212
- mark => mark.type === "deletion"
234
+ (mark: any) => mark.type === "deletion"
213
235
  )
214
236
  nextBlockInsert = nextNode.attrs?.track?.find(
215
- mark => mark.type === "insertion"
237
+ (mark: any) => mark.type === "insertion"
216
238
  )
217
239
  }
218
240
  } else {
219
241
  blockDelete = node.attrs?.track?.find(
220
- mark => mark.type === "deletion"
242
+ (mark: any) => mark.type === "deletion"
221
243
  )
222
244
  if (blockDelete) {
223
245
  options = Object.assign({}, options)
224
246
  options.blockDelete = blockDelete
225
247
  }
226
248
  blockInsert = node.attrs?.track?.find(
227
- mark => mark.type === "insertion"
249
+ (mark: any) => mark.type === "insertion"
228
250
  )
229
251
  if (blockInsert) {
230
252
  options = Object.assign({}, options)
@@ -357,15 +379,16 @@ export class DOCXExporterRichtext {
357
379
 
358
380
  if (category && node.attrs.id) {
359
381
  const categoryCounter = options.inFootnote
360
- ? this.fnCategoryCounter
382
+ ? this.fncategoryCounter
361
383
  : this.categoryCounter
362
384
  if (!categoryCounter[category]) {
363
385
  categoryCounter[category] = 1
364
386
  }
365
387
  const catCount = categoryCounter[category]++
366
- const {CATS} = require("../../schema/i18n")
367
- const categoryLabelText =
368
- CATS[category]?.[this.settings.language] || category
388
+ const categoryLabelText = getCat(
389
+ category,
390
+ this.settings.language
391
+ )
369
392
  const title = node.attrs.title
370
393
  ? `: ${escapeText(node.attrs.title)}`
371
394
  : ""
@@ -484,33 +507,33 @@ export class DOCXExporterRichtext {
484
507
  </w:r>`
485
508
  break
486
509
  case "text": {
487
- let hyperlink,
488
- anchor,
489
- em,
490
- strong,
491
- underline,
492
- smallcaps,
493
- sup,
494
- sub,
495
- code,
496
- formatChange
510
+ let hyperlink: any,
511
+ anchor: any,
512
+ em: any,
513
+ strong: any,
514
+ underline: any,
515
+ smallcaps: any,
516
+ sup: any,
517
+ sub: any,
518
+ code: any,
519
+ formatChange: any
497
520
  // Check for hyperlink, anchor, bold/strong and italic/em
498
521
  if (node.marks) {
499
- hyperlink = node.marks.find(mark => mark.type === "link")
500
- anchor = node.marks.find(mark => mark.type === "anchor")
501
- em = node.marks.find(mark => mark.type === "em")
502
- strong = node.marks.find(mark => mark.type === "strong")
522
+ hyperlink = node.marks.find((mark: any) => mark.type === "link")
523
+ anchor = node.marks.find((mark: any) => mark.type === "anchor")
524
+ em = node.marks.find((mark: any) => mark.type === "em")
525
+ strong = node.marks.find((mark: any) => mark.type === "strong")
503
526
  underline = node.marks.find(
504
- mark => mark.type === "underline"
527
+ (mark: any) => mark.type === "underline"
505
528
  )
506
529
  smallcaps = node.marks.find(
507
- mark => mark.type === "smallcaps"
530
+ (mark: any) => mark.type === "smallcaps"
508
531
  )
509
- sup = node.marks.find(mark => mark.type === "sup")
510
- sub = node.marks.find(mark => mark.type === "sub")
511
- code = node.marks.find(mark => mark.type === "code")
532
+ sup = node.marks.find((mark: any) => mark.type === "sup")
533
+ sub = node.marks.find((mark: any) => mark.type === "sub")
534
+ code = node.marks.find((mark: any) => mark.type === "code")
512
535
  formatChange = node.marks.find(
513
- mark => mark.type === "format_change"
536
+ (mark: any) => mark.type === "format_change"
514
537
  )
515
538
  }
516
539
  if (anchor) {
@@ -617,7 +640,7 @@ export class DOCXExporterRichtext {
617
640
  type: "link",
618
641
  attrs: {href: `#${id}`, title}
619
642
  }
620
- marks = marks.filter(mark => mark.type !== "link")
643
+ marks = marks.filter((mark: any) => mark.type !== "link")
621
644
  marks.push(hyperlink)
622
645
  }
623
646
  content += this.transformRichtext(
@@ -666,7 +689,7 @@ export class DOCXExporterRichtext {
666
689
  </w:r>`
667
690
 
668
691
  // Create footnote with Zotero field if available
669
- let fnXML
692
+ let fnXML: string
670
693
  if (fieldInstruction && formattedText) {
671
694
  fnXML = `<w:footnote w:id="${this.fnCounter}">
672
695
  <w:p>
@@ -698,17 +721,17 @@ export class DOCXExporterRichtext {
698
721
  const xml = this.footnotes.xml
699
722
  const lastId = this.fnCounter - 1
700
723
  const footnotes = xml.queryAll("w:footnote")
701
- footnotes.forEach(footnote => {
724
+ footnotes.forEach((footnote: XMLElement) => {
702
725
  const id = Number.parseInt(
703
- footnote.getAttribute("w:id")
726
+ String(footnote.getAttribute("w:id"))
704
727
  )
705
728
  if (id >= this.fnCounter) {
706
729
  footnote.setAttribute("w:id", id + 1)
707
730
  }
708
731
  if (id === lastId) {
709
- footnote.parentElement.insertBefore(
732
+ footnote.parentElement!.insertBefore(
710
733
  xmlDOM(fnXML),
711
- footnote.nextSibling
734
+ footnote.nextSibling!
712
735
  )
713
736
  }
714
737
  })
@@ -748,7 +771,7 @@ export class DOCXExporterRichtext {
748
771
  case "figure": {
749
772
  const category = node.attrs.category
750
773
  let caption = node.attrs.caption
751
- ? node.content.find(node => node.type === "figure_caption")
774
+ ? node.content.find((node: any) => node.type === "figure_caption")
752
775
  ?.content || []
753
776
  : []
754
777
  let catCountXML = ""
@@ -760,7 +783,7 @@ export class DOCXExporterRichtext {
760
783
  categoryCounter[category] = 1
761
784
  }
762
785
  catCountXML = `<w:r>
763
- <w:t xml:space="preserve">${CATS[category][this.settings.language]} </w:t>
786
+ <w:t xml:space="preserve">${getCat(category, this.settings.language)} </w:t>
764
787
  </w:r>
765
788
  <w:r>
766
789
  <w:rPr></w:rPr>
@@ -786,9 +809,9 @@ export class DOCXExporterRichtext {
786
809
  caption = [{type: "text", text: ": "}].concat(caption)
787
810
  }
788
811
  }
789
- let cx, cy
812
+ let cx: number, cy: number
790
813
  const image =
791
- node.content.find(node => node.type === "image")?.attrs
814
+ node.content.find((node: any) => node.type === "image")?.attrs
792
815
  .image || false
793
816
  if (image !== false) {
794
817
  const imageEntry = this.images.images[image]
@@ -865,7 +888,7 @@ export class DOCXExporterRichtext {
865
888
  cy = 9525 * 100
866
889
  const latex =
867
890
  node.content.find(
868
- node => node.type === "figure_equation"
891
+ (node: any) => node.type === "figure_equation"
869
892
  )?.attrs.equation || ""
870
893
  content += this.math.getOmml(latex)
871
894
  }
@@ -887,7 +910,7 @@ export class DOCXExporterRichtext {
887
910
  ? `<w:p>
888
911
  <w:pPr><w:pStyle w:val="Caption"/><w:rPr></w:rPr></w:pPr>
889
912
  ${catCountXML}
890
- ${caption.map((node, i) => this.transformRichtext(node, options, caption[i + 1])).join("")}
913
+ ${caption.map((node: any, i: number) => this.transformRichtext(node, options, caption[i + 1])).join("")}
891
914
  </w:p>`
892
915
  : ""
893
916
  }` + end
@@ -937,7 +960,7 @@ export class DOCXExporterRichtext {
937
960
  end =
938
961
  `
939
962
  ${catCountXML}
940
- ${caption.map((node, i) => this.transformRichtext(node, options, caption[i + 1])).join("")}
963
+ ${caption.map((node: any, i: number) => this.transformRichtext(node, options, caption[i + 1])).join("")}
941
964
  </w:p>
942
965
  </w:txbxContent>
943
966
  </wps:txbx>
@@ -988,7 +1011,7 @@ export class DOCXExporterRichtext {
988
1011
  categoryCounter[category] = 1
989
1012
  }
990
1013
  catCountXML = `<w:r>
991
- <w:t xml:space="preserve">${CATS[category][this.settings.language]} </w:t>
1014
+ <w:t xml:space="preserve">${getCat(category, this.settings.language)} </w:t>
992
1015
  </w:r>
993
1016
  <w:r>
994
1017
  <w:rPr></w:rPr>
@@ -1025,7 +1048,7 @@ export class DOCXExporterRichtext {
1025
1048
  <w:bookmarkStart w:name="${node.attrs.id}" w:id="${++this.bookmarkCounter}"/>
1026
1049
  <w:bookmarkEnd w:id="${this.bookmarkCounter}"/>
1027
1050
  ${catCountXML}
1028
- ${caption.map((node, i) => this.transformRichtext(node, options, caption[i + 1])).join("")}
1051
+ ${caption.map((node: any, i: number) => this.transformRichtext(node, options, caption[i + 1])).join("")}
1029
1052
  </w:p>`
1030
1053
  }
1031
1054
  this.tables.addTableGridStyle()
@@ -1047,7 +1070,7 @@ export class DOCXExporterRichtext {
1047
1070
  options = Object.assign({}, options)
1048
1071
  if (options.dimensions?.width) {
1049
1072
  cellWidth =
1050
- Number.parseInt(options.dimensions.width / columns) -
1073
+ Math.floor(options.dimensions.width / columns) -
1051
1074
  2540 // subtracting for border width
1052
1075
  } else if (!options.dimensions) {
1053
1076
  options.dimensions = {}
@@ -1058,7 +1081,7 @@ export class DOCXExporterRichtext {
1058
1081
  options.dimensions.width = cellWidth
1059
1082
  options.tableSideMargins = this.tables.getSideMargins()
1060
1083
  for (let i = 0; i < columns; i++) {
1061
- start += `<w:gridCol w:w="${Number.parseInt(cellWidth / 635)}" />`
1084
+ start += `<w:gridCol w:w="${Number.parseInt(String(cellWidth / 635))}" />`
1062
1085
  }
1063
1086
  start += "</w:tblGrid>"
1064
1087
  end = "</w:tbl>" + end
@@ -1082,7 +1105,7 @@ export class DOCXExporterRichtext {
1082
1105
  <w:tcPr>
1083
1106
  ${
1084
1107
  node.attrs.rowspan && node.attrs.colspan
1085
- ? `<w:tcW w:w="${Number.parseInt((options.dimensions?.width || 0) / 635)}" w:type="dxa" />`
1108
+ ? `<w:tcW w:w="${Number.parseInt(String((options.dimensions?.width || 0) / 635))}" w:type="dxa" />`
1086
1109
  : '<w:tcW w:w="0" w:type="auto" />'
1087
1110
  }
1088
1111
  ${
@@ -1,3 +1,6 @@
1
+ import type {XMLElement} from "../tools/xml.js"
2
+ import type {XmlZip} from "../tools/xml_zip.js"
3
+
1
4
  const DEFAULT_TABLENORMAL_XML = `
2
5
  <w:style w:type="table" w:default="1" w:styleId="TableNormal">
3
6
  <w:name w:val="Normal Table"/>
@@ -16,7 +19,7 @@ const DEFAULT_TABLENORMAL_XML = `
16
19
  </w:style>
17
20
  `
18
21
 
19
- const DEFAULT_TABLEGRID_XML = tableNormalStyle => `
22
+ const DEFAULT_TABLEGRID_XML = (tableNormalStyle: string) => `
20
23
  <w:style w:type="table" w:styleId="TableGrid">
21
24
  <w:name w:val="Table Grid"/>
22
25
  <w:basedOn w:val="${tableNormalStyle}"/>
@@ -43,70 +46,77 @@ const DEFAULT_TABLEGRID_XML = tableNormalStyle => `
43
46
  `
44
47
 
45
48
  export class DOCXExporterTables {
46
- constructor(xml) {
49
+ xml: XmlZip
50
+ sideMargins: number | false
51
+ tableGridStyle: string | null
52
+ tableNormalStyle: string | null
53
+ styleXML: XMLElement | null
54
+ styleFilePath: string
55
+
56
+ constructor(xml: XmlZip) {
47
57
  this.xml = xml
48
58
  this.sideMargins = false
49
- this.tableGridStyle = false
50
- this.tableNormalStyle = false
51
- this.styleXML = false
59
+ this.tableGridStyle = null
60
+ this.tableNormalStyle = null
61
+ this.styleXML = null
52
62
  this.styleFilePath = "word/styles.xml"
53
63
  }
54
64
 
55
- init() {
65
+ init(): Promise<void> {
56
66
  return this.xml.getXml(this.styleFilePath).then(styleXML => {
57
67
  this.styleXML = styleXML
58
68
  return Promise.resolve()
59
69
  })
60
70
  }
61
71
 
62
- addTableNormalStyle() {
72
+ addTableNormalStyle(): void {
63
73
  if (this.tableNormalStyle) {
64
74
  // already added
65
75
  return
66
76
  }
67
- const tableNormalEl = this.styleXML.query("w:style", {
77
+ const tableNormalEl = this.styleXML!.query("w:style", {
68
78
  "w:type": "table",
69
79
  "w:default": "1"
70
80
  })
71
81
  if (tableNormalEl) {
72
- this.tableNormalStyle = tableNormalEl.getAttribute("w:styleId")
82
+ this.tableNormalStyle = String(tableNormalEl.getAttribute("w:styleId"))
73
83
  } else {
74
- const stylesEl = this.styleXML.query("w:styles")
75
- stylesEl.appendXML(DEFAULT_TABLENORMAL_XML)
84
+ const stylesEl = this.styleXML!.query("w:styles")
85
+ stylesEl?.appendXML(DEFAULT_TABLENORMAL_XML)
76
86
  this.tableNormalStyle = "TableNormal"
77
87
  }
78
88
  }
79
89
 
80
- addTableGridStyle() {
90
+ addTableGridStyle(): void {
81
91
  if (this.tableGridStyle) {
82
92
  // already added
83
93
  return
84
94
  }
85
95
  this.addTableNormalStyle()
86
- const tableGridEl = this.styleXML.query("w:style", {
96
+ const tableGridEl = this.styleXML!.query("w:style", {
87
97
  "w:type": "table",
88
98
  "w:customStyle": "1"
89
99
  })
90
100
  if (tableGridEl) {
91
- this.tableGridStyle = tableGridEl.getAttribute("w:styleId")
101
+ this.tableGridStyle = String(tableGridEl.getAttribute("w:styleId"))
92
102
  } else {
93
- const stylesEl = this.styleXML.query("w:styles")
94
- stylesEl.appendXML(DEFAULT_TABLEGRID_XML(this.tableNormalStyle))
103
+ const stylesEl = this.styleXML!.query("w:styles")
104
+ stylesEl?.appendXML(DEFAULT_TABLEGRID_XML(this.tableNormalStyle || "TableNormal"))
95
105
  this.tableGridStyle = "TableGrid"
96
106
  }
97
107
  }
98
108
 
99
- getSideMargins() {
109
+ getSideMargins(): number {
100
110
  if (!this.sideMargins) {
101
- const marginsEl = this.styleXML.query("w:style", {
111
+ const marginsEl = this.styleXML!.query("w:style", {
102
112
  "w:styleId": this.tableGridStyle
103
113
  })
104
- const leftEl = marginsEl.query("w:left")
105
- const rightEl = marginsEl.query("w:right")
106
- const left = Number.parseInt(leftEl.getAttribute("w:w"))
107
- const right = Number.parseInt(rightEl.getAttribute("w:w"))
114
+ const leftEl = marginsEl!.query("w:left")
115
+ const rightEl = marginsEl!.query("w:right")
116
+ const left = Number.parseInt(String(leftEl!.getAttribute("w:w")))
117
+ const right = Number.parseInt(String(rightEl!.getAttribute("w:w")))
108
118
  this.sideMargins = (left + right) * 635
109
119
  }
110
- return this.sideMargins
120
+ return this.sideMargins as number
111
121
  }
112
122
  }
@@ -1,13 +1,14 @@
1
1
  import {descendantNodes} from "../tools/doc_content.js"
2
+ import type {FidusNode} from "../../types.js"
2
3
 
3
- export const moveFootnoteComments = topNode => {
4
+ export const moveFootnoteComments = (topNode: FidusNode): FidusNode => {
4
5
  // DOCX doesn't support comments in footnotes. So we copy all comment marks from footnote
5
6
  // to parent node.
6
7
  descendantNodes(topNode).forEach(node => {
7
8
  if (node.type === "footnote") {
8
9
  descendantNodes({
9
10
  type: "footnotecontainer",
10
- content: node.attrs.footnote
11
+ content: node.attrs?.footnote as FidusNode[] | undefined
11
12
  }).forEach(fnNode => {
12
13
  if (fnNode.marks) {
13
14
  fnNode.marks
@@ -26,7 +27,7 @@ export const moveFootnoteComments = topNode => {
26
27
  return topNode
27
28
  }
28
29
 
29
- export const translateBlockType = blockType => {
30
+ export const translateBlockType = (blockType: string): string => {
30
31
  switch (blockType) {
31
32
  case "heading1":
32
33
  return "Heading1"