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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (582) hide show
  1. package/README.md +22 -1
  2. package/dist/bibliography/common.d.ts +10 -0
  3. package/dist/bibliography/common.d.ts.map +1 -0
  4. package/dist/bibliography/common.js +86 -0
  5. package/dist/bibliography/common.js.map +1 -0
  6. package/dist/bibliography/csl_bib.d.ts +3 -0
  7. package/dist/bibliography/csl_bib.d.ts.map +1 -0
  8. package/dist/bibliography/csl_bib.js +131 -0
  9. package/dist/bibliography/csl_bib.js.map +1 -0
  10. package/dist/citations/citeproc_sys.d.ts +12 -0
  11. package/dist/citations/citeproc_sys.d.ts.map +1 -0
  12. package/dist/citations/citeproc_sys.js +48 -0
  13. package/dist/citations/citeproc_sys.js.map +1 -0
  14. package/dist/citations/format.d.ts +40 -0
  15. package/dist/citations/format.d.ts.map +1 -0
  16. package/dist/citations/format.js +186 -0
  17. package/dist/citations/format.js.map +1 -0
  18. package/dist/editor/e2ee/encryptor.d.ts +123 -0
  19. package/dist/editor/e2ee/encryptor.d.ts.map +1 -0
  20. package/dist/editor/e2ee/encryptor.js +201 -0
  21. package/dist/editor/e2ee/encryptor.js.map +1 -0
  22. package/dist/exporter/docx/citations.d.ts +31 -0
  23. package/dist/exporter/docx/citations.d.ts.map +1 -0
  24. package/dist/exporter/docx/citations.js +171 -0
  25. package/dist/exporter/docx/citations.js.map +1 -0
  26. package/dist/exporter/docx/comments.d.ts +22 -0
  27. package/dist/exporter/docx/comments.d.ts.map +1 -0
  28. package/dist/exporter/docx/comments.js +170 -0
  29. package/dist/exporter/docx/comments.js.map +1 -0
  30. package/dist/exporter/docx/footnotes.d.ts +47 -0
  31. package/dist/exporter/docx/footnotes.d.ts.map +1 -0
  32. package/dist/exporter/docx/footnotes.js +216 -0
  33. package/dist/exporter/docx/footnotes.js.map +1 -0
  34. package/dist/exporter/docx/images.d.ts +25 -0
  35. package/dist/exporter/docx/images.d.ts.map +1 -0
  36. package/dist/exporter/docx/images.js +101 -0
  37. package/dist/exporter/docx/images.js.map +1 -0
  38. package/dist/exporter/docx/index.d.ts +16 -0
  39. package/dist/exporter/docx/index.d.ts.map +1 -0
  40. package/dist/exporter/docx/index.js +115 -0
  41. package/dist/exporter/docx/index.js.map +1 -0
  42. package/dist/exporter/docx/lists.d.ts +38 -0
  43. package/dist/exporter/docx/lists.d.ts.map +1 -0
  44. package/dist/exporter/docx/lists.js +276 -0
  45. package/dist/exporter/docx/lists.js.map +1 -0
  46. package/dist/exporter/docx/math.d.ts +13 -0
  47. package/dist/exporter/docx/math.d.ts.map +1 -0
  48. package/dist/exporter/docx/math.js +59 -0
  49. package/dist/exporter/docx/math.js.map +1 -0
  50. package/dist/exporter/docx/metadata.d.ts +17 -0
  51. package/dist/exporter/docx/metadata.d.ts.map +1 -0
  52. package/dist/exporter/docx/metadata.js +272 -0
  53. package/dist/exporter/docx/metadata.js.map +1 -0
  54. package/dist/exporter/docx/rels.d.ts +27 -0
  55. package/dist/exporter/docx/rels.d.ts.map +1 -0
  56. package/dist/exporter/docx/rels.js +183 -0
  57. package/dist/exporter/docx/rels.js.map +1 -0
  58. package/dist/exporter/docx/render.d.ts +22 -0
  59. package/dist/exporter/docx/render.d.ts.map +1 -0
  60. package/dist/exporter/docx/render.js +780 -0
  61. package/dist/exporter/docx/render.js.map +1 -0
  62. package/dist/exporter/docx/richtext.d.ts +25 -0
  63. package/dist/exporter/docx/richtext.d.ts.map +1 -0
  64. package/dist/exporter/docx/richtext.js +1070 -0
  65. package/dist/exporter/docx/richtext.js.map +1 -0
  66. package/dist/exporter/docx/tables.d.ts +16 -0
  67. package/dist/exporter/docx/tables.d.ts.map +1 -0
  68. package/dist/exporter/docx/tables.js +115 -0
  69. package/dist/exporter/docx/tables.js.map +1 -0
  70. package/dist/exporter/docx/tools.d.ts +4 -0
  71. package/dist/exporter/docx/tools.d.ts.map +1 -0
  72. package/dist/exporter/docx/tools.js +48 -0
  73. package/dist/exporter/docx/tools.js.map +1 -0
  74. package/dist/exporter/epub/index.d.ts +19 -0
  75. package/dist/exporter/epub/index.d.ts.map +1 -0
  76. package/dist/exporter/epub/index.js +109 -0
  77. package/dist/exporter/epub/index.js.map +1 -0
  78. package/dist/exporter/epub/templates.d.ts +63 -0
  79. package/dist/exporter/epub/templates.d.ts.map +1 -0
  80. package/dist/exporter/epub/templates.js +95 -0
  81. package/dist/exporter/epub/templates.js.map +1 -0
  82. package/dist/exporter/epub/tools.d.ts +13 -0
  83. package/dist/exporter/epub/tools.d.ts.map +1 -0
  84. package/{src → dist}/exporter/epub/tools.js +32 -46
  85. package/dist/exporter/epub/tools.js.map +1 -0
  86. package/dist/exporter/html/citations.d.ts +29 -0
  87. package/dist/exporter/html/citations.d.ts.map +1 -0
  88. package/dist/exporter/html/citations.js +110 -0
  89. package/dist/exporter/html/citations.js.map +1 -0
  90. package/dist/exporter/html/convert.d.ts +50 -0
  91. package/dist/exporter/html/convert.d.ts.map +1 -0
  92. package/dist/exporter/html/convert.js +750 -0
  93. package/dist/exporter/html/convert.js.map +1 -0
  94. package/dist/exporter/html/index.d.ts +64 -0
  95. package/dist/exporter/html/index.d.ts.map +1 -0
  96. package/dist/exporter/html/index.js +154 -0
  97. package/dist/exporter/html/index.js.map +1 -0
  98. package/dist/exporter/html/templates.d.ts +24 -0
  99. package/dist/exporter/html/templates.d.ts.map +1 -0
  100. package/dist/exporter/html/templates.js +21 -0
  101. package/dist/exporter/html/templates.js.map +1 -0
  102. package/dist/exporter/html/tools.d.ts +2 -0
  103. package/dist/exporter/html/tools.d.ts.map +1 -0
  104. package/dist/exporter/html/tools.js +49 -0
  105. package/dist/exporter/html/tools.js.map +1 -0
  106. package/dist/exporter/jats/bibliography.d.ts +3 -0
  107. package/dist/exporter/jats/bibliography.d.ts.map +1 -0
  108. package/dist/exporter/jats/bibliography.js +158 -0
  109. package/dist/exporter/jats/bibliography.js.map +1 -0
  110. package/dist/exporter/jats/citations.d.ts +16 -0
  111. package/dist/exporter/jats/citations.d.ts.map +1 -0
  112. package/dist/exporter/jats/citations.js +105 -0
  113. package/dist/exporter/jats/citations.js.map +1 -0
  114. package/dist/exporter/jats/convert.d.ts +41 -0
  115. package/dist/exporter/jats/convert.d.ts.map +1 -0
  116. package/dist/exporter/jats/convert.js +816 -0
  117. package/dist/exporter/jats/convert.js.map +1 -0
  118. package/dist/exporter/jats/index.d.ts +25 -0
  119. package/dist/exporter/jats/index.d.ts.map +1 -0
  120. package/dist/exporter/jats/index.js +82 -0
  121. package/dist/exporter/jats/index.js.map +1 -0
  122. package/dist/exporter/jats/templates.d.ts +18 -0
  123. package/dist/exporter/jats/templates.d.ts.map +1 -0
  124. package/dist/exporter/jats/templates.js +25 -0
  125. package/dist/exporter/jats/templates.js.map +1 -0
  126. package/dist/exporter/jats/text.d.ts +4 -0
  127. package/dist/exporter/jats/text.d.ts.map +1 -0
  128. package/dist/exporter/jats/text.js +72 -0
  129. package/dist/exporter/jats/text.js.map +1 -0
  130. package/dist/exporter/latex/convert.d.ts +24 -0
  131. package/dist/exporter/latex/convert.d.ts.map +1 -0
  132. package/dist/exporter/latex/convert.js +881 -0
  133. package/dist/exporter/latex/convert.js.map +1 -0
  134. package/dist/exporter/latex/escape_latex.d.ts +2 -0
  135. package/dist/exporter/latex/escape_latex.d.ts.map +1 -0
  136. package/dist/exporter/latex/escape_latex.js +20 -0
  137. package/dist/exporter/latex/escape_latex.js.map +1 -0
  138. package/dist/exporter/latex/index.d.ts +24 -0
  139. package/dist/exporter/latex/index.d.ts.map +1 -0
  140. package/dist/exporter/latex/index.js +67 -0
  141. package/dist/exporter/latex/index.js.map +1 -0
  142. package/dist/exporter/latex/readme.d.ts +2 -0
  143. package/dist/exporter/latex/readme.d.ts.map +1 -0
  144. package/dist/exporter/latex/readme.js +23 -0
  145. package/dist/exporter/latex/readme.js.map +1 -0
  146. package/dist/exporter/native/copy.d.ts +30 -0
  147. package/dist/exporter/native/copy.d.ts.map +1 -0
  148. package/dist/exporter/native/copy.js +151 -0
  149. package/dist/exporter/native/copy.js.map +1 -0
  150. package/dist/exporter/native/file.d.ts +12 -0
  151. package/dist/exporter/native/file.d.ts.map +1 -0
  152. package/dist/exporter/native/file.js +38 -0
  153. package/dist/exporter/native/file.js.map +1 -0
  154. package/dist/exporter/native/index.d.ts +5 -0
  155. package/dist/exporter/native/index.d.ts.map +1 -0
  156. package/dist/exporter/native/index.js +5 -0
  157. package/dist/exporter/native/index.js.map +1 -0
  158. package/dist/exporter/native/revision.d.ts +18 -0
  159. package/dist/exporter/native/revision.d.ts.map +1 -0
  160. package/dist/exporter/native/revision.js +39 -0
  161. package/dist/exporter/native/revision.js.map +1 -0
  162. package/dist/exporter/native/shrink.d.ts +36 -0
  163. package/dist/exporter/native/shrink.d.ts.map +1 -0
  164. package/dist/exporter/native/shrink.js +124 -0
  165. package/dist/exporter/native/shrink.js.map +1 -0
  166. package/dist/exporter/native/zip.d.ts +25 -0
  167. package/dist/exporter/native/zip.d.ts.map +1 -0
  168. package/dist/exporter/native/zip.js +56 -0
  169. package/dist/exporter/native/zip.js.map +1 -0
  170. package/dist/exporter/odt/citations.d.ts +21 -0
  171. package/dist/exporter/odt/citations.d.ts.map +1 -0
  172. package/dist/exporter/odt/citations.js +104 -0
  173. package/dist/exporter/odt/citations.js.map +1 -0
  174. package/dist/exporter/odt/footnotes.d.ts +31 -0
  175. package/dist/exporter/odt/footnotes.d.ts.map +1 -0
  176. package/dist/exporter/odt/footnotes.js +129 -0
  177. package/dist/exporter/odt/footnotes.js.map +1 -0
  178. package/dist/exporter/odt/images.d.ts +25 -0
  179. package/dist/exporter/odt/images.d.ts.map +1 -0
  180. package/dist/exporter/odt/images.js +106 -0
  181. package/dist/exporter/odt/images.js.map +1 -0
  182. package/dist/exporter/odt/index.d.ts +17 -0
  183. package/dist/exporter/odt/index.d.ts.map +1 -0
  184. package/dist/exporter/odt/index.js +108 -0
  185. package/dist/exporter/odt/index.js.map +1 -0
  186. package/dist/exporter/odt/math.d.ts +15 -0
  187. package/dist/exporter/odt/math.d.ts.map +1 -0
  188. package/dist/exporter/odt/math.js +71 -0
  189. package/dist/exporter/odt/math.js.map +1 -0
  190. package/dist/exporter/odt/metadata.d.ts +18 -0
  191. package/dist/exporter/odt/metadata.d.ts.map +1 -0
  192. package/dist/exporter/odt/metadata.js +224 -0
  193. package/dist/exporter/odt/metadata.js.map +1 -0
  194. package/dist/exporter/odt/render.d.ts +26 -0
  195. package/dist/exporter/odt/render.d.ts.map +1 -0
  196. package/dist/exporter/odt/render.js +651 -0
  197. package/dist/exporter/odt/render.js.map +1 -0
  198. package/dist/exporter/odt/richtext.d.ts +22 -0
  199. package/dist/exporter/odt/richtext.d.ts.map +1 -0
  200. package/dist/exporter/odt/richtext.js +743 -0
  201. package/dist/exporter/odt/richtext.js.map +1 -0
  202. package/dist/exporter/odt/styles.d.ts +41 -0
  203. package/dist/exporter/odt/styles.d.ts.map +1 -0
  204. package/dist/exporter/odt/styles.js +370 -0
  205. package/dist/exporter/odt/styles.js.map +1 -0
  206. package/dist/exporter/odt/track.d.ts +18 -0
  207. package/dist/exporter/odt/track.d.ts.map +1 -0
  208. package/dist/exporter/odt/track.js +66 -0
  209. package/dist/exporter/odt/track.js.map +1 -0
  210. package/dist/exporter/pandoc/citations.d.ts +23 -0
  211. package/dist/exporter/pandoc/citations.d.ts.map +1 -0
  212. package/dist/exporter/pandoc/citations.js +99 -0
  213. package/dist/exporter/pandoc/citations.js.map +1 -0
  214. package/dist/exporter/pandoc/convert.d.ts +19 -0
  215. package/dist/exporter/pandoc/convert.d.ts.map +1 -0
  216. package/dist/exporter/pandoc/convert.js +886 -0
  217. package/dist/exporter/pandoc/convert.js.map +1 -0
  218. package/dist/exporter/pandoc/index.d.ts +25 -0
  219. package/dist/exporter/pandoc/index.d.ts.map +1 -0
  220. package/dist/exporter/pandoc/index.js +79 -0
  221. package/dist/exporter/pandoc/index.js.map +1 -0
  222. package/dist/exporter/pandoc/readme.d.ts +2 -0
  223. package/dist/exporter/pandoc/readme.d.ts.map +1 -0
  224. package/dist/exporter/pandoc/readme.js +8 -0
  225. package/dist/exporter/pandoc/readme.js.map +1 -0
  226. package/dist/exporter/pandoc/tools.d.ts +22 -0
  227. package/dist/exporter/pandoc/tools.d.ts.map +1 -0
  228. package/dist/exporter/pandoc/tools.js +52 -0
  229. package/dist/exporter/pandoc/tools.js.map +1 -0
  230. package/dist/exporter/print/index.d.ts +20 -0
  231. package/dist/exporter/print/index.d.ts.map +1 -0
  232. package/dist/exporter/print/index.js +142 -0
  233. package/dist/exporter/print/index.js.map +1 -0
  234. package/dist/exporter/tools/doc_content.d.ts +6 -0
  235. package/dist/exporter/tools/doc_content.d.ts.map +1 -0
  236. package/dist/exporter/tools/doc_content.js +130 -0
  237. package/dist/exporter/tools/doc_content.js.map +1 -0
  238. package/dist/exporter/tools/file.d.ts +2 -0
  239. package/dist/exporter/tools/file.d.ts.map +1 -0
  240. package/dist/exporter/tools/file.js +10 -0
  241. package/dist/exporter/tools/file.js.map +1 -0
  242. package/dist/exporter/tools/json.d.ts +7 -0
  243. package/dist/exporter/tools/json.d.ts.map +1 -0
  244. package/dist/exporter/tools/json.js +82 -0
  245. package/dist/exporter/tools/json.js.map +1 -0
  246. package/dist/exporter/tools/svg.d.ts +8 -0
  247. package/dist/exporter/tools/svg.d.ts.map +1 -0
  248. package/dist/exporter/tools/svg.js +26 -0
  249. package/dist/exporter/tools/svg.js.map +1 -0
  250. package/dist/exporter/tools/xml.d.ts +42 -0
  251. package/dist/exporter/tools/xml.d.ts.map +1 -0
  252. package/dist/exporter/tools/xml.js +467 -0
  253. package/dist/exporter/tools/xml.js.map +1 -0
  254. package/dist/exporter/tools/xml_zip.d.ts +21 -0
  255. package/dist/exporter/tools/xml_zip.d.ts.map +1 -0
  256. package/dist/exporter/tools/xml_zip.js +92 -0
  257. package/dist/exporter/tools/xml_zip.js.map +1 -0
  258. package/dist/exporter/tools/zip.d.ts +35 -0
  259. package/dist/exporter/tools/zip.d.ts.map +1 -0
  260. package/dist/exporter/tools/zip.js +78 -0
  261. package/dist/exporter/tools/zip.js.map +1 -0
  262. package/dist/exporter/tools/zotero_csl.d.ts +23 -0
  263. package/dist/exporter/tools/zotero_csl.d.ts.map +1 -0
  264. package/dist/exporter/tools/zotero_csl.js +78 -0
  265. package/dist/exporter/tools/zotero_csl.js.map +1 -0
  266. package/dist/importer/citations.d.ts +28 -0
  267. package/dist/importer/citations.d.ts.map +1 -0
  268. package/dist/importer/citations.js +68 -0
  269. package/dist/importer/citations.js.map +1 -0
  270. package/dist/importer/docx/citations.d.ts +43 -0
  271. package/dist/importer/docx/citations.d.ts.map +1 -0
  272. package/dist/importer/docx/citations.js +81 -0
  273. package/dist/importer/docx/citations.js.map +1 -0
  274. package/dist/importer/docx/convert.d.ts +150 -0
  275. package/dist/importer/docx/convert.d.ts.map +1 -0
  276. package/dist/importer/docx/convert.js +1243 -0
  277. package/dist/importer/docx/convert.js.map +1 -0
  278. package/dist/importer/docx/helpers.d.ts +2 -0
  279. package/dist/importer/docx/helpers.d.ts.map +1 -0
  280. package/dist/importer/docx/helpers.js +10 -0
  281. package/dist/importer/docx/helpers.js.map +1 -0
  282. package/dist/importer/docx/index.d.ts +27 -0
  283. package/dist/importer/docx/index.d.ts.map +1 -0
  284. package/dist/importer/docx/index.js +77 -0
  285. package/dist/importer/docx/index.js.map +1 -0
  286. package/dist/importer/docx/omml2mathml.d.ts +6 -0
  287. package/dist/importer/docx/omml2mathml.d.ts.map +1 -0
  288. package/dist/importer/docx/omml2mathml.js +1146 -0
  289. package/dist/importer/docx/omml2mathml.js.map +1 -0
  290. package/dist/importer/docx/parse.d.ts +96 -0
  291. package/dist/importer/docx/parse.d.ts.map +1 -0
  292. package/dist/importer/docx/parse.js +681 -0
  293. package/dist/importer/docx/parse.js.map +1 -0
  294. package/dist/importer/native/extract_template.d.ts +6 -0
  295. package/dist/importer/native/extract_template.d.ts.map +1 -0
  296. package/dist/importer/native/extract_template.js +80 -0
  297. package/dist/importer/native/extract_template.js.map +1 -0
  298. package/dist/importer/native/file.d.ts +37 -0
  299. package/dist/importer/native/file.d.ts.map +1 -0
  300. package/dist/importer/native/file.js +162 -0
  301. package/dist/importer/native/file.js.map +1 -0
  302. package/dist/importer/native/get_images.d.ts +21 -0
  303. package/dist/importer/native/get_images.d.ts.map +1 -0
  304. package/dist/importer/native/get_images.js +58 -0
  305. package/dist/importer/native/get_images.js.map +1 -0
  306. package/dist/importer/native/importer.d.ts +41 -0
  307. package/dist/importer/native/importer.d.ts.map +1 -0
  308. package/dist/importer/native/importer.js +170 -0
  309. package/dist/importer/native/importer.js.map +1 -0
  310. package/dist/importer/native/index.d.ts +7 -0
  311. package/dist/importer/native/index.d.ts.map +1 -0
  312. package/dist/importer/native/index.js +7 -0
  313. package/dist/importer/native/index.js.map +1 -0
  314. package/dist/importer/native/update.d.ts +7 -0
  315. package/dist/importer/native/update.d.ts.map +1 -0
  316. package/dist/importer/native/update.js +27 -0
  317. package/dist/importer/native/update.js.map +1 -0
  318. package/dist/importer/native/update_template.d.ts +12 -0
  319. package/dist/importer/native/update_template.d.ts.map +1 -0
  320. package/dist/importer/native/update_template.js +19 -0
  321. package/dist/importer/native/update_template.js.map +1 -0
  322. package/dist/importer/odt/citations.d.ts +27 -0
  323. package/dist/importer/odt/citations.d.ts.map +1 -0
  324. package/dist/importer/odt/citations.js +57 -0
  325. package/dist/importer/odt/citations.js.map +1 -0
  326. package/dist/importer/odt/convert.d.ts +146 -0
  327. package/dist/importer/odt/convert.d.ts.map +1 -0
  328. package/dist/importer/odt/convert.js +1530 -0
  329. package/dist/importer/odt/convert.js.map +1 -0
  330. package/dist/importer/odt/index.d.ts +30 -0
  331. package/dist/importer/odt/index.d.ts.map +1 -0
  332. package/dist/importer/odt/index.js +124 -0
  333. package/dist/importer/odt/index.js.map +1 -0
  334. package/dist/importer/pandoc/convert.d.ts +32 -0
  335. package/dist/importer/pandoc/convert.d.ts.map +1 -0
  336. package/dist/importer/pandoc/convert.js +790 -0
  337. package/dist/importer/pandoc/convert.js.map +1 -0
  338. package/dist/importer/pandoc/helpers.d.ts +5 -0
  339. package/dist/importer/pandoc/helpers.d.ts.map +1 -0
  340. package/dist/importer/pandoc/helpers.js +73 -0
  341. package/dist/importer/pandoc/helpers.js.map +1 -0
  342. package/dist/importer/pandoc/index.d.ts +31 -0
  343. package/dist/importer/pandoc/index.d.ts.map +1 -0
  344. package/dist/importer/pandoc/index.js +114 -0
  345. package/dist/importer/pandoc/index.js.map +1 -0
  346. package/dist/importer/registry.d.ts +21 -0
  347. package/dist/importer/registry.d.ts.map +1 -0
  348. package/dist/importer/registry.js +41 -0
  349. package/dist/importer/registry.js.map +1 -0
  350. package/dist/importer/zip_analyzer.d.ts +31 -0
  351. package/dist/importer/zip_analyzer.d.ts.map +1 -0
  352. package/dist/importer/zip_analyzer.js +89 -0
  353. package/dist/importer/zip_analyzer.js.map +1 -0
  354. package/dist/index.d.ts +2 -0
  355. package/dist/index.d.ts.map +1 -0
  356. package/dist/index.js +2 -0
  357. package/dist/index.js.map +1 -0
  358. package/dist/mathlive/opf_includes.d.ts +2 -0
  359. package/dist/mathlive/opf_includes.d.ts.map +1 -0
  360. package/dist/mathlive/opf_includes.js +25 -0
  361. package/dist/mathlive/opf_includes.js.map +1 -0
  362. package/dist/schema/common/annotate.d.ts +47 -0
  363. package/dist/schema/common/annotate.d.ts.map +1 -0
  364. package/dist/schema/common/annotate.js +75 -0
  365. package/dist/schema/common/annotate.js.map +1 -0
  366. package/dist/schema/common/base.d.ts +91 -0
  367. package/dist/schema/common/base.d.ts.map +1 -0
  368. package/dist/schema/common/base.js +109 -0
  369. package/dist/schema/common/base.js.map +1 -0
  370. package/dist/schema/common/citation.d.ts +30 -0
  371. package/dist/schema/common/citation.d.ts.map +1 -0
  372. package/dist/schema/common/citation.js +61 -0
  373. package/dist/schema/common/citation.js.map +1 -0
  374. package/dist/schema/common/equation.d.ts +17 -0
  375. package/dist/schema/common/equation.d.ts.map +1 -0
  376. package/dist/schema/common/equation.js +32 -0
  377. package/dist/schema/common/equation.js.map +1 -0
  378. package/dist/schema/common/figure.d.ts +87 -0
  379. package/dist/schema/common/figure.d.ts.map +1 -0
  380. package/dist/schema/common/figure.js +178 -0
  381. package/dist/schema/common/figure.js.map +1 -0
  382. package/dist/schema/common/heading.d.ts +9 -0
  383. package/dist/schema/common/heading.d.ts.map +1 -0
  384. package/dist/schema/common/heading.js +41 -0
  385. package/dist/schema/common/heading.js.map +1 -0
  386. package/dist/schema/common/index.d.ts +11 -0
  387. package/dist/schema/common/index.d.ts.map +1 -0
  388. package/dist/schema/common/index.js +11 -0
  389. package/dist/schema/common/index.js.map +1 -0
  390. package/dist/schema/common/list.d.ts +63 -0
  391. package/dist/schema/common/list.d.ts.map +1 -0
  392. package/dist/schema/common/list.js +92 -0
  393. package/dist/schema/common/list.js.map +1 -0
  394. package/dist/schema/common/reference.d.ts +70 -0
  395. package/dist/schema/common/reference.d.ts.map +1 -0
  396. package/dist/schema/common/reference.js +97 -0
  397. package/dist/schema/common/reference.js.map +1 -0
  398. package/dist/schema/common/table.d.ts +76 -0
  399. package/dist/schema/common/table.d.ts.map +1 -0
  400. package/dist/schema/common/table.js +86 -0
  401. package/dist/schema/common/table.js.map +1 -0
  402. package/dist/schema/common/track.d.ts +117 -0
  403. package/dist/schema/common/track.d.ts.map +1 -0
  404. package/{src → dist}/schema/common/track.js +44 -49
  405. package/dist/schema/common/track.js.map +1 -0
  406. package/dist/schema/const.d.ts +3 -0
  407. package/dist/schema/const.d.ts.map +1 -0
  408. package/{src → dist}/schema/const.js +3 -3
  409. package/dist/schema/const.js.map +1 -0
  410. package/dist/schema/convert.d.ts +3 -0
  411. package/dist/schema/convert.d.ts.map +1 -0
  412. package/dist/schema/convert.js +1215 -0
  413. package/dist/schema/convert.js.map +1 -0
  414. package/dist/schema/document/content.d.ts +110 -0
  415. package/dist/schema/document/content.d.ts.map +1 -0
  416. package/dist/schema/document/content.js +177 -0
  417. package/dist/schema/document/content.js.map +1 -0
  418. package/dist/schema/document/index.d.ts +795 -0
  419. package/dist/schema/document/index.d.ts.map +1 -0
  420. package/dist/schema/document/index.js +68 -0
  421. package/dist/schema/document/index.js.map +1 -0
  422. package/dist/schema/document/structure.d.ts +164 -0
  423. package/dist/schema/document/structure.d.ts.map +1 -0
  424. package/dist/schema/document/structure.js +445 -0
  425. package/dist/schema/document/structure.js.map +1 -0
  426. package/dist/schema/export.d.ts +7 -0
  427. package/dist/schema/export.d.ts.map +1 -0
  428. package/dist/schema/export.js +17 -0
  429. package/dist/schema/export.js.map +1 -0
  430. package/dist/schema/footnotes.d.ts +454 -0
  431. package/dist/schema/footnotes.d.ts.map +1 -0
  432. package/dist/schema/footnotes.js +90 -0
  433. package/dist/schema/footnotes.js.map +1 -0
  434. package/dist/schema/footnotes_convert.d.ts +5 -0
  435. package/dist/schema/footnotes_convert.d.ts.map +1 -0
  436. package/dist/schema/footnotes_convert.js +30 -0
  437. package/dist/schema/footnotes_convert.js.map +1 -0
  438. package/dist/schema/i18n.d.ts +55 -0
  439. package/dist/schema/i18n.d.ts.map +1 -0
  440. package/{src → dist}/schema/i18n.js +14 -23
  441. package/dist/schema/i18n.js.map +1 -0
  442. package/dist/schema/index.d.ts +6 -0
  443. package/dist/schema/index.d.ts.map +1 -0
  444. package/dist/schema/index.js +6 -0
  445. package/dist/schema/index.js.map +1 -0
  446. package/dist/schema/mini_json.d.ts +4 -0
  447. package/dist/schema/mini_json.d.ts.map +1 -0
  448. package/{src → dist}/schema/mini_json.js +19 -28
  449. package/dist/schema/mini_json.js.map +1 -0
  450. package/dist/schema/text.d.ts +3 -0
  451. package/dist/schema/text.d.ts.map +1 -0
  452. package/dist/schema/text.js +23 -0
  453. package/dist/schema/text.js.map +1 -0
  454. package/dist/types.d.ts +281 -0
  455. package/dist/types.d.ts.map +1 -0
  456. package/dist/types.js +9 -0
  457. package/dist/types.js.map +1 -0
  458. package/package.json +51 -16
  459. package/scripts/export-schema.js +1 -1
  460. package/src/bibliography/{common.js → common.ts} +15 -12
  461. package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
  462. package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
  463. package/src/citations/{format.js → format.ts} +80 -24
  464. package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
  465. package/src/exporter/docx/{citations.js → citations.ts} +51 -23
  466. package/src/exporter/docx/{comments.js → comments.ts} +69 -26
  467. package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
  468. package/src/exporter/docx/images.ts +128 -0
  469. package/src/exporter/docx/{index.js → index.ts} +48 -25
  470. package/src/exporter/docx/{lists.js → lists.ts} +89 -46
  471. package/src/exporter/docx/{math.js → math.ts} +29 -9
  472. package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
  473. package/src/exporter/docx/{rels.js → rels.ts} +71 -50
  474. package/src/exporter/docx/{render.js → render.ts} +124 -87
  475. package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
  476. package/src/exporter/docx/{tables.js → tables.ts} +33 -23
  477. package/src/exporter/docx/{tools.js → tools.ts} +4 -3
  478. package/src/exporter/epub/{index.js → index.ts} +44 -15
  479. package/src/exporter/epub/{templates.js → templates.ts} +71 -7
  480. package/src/exporter/epub/tools.ts +102 -0
  481. package/src/exporter/html/{citations.js → citations.ts} +79 -31
  482. package/src/exporter/html/{convert.js → convert.ts} +118 -71
  483. package/src/exporter/html/{index.js → index.ts} +63 -29
  484. package/src/exporter/html/{templates.js → templates.ts} +22 -2
  485. package/src/exporter/html/{tools.js → tools.ts} +9 -6
  486. package/src/exporter/jats/bibliography.ts +199 -0
  487. package/src/exporter/jats/{citations.js → citations.ts} +56 -20
  488. package/src/exporter/jats/{convert.js → convert.ts} +72 -53
  489. package/src/exporter/jats/index.ts +132 -0
  490. package/src/exporter/jats/{templates.js → templates.ts} +19 -3
  491. package/src/exporter/jats/{text.js → text.ts} +8 -6
  492. package/src/exporter/latex/{convert.js → convert.ts} +160 -125
  493. package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
  494. package/src/exporter/latex/{index.js → index.ts} +27 -12
  495. package/src/exporter/latex/{readme.js → readme.ts} +2 -2
  496. package/src/exporter/native/copy.ts +231 -0
  497. package/src/exporter/native/file.ts +65 -0
  498. package/src/exporter/native/index.ts +4 -0
  499. package/src/exporter/native/revision.ts +76 -0
  500. package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
  501. package/src/exporter/native/zip.ts +85 -0
  502. package/src/exporter/odt/{citations.js → citations.ts} +35 -15
  503. package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
  504. package/src/exporter/odt/images.ts +135 -0
  505. package/src/exporter/odt/{index.js → index.ts} +49 -27
  506. package/src/exporter/odt/{math.js → math.ts} +38 -9
  507. package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
  508. package/src/exporter/odt/{render.js → render.ts} +89 -60
  509. package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
  510. package/src/exporter/odt/{styles.js → styles.ts} +98 -66
  511. package/src/exporter/odt/{track.js → track.ts} +22 -6
  512. package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
  513. package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
  514. package/src/exporter/pandoc/{index.js → index.ts} +36 -13
  515. package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
  516. package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
  517. package/src/exporter/print/{index.js → index.ts} +38 -19
  518. package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
  519. package/src/exporter/tools/{file.js → file.ts} +1 -1
  520. package/src/exporter/tools/{json.js → json.ts} +30 -19
  521. package/src/exporter/tools/{svg.js → svg.ts} +9 -3
  522. package/src/exporter/tools/{xml.js → xml.ts} +187 -138
  523. package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
  524. package/src/exporter/tools/{zip.js → zip.ts} +35 -11
  525. package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
  526. package/src/global.d.ts +13 -0
  527. package/src/importer/citations.ts +116 -0
  528. package/src/importer/docx/{citations.js → citations.ts} +22 -37
  529. package/src/importer/docx/{convert.js → convert.ts} +176 -141
  530. package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
  531. package/src/importer/docx/index.ts +124 -0
  532. package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
  533. package/src/importer/docx/{parse.js → parse.ts} +103 -81
  534. package/src/importer/native/extract_template.ts +83 -0
  535. package/src/importer/native/file.ts +282 -0
  536. package/src/importer/native/get_images.ts +82 -0
  537. package/src/importer/native/importer.ts +244 -0
  538. package/src/importer/native/index.ts +6 -0
  539. package/src/importer/native/{update.js → update.ts} +13 -5
  540. package/src/importer/native/update_template.ts +32 -0
  541. package/src/importer/odt/{citations.js → citations.ts} +17 -29
  542. package/src/importer/odt/{convert.js → convert.ts} +261 -237
  543. package/src/importer/odt/index.ts +202 -0
  544. package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
  545. package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
  546. package/src/importer/pandoc/index.ts +171 -0
  547. package/src/importer/registry.ts +69 -0
  548. package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
  549. package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
  550. package/src/modules.d.ts +40 -0
  551. package/src/schema/common/{annotate.js → annotate.ts} +10 -8
  552. package/src/schema/common/{base.js → base.ts} +12 -10
  553. package/src/schema/common/{citation.js → citation.ts} +17 -8
  554. package/src/schema/common/{equation.js → equation.ts} +6 -4
  555. package/src/schema/common/{figure.js → figure.ts} +43 -23
  556. package/src/schema/common/{heading.js → heading.ts} +7 -5
  557. package/src/schema/common/{list.js → list.ts} +15 -13
  558. package/src/schema/common/{reference.js → reference.ts} +14 -12
  559. package/src/schema/common/{table.js → table.ts} +16 -14
  560. package/src/schema/common/track.ts +201 -0
  561. package/src/schema/const.ts +58 -0
  562. package/src/schema/{convert.js → convert.ts} +6 -2
  563. package/src/schema/document/{content.js → content.ts} +22 -20
  564. package/src/schema/document/{structure.js → structure.ts} +15 -9
  565. package/src/schema/{export.js → export.ts} +4 -2
  566. package/src/schema/{footnotes.js → footnotes.ts} +11 -8
  567. package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
  568. package/src/schema/i18n.ts +601 -0
  569. package/src/schema/mini_json.ts +60 -0
  570. package/src/schema/{text.js → text.ts} +6 -2
  571. package/src/types.ts +314 -0
  572. package/jest.config.js +0 -24
  573. package/src/exporter/docx/images.js +0 -101
  574. package/src/exporter/jats/bibliography.js +0 -183
  575. package/src/exporter/jats/index.js +0 -92
  576. package/src/exporter/odt/images.js +0 -115
  577. package/src/importer/citations.js +0 -129
  578. package/src/importer/native/get_images.js +0 -76
  579. /package/src/{index.js → index.ts} +0 -0
  580. /package/src/schema/common/{index.js → index.ts} +0 -0
  581. /package/src/schema/document/{index.js → index.ts} +0 -0
  582. /package/src/schema/{index.js → index.ts} +0 -0
package/src/types.ts ADDED
@@ -0,0 +1,314 @@
1
+ /**
2
+ * Core types shared across the @fiduswriter/document package.
3
+ *
4
+ * These types describe the JSON-shaped document tree that Fidus Writer stores
5
+ * and exchanges with its importers/exporters. They intentionally mirror the
6
+ * ProseMirror schema while staying serialisable.
7
+ */
8
+
9
+ /** A generic JSON value. */
10
+ export type JSONValue =
11
+ | string
12
+ | number
13
+ | boolean
14
+ | null
15
+ | JSONValue[]
16
+ | {[key: string]: JSONValue}
17
+
18
+ /** Attributes that every Fidus node may carry. */
19
+ export interface NodeAttrs {
20
+ [key: string]: unknown
21
+ id?: string
22
+ track?: Track[]
23
+ hidden?: boolean
24
+ }
25
+
26
+ /** A tracked change entry attached to a node or mark. */
27
+ export interface Track {
28
+ type: "insertion" | "deletion" | "block_change"
29
+ user: number
30
+ username: string
31
+ date: number
32
+ approved?: boolean
33
+ before?: FidusNode
34
+ }
35
+
36
+ /** A Fidus document mark (inline formatting or annotation). */
37
+ export interface FidusMark {
38
+ type: string
39
+ attrs?: NodeAttrs
40
+ }
41
+
42
+ /** A node in the Fidus document tree. */
43
+ export interface FidusNode {
44
+ type: string
45
+ attrs?: NodeAttrs
46
+ content?: FidusNode[]
47
+ marks?: FidusMark[]
48
+ text?: string
49
+ }
50
+
51
+ /** Top-level document settings stored on the `doc` node. */
52
+ export interface DocSettings {
53
+ documentstyle?: string
54
+ tracked?: boolean
55
+ citationstyle?: string
56
+ citationstyles?: string[]
57
+ language?: string
58
+ languages?: string[]
59
+ papersize?: string
60
+ papersizes?: string[]
61
+ footnote_marks?: string[]
62
+ footnote_elements?: string[]
63
+ bibliography_header?: FidusNode
64
+ metadata?: Record<string, JSONValue>
65
+ [key: string]: unknown
66
+ }
67
+
68
+ /** The root Fidus document node. */
69
+ export interface FidusDoc {
70
+ type: "doc"
71
+ attrs?: DocSettings
72
+ content: FidusNode[]
73
+ }
74
+
75
+ /** A fully populated document object passed to exporters. */
76
+ export interface ExportDoc {
77
+ id: string | number
78
+ title: string
79
+ path?: string
80
+ content: FidusNode
81
+ settings: DocSettings
82
+ comments?: Record<string, CommentData>
83
+ version?: string
84
+ }
85
+
86
+ /** A document contributor extracted from a contributors_part node. */
87
+ export interface Contributor {
88
+ firstname?: string
89
+ lastname?: string
90
+ institution?: string
91
+ role?: string
92
+ email?: string
93
+ id_type?: string
94
+ id_value?: string
95
+ [key: string]: unknown
96
+ }
97
+
98
+ /** Metadata bundle assembled by exporters and passed to metadata handlers. */
99
+ export interface ExportMetadata {
100
+ title: string
101
+ authors: Contributor[]
102
+ contributors: Contributor[]
103
+ keywords: string[]
104
+ language?: string
105
+ citationStyle?: string
106
+ }
107
+
108
+ /** A user reference passed to importers. */
109
+ export interface User {
110
+ id: number
111
+ name?: string
112
+ avatar?: string
113
+ username?: string
114
+ }
115
+
116
+ /** A single comment thread. */
117
+ export interface CommentData {
118
+ id?: number
119
+ user: number
120
+ username: string
121
+ date: number
122
+ resolved?: boolean
123
+ comment: FidusNode[]
124
+ answers?: Array<{
125
+ id?: string
126
+ user: number
127
+ username: string
128
+ date: number
129
+ answer: FidusNode[]
130
+ }>
131
+ }
132
+
133
+ /** A bibliographic database entry (format depends on the CSL engine). */
134
+ export interface BibDBEntry {
135
+ entry_key?: string
136
+ bib_type?: string
137
+ fields?: Record<string, JSONValue>
138
+ [key: string]: JSONValue | undefined
139
+ }
140
+
141
+ /** Flat map of bibliography entries keyed by internal ID. */
142
+ export type BibDBEntries = Record<string, BibDBEntry>
143
+
144
+ /** Bibliography database wrapper used by importers/exporters. */
145
+ export interface BibDB {
146
+ db: BibDBEntries
147
+ getDB?: () => Promise<void>
148
+ }
149
+
150
+ /** An entry in the image database. */
151
+ export interface ImageDBEntry {
152
+ id: number
153
+ title?: string
154
+ file_type?: string
155
+ image?: string | ArrayBuffer | Blob
156
+ copyright?: Record<string, JSONValue>
157
+ [key: string]: unknown
158
+ }
159
+
160
+ /** Flat map of image entries keyed by internal ID. */
161
+ export type ImageDBEntries = Record<string, ImageDBEntry>
162
+
163
+ /** Image database wrapper used by importers/exporters. */
164
+ export interface ImageDB {
165
+ db: ImageDBEntries
166
+ }
167
+
168
+ /** A parsed CSL/CSL-M stylesheet node. */
169
+ export interface CSLStyleNode {
170
+ name: string
171
+ attrs?: Record<string, unknown>
172
+ children?: CSLStyleNode[]
173
+ }
174
+
175
+ /** A parsed CSL/CSL-M stylesheet. */
176
+ export interface CSLStyle {
177
+ children: CSLStyleNode[]
178
+ }
179
+
180
+ /** A CSL/CSL-M stylesheet reference / engine provider. */
181
+ export interface CSL {
182
+ citationType?: string
183
+ getStyle?: (styleId: string) => Promise<CSLStyle>
184
+ getEngine?: (
185
+ sys: unknown,
186
+ styleId: string,
187
+ lang: string
188
+ ) => Promise<CiteprocInstance>
189
+ getEngineSync?: (
190
+ sys: unknown,
191
+ styleId: string,
192
+ lang: string
193
+ ) => CiteprocInstance | undefined
194
+ }
195
+
196
+ /** A minimal citeproc-js engine interface. */
197
+ export interface CiteprocInstance {
198
+ updateItems: (ids: string[]) => void
199
+ appendCitationCluster: (
200
+ citation: unknown,
201
+ flag?: boolean
202
+ ) => Array<[number, string]>
203
+ makeCitationCluster: (items: unknown[]) => string
204
+ cslXml: {dataObj: {attrs: {class: string}}}
205
+ citation: {opt: {layout_delimiter?: string}}
206
+ makeBibliography: () => BibliographyResult
207
+ sys?: unknown
208
+ }
209
+
210
+ /** citeproc-js makeBibliography() result tuple. */
211
+ export interface BibliographyResult extends Array<unknown> {
212
+ 0: {
213
+ entry_ids: string[]
214
+ bibstart: string
215
+ bibend: string
216
+ entryspacing: number
217
+ linespacing: number
218
+ hangingindent?: boolean
219
+ maxoffset: number
220
+ "second-field-align"?: "margin" | "flush"
221
+ }
222
+ 1: string[]
223
+ }
224
+
225
+ /** Common constructor options for exporters. */
226
+ export interface ExporterOptions {
227
+ doc: ExportDoc
228
+ templateUrl?: string
229
+ bibDB?: BibDB
230
+ imageDB?: ImageDB
231
+ csl?: CSL
232
+ }
233
+
234
+ /** JSON representation of a DOM node used by the native exporter. */
235
+ export interface NativeDomNode {
236
+ t?: string
237
+ co?: string
238
+ nn?: string
239
+ a?: Array<[string, string]>
240
+ c?: NativeDomNode[]
241
+ }
242
+
243
+ /** A document template extracted from document content. */
244
+ export interface Template {
245
+ content: FidusNode
246
+ exportTemplates: Array<Record<string, JSONValue>>
247
+ documentStyles: Array<Record<string, JSONValue>>
248
+ files?: Array<{filename: string; content: Blob | ArrayBuffer | string}>
249
+ }
250
+
251
+ /** Files bundled with a document template. */
252
+ export interface TemplateFiles {
253
+ textFiles: Array<{filename: string; contents: string}>
254
+ httpFiles: Array<{url: string; filename: string}>
255
+ }
256
+
257
+ /** Backend callbacks used by the generic NativeImporter. */
258
+ export interface NativeImporterBackend {
259
+ createDoc: (
260
+ template: Template,
261
+ importId: string | number | null,
262
+ requestedPath: string,
263
+ e2eeOptions: E2EEOptions | null,
264
+ files: Record<string, File[]>
265
+ ) => Promise<{id: number; path: string; e2ee?: boolean}>
266
+ saveImages: (
267
+ images: ImageDB,
268
+ docId: number,
269
+ e2eeOptions: E2EEOptions | null
270
+ ) => Promise<Record<number | string, number>>
271
+ saveDocument: (
272
+ saveData: Record<string, unknown>,
273
+ e2eeOptions: E2EEOptions | null
274
+ ) => Promise<{added: number; updated: number}>
275
+ extractTemplate?: (doc: FidusNode) => Template
276
+ decryptBufferToBase64?: (base64: string, key: CryptoKey) => Promise<string>
277
+ encryptImage?: (file: Blob, key: CryptoKey) => Promise<Blob>
278
+ encryptObject?: (obj: unknown, key: CryptoKey) => Promise<unknown>
279
+ encrypt?: (text: string, key: CryptoKey) => Promise<unknown>
280
+ storeKeyInSession?: (docId: number, key: CryptoKey) => void
281
+ }
282
+
283
+ /** E2EE options used during import/export/copy. */
284
+ export interface E2EEOptions {
285
+ enabled?: boolean
286
+ key?: CryptoKey
287
+ sourceKey?: CryptoKey
288
+ targetE2EE?: boolean
289
+ targetPassword?: string
290
+ salt?: string
291
+ iterations?: number
292
+ }
293
+
294
+ /** Callback that uploads a native revision blob. */
295
+ export type UploadRevision = (blob: Blob, doc: Record<string, unknown>) => unknown
296
+
297
+ /** E2EE helper object used by SaveCopy. */
298
+ export interface SaveCopyE2EE {
299
+ decryptObject: (encrypted: unknown, key: CryptoKey) => Promise<unknown>
300
+ encryptObject: (obj: unknown, key: CryptoKey) => Promise<unknown>
301
+ encrypt: (text: string, key: CryptoKey) => Promise<unknown>
302
+ encryptImage: (file: Blob, key: CryptoKey) => Promise<Blob>
303
+ generateSalt: () => Uint8Array
304
+ deriveKey: (password: string, salt: Uint8Array, iterations: number) => Promise<CryptoKey>
305
+ }
306
+
307
+ /** Callback used by SaveCopy to import a copied document. */
308
+ export type ImportDocument = (
309
+ doc: Record<string, unknown>,
310
+ bibDB: BibDB,
311
+ imageDB: ImageDB,
312
+ httpIncludes: Array<{url: string; filename: string}>,
313
+ options: Record<string, unknown>
314
+ ) => Promise<{doc: Record<string, unknown>; docInfo: Record<string, unknown>}>
package/jest.config.js DELETED
@@ -1,24 +0,0 @@
1
- export default {
2
- rootDir: ".",
3
- testEnvironment: "node",
4
- transform: {},
5
- moduleDirectories: ["node_modules"],
6
- moduleNameMapper: {
7
- "^downloadjs$": "<rootDir>/test/exporter/mocks/downloadjs.js",
8
- "^mathlive$": "<rootDir>/test/exporter/mocks/mathlive.js",
9
- "^mathml2omml$": "<rootDir>/test/exporter/mocks/mathml2omml.js",
10
- "^@vivliostyle/print$": "<rootDir>/test/exporter/mocks/vivliostyle.js",
11
- "^pretty$": "<rootDir>/test/exporter/mocks/pretty.js",
12
- "^biblatex-csl-converter$": "<rootDir>/test/exporter/mocks/biblatex-csl-converter.js",
13
- "^jszip$": "<rootDir>/test/importer/mocks/jszip.js",
14
- "^mathml-to-latex$": "<rootDir>/test/importer/mocks/mathml-to-latex.js",
15
- "^fwtoolkit$": "<rootDir>/test/exporter/mocks/common.js",
16
- "^fwtoolkit/.*": "<rootDir>/test/exporter/mocks/common.js",
17
- "^@fiduswriter/document/citations/format$": "<rootDir>/test/exporter/mocks/citations-format.js",
18
- "^@fiduswriter/document/bibliography/csl_bib$": "<rootDir>/test/exporter/mocks/csl-bib-schema.js",
19
- "^@fiduswriter/document/mathlive/opf_includes$": "<rootDir>/test/exporter/mocks/empty-module.js"
20
- },
21
- testMatch: ["<rootDir>/test/**/*.test.js"],
22
- setupFiles: ["<rootDir>/test/setup.js"],
23
- moduleFileExtensions: ["js", "mjs", "json"]
24
- }
@@ -1,101 +0,0 @@
1
- import {get} from "fwtoolkit"
2
- import {descendantNodes} from "../tools/doc_content.js"
3
- import {svg2png} from "../tools/svg.js"
4
-
5
- export class DOCXExporterImages {
6
- constructor(docContent, imageDB, xml, rels) {
7
- this.docContent = docContent
8
- this.imageDB = imageDB
9
- this.xml = xml
10
- this.rels = rels
11
-
12
- this.images = {}
13
- this.ctXML = false
14
- }
15
-
16
- init() {
17
- return this.xml.getXml("[Content_Types].xml").then(ctXML => {
18
- this.ctXML = ctXML
19
- return this.exportImages()
20
- })
21
- }
22
-
23
- // add an image to the list of files
24
- addImage(imgFileName, image) {
25
- const rId = this.rels.addImageRel(imgFileName)
26
- this.addContentType(imgFileName.split(".").pop())
27
- this.xml.addExtraFile(`word/media/${imgFileName}`, image)
28
- return rId
29
- }
30
-
31
- // add a global contenttype declaration for an image type (if needed)
32
- addContentType(fileEnding) {
33
- const types = this.ctXML.query("Types")
34
- const contentDec = types.query("Default", {Extension: fileEnding})
35
- if (!contentDec) {
36
- const string = `<Default ContentType="image/${fileEnding}" Extension="${fileEnding}"/>`
37
- types.appendXML(string)
38
- }
39
- }
40
-
41
- // Find all images used in file and add these to the export zip.
42
- // TODO: This will likely fail on image types docx doesn't support such as SVG.
43
- // Try out and fix.
44
- exportImages() {
45
- const usedImgs = []
46
- descendantNodes(this.docContent).forEach(node => {
47
- if (node.type === "image" && node.attrs.image !== false) {
48
- if (!usedImgs.includes(node.attrs.image)) {
49
- usedImgs.push(node.attrs.image)
50
- }
51
- }
52
- })
53
- return new Promise(resolveExportImages => {
54
- const p = []
55
- usedImgs.forEach(image => {
56
- const imgDBEntry = this.imageDB.db[image]
57
- p.push(
58
- get(imgDBEntry.image)
59
- .then(response => response.blob())
60
- .then(blob => {
61
- if (blob.type === "image/svg+xml") {
62
- // DOCX doesn't support SVG. Convert to PNG.
63
- return svg2png(blob).then(
64
- ({blob: pngBlob, width, height}) => {
65
- const wImgId = this.addImage(
66
- imgDBEntry.image
67
- .split("/")
68
- .pop()
69
- .replace(/.svg$/g, ".png"),
70
- pngBlob
71
- )
72
- this.images[image] = {
73
- id: wImgId,
74
- width,
75
- height,
76
- title: imgDBEntry.title
77
- }
78
- }
79
- )
80
- } else {
81
- const wImgId = this.addImage(
82
- imgDBEntry.image.split("/").pop(),
83
- blob
84
- )
85
- this.images[image] = {
86
- id: wImgId,
87
- width: imgDBEntry.width,
88
- height: imgDBEntry.height,
89
- title: imgDBEntry.title
90
- }
91
- }
92
- })
93
- )
94
- })
95
-
96
- Promise.all(p).then(() => {
97
- resolveExportImages()
98
- })
99
- })
100
- }
101
- }
@@ -1,183 +0,0 @@
1
- import {escapeText} from "fwtoolkit"
2
- import {convertTexts} from "./text.js"
3
-
4
- // This list is based on values listed at https://jats.nlm.nih.gov/archiving/tag-library/1.2/attribute/publication-type.html
5
- // And the advice given here: https://jats4r.org/citations/#recommendation
6
- const PUBLICATION_TYPES = {
7
- article: "journal",
8
- "article-journal": "journal",
9
- "article-magazine": "journal",
10
- "article-newspaper": "journal",
11
- book: "book",
12
- bookinbook: "book",
13
- booklet: "book",
14
- chapter: "book",
15
- collection: "standard",
16
- dataset: "dataset",
17
- "entry-dictionary": "standard",
18
- "entry-encyclopedia": "standard",
19
- inbook: "book",
20
- incollection: "book",
21
- inproceedings: "standard",
22
- inreference: "standard",
23
- manual: "book",
24
- misc: "standard",
25
- mvbook: "book",
26
- mvcollection: "standard",
27
- mvproceedings: "book",
28
- mvreference: "standard",
29
- online: "standard",
30
- patent: "patent",
31
- periodical: "book",
32
- post: "standards",
33
- "post-weblog": "standard",
34
- proceedings: "book",
35
- reference: "standard",
36
- report: "report",
37
- review: "review",
38
- suppbook: "book",
39
- suppcollection: "book",
40
- suppperiodical: "journal",
41
- thesis: "standard",
42
- unpublished: "standard"
43
- }
44
-
45
- export function jatsBib(bib, id) {
46
- let start = "",
47
- end = ""
48
- start += `<ref id="ref-${id}">`
49
- end = "</ref>" + end
50
- // Type
51
- const publicationType = PUBLICATION_TYPES[bib.bib_type] ?? "standard"
52
- start += `<element-citation publication-type="${publicationType}">`
53
- end = "</element-citation>" + end
54
-
55
- // authors
56
- if (bib.fields.author && bib.fields.author.length) {
57
- start += `<person-group person-group-type="author">${bib.fields.author
58
- .map(author => {
59
- if (author.literal) {
60
- return `<collab>${convertTexts(author.literal)}</collab>`
61
- }
62
- let nameStart = `<name><surname>${convertTexts(author.family)}</surname> <given-names>${convertTexts(author.given)}</given-names>`
63
- if (author.prefix && author.prefix.length) {
64
- nameStart += ` <prefix>${convertTexts(author.prefix)}</prefix>`
65
- }
66
- if (author.suffix && author.suffix.length) {
67
- nameStart += ` <suffix>${convertTexts(author.suffix)}</suffix>`
68
- }
69
- const nameEnd = "</name>"
70
- return nameStart + nameEnd
71
- })
72
- .join(", ")}</person-group>`
73
- }
74
-
75
- // title && container title
76
- if (bib.fields.title) {
77
- if (
78
- bib.fields.shortjournal ||
79
- bib.fields.booktitle ||
80
- bib.fields.journaltitle
81
- ) {
82
- start += `<source>${convertTexts(bib.fields.shortjournal || bib.fields.booktitle || bib.fields.journaltitle)}</source>`
83
- start += `<article-title>${convertTexts(bib.fields.title)}</article-title>`
84
- } else {
85
- start += `<source>${convertTexts(bib.fields.title)}</source>`
86
- }
87
- }
88
-
89
- // editors
90
- if (bib.fields.editor && bib.fields.editor.length) {
91
- start += `<person-group person-group-type="editor">${bib.fields.editor
92
- .map(editor => {
93
- if (editor.literal) {
94
- return `<collab>${convertTexts(editor.literal)}</collab>`
95
- }
96
- let nameStart = `<name><surname>${convertTexts(editor.family)}</surname> <given-names>${convertTexts(editor.given)}</given-names>`
97
- const nameEnd = "</name>"
98
- if (editor.prefix && editor.prefix.length) {
99
- nameStart = `<prefix>${convertTexts(editor.prefix)}</prefix>`
100
- }
101
- if (editor.suffix && editor.suffix.length) {
102
- nameStart = `<suffix>${convertTexts(editor.suffix)}</suffix>`
103
- }
104
- return nameStart + nameEnd
105
- })
106
- .join(", ")}</person-group>`
107
- }
108
-
109
- // publisher
110
- if (bib.fields.publisher && bib.fields.publisher.length) {
111
- start += bib.fields.publisher
112
- .map(
113
- publisher =>
114
- `<publisher-name>${convertTexts(publisher)}</publisher-name>`
115
- )
116
- .join("")
117
- }
118
-
119
- // location
120
- if (bib.fields.location && bib.fields.location.length) {
121
- start += bib.fields.location
122
- .map(
123
- location =>
124
- `<publisher-loc>${convertTexts(location)}</publisher-loc>`
125
- )
126
- .join("")
127
- }
128
-
129
- // date
130
- if (bib.fields.date && bib.fields.date.length) {
131
- const date = bib.fields.date
132
- const dateParts = date.split("-")
133
- start += `<date iso-8601-date="${date}" date-type="published">${
134
- dateParts.length > 2 ? `<day>${dateParts[2]}</day>` : ""
135
- }${
136
- dateParts.length > 1 ? `<month>${dateParts[1]}</month>` : ""
137
- }<year>${dateParts[0]}</year></date>`
138
- }
139
-
140
- // volume
141
- if (bib.fields.volume && bib.fields.volume.length) {
142
- start += `<volume>${convertTexts(bib.fields.volume)}</volume>`
143
- }
144
-
145
- // issue
146
- if (bib.fields.issue && bib.fields.issue.length) {
147
- start += `<issue>${convertTexts(bib.fields.issue)}</issue>`
148
- }
149
-
150
- // pages
151
- if (bib.fields.pages && bib.fields.pages.length) {
152
- start += `<fpage>${convertTexts(bib.fields.pages[0][0])}</fpage>`
153
- start += `<lpage>${convertTexts(bib.fields.pages.slice(-1)[0].slice(-1)[0])}</lpage>`
154
- if (bib.fields.pages.length > 1) {
155
- start += `<page-range>${bib.fields.pages
156
- .map(pages => pages.map(page => convertTexts(page)).join("-"))
157
- .join(", ")}</page-range>`
158
- }
159
- }
160
-
161
- // doi
162
- if (bib.fields.doi && bib.fields.doi.length) {
163
- start += `<pub-id pub-id-type="doi">${escapeText(bib.fields.doi)}</pub-id>`
164
- }
165
-
166
- // url
167
- if (bib.fields.url && bib.fields.url.length) {
168
- start += `<ext-link ext-link-type="web" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${escapeText(bib.fields.url)}"/>`
169
- }
170
-
171
- // url date
172
- if (bib.fields.urldate && bib.fields.urldate.length) {
173
- const date = bib.fields.urldate
174
- const dateParts = date.split("-")
175
- start += `<date-in-citation content-type="access-date" iso-8601-date="${date}">${
176
- dateParts.length > 2 ? `<day>${dateParts[2]}</day>` : ""
177
- }${
178
- dateParts.length > 1 ? `<month>${dateParts[1]}</month>` : ""
179
- }<year>${dateParts[0]}</year></date-in-citation>`
180
- }
181
-
182
- return start + end
183
- }