@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,29 @@
1
1
  import { MathMLToLaTeX } from "mathml-to-latex";
2
- import { xmlDOM } from "../../exporter/tools/xml.js";
3
- import { randomCommentId, randomFigureId, randomHeadingId } from "../../schema/common/index.js";
2
+ import { randomFigureId, randomHeadingId } from "../../schema/common/index.js";
4
3
  import { isDocxBibliographyField, isDocxCitationField, isDocxSdtBibliography, isDocxSdtCitation, parseDocxFieldCitation, parseDocxSdtCitation } from "./citations.js";
5
4
  import { normalizeText } from "./helpers.js";
6
5
  import { omml2mathml } from "./omml2mathml.js";
7
6
  import { DocxParser } from "./parse.js";
7
+ import { gettext } from "fwtoolkit";
8
+ function attr(node, name) {
9
+ if (node && typeof node === "object" && "getAttribute" in node) {
10
+ return String(node.getAttribute(name) || "");
11
+ }
12
+ return "";
13
+ }
8
14
  export class DocxConvert {
15
+ zip;
16
+ importId;
17
+ template;
18
+ bibliography;
19
+ images;
20
+ parser;
21
+ tracks;
22
+ currentTracks;
23
+ currentFields;
24
+ currentCommentIds;
25
+ sourcesXml;
26
+ referenceTargets;
9
27
  constructor(zip, importId, template, bibliography) {
10
28
  this.zip = zip;
11
29
  this.importId = importId;
@@ -18,6 +36,7 @@ export class DocxConvert {
18
36
  this.currentFields = [];
19
37
  this.currentCommentIds = [];
20
38
  this.sourcesXml = null;
39
+ this.referenceTargets = {};
21
40
  }
22
41
  async init() {
23
42
  await this.parser.init();
@@ -73,21 +92,21 @@ export class DocxConvert {
73
92
  { type: "text", text: gettext("Untitled") }
74
93
  ]
75
94
  });
76
- title.containerNodes.forEach(node => {
95
+ title.containerNodes.forEach((node) => {
77
96
  node.parentElement.removeChild(node);
78
97
  });
79
98
  document.attrs.title =
80
- title.content.map(node => node.textContent).join("") ||
99
+ title.content.map((node) => node.textContent).join("") ||
81
100
  gettext("Untitled");
82
101
  // Extract metadata sections
83
102
  const metadata = this.extractMetadata(body);
84
103
  metadata.forEach(({ type, content }) => {
85
- const templatePart = templateParts.find(part => part.attrs.metadata === type);
104
+ const templatePart = templateParts.find((part) => part.attrs.metadata === type);
86
105
  const attrs = {};
87
- if (templatePart.attrs.hidden) {
88
- attrs.hidden = false;
89
- }
90
106
  if (templatePart) {
107
+ if (templatePart.attrs?.hidden) {
108
+ attrs.hidden = false;
109
+ }
91
110
  document.content.push({
92
111
  type: templatePart.type,
93
112
  attrs: {
@@ -97,7 +116,7 @@ export class DocxConvert {
97
116
  content: content.content
98
117
  });
99
118
  // Remove paragraphs from content so they are not added to body
100
- content.containerNodes.forEach(node => {
119
+ content.containerNodes.forEach((node) => {
101
120
  node.parentElement?.removeChild(node);
102
121
  });
103
122
  }
@@ -105,7 +124,7 @@ export class DocxConvert {
105
124
  // Extract main content sections
106
125
  const sections = this.groupContentIntoSections(body);
107
126
  // Map sections to template parts
108
- sections.forEach(section => {
127
+ sections.forEach((section) => {
109
128
  const templatePart = this.findMatchingTemplatePart(section.title, templateParts);
110
129
  if (templatePart) {
111
130
  document.content.push({
@@ -126,17 +145,15 @@ export class DocxConvert {
126
145
  });
127
146
  // Add remaining content to body section
128
147
  const unassignedContent = sections
129
- .filter(section => !this.findMatchingTemplatePart(section.title, templateParts))
130
- .flatMap(section => section.content);
148
+ .filter((section) => !this.findMatchingTemplatePart(section.title, templateParts))
149
+ .flatMap((section) => section.content);
131
150
  if (unassignedContent.length) {
132
- const bodyTemplatePart = templateParts.find(part => !part.attrs.metadata && part.type === "richtext_part");
151
+ const bodyTemplatePart = templateParts.find((part) => !part.attrs.metadata && part.type === "richtext_part");
133
152
  document.content.push({
134
153
  type: "richtext_part",
135
154
  attrs: {
136
- title: bodyTemplatePart
137
- ? bodyTemplatePart.attrs.title
138
- : "Body",
139
- id: bodyTemplatePart ? bodyTemplatePart.attrs.id : "body",
155
+ title: bodyTemplatePart?.attrs?.title || "Body",
156
+ id: bodyTemplatePart?.attrs?.id || "body",
140
157
  marks: ["strong", "em", "link"]
141
158
  },
142
159
  content: unassignedContent
@@ -190,8 +207,8 @@ export class DocxConvert {
190
207
  }
191
208
  const properties = this.parser.customDoc.queryAll("property");
192
209
  const contributors = [];
193
- properties.forEach(prop => {
194
- const name = prop.getAttribute("name");
210
+ properties.forEach((prop) => {
211
+ const name = attr(prop, "name");
195
212
  if (!name || !name.startsWith("fidus_contributor_")) {
196
213
  return;
197
214
  }
@@ -232,7 +249,7 @@ export class DocxConvert {
232
249
  }
233
250
  });
234
251
  const byRole = {};
235
- contributors.forEach(contributor => {
252
+ contributors.forEach((contributor) => {
236
253
  if (!contributor) {
237
254
  return;
238
255
  }
@@ -249,9 +266,9 @@ export class DocxConvert {
249
266
  // Try to find author information in metadata
250
267
  const authorNodes = body
251
268
  .queryAll("w:pStyle", { "w:val": "Author" })
252
- .map(pStyle => pStyle.closest("w:p"))
253
- .filter(p => p);
254
- authorNodes.forEach(authorNode => {
269
+ .map((pStyle) => pStyle.closest("w:p"))
270
+ .filter((p) => p);
271
+ authorNodes.forEach((authorNode) => {
255
272
  const authorText = this.getTextContent(authorNode);
256
273
  const [firstname = "", lastname = ""] = authorText.split(" ", 2);
257
274
  authors.push({
@@ -271,7 +288,7 @@ export class DocxConvert {
271
288
  };
272
289
  }
273
290
  // Also check Creator in document properties
274
- const creator = this.parser.coreDoc.query("dc:creator")?.textContent;
291
+ const creator = this.parser.coreDoc?.query("dc:creator")?.textContent;
275
292
  if (creator) {
276
293
  const [firstname = "", lastname = ""] = creator.split(" ", 2);
277
294
  return {
@@ -295,18 +312,18 @@ export class DocxConvert {
295
312
  // Look for section with Abstract style or heading
296
313
  const abstractNodes = body
297
314
  .queryAll("w:pStyle", { "w:val": "Abstract" })
298
- .map(pStyle => pStyle.closest("w:p"))
299
- .filter(p => p);
315
+ .map((pStyle) => pStyle.closest("w:p"))
316
+ .filter((p) => p);
300
317
  if (abstractNodes.length) {
301
318
  return {
302
- content: abstractNodes.map(abstractNode => this.convertBlock(abstractNode)),
319
+ content: abstractNodes.map((abstractNode) => this.convertBlock(abstractNode)),
303
320
  containerNodes: abstractNodes
304
321
  };
305
322
  }
306
323
  const extractedPart = this.extractPartOnTitle(body, ["Abstract"]);
307
324
  if (extractedPart.content.length) {
308
325
  return {
309
- content: extractedPart.content.map(abstractNode => this.convertBlock(abstractNode)),
326
+ content: extractedPart.content.map((abstractNode) => this.convertBlock(abstractNode)),
310
327
  containerNodes: extractedPart.content.concat([
311
328
  extractedPart.header
312
329
  ])
@@ -319,8 +336,8 @@ export class DocxConvert {
319
336
  // Look for keywords section or metadata
320
337
  let keywordNodes = body
321
338
  .queryAll("w:pStyle", { "w:val": "Keywords" })
322
- .map(pStyle => pStyle.closest("w:p"))
323
- .filter(p => p);
339
+ .map((pStyle) => pStyle.closest("w:p"))
340
+ .filter((p) => p);
324
341
  if (!keywordNodes.length) {
325
342
  // If no keywords section is found, look for a title called "Keywords"
326
343
  const extractedPart = this.extractPartOnTitle(body, ["Keywords", "Keywords:", "Keyword"], 1);
@@ -332,11 +349,11 @@ export class DocxConvert {
332
349
  if (keywordNodes) {
333
350
  return {
334
351
  content: keywordNodes
335
- .map(keywordsNode => this.getTextContent(keywordsNode))
336
- .flatMap(str => str.split(/[,;|:]+/)) // Split on multiple separators
337
- .map(keyword => keyword.trim()) // Trim whitespace
338
- .filter(keyword => keyword.length > 0)
339
- .map(keyword => ({
352
+ .map((keywordsNode) => this.getTextContent(keywordsNode))
353
+ .flatMap((str) => str.split(/[,;|:]+/)) // Split on multiple separators
354
+ .map((keyword) => keyword.trim()) // Trim whitespace
355
+ .filter((keyword) => keyword.length > 0)
356
+ .map((keyword) => ({
340
357
  type: "tag",
341
358
  attrs: {
342
359
  tag: keyword
@@ -366,9 +383,9 @@ export class DocxConvert {
366
383
  "Heading9"
367
384
  ]
368
385
  })
369
- .map(pStyle => pStyle.closest("w:p"))
370
- .filter(p => p);
371
- const header = headingPars.find(p => titleWords.includes(this.getTextContent(p).trim()));
386
+ .map((pStyle) => pStyle.closest("w:p"))
387
+ .filter((p) => p);
388
+ const header = headingPars.find((p) => titleWords.includes(this.getTextContent(p).trim()));
372
389
  const content = [];
373
390
  if (header && header.nextSibling) {
374
391
  //const content = []
@@ -395,7 +412,7 @@ export class DocxConvert {
395
412
  content: []
396
413
  };
397
414
  const skippedBlocks = [];
398
- body.children.forEach(node => {
415
+ body.children.forEach((node) => {
399
416
  if (skippedBlocks.includes(node)) {
400
417
  return;
401
418
  }
@@ -445,12 +462,12 @@ export class DocxConvert {
445
462
  return null;
446
463
  }
447
464
  // Try exact match first
448
- let matchingPart = templateParts.find(part => part.type === "richtext_part" &&
465
+ let matchingPart = templateParts.find((part) => part.type === "richtext_part" &&
449
466
  !part.attrs.metadata &&
450
467
  part.attrs.title.toLowerCase() === sectionTitle.toLowerCase());
451
468
  if (!matchingPart) {
452
469
  // Try fuzzy matching
453
- matchingPart = templateParts.find(part => part.type === "richtext_part" &&
470
+ matchingPart = templateParts.find((part) => part.type === "richtext_part" &&
454
471
  !part.attrs.metadata &&
455
472
  this.isSimilarTitle(part.attrs.title, sectionTitle));
456
473
  }
@@ -465,15 +482,15 @@ export class DocxConvert {
465
482
  getTextContent(node) {
466
483
  return node
467
484
  .queryAll("w:t")
468
- .map(t => t.textContent)
485
+ .map((t) => t.textContent)
469
486
  .join("");
470
487
  }
471
488
  extractTitle(body) {
472
489
  // First try to find paragraph with Title style
473
490
  const titlePars = body
474
491
  .queryAll("w:pStyle", { "w:val": "Title" })
475
- .map(pStyle => pStyle.closest("w:p"))
476
- .filter(p => p);
492
+ .map((pStyle) => pStyle.closest("w:p"))
493
+ .filter((p) => p);
477
494
  if (titlePars.length) {
478
495
  return {
479
496
  content: this.convertInline(titlePars[0]),
@@ -495,8 +512,8 @@ export class DocxConvert {
495
512
  "Heading9"
496
513
  ]
497
514
  })
498
- .map(pStyle => pStyle.closest("w:p"))
499
- .filter(p => p);
515
+ .map((pStyle) => pStyle.closest("w:p"))
516
+ .filter((p) => p);
500
517
  if (headingPars.length) {
501
518
  return {
502
519
  content: this.convertInline(headingPars[0]),
@@ -589,22 +606,22 @@ export class DocxConvert {
589
606
  const insertion = node.query("w:pPr")?.query("w:ins");
590
607
  const tracks = [];
591
608
  if (insertion) {
592
- const date = new Date(insertion.getAttribute("w:date"));
609
+ const date = new Date(attr(insertion, "w:date"));
593
610
  const date10 = Math.floor(date.getTime() / 60000) * 10;
594
611
  tracks.push({
595
612
  type: "insertion",
596
613
  user: 0, // Default user ID
597
- username: insertion.getAttribute("w:author"),
614
+ username: attr(insertion, "w:author"),
598
615
  date: date10
599
616
  });
600
617
  }
601
618
  if (deletion) {
602
- const date = new Date(deletion.getAttribute("w:date"));
619
+ const date = new Date(attr(deletion, "w:date"));
603
620
  const date10 = Math.floor(date.getTime() / 60000) * 10;
604
621
  tracks.push({
605
622
  type: "deletion",
606
623
  user: 0, // Default user ID
607
- username: deletion.getAttribute("w:author"),
624
+ username: attr(deletion, "w:author"),
608
625
  date: date10
609
626
  });
610
627
  }
@@ -615,11 +632,11 @@ export class DocxConvert {
615
632
  }
616
633
  getParaStyle(node) {
617
634
  const pStyle = node.query("w:pStyle");
618
- const styleId = pStyle?.getAttribute("w:val");
635
+ const styleId = attr(pStyle, "w:val");
619
636
  const style = this.parser.styles[styleId] || {};
620
637
  const numPr = node.query("w:numPr");
621
- const numId = numPr?.query("w:numId")?.getAttribute("w:val");
622
- const ilvl = parseInt(numPr?.query("w:ilvl")?.getAttribute("w:val") || "0");
638
+ const numId = attr(numPr?.query("w:numId"), "w:val");
639
+ const ilvl = parseInt(attr(numPr?.query("w:ilvl"), "w:val") || "0");
623
640
  return {
624
641
  ...style,
625
642
  numbering: numId
@@ -633,7 +650,7 @@ export class DocxConvert {
633
650
  }
634
651
  convertParagraph(node) {
635
652
  const pStyle = node.query("w:pStyle");
636
- const styleId = pStyle?.getAttribute("w:val");
653
+ const styleId = attr(pStyle, "w:val");
637
654
  // Check if this is a code block (Code style or inherited from one)
638
655
  if (styleId &&
639
656
  (this.parser.isCodeStyle?.(styleId) || styleId === "Code")) {
@@ -696,7 +713,7 @@ export class DocxConvert {
696
713
  if (!blip) {
697
714
  return null;
698
715
  }
699
- const rId = blip.getAttribute("r:embed");
716
+ const rId = attr(blip, "r:embed");
700
717
  const rel = this.parser.relationships[rId];
701
718
  if (!rel) {
702
719
  return null;
@@ -709,8 +726,8 @@ export class DocxConvert {
709
726
  // <a:ext cx="5753598" cy="4463556" />
710
727
  //
711
728
  const size = drawing.query("a:ext");
712
- const width = parseInt(size.getAttribute("cx") || 0) / 9525; // In EMUs
713
- const height = parseInt(size.getAttribute("cy") || 0) / 9525; // In EMUs
729
+ const width = parseInt(attr(size, "cx") || "0") / 9525; // In EMUs
730
+ const height = parseInt(attr(size, "cy") || "0") / 9525; // In EMUs
714
731
  const imageId = Math.floor(Math.random() * 1000000);
715
732
  this.images[imageId] = {
716
733
  id: imageId,
@@ -752,7 +769,7 @@ export class DocxConvert {
752
769
  convertInline(node) {
753
770
  const content = [];
754
771
  // We'll process all inline nodes in document order
755
- node.children.forEach(child => {
772
+ node.children.forEach((child) => {
756
773
  let contentReceiver = content;
757
774
  const currentField = this.currentFields[this.currentFields.length - 1];
758
775
  if (currentField) {
@@ -774,7 +791,7 @@ export class DocxConvert {
774
791
  if (fieldChar) {
775
792
  let currentField;
776
793
  let rendercurrentField = false;
777
- const type = fieldChar.getAttribute("w:fldCharType");
794
+ const type = attr(fieldChar, "w:fldCharType");
778
795
  if (type === "begin") {
779
796
  currentField = {
780
797
  status: "instruction",
@@ -807,14 +824,14 @@ export class DocxConvert {
807
824
  currentField.data = fldDataNode.textContent || null;
808
825
  }
809
826
  if (rendercurrentField && currentField) {
810
- this.renderField(currentField).forEach(node => contentReceiver.push(node));
827
+ this.renderField(currentField).forEach((node) => contentReceiver.push(node));
811
828
  }
812
829
  return;
813
830
  }
814
831
  // Process footnote references
815
832
  const footnoteRef = child.query("w:footnoteReference");
816
833
  if (footnoteRef) {
817
- const footnoteId = footnoteRef.getAttribute("w:id");
834
+ const footnoteId = attr(footnoteRef, "w:id");
818
835
  if (this.parser.footnotes[footnoteId]) {
819
836
  contentReceiver.push(this.convertFootnote(footnoteId));
820
837
  }
@@ -823,7 +840,7 @@ export class DocxConvert {
823
840
  // Process endnote references
824
841
  const endnoteRef = child.query("w:endnoteReference");
825
842
  if (endnoteRef) {
826
- const endnoteId = endnoteRef.getAttribute("w:id");
843
+ const endnoteId = attr(endnoteRef, "w:id");
827
844
  if (this.parser.endnotes[endnoteId]) {
828
845
  contentReceiver.push(this.convertFootnote(endnoteId, true));
829
846
  }
@@ -852,14 +869,14 @@ export class DocxConvert {
852
869
  });
853
870
  }
854
871
  else if (child.tagName === "w:commentRangeStart") {
855
- const commentId = child.getAttribute("w:id");
872
+ const commentId = attr(child, "w:id");
856
873
  if (commentId && this.parser.comments[commentId]) {
857
874
  this.currentCommentIds.push(commentId);
858
875
  }
859
876
  return;
860
877
  }
861
878
  else if (child.tagName === "w:commentRangeEnd") {
862
- const commentId = child.getAttribute("w:id");
879
+ const commentId = attr(child, "w:id");
863
880
  if (commentId) {
864
881
  const index = this.currentCommentIds.indexOf(commentId);
865
882
  if (index !== -1) {
@@ -875,14 +892,14 @@ export class DocxConvert {
875
892
  }
876
893
  else if (child.tagName === "w:hyperlink") {
877
894
  // Process hyperlink
878
- const rId = child.getAttribute("r:id");
879
- const anchor = child.getAttribute("w:anchor");
895
+ const rId = attr(child, "r:id");
896
+ const anchor = attr(child, "w:anchor");
880
897
  const relationship = rId ? this.parser.relationships[rId] : null;
881
898
  const href = relationship?.target || (anchor ? `#${anchor}` : null);
882
899
  if (href) {
883
900
  const runs = child.queryAll("w:r");
884
901
  const text = runs
885
- .map(run => run.query("w:t")?.textContent || "")
902
+ .map((run) => run.query("w:t")?.textContent || "")
886
903
  .join("");
887
904
  if (text) {
888
905
  // Check if this is an internal link (bookmark reference) that should be a cross-reference
@@ -942,9 +959,9 @@ export class DocxConvert {
942
959
  findReferenceTargets(document) {
943
960
  const targets = {};
944
961
  // Find bookmarks
945
- document.queryAll("w:bookmarkStart").forEach(bookmark => {
946
- const id = bookmark.getAttribute("w:id");
947
- const name = bookmark.getAttribute("w:name");
962
+ document.queryAll("w:bookmarkStart").forEach((bookmark) => {
963
+ const id = attr(bookmark, "w:id");
964
+ const name = attr(bookmark, "w:name");
948
965
  if (id && name) {
949
966
  targets[name] = {
950
967
  id: name,
@@ -953,8 +970,8 @@ export class DocxConvert {
953
970
  }
954
971
  });
955
972
  // Find headings (with styles like Heading1, Heading2, etc.)
956
- document.queryAll("w:pStyle").forEach(pStyle => {
957
- const val = pStyle.getAttribute("w:val");
973
+ document.queryAll("w:pStyle").forEach((pStyle) => {
974
+ const val = attr(pStyle, "w:val");
958
975
  if (val && val.match(/^Heading\d+$/)) {
959
976
  const paragraph = pStyle.closest("w:p");
960
977
  if (paragraph) {
@@ -981,11 +998,11 @@ export class DocxConvert {
981
998
  : this.parser.footnotes[id].content;
982
999
  // Convert the footnote content to our document model
983
1000
  const content = [];
984
- footnoteContent.forEach(block => {
1001
+ footnoteContent.forEach((block) => {
985
1002
  if (block.type === "paragraph") {
986
1003
  content.push({
987
1004
  type: "paragraph",
988
- content: block.content.map(node => {
1005
+ content: block.content.map((node) => {
989
1006
  if (node.type === "text") {
990
1007
  return {
991
1008
  type: "text",
@@ -1171,42 +1188,42 @@ export class DocxConvert {
1171
1188
  /^ubuntu mono/i,
1172
1189
  /^droid sans mono/i
1173
1190
  ];
1174
- const isMonospace = monospacePatterns.some(pattern => pattern.test(formatting.fontFamily));
1191
+ const isMonospace = monospacePatterns.some((pattern) => pattern.test(formatting.fontFamily));
1175
1192
  if (isMonospace) {
1176
1193
  marks.push({ type: "code" });
1177
1194
  }
1178
1195
  }
1179
1196
  if (insertion) {
1180
- const date = new Date(insertion.getAttribute("w:date"));
1197
+ const date = new Date(attr(insertion, "w:date"));
1181
1198
  const date10 = Math.floor(date.getTime() / 600000) * 10;
1182
1199
  marks.push({
1183
1200
  type: "insertion",
1184
1201
  attrs: {
1185
1202
  user: 0,
1186
- username: insertion.getAttribute("w:author"),
1203
+ username: attr(insertion, "w:author"),
1187
1204
  date: date10,
1188
1205
  approved: false
1189
1206
  }
1190
1207
  });
1191
1208
  }
1192
1209
  if (deletion) {
1193
- const date = new Date(deletion.getAttribute("w:date"));
1210
+ const date = new Date(attr(deletion, "w:date"));
1194
1211
  const date10 = Math.floor(date.getTime() / 600000) * 10;
1195
1212
  marks.push({
1196
1213
  type: "deletion",
1197
1214
  attrs: {
1198
1215
  user: 0,
1199
- username: deletion.getAttribute("w:author"),
1216
+ username: attr(deletion, "w:author"),
1200
1217
  date: date10
1201
1218
  }
1202
1219
  });
1203
1220
  }
1204
1221
  return marks;
1205
1222
  }
1206
- getCurrentMarks(formatting, insertion, deletion) {
1223
+ getCurrentMarks(formatting, insertion = null, deletion = null) {
1207
1224
  const marks = this.createMarksFromFormatting(formatting, insertion, deletion);
1208
1225
  // Add comment marks for any active comment IDs
1209
- this.currentCommentIds.forEach(commentId => {
1226
+ this.currentCommentIds.forEach((commentId) => {
1210
1227
  marks.push({
1211
1228
  type: "comment",
1212
1229
  attrs: {
@@ -1220,7 +1237,7 @@ export class DocxConvert {
1220
1237
  return Boolean(doc.query("w:ins") || doc.query("w:del"));
1221
1238
  }
1222
1239
  detectLanguage(doc) {
1223
- return doc.query("w:lang")?.getAttribute("w:val") || "en-US";
1240
+ return attr(doc.query("w:lang"), "w:val") || "en-US";
1224
1241
  }
1225
1242
  }
1226
1243
  //# sourceMappingURL=convert.js.map