@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,11 +1,19 @@
1
- import {xmlDOM} from "./xml.js"
2
-
3
1
  import {get} from "fwtoolkit"
2
+
3
+ import {xmlDOM, XMLElement} from "./xml.js"
4
+
4
5
  // Handle a zip file containing XML files. Make sure files are only opened once,
5
6
  // and provide a mechanism to save the file.
6
7
 
7
8
  export class XmlZip {
8
- constructor(url, mimeType) {
9
+ url: string
10
+ mimeType: string
11
+ docs: Record<string, XMLElement>
12
+ extraFiles: Record<string, unknown>
13
+ rawFile: Blob | false
14
+ zip: any
15
+
16
+ constructor(url: string, mimeType: string) {
9
17
  this.url = url
10
18
  this.mimeType = mimeType
11
19
  this.docs = {}
@@ -33,7 +41,7 @@ export class XmlZip {
33
41
  }
34
42
 
35
43
  // Open file at filePath from zip file and parse it as XML.
36
- getXml(filePath, defaultContents) {
44
+ getXml(filePath: string, defaultContents?: string): Promise<XMLElement> {
37
45
  if (this.docs[filePath]) {
38
46
  // file has been loaded already.
39
47
  return Promise.resolve(this.docs[filePath])
@@ -41,7 +49,7 @@ export class XmlZip {
41
49
  return this.zip
42
50
  .file(filePath)
43
51
  .async("string")
44
- .then(string => {
52
+ .then((string: string) => {
45
53
  this.docs[filePath] = xmlDOM(string)
46
54
  return Promise.resolve(this.docs[filePath])
47
55
  })
@@ -57,36 +65,36 @@ export class XmlZip {
57
65
  }
58
66
 
59
67
  // Add an xml file at filepath without checking for previous version
60
- addXmlFile(filePath, xmlContents) {
68
+ addXmlFile(filePath: string, xmlContents: XMLElement): void {
61
69
  this.docs[filePath] = xmlContents
62
70
  }
63
71
 
64
72
  // Add extra file to be saved in zip later.
65
- addExtraFile(filePath, fileContents) {
73
+ addExtraFile(filePath: string, fileContents: unknown): void {
66
74
  this.extraFiles[filePath] = fileContents
67
75
  }
68
76
 
69
77
  // Put all currently open XML files into zip.
70
- allXMLToZip() {
78
+ allXMLToZip(): void {
71
79
  for (const fileName in this.docs) {
72
80
  this.xmlToZip(fileName)
73
81
  }
74
82
  }
75
83
 
76
84
  // Put all extra files into zip.
77
- allExtraToZip() {
85
+ allExtraToZip(): void {
78
86
  for (const fileName in this.extraFiles) {
79
87
  this.zip.file(fileName, this.extraFiles[fileName])
80
88
  }
81
89
  }
82
90
 
83
91
  // Put the xml identified by filePath into zip.
84
- xmlToZip(filePath) {
92
+ xmlToZip(filePath: string): void {
85
93
  const string = this.docs[filePath].toString()
86
94
  this.zip.file(filePath, string)
87
95
  }
88
96
 
89
- prepareBlob() {
97
+ prepareBlob(): Promise<Blob> {
90
98
  this.allXMLToZip()
91
99
  this.allExtraToZip()
92
100
 
@@ -1,18 +1,42 @@
1
- import {convertDataURIToBlob, get} from "fwtoolkit"
1
+ import {convertDataURIToBlob as convertDataURIToBlobFn, get} from "fwtoolkit"
2
+
3
+ export interface ZipTextFile {
4
+ filename: string
5
+ contents: string
6
+ }
7
+
8
+ export interface ZipBinaryFile {
9
+ url: string
10
+ filename: string
11
+ blob?: Blob
12
+ }
13
+
14
+ export interface ZipIncludeFile {
15
+ url: string
16
+ directory: string
17
+ blob?: Blob
18
+ }
2
19
 
3
20
  /** Creates a zip file.
4
21
  * @function zipFileCreator
5
- * @param {list} textFiles A list of files in plain text format.
6
- * @param {list} binaryFiles A list fo files that have to be downloaded from the internet before being included.
7
- * @param {list} includeZips A list of zip files to be merged into the output zip file.
8
- * @param {string} [mimeType=application/zip] The mimetype of the file that is to be created.
22
+ * @param textFiles A list of files in plain text format.
23
+ * @param binaryFiles A list fo files that have to be downloaded from the internet before being included.
24
+ * @param includeZips A list of zip files to be merged into the output zip file.
25
+ * @param mimeType The mimetype of the file that is to be created.
9
26
  */
10
27
 
11
28
  export class ZipFileCreator {
29
+ textFiles: ZipTextFile[]
30
+ binaryFiles: ZipBinaryFile[]
31
+ zipFiles: ZipIncludeFile[]
32
+ mimeType: string
33
+ date: Date
34
+ zipFs: any
35
+
12
36
  constructor(
13
- textFiles = [],
14
- binaryFiles = [],
15
- zipFiles = [],
37
+ textFiles: ZipTextFile[] = [],
38
+ binaryFiles: ZipBinaryFile[] = [],
39
+ zipFiles: ZipIncludeFile[] = [],
16
40
  mimeType = "application/zip",
17
41
  date = new Date()
18
42
  ) {
@@ -25,7 +49,7 @@ export class ZipFileCreator {
25
49
 
26
50
  init() {
27
51
  return import("jszip").then(({default: JSZip}) => {
28
- JSZip.defaults.date = this.date
52
+ ;(JSZip as any).defaults.date = this.date
29
53
  this.zipFs = new JSZip()
30
54
  if (this.mimeType !== "application/zip") {
31
55
  this.zipFs.file("mimetype", this.mimeType, {
@@ -84,7 +108,7 @@ export class ZipFileCreator {
84
108
  }
85
109
 
86
110
  // Legacy - remove in 3.12. Can be sued directly from function in common/blob.js
87
- convertDataURIToBlob(dataURI) {
88
- return convertDataURIToBlob(dataURI)
111
+ convertDataURIToBlob(dataURI: string): Blob {
112
+ return convertDataURIToBlobFn(dataURI)
89
113
  }
90
114
  }
@@ -6,11 +6,28 @@
6
6
 
7
7
  import {CSLExporter} from "biblatex-csl-converter"
8
8
 
9
+ import type {BibDB} from "../../types.js"
10
+
11
+ interface CitationReference {
12
+ id: number
13
+ locator?: string
14
+ prefix?: string
15
+ item?: Record<string, unknown>
16
+ }
17
+
18
+ interface ZoteroCitationItem {
19
+ id: number
20
+ uris: string[]
21
+ itemData: Record<string, unknown>
22
+ locator?: string
23
+ prefix?: string
24
+ }
25
+
9
26
  /**
10
27
  * Generate a random citation ID similar to Zotero's format.
11
28
  * Zotero uses 8-10 character alphanumeric IDs.
12
29
  */
13
- function generateCitationId() {
30
+ function generateCitationId(): string {
14
31
  const chars = "abcdefghijklmnopqrstuvwxyz0123456789"
15
32
  let id = ""
16
33
  for (let i = 0; i < 8; i++) {
@@ -21,29 +38,29 @@ function generateCitationId() {
21
38
 
22
39
  /**
23
40
  * Convert bibliography entries to CSL-JSON format.
24
- * @param {Object} bibDB - The bibliography database
25
- * @param {Array} ids - Array of entry IDs to convert
26
- * @returns {Object} Object mapping IDs to CSL-JSON entries
41
+ * @param bibDB - The bibliography database
42
+ * @param ids - Array of entry IDs to convert
43
+ * @returns Object mapping IDs to CSL-JSON entries
27
44
  */
28
- function convertToCSL(bibDB, ids) {
29
- const exporter = new CSLExporter(bibDB.db, ids)
45
+ function convertToCSL(bibDB: BibDB, ids: number[]): Record<string, unknown> {
46
+ const exporter = new CSLExporter(bibDB.db as Record<string, any>, ids as unknown as string[])
30
47
  return exporter.parse()
31
48
  }
32
49
 
33
50
  /**
34
51
  * Create a Zotero citation JSON object.
35
- * @param {Array} references - Array of {id, prefix?, locator?} from citation node
36
- * @param {Object} bibDB - Bibliography database
37
- * @param {string} formattedCitation - Pre-formatted citation text from citeproc
38
- * @param {string} citationId - Optional citation ID (generated if not provided)
39
- * @returns {Object} Zotero citation JSON object
52
+ * @param references - Array of {id, prefix?, locator?} from citation node
53
+ * @param bibDB - Bibliography database
54
+ * @param formattedCitation - Pre-formatted citation text from citeproc
55
+ * @param citationId - Optional citation ID (generated if not provided)
56
+ * @returns Zotero citation JSON object
40
57
  */
41
58
  export function createZoteroCitation(
42
- references,
43
- bibDB,
44
- formattedCitation,
45
- citationId = null
46
- ) {
59
+ references: CitationReference[],
60
+ bibDB: BibDB,
61
+ formattedCitation: string,
62
+ citationId: string | null = null
63
+ ): Record<string, unknown> {
47
64
  const citationID = citationId || generateCitationId()
48
65
 
49
66
  // Get the IDs of all referenced items
@@ -59,7 +76,7 @@ export function createZoteroCitation(
59
76
  return null
60
77
  }
61
78
  const citationKey = entry.entry_key || String(ref.id)
62
- const item = {
79
+ const item: ZoteroCitationItem = {
63
80
  id: ref.id,
64
81
  uris: [],
65
82
  itemData: {
@@ -78,7 +95,7 @@ export function createZoteroCitation(
78
95
 
79
96
  return item
80
97
  })
81
- .filter(item => item !== null)
98
+ .filter((item): item is ZoteroCitationItem => item !== null)
82
99
 
83
100
  return {
84
101
  citationID,
package/src/global.d.ts CHANGED
@@ -9,3 +9,5 @@ declare function interpolate(
9
9
  args: Array<string | number>,
10
10
  named?: boolean
11
11
  ): string
12
+
13
+ declare function staticUrl(path: string): string
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Shared citation utilities for DOCX and ODT importers.
3
+ */
4
+
5
+ import type {BibDB, FidusNode} from "../types.js"
6
+
7
+ interface CitationEntry {
8
+ entry_key: string
9
+ fields: Record<string, unknown>
10
+ bib_type?: string
11
+ [key: string]: unknown
12
+ }
13
+
14
+ interface CitationMetadata {
15
+ entry_key: string
16
+ prefix?: string
17
+ suffix?: string
18
+ locator?: string
19
+ authorOnly?: boolean
20
+ authorYear?: boolean
21
+ suppressAuthor?: boolean
22
+ [key: string]: unknown
23
+ }
24
+
25
+ interface CitationResult {
26
+ isCitation: boolean
27
+ entries: Record<string, CitationEntry>
28
+ metadata?: CitationMetadata[]
29
+ }
30
+
31
+ function mergeBibEntries(
32
+ entries: Record<string, CitationEntry>,
33
+ bibliography: Record<string, CitationEntry>,
34
+ bibDB: BibDB | false
35
+ ): Record<string, string> {
36
+ const keyMap: Record<string, string> = {}
37
+
38
+ for (const entry of Object.values(entries)) {
39
+ if (!entry || !entry.entry_key) {
40
+ continue
41
+ }
42
+ const entryKey = entry.entry_key
43
+
44
+ // Check whether this entry_key is already in the bibliography.
45
+ const existing = Object.entries(bibliography).find(
46
+ ([, bibEntry]) => bibEntry && bibEntry.entry_key === entryKey
47
+ )
48
+
49
+ if (existing) {
50
+ keyMap[entryKey] = existing[0]
51
+ } else {
52
+ if (bibDB && Object.keys(entry.fields).length === 0) {
53
+ // Jabref citations don't contain any fields. Look up values in bibDB instead
54
+ const bibEntry = (Object.values(bibDB.db) as Array<Record<string, any>>).find(
55
+ bibEntry => bibEntry && bibEntry.entry_key === entryKey
56
+ )
57
+ if (bibEntry) {
58
+ entry.fields = JSON.parse(JSON.stringify(bibEntry.fields))
59
+ entry.bib_type = bibEntry.bib_type as string
60
+ }
61
+ }
62
+ // TODO: add for jabref citations - according to entry_key import from user
63
+ // library if useExternalDB is true
64
+ const bibKey = String(Object.keys(bibliography).length + 1)
65
+ bibliography[bibKey] = entry
66
+ keyMap[entryKey] = bibKey
67
+ }
68
+ }
69
+
70
+ return keyMap
71
+ }
72
+
73
+ export function citationResultToNode(
74
+ result: CitationResult,
75
+ bibliography: Record<string, any>,
76
+ bibDB: BibDB | false = false
77
+ ): FidusNode | null {
78
+ if (!result || !result.isCitation || !result.entries) {
79
+ return null
80
+ }
81
+ const entries = result.entries
82
+ const metadata = result.metadata || []
83
+
84
+ if (Object.keys(entries).length === 0) {
85
+ return null
86
+ }
87
+ const keyMap = mergeBibEntries(entries, bibliography, bibDB)
88
+
89
+ const references = Object.entries(entries).map(([, entry]) => {
90
+ const entryKey = entry.entry_key
91
+ const entryMetadata = metadata.find(meta => meta.entry_key === entryKey)
92
+ return {
93
+ id: keyMap[entryKey],
94
+ prefix: entryMetadata?.prefix || "",
95
+ locator: entryMetadata?.locator || entryMetadata?.suffix || ""
96
+ }
97
+ })
98
+
99
+ if (references.length === 0) {
100
+ return null
101
+ }
102
+
103
+ const format =
104
+ metadata.length === 1 &&
105
+ (metadata[0].authorOnly || metadata[0].authorYear)
106
+ ? "textcite"
107
+ : "autocite"
108
+
109
+ return {
110
+ type: "citation",
111
+ attrs: {
112
+ format,
113
+ references
114
+ }
115
+ }
116
+ }
@@ -1,15 +1,15 @@
1
1
  import {DocxCitationsParser} from "biblatex-csl-converter"
2
+
2
3
  import {citationResultToNode} from "../citations.js"
4
+ import type {BibDB, FidusNode} from "../../types.js"
5
+ import type {XMLElement} from "../../exporter/tools/xml.js"
3
6
 
4
7
  /**
5
8
  * Check whether a field instruction string belongs to a citation.
6
9
  * Uses DocxCitationsParser.fieldCitation() with retrieve=false so no BibDB
7
10
  * is allocated for the check.
8
- *
9
- * @param {string} instrText - Concatenated w:instrText content
10
- * @returns {boolean}
11
11
  */
12
- export function isDocxCitationField(instrText) {
12
+ export function isDocxCitationField(instrText: string): boolean {
13
13
  if (!instrText) {
14
14
  return false
15
15
  }
@@ -21,11 +21,8 @@ export function isDocxCitationField(instrText) {
21
21
  * (Zotero ZOTERO_BIBL, Word native BIBLIOGRAPHY, EN.REFLIST, etc.).
22
22
  * Uses DocxCitationsParser.fieldBibliography() with the accumulated
23
23
  * instruction text between begin and separate markers.
24
- *
25
- * @param {string} instrText - Concatenated w:instrText content
26
- * @returns {boolean}
27
24
  */
28
- export function isDocxBibliographyField(instrText) {
25
+ export function isDocxBibliographyField(instrText: string): boolean {
29
26
  if (!instrText) {
30
27
  return false
31
28
  }
@@ -36,11 +33,10 @@ export function isDocxBibliographyField(instrText) {
36
33
  /**
37
34
  * Check whether a w:sdt node contains a citation (Mendeley v3, Citavi).
38
35
  * Uses DocxCitationsParser.sdtCitation() with retrieve=false.
39
- *
40
- * @param {Object} sdtNode - The parsed w:sdt XMLElement node
41
- * @returns {boolean}
42
36
  */
43
- export function isDocxSdtCitation(sdtNode) {
37
+ export function isDocxSdtCitation(
38
+ sdtNode: XMLElement | null | undefined
39
+ ): boolean {
44
40
  if (!sdtNode) {
45
41
  return false
46
42
  }
@@ -51,11 +47,10 @@ export function isDocxSdtCitation(sdtNode) {
51
47
  * Check whether a w:sdt node is a bibliography rendering region
52
48
  * (Mendeley v3 bibliography, Citavi bibliography).
53
49
  * Uses DocxCitationsParser.sdtBibliography().
54
- *
55
- * @param {Object} sdtNode - The parsed w:sdt XMLElement node
56
- * @returns {boolean}
57
50
  */
58
- export function isDocxSdtBibliography(sdtNode) {
51
+ export function isDocxSdtBibliography(
52
+ sdtNode: XMLElement | null | undefined
53
+ ): boolean {
59
54
  if (!sdtNode) {
60
55
  return false
61
56
  }
@@ -69,21 +64,13 @@ export function isDocxSdtBibliography(sdtNode) {
69
64
  * Handles all field-based citation managers: Zotero, Mendeley Desktop
70
65
  * (legacy), EndNote (both inline and fldData forms), Citavi (older ADDIN
71
66
  * form), and Word native (requires sourcesXml).
72
- *
73
- * @param {string} instrText - Concatenated w:instrText for this field
74
- * @param {string|null} fldData - Base64 content of w:fldData (EndNote),
75
- * or null/undefined if absent
76
- * @param {string|null} sourcesXml - Content of customXml/item1.xml (required
77
- * only for Word-native citations)
78
- * @param {Object} bibliography - Fidus Writer bibliography (mutated)
79
- * @returns {Object|null} ProseMirror citation node or null
80
67
  */
81
68
  export function parseDocxFieldCitation(
82
- instrText,
83
- fldData,
84
- sourcesXml,
85
- bibliography
86
- ) {
69
+ instrText: string,
70
+ fldData: string | null | undefined,
71
+ sourcesXml: string | null | undefined,
72
+ bibliography: Record<string, any>
73
+ ): FidusNode | null {
87
74
  if (!instrText) {
88
75
  return null
89
76
  }
@@ -96,8 +83,7 @@ export function parseDocxFieldCitation(
96
83
  fldData || undefined,
97
84
  options
98
85
  )
99
- const node = citationResultToNode(result, bibliography)
100
- return node
86
+ return citationResultToNode(result as any, bibliography)
101
87
  }
102
88
 
103
89
  /**
@@ -105,12 +91,11 @@ export function parseDocxFieldCitation(
105
91
  * new bibliography entries into `bibliography`.
106
92
  *
107
93
  * Handles Mendeley Cite v3 and Citavi (modern SDT form).
108
- *
109
- * @param {Object} sdtNode - The parsed w:sdt XMLElement node
110
- * @param {Object} bibliography - Fidus Writer bibliography (mutated)
111
- * @returns {Object|null} ProseMirror citation node or null
112
94
  */
113
- export function parseDocxSdtCitation(sdtNode, bibliography) {
95
+ export function parseDocxSdtCitation(
96
+ sdtNode: XMLElement | null | undefined,
97
+ bibliography: Record<string, any>
98
+ ): FidusNode | null {
114
99
  if (!sdtNode) {
115
100
  return null
116
101
  }
@@ -119,5 +104,5 @@ export function parseDocxSdtCitation(sdtNode, bibliography) {
119
104
  true, // retrieve
120
105
  true // retrieveMetadata
121
106
  )
122
- return citationResultToNode(result, bibliography)
107
+ return citationResultToNode(result as any, bibliography)
123
108
  }