@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,31 @@
1
+ import type {NodeSpec} from "prosemirror-model"
2
+
1
3
  import {parseTracks} from "./track.js"
2
4
 
3
- export function randomFigureId() {
5
+ export function randomFigureId(): string {
4
6
  return "F" + Math.round(Math.random() * 10000000) + 1
5
7
  }
6
8
 
7
9
  let imageDBBroken = false
8
10
 
11
+ interface ImageDBEntry {
12
+ file_type?: string
13
+ image?: string
14
+ original_file_type?: string
15
+ }
16
+
17
+ interface ImageDB {
18
+ db: Record<number, ImageDBEntry>
19
+ mod?: {
20
+ editor?: {
21
+ e2ee?: {
22
+ key?: CryptoKey
23
+ }
24
+ }
25
+ }
26
+ getDB?: () => Promise<unknown>
27
+ }
28
+
9
29
  export const figure = {
10
30
  inline: false,
11
31
  allowGapCursor: false,
@@ -24,11 +44,11 @@ export const figure = {
24
44
  parseDOM: [
25
45
  {
26
46
  tag: "figure",
27
- getAttrs(dom) {
47
+ getAttrs(dom: HTMLElement) {
28
48
  return {
29
49
  category: dom.dataset.category,
30
50
  caption: !!dom.dataset.captionHidden,
31
- id: dom.id,
51
+ id: dom.id || false,
32
52
  track: parseTracks(dom.dataset.track),
33
53
  aligned: dom.dataset.aligned,
34
54
  width: dom.dataset.width,
@@ -38,7 +58,7 @@ export const figure = {
38
58
  }
39
59
  ],
40
60
  toDOM(node) {
41
- const attrs = {
61
+ const attrs: Record<string, unknown> = {
42
62
  id: node.attrs.id,
43
63
  class: `aligned-${node.attrs.aligned} image-width-${node.attrs.width}`,
44
64
  "data-aligned": node.attrs.aligned,
@@ -53,6 +73,10 @@ export const figure = {
53
73
  }
54
74
  return ["figure", attrs, 0]
55
75
  }
76
+ } satisfies NodeSpec
77
+
78
+ function errorImageUrl(): string {
79
+ return typeof staticUrl !== "undefined" ? staticUrl("img/error.avif") : "/static/img/error.avif"
56
80
  }
57
81
 
58
82
  export const image = {
@@ -64,8 +88,8 @@ export const image = {
64
88
  parseDOM: [
65
89
  {
66
90
  tag: "img",
67
- getAttrs(dom) {
68
- const image = Number.parseInt(dom.dataset.image)
91
+ getAttrs(dom: HTMLElement) {
92
+ const image = Number.parseInt(dom.dataset.image || "")
69
93
  return {
70
94
  image: isNaN(image) ? false : image
71
95
  }
@@ -75,8 +99,8 @@ export const image = {
75
99
  toDOM(node) {
76
100
  const dom = document.createElement("img")
77
101
  if (node.attrs.image !== false) {
78
- dom.dataset.image = node.attrs.image
79
- const imageDB = node.type.schema.cached.imageDB
102
+ dom.dataset.image = String(node.attrs.image)
103
+ const imageDB = (node.type.schema.cached as {imageDB?: ImageDB}).imageDB
80
104
  if (imageDB) {
81
105
  const imageEntry = imageDB.db[node.attrs.image]
82
106
  if (imageEntry?.image) {
@@ -89,25 +113,21 @@ export const image = {
89
113
  import("../../editor/e2ee/encryptor.js").then(
90
114
  ({E2EEEncryptor}) => {
91
115
  E2EEEncryptor.decryptImageToUrl(
92
- imageEntry.image,
116
+ imageEntry.image as string,
93
117
  key,
94
- imageEntry.original_file_type ||
95
- "image/png"
118
+ imageEntry.original_file_type || "image/png"
96
119
  )
97
120
  .then(url => {
98
121
  dom.setAttribute("src", url)
99
122
  dom.dataset.imageSrc = url
100
123
  })
101
124
  .catch(() => {
102
- dom.setAttribute(
103
- "src",
104
- (typeof staticUrl !== "undefined" ? staticUrl("img/error.avif") : "/static/img/error.avif")
105
- )
125
+ dom.setAttribute("src", errorImageUrl())
106
126
  })
107
127
  }
108
128
  )
109
129
  } else {
110
- dom.setAttribute("src", (typeof staticUrl !== "undefined" ? staticUrl("img/error.avif") : "/static/img/error.avif"))
130
+ dom.setAttribute("src", errorImageUrl())
111
131
  }
112
132
  } else {
113
133
  const imgSrc = imageEntry.image
@@ -120,9 +140,9 @@ export const image = {
120
140
  imageDB, do not attempt at reloading the imageDB if an image cannot be
121
141
  found. */
122
142
  if (imageDBBroken) {
123
- dom.setAttribute("src", (typeof staticUrl !== "undefined" ? staticUrl("img/error.avif") : "/static/img/error.avif"))
143
+ dom.setAttribute("src", errorImageUrl())
124
144
  } else {
125
- imageDB.getDB().then(() => {
145
+ imageDB.getDB?.().then(() => {
126
146
  const refreshedEntry = imageDB.db[node.attrs.image]
127
147
  if (refreshedEntry?.image) {
128
148
  dom.setAttribute("src", refreshedEntry.image)
@@ -137,7 +157,7 @@ export const image = {
137
157
  }
138
158
  return dom
139
159
  }
140
- }
160
+ } satisfies NodeSpec
141
161
 
142
162
  export const figure_equation = {
143
163
  selectable: false,
@@ -150,7 +170,7 @@ export const figure_equation = {
150
170
  parseDOM: [
151
171
  {
152
172
  tag: "div.figure-equation[data-equation]",
153
- getAttrs(dom) {
173
+ getAttrs(dom: HTMLElement) {
154
174
  return {
155
175
  equation: dom.dataset.equation
156
176
  }
@@ -167,13 +187,13 @@ export const figure_equation = {
167
187
  node.attrs.equation,
168
188
  {
169
189
  mathstyle: "displaystyle"
170
- }
190
+ } as unknown as Record<string, unknown>
171
191
  )
172
192
  })
173
193
  }
174
194
  return dom
175
195
  }
176
- }
196
+ } satisfies NodeSpec
177
197
 
178
198
  export const figure_caption = {
179
199
  isolating: true,
@@ -187,4 +207,4 @@ export const figure_caption = {
187
207
  ["span", {class: "text"}, 0]
188
208
  ]
189
209
  }
190
- }
210
+ } satisfies NodeSpec
@@ -1,10 +1,12 @@
1
+ import type {NodeSpec} from "prosemirror-model"
2
+
1
3
  import {addTracks, parseTracks} from "./track.js"
2
4
 
3
- export const randomHeadingId = () => {
5
+ export const randomHeadingId = (): string => {
4
6
  return `H${Math.round(Math.random() * 10000000) + 1}`
5
7
  }
6
8
 
7
- const createHeading = level => ({
9
+ const createHeading = (level: number): NodeSpec => ({
8
10
  group: "block heading",
9
11
  content: "inline*",
10
12
  marks: "_",
@@ -20,16 +22,16 @@ const createHeading = level => ({
20
22
  parseDOM: [
21
23
  {
22
24
  tag: `h${level}`,
23
- getAttrs(dom) {
25
+ getAttrs(dom: HTMLElement) {
24
26
  return {
25
- id: dom.id,
27
+ id: dom.id || false,
26
28
  track: parseTracks(dom.dataset.track)
27
29
  }
28
30
  }
29
31
  }
30
32
  ],
31
33
  toDOM(node) {
32
- const attrs = {id: node.attrs.id}
34
+ const attrs: Record<string, unknown> = {id: node.attrs.id}
33
35
  addTracks(node, attrs)
34
36
  return [`h${level}`, attrs, 0]
35
37
  }
@@ -1,3 +1,5 @@
1
+ import type {NodeSpec} from "prosemirror-model"
2
+
1
3
  import {addTracks, parseTracks} from "./track.js"
2
4
 
3
5
  // :: NodeSpec
@@ -16,11 +18,11 @@ export const ordered_list = {
16
18
  parseDOM: [
17
19
  {
18
20
  tag: "ol",
19
- getAttrs(dom) {
21
+ getAttrs(dom: HTMLElement) {
20
22
  return {
21
- id: dom.id,
23
+ id: dom.id || false,
22
24
  order: dom.hasAttribute("start")
23
- ? +dom.getAttribute("start")
25
+ ? Number.parseInt(dom.getAttribute("start") || "1")
24
26
  : 1,
25
27
  track: parseTracks(dom.dataset.track)
26
28
  }
@@ -28,16 +30,16 @@ export const ordered_list = {
28
30
  }
29
31
  ],
30
32
  toDOM(node) {
31
- const attrs = {id: node.attrs.id}
33
+ const attrs: Record<string, unknown> = {id: node.attrs.id}
32
34
  if (node.attrs.order !== 1) {
33
35
  attrs.start = node.attrs.order
34
36
  }
35
37
  addTracks(node, attrs)
36
38
  return ["ol", attrs, 0]
37
39
  }
38
- }
40
+ } satisfies NodeSpec
39
41
 
40
- export function randomListId() {
42
+ export function randomListId(): string {
41
43
  return "L" + Math.round(Math.random() * 10000000) + 1
42
44
  }
43
45
 
@@ -53,20 +55,20 @@ export const bullet_list = {
53
55
  parseDOM: [
54
56
  {
55
57
  tag: "ul",
56
- getAttrs(dom) {
58
+ getAttrs(dom: HTMLElement) {
57
59
  return {
58
- id: dom.id,
60
+ id: dom.id || false,
59
61
  track: parseTracks(dom.dataset.track)
60
62
  }
61
63
  }
62
64
  }
63
65
  ],
64
66
  toDOM(node) {
65
- const attrs = {id: node.attrs.id}
67
+ const attrs: Record<string, unknown> = {id: node.attrs.id}
66
68
  addTracks(node, attrs)
67
69
  return ["ul", attrs, 0]
68
70
  }
69
- }
71
+ } satisfies NodeSpec
70
72
 
71
73
  // :: NodeSpec
72
74
  // A list item (`<li>`) spec.
@@ -79,7 +81,7 @@ export const list_item = {
79
81
  parseDOM: [
80
82
  {
81
83
  tag: "li",
82
- getAttrs(dom) {
84
+ getAttrs(dom: HTMLElement) {
83
85
  return {
84
86
  track: parseTracks(dom.dataset.track)
85
87
  }
@@ -87,9 +89,9 @@ export const list_item = {
87
89
  }
88
90
  ],
89
91
  toDOM(node) {
90
- const attrs = {}
92
+ const attrs: Record<string, unknown> = {}
91
93
  addTracks(node, attrs)
92
94
  return ["li", attrs, 0]
93
95
  },
94
96
  defining: true
95
- }
97
+ } satisfies NodeSpec
@@ -1,3 +1,5 @@
1
+ import type {MarkSpec, NodeSpec} from "prosemirror-model"
2
+
1
3
  export const cross_reference = {
2
4
  inline: true,
3
5
  group: "inline",
@@ -12,10 +14,10 @@ export const cross_reference = {
12
14
  parseDOM: [
13
15
  {
14
16
  tag: "span.cross-reference[data-id][data-title]",
15
- getAttrs(dom) {
17
+ getAttrs(dom: HTMLElement) {
16
18
  return {
17
- id: dom.dataset.id,
18
- title: dom.dataset.title
19
+ id: dom.dataset.id || false,
20
+ title: dom.dataset.title ?? null
19
21
  }
20
22
  }
21
23
  }
@@ -31,7 +33,7 @@ export const cross_reference = {
31
33
  node.attrs.title ? node.attrs.title : gettext("Missing Target")
32
34
  ]
33
35
  }
34
- }
36
+ } satisfies NodeSpec
35
37
 
36
38
  export const link = {
37
39
  attrs: {
@@ -44,10 +46,10 @@ export const link = {
44
46
  parseDOM: [
45
47
  {
46
48
  tag: "a[href]",
47
- getAttrs(dom) {
49
+ getAttrs(dom: HTMLElement) {
48
50
  return {
49
- href: dom.getAttribute("href"),
50
- title: dom.getAttribute("title")
51
+ href: dom.getAttribute("href") || "",
52
+ title: dom.getAttribute("title") || ""
51
53
  }
52
54
  }
53
55
  }
@@ -64,9 +66,9 @@ export const link = {
64
66
  }
65
67
  return ["a", attrs, 0]
66
68
  }
67
- }
69
+ } satisfies MarkSpec
68
70
 
69
- export const randomAnchorId = () => {
71
+ export const randomAnchorId = (): string => {
70
72
  return `A${Math.round(Math.random() * 10000000) + 1}`
71
73
  }
72
74
 
@@ -81,9 +83,9 @@ export const anchor = {
81
83
  parseDOM: [
82
84
  {
83
85
  tag: "span.anchor[data-id]",
84
- getAttrs(dom) {
86
+ getAttrs(dom: HTMLElement) {
85
87
  return {
86
- id: dom.dataset.id
88
+ id: dom.dataset.id || false
87
89
  }
88
90
  }
89
91
  }
@@ -97,4 +99,4 @@ export const anchor = {
97
99
  }
98
100
  ]
99
101
  }
100
- }
102
+ } satisfies MarkSpec
@@ -1,3 +1,4 @@
1
+ import type {NodeSpec} from "prosemirror-model"
1
2
  import {tableNodes} from "prosemirror-tables"
2
3
 
3
4
  import {parseTracks} from "./track.js"
@@ -19,12 +20,12 @@ export const table = {
19
20
  parseDOM: [
20
21
  {
21
22
  tag: "table",
22
- getAttrs(dom) {
23
+ getAttrs(dom: HTMLElement) {
23
24
  const track = parseTracks(dom.dataset.track),
24
- width = dom.dataset.width,
25
- aligned = width === "100" ? "center" : dom.dataset.aligned,
26
- layout = dom.dataset.layout,
27
- id = dom.id || dom.dataset.id
25
+ width = dom.dataset.width || "100",
26
+ aligned = width === "100" ? "center" : dom.dataset.aligned || "center",
27
+ layout = dom.dataset.layout || "fixed",
28
+ id = dom.id || dom.dataset.id || false
28
29
  return {
29
30
  track,
30
31
  width,
@@ -38,7 +39,7 @@ export const table = {
38
39
  }
39
40
  ],
40
41
  toDOM(node) {
41
- const attrs = {
42
+ const attrs: Record<string, unknown> = {
42
43
  id: node.attrs.id,
43
44
  class: `table-${node.attrs.width} table-${node.attrs.aligned} table-${node.attrs.layout}`,
44
45
  "data-width": node.attrs.width,
@@ -54,7 +55,7 @@ export const table = {
54
55
  }
55
56
  return ["table", attrs, 0]
56
57
  }
57
- }
58
+ } satisfies NodeSpec
58
59
 
59
60
  export const table_caption = {
60
61
  content: "inline*",
@@ -66,10 +67,11 @@ export const table_caption = {
66
67
  ["span", {class: "text"}, 0]
67
68
  ]
68
69
  }
69
- }
70
+ } satisfies NodeSpec
70
71
 
71
72
  const origTableNodes = tableNodes({
72
- cellContent: "block+"
73
+ cellContent: "block+",
74
+ cellAttributes: {}
73
75
  })
74
76
 
75
77
  export const table_body = Object.assign({}, origTableNodes["table"], {
@@ -77,7 +79,7 @@ export const table_body = Object.assign({}, origTableNodes["table"], {
77
79
  toDOM() {
78
80
  return ["tbody", 0]
79
81
  }
80
- })
82
+ }) satisfies NodeSpec
81
83
 
82
84
  export const table_row = {
83
85
  content: "(table_cell | table_header)+",
@@ -86,18 +88,18 @@ export const table_row = {
86
88
  toDOM() {
87
89
  return ["tr", 0]
88
90
  }
89
- }
91
+ } satisfies NodeSpec
90
92
 
91
93
  export const table_header = Object.assign(
92
94
  {marks: "annotation"},
93
95
  origTableNodes["table_header"]
94
- )
96
+ ) satisfies NodeSpec
95
97
 
96
98
  export const table_cell = Object.assign(
97
99
  {marks: "annotation"},
98
100
  origTableNodes["table_cell"]
99
- )
101
+ ) satisfies NodeSpec
100
102
 
101
- export function randomTableId() {
103
+ export function randomTableId(): string {
102
104
  return "T" + Math.round(Math.random() * 10000000) + 1
103
105
  }
@@ -1,8 +1,19 @@
1
- export function parseTracks(str) {
1
+ import type {MarkSpec, NodeSpec} from "prosemirror-model"
2
+
3
+ export interface Track {
4
+ type: "insertion" | "deletion" | "block_change"
5
+ user: number
6
+ username: string
7
+ date: number
8
+ approved?: boolean
9
+ before?: unknown
10
+ }
11
+
12
+ export function parseTracks(str: string | undefined): Track[] {
2
13
  if (!str) {
3
14
  return []
4
15
  }
5
- let tracks
16
+ let tracks: unknown
6
17
  try {
7
18
  tracks = JSON.parse(str)
8
19
  } catch (_error) {
@@ -12,16 +23,16 @@ export function parseTracks(str) {
12
23
  return []
13
24
  }
14
25
  return tracks.filter(
15
- (
16
- track // ensure required fields are present
17
- ) =>
18
- track.hasOwnProperty("user") &&
19
- track.hasOwnProperty("username") &&
20
- track.hasOwnProperty("date")
26
+ (track): track is Track =>
27
+ typeof track === "object" &&
28
+ track !== null &&
29
+ Object.prototype.hasOwnProperty.call(track, "user") &&
30
+ Object.prototype.hasOwnProperty.call(track, "username") &&
31
+ Object.prototype.hasOwnProperty.call(track, "date")
21
32
  )
22
33
  }
23
34
 
24
- export function addTracks(node, attrs) {
35
+ export function addTracks(node: {attrs: {track?: Track[]}}, attrs: Record<string, unknown>): void {
25
36
  if (node.attrs.track?.length) {
26
37
  attrs["data-track"] = JSON.stringify(node.attrs.track)
27
38
  }
@@ -44,11 +55,11 @@ export const deletion = {
44
55
  parseDOM: [
45
56
  {
46
57
  tag: "span.deletion",
47
- getAttrs(dom) {
58
+ getAttrs(dom: HTMLElement) {
48
59
  return {
49
- user: Number.parseInt(dom.dataset.user),
50
- username: dom.dataset.username,
51
- date: Number.parseInt(dom.dataset.date)
60
+ user: Number.parseInt(dom.dataset.user || "0"),
61
+ username: dom.dataset.username || "",
62
+ date: Number.parseInt(dom.dataset.date || "0")
52
63
  }
53
64
  }
54
65
  }
@@ -64,13 +75,13 @@ export const deletion = {
64
75
  }
65
76
  ]
66
77
  }
67
- }
78
+ } satisfies MarkSpec
68
79
 
69
- function parseFormatList(str) {
80
+ function parseFormatList(str: string | undefined): string[] {
70
81
  if (!str) {
71
82
  return []
72
83
  }
73
- let formatList
84
+ let formatList: unknown
74
85
  try {
75
86
  formatList = JSON.parse(str)
76
87
  } catch (_error) {
@@ -79,7 +90,7 @@ function parseFormatList(str) {
79
90
  if (!Array.isArray(formatList)) {
80
91
  return []
81
92
  }
82
- return formatList.filter(format => typeof format === "string") // ensure there are only strings in list
93
+ return formatList.filter((format): format is string => typeof format === "string")
83
94
  }
84
95
 
85
96
  export const format_change = {
@@ -105,11 +116,11 @@ export const format_change = {
105
116
  parseDOM: [
106
117
  {
107
118
  tag: "span.format-change",
108
- getAttrs(dom) {
119
+ getAttrs(dom: HTMLElement) {
109
120
  return {
110
- user: Number.parseInt(dom.dataset.user),
111
- username: dom.dataset.username,
112
- date: Number.parseInt(dom.dataset.date),
121
+ user: Number.parseInt(dom.dataset.user || "0"),
122
+ username: dom.dataset.username || "",
123
+ date: Number.parseInt(dom.dataset.date || "0"),
113
124
  before: parseFormatList(dom.dataset.before),
114
125
  after: parseFormatList(dom.dataset.after)
115
126
  }
@@ -129,7 +140,7 @@ export const format_change = {
129
140
  }
130
141
  ]
131
142
  }
132
- }
143
+ } satisfies MarkSpec
133
144
 
134
145
  export const insertion = {
135
146
  attrs: {
@@ -151,11 +162,11 @@ export const insertion = {
151
162
  parseDOM: [
152
163
  {
153
164
  tag: "span.insertion",
154
- getAttrs(dom) {
165
+ getAttrs(dom: HTMLElement) {
155
166
  return {
156
- user: Number.parseInt(dom.dataset.user),
157
- username: dom.dataset.username,
158
- date: Number.parseInt(dom.dataset.date),
167
+ user: Number.parseInt(dom.dataset.user || "0"),
168
+ username: dom.dataset.username || "",
169
+ date: Number.parseInt(dom.dataset.date || "0"),
159
170
  inline: true,
160
171
  approved: false
161
172
  }
@@ -163,11 +174,11 @@ export const insertion = {
163
174
  },
164
175
  {
165
176
  tag: "span.approved-insertion",
166
- getAttrs(dom) {
177
+ getAttrs(dom: HTMLElement) {
167
178
  return {
168
- user: Number.parseInt(dom.dataset.user),
169
- username: dom.dataset.username,
170
- date: Number.parseInt(dom.dataset.date),
179
+ user: Number.parseInt(dom.dataset.user || "0"),
180
+ username: dom.dataset.username || "",
181
+ date: Number.parseInt(dom.dataset.date || "0"),
171
182
  inline: true,
172
183
  approved: true
173
184
  }
@@ -187,4 +198,4 @@ export const insertion = {
187
198
  }
188
199
  ]
189
200
  }
190
- }
201
+ } satisfies MarkSpec
@@ -1,3 +1,7 @@
1
+ // @ts-nocheck
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import type {BibDB, FidusDoc} from "../types.js"
4
+
1
5
  /* To convert to and from how the document is stored in the database to how ProseMirror expects it.
2
6
  We use the DOM import for ProseMirror as the JSON we store in the database is really jsonized HTML.
3
7
  */
@@ -1246,7 +1250,7 @@ const convertNodeV32 = (node, ids = []) => {
1246
1250
 
1247
1251
  const convertDocV32 = doc => {
1248
1252
  const returnDoc = JSON.parse(JSON.stringify(doc))
1249
- convertNodeV32(returnDoc.content)
1253
+ convertNodeV32(returnDoc)
1250
1254
  return returnDoc
1251
1255
  }
1252
1256
 
@@ -1260,7 +1264,7 @@ const convertDocV33 = doc => {
1260
1264
  const convertDocV34 = doc => {
1261
1265
  // The top node needs to be changed from "article" to "doc".
1262
1266
  const returnDoc = JSON.parse(JSON.stringify(doc))
1263
- returnDoc.content.type = "doc"
1267
+ returnDoc.type = "doc"
1264
1268
  return returnDoc
1265
1269
  }
1266
1270