@fiduswriter/document 0.1.0-alpha.4 → 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 (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 +4 -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
@@ -1,4 +1,7 @@
1
- const GRAPHIC_STYLES = {
1
+ import type {XMLElement} from "../tools/xml.js"
2
+ import type {XmlZip} from "../tools/xml_zip.js"
3
+
4
+ const GRAPHIC_STYLES: Record<string, string> = {
2
5
  Formula: `
3
6
  <style:style style:name="Formula" style:family="graphic">
4
7
  <style:graphic-properties text:anchor-type="as-char" svg:y="0in" fo:margin-left="0.0791in" fo:margin-right="0.0791in" style:vertical-pos="middle" style:vertical-rel="text"/>
@@ -13,7 +16,7 @@ const GRAPHIC_STYLES = {
13
16
  </style:style>`
14
17
  }
15
18
 
16
- const PAR_STYLES = {
19
+ const PAR_STYLES: Record<string, string> = {
17
20
  Bibliography_20_Heading: `<style:style style:name="Bibliography_20_Heading" style:display-name="Bibliography Heading" style:family="paragraph" style:parent-style-name="Heading" style:class="index">
18
21
  <style:paragraph-properties fo:margin-left="0in" fo:margin-right="0in" fo:text-indent="0in" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/>
19
22
  <style:text-properties fo:font-size="16pt" fo:font-weight="bold" style:font-size-asian="16pt" style:font-weight-asian="bold" style:font-size-complex="16pt" style:font-weight-complex="bold"/>
@@ -28,11 +31,28 @@ const PAR_STYLES = {
28
31
  }
29
32
 
30
33
  export class ODTExporterStyles {
31
- constructor(xml) {
34
+ xml: XmlZip
35
+
36
+ contentXml: XMLElement | null
37
+ stylesXml: XMLElement | null
38
+ boldStyleId: boolean
39
+ italicStyleId: boolean
40
+ boldItalicStyleId: boolean
41
+ inlineStyleIds: Record<string, number>
42
+ tableStyleIds: Record<string, number>
43
+ graphicStyleIds: Record<string, number>
44
+ bulletListStyleId: [number | false, number | false]
45
+ inlineStyleCounter: number
46
+ tableStyleCounter: number
47
+ blockStyleCounter: number
48
+ listStyleCounter: number
49
+ graphicStyleCounter: number
50
+
51
+ constructor(xml: XmlZip) {
32
52
  this.xml = xml
33
53
 
34
- this.contentXml = false
35
- this.stylesXml = false
54
+ this.contentXml = null
55
+ this.stylesXml = null
36
56
  this.boldStyleId = false
37
57
  this.italicStyleId = false
38
58
  this.boldItalicStyleId = false
@@ -47,7 +67,7 @@ export class ODTExporterStyles {
47
67
  this.graphicStyleCounter = 0
48
68
  }
49
69
 
50
- init() {
70
+ init(): Promise<void> {
51
71
  return this.xml
52
72
  .getXml("styles.xml")
53
73
  .then(stylesXml => {
@@ -61,14 +81,20 @@ export class ODTExporterStyles {
61
81
  })
62
82
  }
63
83
 
64
- getStyleCounters() {
84
+ getStyleCounters(): void {
85
+ if (!this.contentXml) {
86
+ return
87
+ }
65
88
  const autoStylesEl = this.contentXml.query("office:automatic-styles")
89
+ if (!autoStylesEl) {
90
+ return
91
+ }
66
92
  const styles = autoStylesEl.queryAll("style:style")
67
93
  styles.forEach(style => {
68
94
  const styleNumber = Number.parseInt(
69
- style.getAttribute("style:name").replace(/\D/g, "")
95
+ String(style.getAttribute("style:name")).replace(/\D/g, "")
70
96
  )
71
- const styleFamily = style.getAttribute("style:family")
97
+ const styleFamily = String(style.getAttribute("style:family"))
72
98
  if (styleFamily === "text") {
73
99
  if (styleNumber > this.inlineStyleCounter) {
74
100
  this.inlineStyleCounter = styleNumber
@@ -90,7 +116,7 @@ export class ODTExporterStyles {
90
116
  const listStyles = autoStylesEl.queryAll("text:list-style")
91
117
  listStyles.forEach(style => {
92
118
  const styleNumber = Number.parseInt(
93
- style.getAttribute("style:name").replace(/\D/g, "")
119
+ String(style.getAttribute("style:name")).replace(/\D/g, "")
94
120
  )
95
121
  if (styleNumber > this.listStyleCounter) {
96
122
  this.listStyleCounter = styleNumber
@@ -109,7 +135,7 @@ export class ODTExporterStyles {
109
135
  b = sub
110
136
  t = code (monospace)
111
137
  */
112
- getInlineStyleId(attributes) {
138
+ getInlineStyleId(attributes: string): number {
113
139
  if (this.inlineStyleIds[attributes]) {
114
140
  return this.inlineStyleIds[attributes]
115
141
  }
@@ -141,8 +167,8 @@ export class ODTExporterStyles {
141
167
  }
142
168
  const styleCounter = ++this.inlineStyleCounter
143
169
  this.inlineStyleIds[attributes] = styleCounter
144
- const autoStylesEl = this.contentXml.query("office:automatic-styles")
145
- autoStylesEl.appendXML(`
170
+ const autoStylesEl = this.contentXml!.query("office:automatic-styles")
171
+ autoStylesEl?.appendXML(`
146
172
  <style:style style:name="T${styleCounter}" style:family="text">
147
173
  <style:text-properties${styleProperties}/>
148
174
  </style:style>
@@ -154,14 +180,14 @@ export class ODTExporterStyles {
154
180
  aligned: left/center/right
155
181
  width: '75'/'50'/'25' = percentage width - 100% doesn't need any style
156
182
  */
157
- getTableStyleId(aligned, width) {
183
+ getTableStyleId(aligned: string, width: string): number {
158
184
  if (this.tableStyleIds[aligned + width]) {
159
185
  return this.tableStyleIds[aligned + width]
160
186
  }
161
187
  const styleCounter = ++this.tableStyleCounter
162
188
  this.tableStyleIds[aligned + width] = styleCounter
163
- const autoStylesEl = this.contentXml.query("office:automatic-styles")
164
- autoStylesEl.appendXML(`
189
+ const autoStylesEl = this.contentXml!.query("office:automatic-styles")
190
+ autoStylesEl?.appendXML(`
165
191
  <style:style style:name="Table${styleCounter}" style:family="table">
166
192
  <style:table-properties style:rel-width="${width}%" table:align="${aligned}"/>
167
193
  </style:style>
@@ -169,49 +195,49 @@ export class ODTExporterStyles {
169
195
  return styleCounter
170
196
  }
171
197
 
172
- checkParStyle(styleName) {
173
- const stylesParStyle = this.stylesXml.query("style:style", {
198
+ checkParStyle(styleName: string): void {
199
+ const stylesParStyle = this.stylesXml!.query("style:style", {
174
200
  "style:name": styleName
175
201
  })
176
- const contentParStyle = this.contentXml.query("style:style", {
202
+ const contentParStyle = this.contentXml!.query("style:style", {
177
203
  "style:name": styleName
178
204
  })
179
205
  if (!stylesParStyle && !contentParStyle) {
180
- const stylesEl = this.stylesXml.query("office:styles")
206
+ const stylesEl = this.stylesXml!.query("office:styles")
181
207
  const displayName = styleName.split("_20_").join(" ")
182
- stylesEl.appendXML(
208
+ stylesEl?.appendXML(
183
209
  PAR_STYLES[styleName] ||
184
210
  `<style:style style:name="${styleName}" style:display-name="${displayName}" style:family="paragraph" style:parent-style-name="Standard" style:class="text" />`
185
211
  )
186
212
  }
187
213
  }
188
214
 
189
- checkGraphicStyle(styleName) {
190
- const stylesParStyle = this.stylesXml.query("style:style", {
215
+ checkGraphicStyle(styleName: string): void {
216
+ const stylesParStyle = this.stylesXml!.query("style:style", {
191
217
  "style:name": styleName
192
218
  })
193
- const contentParStyle = this.contentXml.query("style:style", {
219
+ const contentParStyle = this.contentXml!.query("style:style", {
194
220
  "style:name": styleName
195
221
  })
196
222
  if (!stylesParStyle && !contentParStyle) {
197
- const stylesEl = this.stylesXml.query("office:styles")
198
- stylesEl.appendXML(GRAPHIC_STYLES[styleName])
223
+ const stylesEl = this.stylesXml!.query("office:styles")
224
+ stylesEl?.appendXML(GRAPHIC_STYLES[styleName])
199
225
  }
200
226
  }
201
227
 
202
- checkSectionStyle(styleName) {
203
- const stylesSection = this.stylesXml.query("style:style", {
228
+ checkSectionStyle(styleName: string): void {
229
+ const stylesSection = this.stylesXml!.query("style:style", {
204
230
  "style:name": styleName,
205
231
  "style:family": "section"
206
232
  })
207
- const contentSection = this.contentXml.query("style:style", {
233
+ const contentSection = this.contentXml!.query("style:style", {
208
234
  "style:name": styleName,
209
235
  "style:family": "section"
210
236
  })
211
237
  if (!stylesSection && !contentSection) {
212
- const stylesEl = this.stylesXml.query("office:styles")
238
+ const stylesEl = this.stylesXml!.query("office:styles")
213
239
  // Add a basic section style if it doesn't exist
214
- stylesEl.appendXML(
240
+ stylesEl?.appendXML(
215
241
  `<style:style style:name="${styleName}" style:family="section">
216
242
  <style:section-properties text:dont-balance-text-columns="false" fo:background-color="transparent">
217
243
  <style:columns fo:column-count="1" fo:column-gap="0in"/>
@@ -225,7 +251,7 @@ export class ODTExporterStyles {
225
251
  styleName: Frame/Formula/Graphics
226
252
  aligned: left/center/right (not used for Formula)
227
253
  */
228
- getGraphicStyleId(styleName, aligned = "") {
254
+ getGraphicStyleId(styleName: string, aligned = ""): number {
229
255
  if (this.graphicStyleIds[styleName + aligned]) {
230
256
  return this.graphicStyleIds[styleName + aligned]
231
257
  }
@@ -233,8 +259,8 @@ export class ODTExporterStyles {
233
259
 
234
260
  const styleCounter = ++this.graphicStyleCounter
235
261
  this.graphicStyleIds[styleName + aligned] = styleCounter
236
- const autoStylesEl = this.contentXml.query("office:automatic-styles")
237
- autoStylesEl.appendXML(`
262
+ const autoStylesEl = this.contentXml!.query("office:automatic-styles")
263
+ autoStylesEl?.appendXML(`
238
264
  <style:style style:name="fr${styleCounter}" style:family="graphic" style:parent-style-name="${styleName}">
239
265
  ${
240
266
  styleName === "Formula"
@@ -245,20 +271,26 @@ export class ODTExporterStyles {
245
271
  return styleCounter
246
272
  }
247
273
 
248
- addReferenceStyle(bibInfo) {
274
+ addReferenceStyle(bibInfo: {
275
+ linespacing: number
276
+ entryspacing: number
277
+ hangingindent?: boolean
278
+ maxoffset: number
279
+ "second-field-align"?: "margin" | "flush"
280
+ }): void {
249
281
  // The style called "Bibliography_20_1" will override any previous style
250
282
  // of the same name.
251
- const stylesParStyle = this.stylesXml.query("style:style", {
283
+ const stylesParStyle = this.stylesXml!.query("style:style", {
252
284
  "style:name": "Bibliography_20_1"
253
285
  })
254
286
  if (stylesParStyle) {
255
- stylesParStyle.parentElement.removeChild(stylesParStyle)
287
+ stylesParStyle.parentElement!.removeChild(stylesParStyle)
256
288
  }
257
- const contentParStyle = this.contentXml.query("style:style", {
289
+ const contentParStyle = this.contentXml!.query("style:style", {
258
290
  "style:name": "Bibliography_20_1"
259
291
  })
260
292
  if (contentParStyle) {
261
- contentParStyle.parentElement.removeChild(contentParStyle)
293
+ contentParStyle.parentElement!.removeChild(contentParStyle)
262
294
  }
263
295
 
264
296
  this.checkParStyle("Index")
@@ -291,22 +323,22 @@ export class ODTExporterStyles {
291
323
  ${tabStops}
292
324
  </style:paragraph-properties>
293
325
  </style:style>`
294
- const stylesEl = this.stylesXml.query("office:styles")
295
- stylesEl.appendXML(styleDef)
326
+ const stylesEl = this.stylesXml!.query("office:styles")
327
+ stylesEl?.appendXML(styleDef)
296
328
  }
297
329
 
298
- getBulletListStyleId() {
330
+ getBulletListStyleId(): [number, number] {
299
331
  if (this.bulletListStyleId[0]) {
300
- return this.bulletListStyleId
332
+ return this.bulletListStyleId as [number, number]
301
333
  }
302
334
  this.bulletListStyleId[0] = ++this.listStyleCounter
303
- const autoStylesEl = this.contentXml.query("office:automatic-styles")
304
- autoStylesEl.appendXML(`
335
+ const autoStylesEl = this.contentXml!.query("office:automatic-styles")
336
+ autoStylesEl?.appendXML(`
305
337
  <text:list-style style:name="L${this.bulletListStyleId[0]}">
306
338
  </text:list-style>
307
339
  `)
308
340
  const listStyleEl =
309
- autoStylesEl.children[autoStylesEl.children.length - 1]
341
+ autoStylesEl!.children[autoStylesEl!.children.length - 1] as XMLElement
310
342
  // ODT files seem to contain ten levels of lists (1-10)
311
343
  for (let level = 1; level < 11; level++) {
312
344
  listStyleEl.appendXML(`
@@ -320,18 +352,18 @@ export class ODTExporterStyles {
320
352
  this.bulletListStyleId[1] = this.addListParStyle(
321
353
  this.bulletListStyleId[0]
322
354
  )
323
- return this.bulletListStyleId
355
+ return this.bulletListStyleId as [number, number]
324
356
  }
325
357
 
326
- getOrderedListStyleId(start) {
358
+ getOrderedListStyleId(start: number): [number, number] {
327
359
  const orderedListStyleId = ++this.listStyleCounter
328
- const autoStylesEl = this.contentXml.query("office:automatic-styles")
329
- autoStylesEl.appendXML(`
360
+ const autoStylesEl = this.contentXml!.query("office:automatic-styles")
361
+ autoStylesEl?.appendXML(`
330
362
  <text:list-style style:name="L${orderedListStyleId}">
331
363
  </text:list-style>
332
364
  `)
333
365
  const listStyleEl =
334
- autoStylesEl.children[autoStylesEl.children.length - 1]
366
+ autoStylesEl!.children[autoStylesEl!.children.length - 1] as XMLElement
335
367
  // ODT files seem to contain ten levels of lists (1-10)
336
368
  for (let level = 1; level < 11; level++) {
337
369
  listStyleEl.appendXML(`
@@ -346,41 +378,41 @@ export class ODTExporterStyles {
346
378
  }
347
379
 
348
380
  // Add a paragraph style for either paragraph in bullet or numeric list
349
- addListParStyle(_listId) {
381
+ addListParStyle(_listId: number): number {
350
382
  const parStyleId = ++this.blockStyleCounter
351
- const autoStylesEl = this.contentXml.query("office:automatic-styles")
352
- autoStylesEl.appendXML(
383
+ const autoStylesEl = this.contentXml!.query("office:automatic-styles")
384
+ autoStylesEl?.appendXML(
353
385
  `<style:style style:name="P${parStyleId}" style:family="paragraph" style:parent-style-name="Standard" text:list-style-name="L1" />`
354
386
  )
355
387
  return parStyleId
356
388
  }
357
389
 
358
- addPageBreakStyle() {
359
- const stylesEl = this.stylesXml.query("office:styles")
360
- stylesEl.queryAll("style:style").forEach(style => {
390
+ addPageBreakStyle(): void {
391
+ const stylesEl = this.stylesXml!.query("office:styles")
392
+ stylesEl?.queryAll("style:style").forEach(style => {
361
393
  if (style.getAttribute("style:name") === "PageBreak") {
362
394
  return
363
395
  }
364
396
  })
365
- stylesEl.appendXML(
397
+ stylesEl?.appendXML(
366
398
  '<style:style style:name="PageBreak" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"><style:paragraph-properties fo:break-before="page"/></style:style>'
367
399
  )
368
400
  }
369
401
 
370
- setLanguage(langCode) {
371
- const langCodes = langCode.split("-"),
372
- [language] = langCodes
402
+ setLanguage(langCode: string): void {
403
+ const langCodes = langCode.split("-")
404
+ const [language] = langCodes
373
405
 
374
406
  let [, country] = langCodes
375
407
 
376
408
  if (!country) {
377
409
  country = "none"
378
410
  }
379
- const stylesEl = this.stylesXml.query("office:styles")
380
- stylesEl.queryAll("style:default-style").forEach(el => {
381
- el.queryAll("style:text-properties").forEach(el => {
382
- el.setAttribute("fo:language", language)
383
- el.setAttribute("fo:country", country)
411
+ const stylesEl = this.stylesXml!.query("office:styles")
412
+ stylesEl?.queryAll("style:default-style").forEach(el => {
413
+ el.queryAll("style:text-properties").forEach(textProps => {
414
+ textProps.setAttribute("fo:language", language)
415
+ textProps.setAttribute("fo:country", country)
384
416
  })
385
417
  })
386
418
  }
@@ -1,24 +1,40 @@
1
1
  import {escapeText} from "fwtoolkit"
2
2
 
3
+ import type {XmlZip} from "../tools/xml_zip.js"
4
+ import type {XMLElement} from "../tools/xml.js"
5
+
6
+ export interface TrackInfo {
7
+ type: "deletion" | "insertion" | "block_change"
8
+ username: string
9
+ date: number
10
+ }
11
+
3
12
  export class ODTExporterTracks {
4
- constructor(xml) {
5
- this.xml = xml
13
+ xml: XmlZip
14
+ contentXml: XMLElement | false
15
+ trackChangesSection: XMLElement | false | undefined
16
+ counter: number
6
17
 
18
+ constructor(xml: XmlZip) {
19
+ this.xml = xml
7
20
  this.contentXml = false
8
21
  this.trackChangesSection = false
9
22
  this.counter = 0
10
23
  }
11
24
 
12
- init() {
25
+ init(): Promise<void> {
13
26
  return this.xml.getXml("content.xml").then(contentXml => {
14
27
  this.contentXml = contentXml
15
28
  })
16
29
  }
17
30
 
18
- checkTrackedChangesSection() {
31
+ checkTrackedChangesSection(): void {
19
32
  if (this.trackChangesSection) {
20
33
  return
21
34
  }
35
+ if (!this.contentXml) {
36
+ throw new Error("content.xml not loaded")
37
+ }
22
38
  const trackChangesSection = this.contentXml.query(
23
39
  "text:tracked-changes"
24
40
  )
@@ -36,7 +52,7 @@ export class ODTExporterTracks {
36
52
  }
37
53
  }
38
54
 
39
- addChange(trackInfo, deletionString = "") {
55
+ addChange(trackInfo: TrackInfo, deletionString = ""): string {
40
56
  if (!this.trackChangesSection) {
41
57
  this.checkTrackedChangesSection()
42
58
  }
@@ -62,7 +78,7 @@ export class ODTExporterTracks {
62
78
  : ""
63
79
  }
64
80
  </text:changed-region>`
65
- this.trackChangesSection.appendXML(changeXml)
81
+ ;(this.trackChangesSection as XMLElement).appendXML(changeXml)
66
82
  return trackId
67
83
  }
68
84
  }
@@ -3,10 +3,22 @@ import {DOMParser, DOMSerializer} from "prosemirror-model"
3
3
  import {cslBibSchema} from "../../bibliography/csl_bib.js"
4
4
  import {FormatCitations} from "../../citations/format.js"
5
5
  import {fnSchema} from "../../schema/footnotes.js"
6
+ import type {BibDB, CSL, ExportDoc, FidusNode} from "../../types.js"
6
7
  import {descendantNodes} from "../tools/doc_content.js"
7
8
 
8
9
  export class PandocExporterCitations {
9
- constructor(exporter, bibDB, csl, docContent, origCitInfos = []) {
10
+ exporter: {doc: ExportDoc}
11
+ bibDB: BibDB
12
+ csl: CSL
13
+ docContent: FidusNode
14
+ origCitInfos: Record<string, unknown>[]
15
+ citInfos: Record<string, unknown>[]
16
+ citationTexts: string[]
17
+ pmCits: FidusNode[]
18
+ citFm: FormatCitations | false
19
+ pmBib: FidusNode | false
20
+
21
+ constructor(exporter: {doc: ExportDoc}, bibDB: BibDB, csl: CSL, docContent: FidusNode, origCitInfos: Record<string, unknown>[] = []) {
10
22
  this.exporter = exporter
11
23
  this.bibDB = bibDB
12
24
  this.csl = csl
@@ -21,13 +33,13 @@ export class PandocExporterCitations {
21
33
  this.pmBib = false
22
34
  }
23
35
 
24
- init() {
36
+ init(): Promise<void> {
25
37
  return this.formatCitations()
26
38
  }
27
39
 
28
40
  // Citations are highly interdependent -- so we need to format them all
29
41
  // together before laying out the document.
30
- formatCitations() {
42
+ formatCitations(): Promise<void> {
31
43
  if (this.origCitInfos.length) {
32
44
  // Initial citInfos are taken from a previous run to include in
33
45
  // bibliography, and they are removed before spitting out the
@@ -36,21 +48,22 @@ export class PandocExporterCitations {
36
48
  this.citInfos = this.citInfos.concat(this.origCitInfos)
37
49
  }
38
50
  descendantNodes(this.docContent).forEach(node => {
39
- if (node.type === "citation") {
51
+ if (node.type === "citation" && node.attrs) {
40
52
  this.citInfos.push(JSON.parse(JSON.stringify(node.attrs)))
41
53
  }
42
54
  })
43
- this.citFm = new FormatCitations(
55
+ const citFm = new FormatCitations(
44
56
  this.csl,
45
- this.citInfos,
46
- this.exporter.doc.settings.citationstyle,
57
+ this.citInfos as any,
58
+ this.exporter.doc.settings.citationstyle || "",
47
59
  "",
48
60
  this.bibDB,
49
61
  false,
50
62
  this.exporter.doc.settings.language
51
63
  )
52
- return this.citFm.init().then(() => {
53
- this.citationTexts = this.citFm.citationTexts
64
+ this.citFm = citFm
65
+ return (citFm.init() as Promise<void>).then(() => {
66
+ this.citationTexts = citFm.citationTexts
54
67
  if (this.origCitInfos.length) {
55
68
  // Remove all citation texts originating from original starting citInfos
56
69
  this.citationTexts.splice(0, this.origCitInfos.length)
@@ -60,7 +73,10 @@ export class PandocExporterCitations {
60
73
  })
61
74
  }
62
75
 
63
- convertCitations() {
76
+ convertCitations(): void {
77
+ if (!this.citFm) {
78
+ return
79
+ }
64
80
  // There could be some formatting in the citations, so we parse them through the PM schema for final formatting.
65
81
  // We need to put the citations each in a paragraph so that it works with
66
82
  // the fiduswriter schema and so that the converter doesn't mash them together.
@@ -75,24 +91,24 @@ export class PandocExporterCitations {
75
91
  const fnNode = fnSchema.nodeFromJSON({type: "footnotecontainer"})
76
92
  const serializer = DOMSerializer.fromSchema(fnSchema)
77
93
  const dom = serializer.serializeNode(fnNode)
78
- dom.innerHTML = citationsHTML
94
+ ;(dom as HTMLElement).innerHTML = citationsHTML
79
95
  this.pmCits = DOMParser.fromSchema(fnSchema)
80
96
  .parse(dom, {topNode: fnNode})
81
- .toJSON().content
97
+ .toJSON().content as FidusNode[]
82
98
  } else {
83
99
  this.pmCits = []
84
100
  }
85
101
 
86
102
  // Now we do the same for the bibliography.
87
- const cslBib = this.citFm.bibliography
103
+ const cslBib = this.citFm!.bibliography
88
104
  if (cslBib && cslBib[1].length > 0) {
89
105
  const bibNode = cslBibSchema.nodeFromJSON({type: "cslbib"})
90
106
  const serializer = DOMSerializer.fromSchema(cslBibSchema)
91
107
  const dom = serializer.serializeNode(bibNode)
92
- dom.innerHTML = cslBib[1].join("")
108
+ ;(dom as HTMLElement).innerHTML = cslBib[1].join("")
93
109
  this.pmBib = DOMParser.fromSchema(cslBibSchema)
94
110
  .parse(dom, {topNode: bibNode})
95
- .toJSON()
111
+ .toJSON() as FidusNode
96
112
  }
97
113
  }
98
114
  }