@fiduswriter/editor 0.1.19 → 0.1.21

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 (786) hide show
  1. package/dist/bibliography/tools.d.ts +14 -0
  2. package/dist/bibliography/tools.d.ts.map +1 -0
  3. package/dist/bibliography/tools.js +1 -1
  4. package/dist/bibliography/tools.js.map +1 -1
  5. package/dist/citations/index.d.ts +17 -0
  6. package/dist/citations/index.d.ts.map +1 -0
  7. package/dist/citations/index.js +22 -13
  8. package/dist/citations/index.js.map +1 -1
  9. package/dist/citations/render.d.ts +29 -0
  10. package/dist/citations/render.d.ts.map +1 -0
  11. package/dist/citations/render.js +25 -8
  12. package/dist/citations/render.js.map +1 -1
  13. package/dist/clipboard/copy/index.d.ts +2 -0
  14. package/dist/clipboard/copy/index.d.ts.map +1 -0
  15. package/dist/clipboard/copy/index.js.map +1 -1
  16. package/dist/clipboard/copy/schema.d.ts +4 -0
  17. package/dist/clipboard/copy/schema.d.ts.map +1 -0
  18. package/dist/clipboard/copy/schema.js +6 -5
  19. package/dist/clipboard/copy/schema.js.map +1 -1
  20. package/dist/clipboard/copy/serializers.d.ts +24 -0
  21. package/dist/clipboard/copy/serializers.d.ts.map +1 -0
  22. package/dist/clipboard/copy/serializers.js +19 -9
  23. package/dist/clipboard/copy/serializers.js.map +1 -1
  24. package/dist/clipboard/paste/fidus_writer.d.ts +7 -0
  25. package/dist/clipboard/paste/fidus_writer.d.ts.map +1 -0
  26. package/dist/clipboard/paste/fidus_writer.js +5 -2
  27. package/dist/clipboard/paste/fidus_writer.js.map +1 -1
  28. package/dist/clipboard/paste/general.d.ts +18 -0
  29. package/dist/clipboard/paste/general.d.ts.map +1 -0
  30. package/dist/clipboard/paste/general.js +18 -6
  31. package/dist/clipboard/paste/general.js.map +1 -1
  32. package/dist/clipboard/paste/google_docs.d.ts +6 -0
  33. package/dist/clipboard/paste/google_docs.d.ts.map +1 -0
  34. package/dist/clipboard/paste/google_docs.js +3 -2
  35. package/dist/clipboard/paste/google_docs.js.map +1 -1
  36. package/dist/clipboard/paste/html.d.ts +22 -0
  37. package/dist/clipboard/paste/html.d.ts.map +1 -0
  38. package/dist/clipboard/paste/html.js +15 -0
  39. package/dist/clipboard/paste/html.js.map +1 -1
  40. package/dist/clipboard/paste/index.d.ts +3 -0
  41. package/dist/clipboard/paste/index.d.ts.map +1 -0
  42. package/dist/clipboard/paste/index.js.map +1 -1
  43. package/dist/clipboard/paste/libreoffice_writer.d.ts +5 -0
  44. package/dist/clipboard/paste/libreoffice_writer.d.ts.map +1 -0
  45. package/dist/clipboard/paste/libreoffice_writer.js +2 -2
  46. package/dist/clipboard/paste/libreoffice_writer.js.map +1 -1
  47. package/dist/clipboard/paste/microsoft_word.d.ts +7 -0
  48. package/dist/clipboard/paste/microsoft_word.d.ts.map +1 -0
  49. package/dist/clipboard/paste/microsoft_word.js +13 -14
  50. package/dist/clipboard/paste/microsoft_word.js.map +1 -1
  51. package/dist/clipboard/paste/text.d.ts +11 -0
  52. package/dist/clipboard/paste/text.d.ts.map +1 -0
  53. package/dist/clipboard/paste/text.js +5 -3
  54. package/dist/clipboard/paste/text.js.map +1 -1
  55. package/dist/collab/chat.d.ts +24 -0
  56. package/dist/collab/chat.d.ts.map +1 -0
  57. package/dist/collab/chat.js +46 -16
  58. package/dist/collab/chat.js.map +1 -1
  59. package/dist/collab/colors.d.ts +16 -0
  60. package/dist/collab/colors.d.ts.map +1 -0
  61. package/dist/collab/colors.js +6 -0
  62. package/dist/collab/colors.js.map +1 -1
  63. package/dist/collab/doc.d.ts +147 -0
  64. package/dist/collab/doc.d.ts.map +1 -0
  65. package/dist/collab/doc.js +77 -42
  66. package/dist/collab/doc.js.map +1 -1
  67. package/dist/collab/index.d.ts +23 -0
  68. package/dist/collab/index.d.ts.map +1 -0
  69. package/dist/collab/index.js +14 -3
  70. package/dist/collab/index.js.map +1 -1
  71. package/dist/collab/merge/changeset.d.ts +23 -0
  72. package/dist/collab/merge/changeset.d.ts.map +1 -0
  73. package/dist/collab/merge/changeset.js +5 -4
  74. package/dist/collab/merge/changeset.js.map +1 -1
  75. package/dist/collab/merge/editor.d.ts +53 -0
  76. package/dist/collab/merge/editor.d.ts.map +1 -0
  77. package/dist/collab/merge/editor.js +62 -35
  78. package/dist/collab/merge/editor.js.map +1 -1
  79. package/dist/collab/merge/footnotes.d.ts +26 -0
  80. package/dist/collab/merge/footnotes.d.ts.map +1 -0
  81. package/dist/collab/merge/footnotes.js +14 -5
  82. package/dist/collab/merge/footnotes.js.map +1 -1
  83. package/dist/collab/merge/index.d.ts +32 -0
  84. package/dist/collab/merge/index.d.ts.map +1 -0
  85. package/dist/collab/merge/index.js +38 -26
  86. package/dist/collab/merge/index.js.map +1 -1
  87. package/dist/collab/merge/recreate_transform.d.ts +4 -0
  88. package/dist/collab/merge/recreate_transform.d.ts.map +1 -0
  89. package/dist/collab/merge/recreate_transform.js +25 -5
  90. package/dist/collab/merge/recreate_transform.js.map +1 -1
  91. package/dist/collab/merge/schema.d.ts +4 -0
  92. package/dist/collab/merge/schema.d.ts.map +1 -0
  93. package/dist/collab/merge/schema.js +35 -26
  94. package/dist/collab/merge/schema.js.map +1 -1
  95. package/dist/collab/merge/state_plugins/action.d.ts +16 -0
  96. package/dist/collab/merge/state_plugins/action.d.ts.map +1 -0
  97. package/dist/collab/merge/state_plugins/action.js +4 -5
  98. package/dist/collab/merge/state_plugins/action.js.map +1 -1
  99. package/dist/collab/merge/state_plugins/clipboard.d.ts +6 -0
  100. package/dist/collab/merge/state_plugins/clipboard.d.ts.map +1 -0
  101. package/dist/collab/merge/state_plugins/clipboard.js +1 -1
  102. package/dist/collab/merge/state_plugins/clipboard.js.map +1 -1
  103. package/dist/collab/merge/state_plugins/diff.d.ts +32 -0
  104. package/dist/collab/merge/state_plugins/diff.d.ts.map +1 -0
  105. package/dist/collab/merge/state_plugins/diff.js +108 -84
  106. package/dist/collab/merge/state_plugins/diff.js.map +1 -1
  107. package/dist/collab/merge/state_plugins/index.d.ts +3 -0
  108. package/dist/collab/merge/state_plugins/index.d.ts.map +1 -0
  109. package/dist/collab/merge/state_plugins/index.js.map +1 -1
  110. package/dist/collab/merge/tools.d.ts +11 -0
  111. package/dist/collab/merge/tools.d.ts.map +1 -0
  112. package/dist/collab/merge/tools.js +16 -14
  113. package/dist/collab/merge/tools.js.map +1 -1
  114. package/dist/collab/templates.d.ts +14 -0
  115. package/dist/collab/templates.d.ts.map +1 -0
  116. package/dist/collab/templates.js +1 -1
  117. package/dist/collab/templates.js.map +1 -1
  118. package/dist/comments/comment.d.ts +29 -0
  119. package/dist/comments/comment.d.ts.map +1 -0
  120. package/dist/comments/comment.js +12 -0
  121. package/dist/comments/comment.js.map +1 -1
  122. package/dist/comments/editors/answer.d.ts +14 -0
  123. package/dist/comments/editors/answer.d.ts.map +1 -0
  124. package/dist/comments/editors/answer.js +5 -3
  125. package/dist/comments/editors/answer.js.map +1 -1
  126. package/dist/comments/editors/comment.d.ts +65 -0
  127. package/dist/comments/editors/comment.d.ts.map +1 -0
  128. package/dist/comments/editors/comment.js +43 -14
  129. package/dist/comments/editors/comment.js.map +1 -1
  130. package/dist/comments/editors/index.d.ts +4 -0
  131. package/dist/comments/editors/index.d.ts.map +1 -0
  132. package/dist/comments/editors/index.js.map +1 -1
  133. package/dist/comments/editors/notify.d.ts +3 -0
  134. package/dist/comments/editors/notify.d.ts.map +1 -0
  135. package/dist/comments/editors/notify.js.map +1 -1
  136. package/dist/comments/editors/schema.d.ts +12 -0
  137. package/dist/comments/editors/schema.d.ts.map +1 -0
  138. package/dist/comments/editors/schema.js +5 -5
  139. package/dist/comments/editors/schema.js.map +1 -1
  140. package/dist/comments/index.d.ts +10 -0
  141. package/dist/comments/index.d.ts.map +1 -0
  142. package/dist/comments/index.js +5 -2
  143. package/dist/comments/index.js.map +1 -1
  144. package/dist/comments/interactions.d.ts +49 -0
  145. package/dist/comments/interactions.d.ts.map +1 -0
  146. package/dist/comments/interactions.js +33 -18
  147. package/dist/comments/interactions.js.map +1 -1
  148. package/dist/comments/store.d.ts +59 -0
  149. package/dist/comments/store.d.ts.map +1 -0
  150. package/dist/comments/store.js +36 -16
  151. package/dist/comments/store.js.map +1 -1
  152. package/dist/contacts/add_dialog.d.ts +7 -0
  153. package/dist/contacts/add_dialog.d.ts.map +1 -0
  154. package/dist/contacts/add_dialog.js +25 -26
  155. package/dist/contacts/add_dialog.js.map +1 -1
  156. package/dist/contacts/templates.d.ts +12 -0
  157. package/dist/contacts/templates.d.ts.map +1 -0
  158. package/dist/contacts/templates.js +3 -2
  159. package/dist/contacts/templates.js.map +1 -1
  160. package/dist/copyright_dialog/index.d.ts +25 -0
  161. package/dist/copyright_dialog/index.d.ts.map +1 -0
  162. package/dist/copyright_dialog/index.js +34 -26
  163. package/dist/copyright_dialog/index.js.map +1 -1
  164. package/dist/copyright_dialog/templates.d.ts +17 -0
  165. package/dist/copyright_dialog/templates.d.ts.map +1 -0
  166. package/dist/copyright_dialog/templates.js.map +1 -1
  167. package/dist/databases/bibliography.d.ts +42 -0
  168. package/dist/databases/bibliography.d.ts.map +1 -0
  169. package/dist/databases/bibliography.js +24 -9
  170. package/dist/databases/bibliography.js.map +1 -1
  171. package/dist/databases/images.d.ts +66 -0
  172. package/dist/databases/images.d.ts.map +1 -0
  173. package/dist/databases/images.js +19 -9
  174. package/dist/databases/images.js.map +1 -1
  175. package/dist/databases/index.d.ts +26 -0
  176. package/dist/databases/index.d.ts.map +1 -0
  177. package/dist/databases/index.js +9 -8
  178. package/dist/databases/index.js.map +1 -1
  179. package/dist/dialogs/citation.d.ts +58 -0
  180. package/dist/dialogs/citation.d.ts.map +1 -0
  181. package/dist/dialogs/citation.js +48 -25
  182. package/dist/dialogs/citation.js.map +1 -1
  183. package/dist/dialogs/code_block.d.ts +25 -0
  184. package/dist/dialogs/code_block.d.ts.map +1 -0
  185. package/dist/dialogs/code_block.js +32 -11
  186. package/dist/dialogs/code_block.js.map +1 -1
  187. package/dist/dialogs/contributor.d.ts +13 -0
  188. package/dist/dialogs/contributor.d.ts.map +1 -0
  189. package/dist/dialogs/contributor.js +17 -20
  190. package/dist/dialogs/contributor.js.map +1 -1
  191. package/dist/dialogs/figure.d.ts +51 -0
  192. package/dist/dialogs/figure.d.ts.map +1 -0
  193. package/dist/dialogs/figure.js +123 -81
  194. package/dist/dialogs/figure.js.map +1 -1
  195. package/dist/dialogs/index.d.ts +11 -0
  196. package/dist/dialogs/index.d.ts.map +1 -0
  197. package/dist/dialogs/index.js.map +1 -1
  198. package/dist/dialogs/language.d.ts +10 -0
  199. package/dist/dialogs/language.d.ts.map +1 -0
  200. package/dist/dialogs/language.js +4 -1
  201. package/dist/dialogs/language.js.map +1 -1
  202. package/dist/dialogs/link.d.ts +30 -0
  203. package/dist/dialogs/link.d.ts.map +1 -0
  204. package/dist/dialogs/link.js +27 -15
  205. package/dist/dialogs/link.js.map +1 -1
  206. package/dist/dialogs/math.d.ts +22 -0
  207. package/dist/dialogs/math.d.ts.map +1 -0
  208. package/dist/dialogs/math.js +27 -14
  209. package/dist/dialogs/math.js.map +1 -1
  210. package/dist/dialogs/ordered_list.d.ts +22 -0
  211. package/dist/dialogs/ordered_list.d.ts.map +1 -0
  212. package/dist/dialogs/ordered_list.js +12 -5
  213. package/dist/dialogs/ordered_list.js.map +1 -1
  214. package/dist/dialogs/revision.d.ts +8 -0
  215. package/dist/dialogs/revision.d.ts.map +1 -0
  216. package/dist/dialogs/revision.js +2 -0
  217. package/dist/dialogs/revision.js.map +1 -1
  218. package/dist/dialogs/subsup.d.ts +5 -0
  219. package/dist/dialogs/subsup.d.ts.map +1 -0
  220. package/dist/dialogs/subsup.js +3 -3
  221. package/dist/dialogs/subsup.js.map +1 -1
  222. package/dist/dialogs/table.d.ts +33 -0
  223. package/dist/dialogs/table.d.ts.map +1 -0
  224. package/dist/dialogs/table.js +43 -21
  225. package/dist/dialogs/table.js.map +1 -1
  226. package/dist/dialogs/templates.d.ts +85 -0
  227. package/dist/dialogs/templates.d.ts.map +1 -0
  228. package/dist/dialogs/templates.js +8 -8
  229. package/dist/dialogs/templates.js.map +1 -1
  230. package/dist/document_template/exporter.d.ts +23 -0
  231. package/dist/document_template/exporter.d.ts.map +1 -0
  232. package/dist/document_template/exporter.js +14 -5
  233. package/dist/document_template/exporter.js.map +1 -1
  234. package/dist/document_template/index.d.ts +35 -0
  235. package/dist/document_template/index.d.ts.map +1 -0
  236. package/dist/document_template/index.js +61 -53
  237. package/dist/document_template/index.js.map +1 -1
  238. package/dist/document_template/schema.d.ts +13 -0
  239. package/dist/document_template/schema.d.ts.map +1 -0
  240. package/dist/document_template/schema.js +2 -2
  241. package/dist/document_template/schema.js.map +1 -1
  242. package/dist/documents/access_rights/index.d.ts +85 -0
  243. package/dist/documents/access_rights/index.d.ts.map +1 -0
  244. package/dist/documents/access_rights/index.js +96 -60
  245. package/dist/documents/access_rights/index.js.map +1 -1
  246. package/dist/documents/access_rights/templates.d.ts +47 -0
  247. package/dist/documents/access_rights/templates.d.ts.map +1 -0
  248. package/dist/documents/access_rights/templates.js.map +1 -1
  249. package/dist/e2ee/snapshot-manager.d.ts +120 -0
  250. package/dist/e2ee/snapshot-manager.d.ts.map +1 -0
  251. package/dist/e2ee/snapshot-manager.js +27 -38
  252. package/dist/e2ee/snapshot-manager.js.map +1 -1
  253. package/dist/exporter/native/copy.d.ts +16 -0
  254. package/dist/exporter/native/copy.d.ts.map +1 -0
  255. package/dist/exporter/native/copy.js +51 -35
  256. package/dist/exporter/native/copy.js.map +1 -1
  257. package/dist/exporter/native/file.d.ts +6 -0
  258. package/dist/exporter/native/file.d.ts.map +1 -0
  259. package/dist/exporter/native/file.js +1 -1
  260. package/dist/exporter/native/file.js.map +1 -1
  261. package/dist/exporter/native/index.d.ts +4 -0
  262. package/dist/exporter/native/index.d.ts.map +1 -0
  263. package/dist/exporter/native/index.js.map +1 -1
  264. package/dist/exporter/native/revision.d.ts +8 -0
  265. package/dist/exporter/native/revision.d.ts.map +1 -0
  266. package/dist/exporter/native/revision.js +2 -2
  267. package/dist/exporter/native/revision.js.map +1 -1
  268. package/dist/exporter/native/zip.d.ts +2 -0
  269. package/dist/exporter/native/zip.d.ts.map +1 -0
  270. package/dist/exporter/native/zip.js.map +1 -1
  271. package/dist/footnotes/editor.d.ts +25 -0
  272. package/dist/footnotes/editor.d.ts.map +1 -0
  273. package/dist/footnotes/editor.js +5 -3
  274. package/dist/footnotes/editor.js.map +1 -1
  275. package/dist/footnotes/index.d.ts +11 -0
  276. package/dist/footnotes/index.d.ts.map +1 -0
  277. package/dist/footnotes/index.js +5 -2
  278. package/dist/footnotes/index.js.map +1 -1
  279. package/dist/footnotes/layout.d.ts +15 -0
  280. package/dist/footnotes/layout.d.ts.map +1 -0
  281. package/dist/footnotes/layout.js +26 -17
  282. package/dist/footnotes/layout.js.map +1 -1
  283. package/dist/footnotes/state_plugins/access_rights.d.ts +6 -0
  284. package/dist/footnotes/state_plugins/access_rights.d.ts.map +1 -0
  285. package/dist/footnotes/state_plugins/access_rights.js +1 -1
  286. package/dist/footnotes/state_plugins/access_rights.js.map +1 -1
  287. package/dist/footnotes/state_plugins/index.d.ts +2 -0
  288. package/dist/footnotes/state_plugins/index.d.ts.map +1 -0
  289. package/dist/footnotes/state_plugins/index.js.map +1 -1
  290. package/dist/images/edit_dialog/model.d.ts +4 -0
  291. package/dist/images/edit_dialog/model.d.ts.map +1 -0
  292. package/dist/images/edit_dialog/model.js.map +1 -1
  293. package/dist/index.d.ts +74 -0
  294. package/dist/index.d.ts.map +1 -0
  295. package/dist/index.js +88 -60
  296. package/dist/index.js.map +1 -1
  297. package/dist/keymap.d.ts +5 -0
  298. package/dist/keymap.d.ts.map +1 -0
  299. package/dist/keymap.js +1 -1
  300. package/dist/keymap.js.map +1 -1
  301. package/dist/marginboxes/index.d.ts +107 -0
  302. package/dist/marginboxes/index.d.ts.map +1 -0
  303. package/dist/marginboxes/index.js +165 -88
  304. package/dist/marginboxes/index.js.map +1 -1
  305. package/dist/marginboxes/templates.d.ts +118 -0
  306. package/dist/marginboxes/templates.d.ts.map +1 -0
  307. package/dist/marginboxes/templates.js +25 -24
  308. package/dist/marginboxes/templates.js.map +1 -1
  309. package/dist/menus/code_block/index.d.ts +2 -0
  310. package/dist/menus/code_block/index.d.ts.map +1 -0
  311. package/dist/menus/code_block/index.js.map +1 -1
  312. package/dist/menus/code_block/model.d.ts +14 -0
  313. package/dist/menus/code_block/model.d.ts.map +1 -0
  314. package/dist/menus/code_block/model.js +5 -4
  315. package/dist/menus/code_block/model.js.map +1 -1
  316. package/dist/menus/figure/index.d.ts +3 -0
  317. package/dist/menus/figure/index.d.ts.map +1 -0
  318. package/dist/menus/figure/index.js.map +1 -1
  319. package/dist/menus/figure/model.d.ts +32 -0
  320. package/dist/menus/figure/model.d.ts.map +1 -0
  321. package/dist/menus/figure/model.js +11 -12
  322. package/dist/menus/figure/model.js.map +1 -1
  323. package/dist/menus/figure/utils.d.ts +3 -0
  324. package/dist/menus/figure/utils.d.ts.map +1 -0
  325. package/dist/menus/figure/utils.js +4 -1
  326. package/dist/menus/figure/utils.js.map +1 -1
  327. package/dist/menus/headerbar/index.d.ts +3 -0
  328. package/dist/menus/headerbar/index.d.ts.map +1 -0
  329. package/dist/menus/headerbar/index.js.map +1 -1
  330. package/dist/menus/headerbar/model.d.ts +192 -0
  331. package/dist/menus/headerbar/model.d.ts.map +1 -0
  332. package/dist/menus/headerbar/model.js +141 -110
  333. package/dist/menus/headerbar/model.js.map +1 -1
  334. package/dist/menus/headerbar/view.d.ts +89 -0
  335. package/dist/menus/headerbar/view.d.ts.map +1 -0
  336. package/dist/menus/headerbar/view.js +76 -45
  337. package/dist/menus/headerbar/view.js.map +1 -1
  338. package/dist/menus/image/index.d.ts +2 -0
  339. package/dist/menus/image/index.d.ts.map +1 -0
  340. package/dist/menus/image/index.js.map +1 -1
  341. package/dist/menus/image/model.d.ts +18 -0
  342. package/dist/menus/image/model.d.ts.map +1 -0
  343. package/dist/menus/image/model.js +2 -2
  344. package/dist/menus/image/model.js.map +1 -1
  345. package/dist/menus/index.d.ts +10 -0
  346. package/dist/menus/index.d.ts.map +1 -0
  347. package/dist/menus/index.js.map +1 -1
  348. package/dist/menus/navigator/index.d.ts +2 -0
  349. package/dist/menus/navigator/index.d.ts.map +1 -0
  350. package/dist/menus/navigator/index.js.map +1 -1
  351. package/dist/menus/navigator/model.d.ts +9 -0
  352. package/dist/menus/navigator/model.d.ts.map +1 -0
  353. package/dist/menus/navigator/model.js.map +1 -1
  354. package/dist/menus/ordered_list/index.d.ts +2 -0
  355. package/dist/menus/ordered_list/index.d.ts.map +1 -0
  356. package/dist/menus/ordered_list/index.js.map +1 -1
  357. package/dist/menus/ordered_list/model.d.ts +11 -0
  358. package/dist/menus/ordered_list/model.d.ts.map +1 -0
  359. package/dist/menus/ordered_list/model.js +1 -1
  360. package/dist/menus/ordered_list/model.js.map +1 -1
  361. package/dist/menus/selection/index.d.ts +3 -0
  362. package/dist/menus/selection/index.d.ts.map +1 -0
  363. package/dist/menus/selection/index.js.map +1 -1
  364. package/dist/menus/selection/model.d.ts +16 -0
  365. package/dist/menus/selection/model.d.ts.map +1 -0
  366. package/dist/menus/selection/model.js +18 -16
  367. package/dist/menus/selection/model.js.map +1 -1
  368. package/dist/menus/selection/view.d.ts +49 -0
  369. package/dist/menus/selection/view.d.ts.map +1 -0
  370. package/dist/menus/selection/view.js +33 -18
  371. package/dist/menus/selection/view.js.map +1 -1
  372. package/dist/menus/table/index.d.ts +2 -0
  373. package/dist/menus/table/index.d.ts.map +1 -0
  374. package/dist/menus/table/index.js.map +1 -1
  375. package/dist/menus/table/model.d.ts +39 -0
  376. package/dist/menus/table/model.d.ts.map +1 -0
  377. package/dist/menus/table/model.js +53 -50
  378. package/dist/menus/table/model.js.map +1 -1
  379. package/dist/menus/toolbar/index.d.ts +3 -0
  380. package/dist/menus/toolbar/index.d.ts.map +1 -0
  381. package/dist/menus/toolbar/index.js.map +1 -1
  382. package/dist/menus/toolbar/model.d.ts +125 -0
  383. package/dist/menus/toolbar/model.d.ts.map +1 -0
  384. package/dist/menus/toolbar/model.js +160 -140
  385. package/dist/menus/toolbar/model.js.map +1 -1
  386. package/dist/menus/toolbar/view.d.ts +72 -0
  387. package/dist/menus/toolbar/view.d.ts.map +1 -0
  388. package/dist/menus/toolbar/view.js +61 -36
  389. package/dist/menus/toolbar/view.js.map +1 -1
  390. package/dist/navigator/index.d.ts +38 -0
  391. package/dist/navigator/index.d.ts.map +1 -0
  392. package/dist/navigator/index.js +42 -21
  393. package/dist/navigator/index.js.map +1 -1
  394. package/dist/no_collab_save/index.d.ts +20 -0
  395. package/dist/no_collab_save/index.d.ts.map +1 -0
  396. package/dist/no_collab_save/index.js +20 -11
  397. package/dist/no_collab_save/index.js.map +1 -1
  398. package/dist/plugins/citation_dialog/index.d.ts +2 -0
  399. package/dist/plugins/citation_dialog/index.d.ts.map +1 -0
  400. package/dist/plugins/citation_dialog/index.js.map +1 -1
  401. package/dist/plugins/editor/index.d.ts +2 -0
  402. package/dist/plugins/editor/index.d.ts.map +1 -0
  403. package/dist/plugins/editor/index.js.map +1 -1
  404. package/dist/state_plugins/access_rights.d.ts +6 -0
  405. package/dist/state_plugins/access_rights.d.ts.map +1 -0
  406. package/dist/state_plugins/access_rights.js +5 -3
  407. package/dist/state_plugins/access_rights.js.map +1 -1
  408. package/dist/state_plugins/citation_render.d.ts +9 -0
  409. package/dist/state_plugins/citation_render.d.ts.map +1 -0
  410. package/dist/state_plugins/citation_render.js +12 -43
  411. package/dist/state_plugins/citation_render.js.map +1 -1
  412. package/dist/state_plugins/clipboard.d.ts +12 -0
  413. package/dist/state_plugins/clipboard.d.ts.map +1 -0
  414. package/dist/state_plugins/clipboard.js +13 -11
  415. package/dist/state_plugins/clipboard.js.map +1 -1
  416. package/dist/state_plugins/code_block.d.ts +6 -0
  417. package/dist/state_plugins/code_block.d.ts.map +1 -0
  418. package/dist/state_plugins/code_block.js +23 -9
  419. package/dist/state_plugins/code_block.js.map +1 -1
  420. package/dist/state_plugins/collab_carets.d.ts +26 -0
  421. package/dist/state_plugins/collab_carets.d.ts.map +1 -0
  422. package/dist/state_plugins/collab_carets.js +24 -16
  423. package/dist/state_plugins/collab_carets.js.map +1 -1
  424. package/dist/state_plugins/comments.d.ts +15 -0
  425. package/dist/state_plugins/comments.d.ts.map +1 -0
  426. package/dist/state_plugins/comments.js +26 -21
  427. package/dist/state_plugins/comments.js.map +1 -1
  428. package/dist/state_plugins/contributor_input/dropup.d.ts +17 -0
  429. package/dist/state_plugins/contributor_input/dropup.d.ts.map +1 -0
  430. package/dist/state_plugins/contributor_input/dropup.js +19 -20
  431. package/dist/state_plugins/contributor_input/dropup.js.map +1 -1
  432. package/dist/state_plugins/contributor_input/index.d.ts +3 -0
  433. package/dist/state_plugins/contributor_input/index.d.ts.map +1 -0
  434. package/dist/state_plugins/contributor_input/index.js.map +1 -1
  435. package/dist/state_plugins/contributor_input/node_view.d.ts +7 -0
  436. package/dist/state_plugins/contributor_input/node_view.d.ts.map +1 -0
  437. package/dist/state_plugins/contributor_input/node_view.js.map +1 -1
  438. package/dist/state_plugins/contributor_input/plugin.d.ts +19 -0
  439. package/dist/state_plugins/contributor_input/plugin.d.ts.map +1 -0
  440. package/dist/state_plugins/contributor_input/plugin.js +14 -45
  441. package/dist/state_plugins/contributor_input/plugin.js.map +1 -1
  442. package/dist/state_plugins/document_template.d.ts +33 -0
  443. package/dist/state_plugins/document_template.d.ts.map +1 -0
  444. package/dist/state_plugins/document_template.js +34 -15
  445. package/dist/state_plugins/document_template.js.map +1 -1
  446. package/dist/state_plugins/figure.d.ts +6 -0
  447. package/dist/state_plugins/figure.d.ts.map +1 -0
  448. package/dist/state_plugins/figure.js +26 -8
  449. package/dist/state_plugins/figure.js.map +1 -1
  450. package/dist/state_plugins/footnote_markers.d.ts +15 -0
  451. package/dist/state_plugins/footnote_markers.d.ts.map +1 -0
  452. package/dist/state_plugins/footnote_markers.js +72 -153
  453. package/dist/state_plugins/footnote_markers.js.map +1 -1
  454. package/dist/state_plugins/headerbar.d.ts +6 -0
  455. package/dist/state_plugins/headerbar.d.ts.map +1 -0
  456. package/dist/state_plugins/headerbar.js +1 -1
  457. package/dist/state_plugins/headerbar.js.map +1 -1
  458. package/dist/state_plugins/index.d.ts +28 -0
  459. package/dist/state_plugins/index.d.ts.map +1 -0
  460. package/dist/state_plugins/index.js +13 -12
  461. package/dist/state_plugins/index.js.map +1 -1
  462. package/dist/state_plugins/inline_math.d.ts +6 -0
  463. package/dist/state_plugins/inline_math.d.ts.map +1 -0
  464. package/dist/state_plugins/inline_math.js +28 -19
  465. package/dist/state_plugins/inline_math.js.map +1 -1
  466. package/dist/state_plugins/inline_reference/dropup.d.ts +62 -0
  467. package/dist/state_plugins/inline_reference/dropup.d.ts.map +1 -0
  468. package/dist/state_plugins/inline_reference/dropup.js +17 -17
  469. package/dist/state_plugins/inline_reference/dropup.js.map +1 -1
  470. package/dist/state_plugins/inline_reference/index.d.ts +2 -0
  471. package/dist/state_plugins/inline_reference/index.d.ts.map +1 -0
  472. package/dist/state_plugins/inline_reference/index.js.map +1 -1
  473. package/dist/state_plugins/inline_reference/plugin.d.ts +35 -0
  474. package/dist/state_plugins/inline_reference/plugin.d.ts.map +1 -0
  475. package/dist/state_plugins/inline_reference/plugin.js +68 -55
  476. package/dist/state_plugins/inline_reference/plugin.js.map +1 -1
  477. package/dist/state_plugins/jump_hidden_nodes.d.ts +5 -0
  478. package/dist/state_plugins/jump_hidden_nodes.d.ts.map +1 -0
  479. package/dist/state_plugins/jump_hidden_nodes.js +35 -22
  480. package/dist/state_plugins/jump_hidden_nodes.js.map +1 -1
  481. package/dist/state_plugins/links.d.ts +11 -0
  482. package/dist/state_plugins/links.d.ts.map +1 -0
  483. package/dist/state_plugins/links.js +39 -25
  484. package/dist/state_plugins/links.js.map +1 -1
  485. package/dist/state_plugins/marginboxes.d.ts +6 -0
  486. package/dist/state_plugins/marginboxes.d.ts.map +1 -0
  487. package/dist/state_plugins/marginboxes.js +2 -1
  488. package/dist/state_plugins/marginboxes.js.map +1 -1
  489. package/dist/state_plugins/ordered_list_menu.d.ts +6 -0
  490. package/dist/state_plugins/ordered_list_menu.d.ts.map +1 -0
  491. package/dist/state_plugins/ordered_list_menu.js +20 -6
  492. package/dist/state_plugins/ordered_list_menu.js.map +1 -1
  493. package/dist/state_plugins/placeholders.d.ts +6 -0
  494. package/dist/state_plugins/placeholders.d.ts.map +1 -0
  495. package/dist/state_plugins/placeholders.js +18 -54
  496. package/dist/state_plugins/placeholders.js.map +1 -1
  497. package/dist/state_plugins/search.d.ts +34 -0
  498. package/dist/state_plugins/search.d.ts.map +1 -0
  499. package/dist/state_plugins/search.js +31 -27
  500. package/dist/state_plugins/search.js.map +1 -1
  501. package/dist/state_plugins/selection_menu.d.ts +6 -0
  502. package/dist/state_plugins/selection_menu.d.ts.map +1 -0
  503. package/dist/state_plugins/selection_menu.js +1 -1
  504. package/dist/state_plugins/selection_menu.js.map +1 -1
  505. package/dist/state_plugins/settings.d.ts +8 -0
  506. package/dist/state_plugins/settings.d.ts.map +1 -0
  507. package/dist/state_plugins/settings.js +31 -21
  508. package/dist/state_plugins/settings.js.map +1 -1
  509. package/dist/state_plugins/table.d.ts +6 -0
  510. package/dist/state_plugins/table.d.ts.map +1 -0
  511. package/dist/state_plugins/table.js +33 -13
  512. package/dist/state_plugins/table.js.map +1 -1
  513. package/dist/state_plugins/tag_input/index.d.ts +3 -0
  514. package/dist/state_plugins/tag_input/index.d.ts.map +1 -0
  515. package/dist/state_plugins/tag_input/index.js.map +1 -1
  516. package/dist/state_plugins/tag_input/node_view.d.ts +7 -0
  517. package/dist/state_plugins/tag_input/node_view.d.ts.map +1 -0
  518. package/dist/state_plugins/tag_input/node_view.js.map +1 -1
  519. package/dist/state_plugins/tag_input/plugin.d.ts +14 -0
  520. package/dist/state_plugins/tag_input/plugin.d.ts.map +1 -0
  521. package/dist/state_plugins/tag_input/plugin.js +7 -6
  522. package/dist/state_plugins/tag_input/plugin.js.map +1 -1
  523. package/dist/state_plugins/toc_render.d.ts +6 -0
  524. package/dist/state_plugins/toc_render.d.ts.map +1 -0
  525. package/dist/state_plugins/toc_render.js +59 -96
  526. package/dist/state_plugins/toc_render.js.map +1 -1
  527. package/dist/state_plugins/toolbar.d.ts +6 -0
  528. package/dist/state_plugins/toolbar.d.ts.map +1 -0
  529. package/dist/state_plugins/toolbar.js +1 -1
  530. package/dist/state_plugins/toolbar.js.map +1 -1
  531. package/dist/state_plugins/track/find_selected_changes.d.ts +13 -0
  532. package/dist/state_plugins/track/find_selected_changes.d.ts.map +1 -0
  533. package/dist/state_plugins/track/find_selected_changes.js +4 -3
  534. package/dist/state_plugins/track/find_selected_changes.js.map +1 -1
  535. package/dist/state_plugins/track/helpers.d.ts +29 -0
  536. package/dist/state_plugins/track/helpers.d.ts.map +1 -0
  537. package/dist/state_plugins/track/helpers.js +9 -3
  538. package/dist/state_plugins/track/helpers.js.map +1 -1
  539. package/dist/state_plugins/track/index.d.ts +3 -0
  540. package/dist/state_plugins/track/index.d.ts.map +1 -0
  541. package/dist/state_plugins/track/index.js.map +1 -1
  542. package/dist/state_plugins/track/plugin.d.ts +14 -0
  543. package/dist/state_plugins/track/plugin.d.ts.map +1 -0
  544. package/dist/state_plugins/track/plugin.js +10 -6
  545. package/dist/state_plugins/track/plugin.js.map +1 -1
  546. package/dist/tools/index.d.ts +4 -0
  547. package/dist/tools/index.d.ts.map +1 -0
  548. package/dist/tools/index.js.map +1 -1
  549. package/dist/tools/key_bindings/index.d.ts +7 -0
  550. package/dist/tools/key_bindings/index.d.ts.map +1 -0
  551. package/dist/tools/key_bindings/index.js +1 -3
  552. package/dist/tools/key_bindings/index.js.map +1 -1
  553. package/dist/tools/key_bindings/templates.d.ts +2 -0
  554. package/dist/tools/key_bindings/templates.d.ts.map +1 -0
  555. package/dist/tools/key_bindings/templates.js.map +1 -1
  556. package/dist/tools/search_replace/index.d.ts +28 -0
  557. package/dist/tools/search_replace/index.d.ts.map +1 -0
  558. package/dist/tools/search_replace/index.js +53 -27
  559. package/dist/tools/search_replace/index.js.map +1 -1
  560. package/dist/tools/search_replace/templates.d.ts +6 -0
  561. package/dist/tools/search_replace/templates.d.ts.map +1 -0
  562. package/dist/tools/search_replace/templates.js.map +1 -1
  563. package/dist/tools/word_count/index.d.ts +15 -0
  564. package/dist/tools/word_count/index.d.ts.map +1 -0
  565. package/dist/tools/word_count/index.js +2 -1
  566. package/dist/tools/word_count/index.js.map +1 -1
  567. package/dist/tools/word_count/templates.d.ts +11 -0
  568. package/dist/tools/word_count/templates.d.ts.map +1 -0
  569. package/dist/tools/word_count/templates.js.map +1 -1
  570. package/dist/track/accept.d.ts +3 -0
  571. package/dist/track/accept.d.ts.map +1 -0
  572. package/dist/track/accept.js +10 -5
  573. package/dist/track/accept.js.map +1 -1
  574. package/dist/track/accept_all.d.ts +3 -0
  575. package/dist/track/accept_all.d.ts.map +1 -0
  576. package/dist/track/accept_all.js +2 -2
  577. package/dist/track/accept_all.js.map +1 -1
  578. package/dist/track/accept_all_no_insertions.d.ts +3 -0
  579. package/dist/track/accept_all_no_insertions.d.ts.map +1 -0
  580. package/dist/track/accept_all_no_insertions.js +2 -2
  581. package/dist/track/accept_all_no_insertions.js.map +1 -1
  582. package/dist/track/amend_transaction.d.ts +5 -0
  583. package/dist/track/amend_transaction.d.ts.map +1 -0
  584. package/dist/track/amend_transaction.js +55 -32
  585. package/dist/track/amend_transaction.js.map +1 -1
  586. package/dist/track/delete.d.ts +3 -0
  587. package/dist/track/delete.d.ts.map +1 -0
  588. package/dist/track/delete.js +4 -3
  589. package/dist/track/delete.js.map +1 -1
  590. package/dist/track/index.d.ts +6 -0
  591. package/dist/track/index.d.ts.map +1 -0
  592. package/dist/track/index.js.map +1 -1
  593. package/dist/track/mod.d.ts +10 -0
  594. package/dist/track/mod.d.ts.map +1 -0
  595. package/dist/track/mod.js +9 -5
  596. package/dist/track/mod.js.map +1 -1
  597. package/dist/track/reject.d.ts +3 -0
  598. package/dist/track/reject.d.ts.map +1 -0
  599. package/dist/track/reject.js +14 -5
  600. package/dist/track/reject.js.map +1 -1
  601. package/dist/track/reject_all.d.ts +3 -0
  602. package/dist/track/reject_all.d.ts.map +1 -0
  603. package/dist/track/reject_all.js +6 -2
  604. package/dist/track/reject_all.js.map +1 -1
  605. package/dist/types.d.ts +182 -0
  606. package/dist/types.d.ts.map +1 -0
  607. package/dist/types.js +17 -0
  608. package/dist/types.js.map +1 -0
  609. package/package.json +38 -3
  610. package/src/bibliography/{tools.js → tools.ts} +16 -5
  611. package/src/citations/{index.js → index.ts} +100 -80
  612. package/src/citations/{render.js → render.ts} +43 -15
  613. package/src/clipboard/copy/{schema.js → schema.ts} +19 -8
  614. package/src/clipboard/copy/{serializers.js → serializers.ts} +44 -32
  615. package/src/clipboard/paste/{fidus_writer.js → fidus_writer.ts} +28 -8
  616. package/src/clipboard/paste/{general.js → general.ts} +28 -13
  617. package/src/clipboard/paste/{google_docs.js → google_docs.ts} +7 -4
  618. package/src/clipboard/paste/{html.js → html.ts} +35 -8
  619. package/src/clipboard/paste/{libreoffice_writer.js → libreoffice_writer.ts} +4 -4
  620. package/src/clipboard/paste/{microsoft_word.js → microsoft_word.ts} +22 -21
  621. package/src/clipboard/paste/{text.js → text.ts} +11 -7
  622. package/src/collab/{chat.js → chat.ts} +78 -27
  623. package/src/collab/{colors.js → colors.ts} +21 -5
  624. package/src/collab/{doc.js → doc.ts} +290 -184
  625. package/src/collab/{index.js → index.ts} +47 -13
  626. package/src/collab/merge/{changeset.js → changeset.ts} +33 -20
  627. package/src/collab/merge/{editor.js → editor.ts} +211 -107
  628. package/src/collab/merge/{footnotes.js → footnotes.ts} +43 -22
  629. package/src/collab/merge/{index.js → index.ts} +147 -70
  630. package/src/collab/merge/{recreate_transform.js → recreate_transform.ts} +60 -29
  631. package/src/collab/merge/{schema.js → schema.ts} +55 -35
  632. package/src/collab/merge/state_plugins/{action.js → action.ts} +65 -27
  633. package/src/collab/merge/state_plugins/{clipboard.js → clipboard.ts} +13 -3
  634. package/src/collab/merge/state_plugins/{diff.js → diff.ts} +279 -168
  635. package/src/collab/merge/{tools.js → tools.ts} +57 -27
  636. package/src/collab/{templates.js → templates.ts} +17 -2
  637. package/src/comments/{comment.js → comment.ts} +26 -0
  638. package/src/comments/editors/{answer.js → answer.ts} +27 -12
  639. package/src/comments/editors/{comment.js → comment.ts} +112 -36
  640. package/src/comments/editors/{notify.js → notify.ts} +6 -1
  641. package/src/comments/editors/{schema.js → schema.ts} +9 -8
  642. package/src/comments/index.ts +16 -0
  643. package/src/comments/{interactions.js → interactions.ts} +150 -89
  644. package/src/comments/{store.js → store.ts} +149 -73
  645. package/src/contacts/{add_dialog.js → add_dialog.ts} +50 -37
  646. package/src/contacts/{templates.js → templates.ts} +9 -3
  647. package/src/copyright_dialog/{index.js → index.ts} +92 -57
  648. package/src/copyright_dialog/{templates.js → templates.ts} +18 -3
  649. package/src/databases/{bibliography.js → bibliography.ts} +62 -36
  650. package/src/databases/{images.js → images.ts} +146 -96
  651. package/src/databases/index.ts +116 -0
  652. package/src/dialogs/{citation.js → citation.ts} +191 -107
  653. package/src/dialogs/{code_block.js → code_block.ts} +75 -33
  654. package/src/dialogs/{contributor.js → contributor.ts} +74 -49
  655. package/src/dialogs/{figure.js → figure.ts} +250 -149
  656. package/src/dialogs/{language.js → language.ts} +11 -6
  657. package/src/dialogs/{link.js → link.ts} +105 -60
  658. package/src/dialogs/{math.js → math.ts} +56 -28
  659. package/src/dialogs/{ordered_list.js → ordered_list.ts} +25 -12
  660. package/src/dialogs/{revision.js → revision.ts} +13 -9
  661. package/src/dialogs/{subsup.js → subsup.ts} +9 -7
  662. package/src/dialogs/{table.js → table.ts} +129 -70
  663. package/src/dialogs/{templates.js → templates.ts} +102 -22
  664. package/src/document_template/exporter.ts +158 -0
  665. package/src/document_template/{index.js → index.ts} +158 -117
  666. package/src/document_template/{schema.js → schema.ts} +31 -28
  667. package/src/documents/access_rights/{index.js → index.ts} +240 -123
  668. package/src/documents/access_rights/{templates.js → templates.ts} +41 -5
  669. package/src/e2ee/{snapshot-manager.js → snapshot-manager.ts} +80 -49
  670. package/src/exporter/native/copy.ts +302 -0
  671. package/src/exporter/native/{file.js → file.ts} +12 -5
  672. package/src/exporter/native/{revision.js → revision.ts} +17 -9
  673. package/src/footnotes/{editor.js → editor.ts} +37 -18
  674. package/src/footnotes/index.ts +21 -0
  675. package/src/footnotes/{layout.js → layout.ts} +53 -36
  676. package/src/footnotes/state_plugins/{access_rights.js → access_rights.ts} +6 -4
  677. package/src/global.d.ts +29 -0
  678. package/src/images/edit_dialog/{model.js → model.ts} +1 -1
  679. package/src/{index.js → index.ts} +194 -132
  680. package/src/{keymap.js → keymap.ts} +36 -16
  681. package/src/marginboxes/{index.js → index.ts} +341 -171
  682. package/src/marginboxes/{templates.js → templates.ts} +236 -38
  683. package/src/menus/code_block/{model.js → model.ts} +16 -5
  684. package/src/menus/figure/{model.js → model.ts} +21 -16
  685. package/src/menus/figure/utils.ts +13 -0
  686. package/src/menus/headerbar/{model.js → model.ts} +243 -153
  687. package/src/menus/headerbar/{view.js → view.ts} +189 -92
  688. package/src/menus/image/{model.js → model.ts} +13 -4
  689. package/src/menus/navigator/{model.js → model.ts} +6 -1
  690. package/src/menus/ordered_list/{model.js → model.ts} +2 -1
  691. package/src/menus/selection/{model.js → model.ts} +38 -20
  692. package/src/menus/selection/{view.js → view.ts} +88 -35
  693. package/src/menus/table/{model.js → model.ts} +84 -63
  694. package/src/menus/toolbar/{model.js → model.ts} +267 -215
  695. package/src/menus/toolbar/{view.js → view.ts} +135 -65
  696. package/src/modules.d.ts +84 -0
  697. package/src/navigator/{index.js → index.ts} +90 -56
  698. package/src/no_collab_save/{index.js → index.ts} +54 -31
  699. package/src/state_plugins/{access_rights.js → access_rights.ts} +12 -7
  700. package/src/state_plugins/citation_render.ts +63 -0
  701. package/src/state_plugins/{clipboard.js → clipboard.ts} +38 -23
  702. package/src/state_plugins/{code_block.js → code_block.ts} +62 -28
  703. package/src/state_plugins/{collab_carets.js → collab_carets.ts} +56 -25
  704. package/src/state_plugins/{comments.js → comments.ts} +70 -40
  705. package/src/state_plugins/contributor_input/{dropup.js → dropup.ts} +70 -38
  706. package/src/state_plugins/contributor_input/{node_view.js → node_view.ts} +13 -4
  707. package/src/state_plugins/contributor_input/{plugin.js → plugin.ts} +74 -75
  708. package/src/state_plugins/{document_template.js → document_template.ts} +108 -49
  709. package/src/state_plugins/{figure.js → figure.ts} +61 -23
  710. package/src/state_plugins/footnote_markers.ts +142 -0
  711. package/src/state_plugins/{headerbar.js → headerbar.ts} +4 -2
  712. package/src/state_plugins/{index.js → index.ts} +23 -56
  713. package/src/state_plugins/{inline_math.js → inline_math.ts} +151 -65
  714. package/src/state_plugins/inline_reference/{dropup.js → dropup.ts} +68 -34
  715. package/src/state_plugins/inline_reference/{plugin.js → plugin.ts} +221 -101
  716. package/src/state_plugins/jump_hidden_nodes.ts +67 -0
  717. package/src/state_plugins/{links.js → links.ts} +153 -99
  718. package/src/state_plugins/marginboxes.ts +17 -0
  719. package/src/state_plugins/{ordered_list_menu.js → ordered_list_menu.ts} +43 -17
  720. package/src/state_plugins/placeholders.ts +78 -0
  721. package/src/state_plugins/{search.js → search.ts} +110 -48
  722. package/src/state_plugins/{selection_menu.js → selection_menu.ts} +4 -2
  723. package/src/state_plugins/{settings.js → settings.ts} +68 -39
  724. package/src/state_plugins/table.ts +169 -0
  725. package/src/state_plugins/tag_input/{node_view.js → node_view.ts} +12 -3
  726. package/src/state_plugins/tag_input/plugin.ts +292 -0
  727. package/src/state_plugins/toc_render.ts +133 -0
  728. package/src/state_plugins/{toolbar.js → toolbar.ts} +4 -2
  729. package/src/state_plugins/track/{find_selected_changes.js → find_selected_changes.ts} +34 -19
  730. package/src/state_plugins/track/{helpers.js → helpers.ts} +36 -10
  731. package/src/state_plugins/track/{plugin.js → plugin.ts} +38 -14
  732. package/src/tools/key_bindings/{index.js → index.ts} +7 -3
  733. package/src/tools/key_bindings/{templates.js → templates.ts} +1 -1
  734. package/src/tools/search_replace/{index.js → index.ts} +115 -69
  735. package/src/tools/search_replace/{templates.js → templates.ts} +6 -1
  736. package/src/tools/word_count/{index.js → index.ts} +16 -6
  737. package/src/tools/word_count/{templates.js → templates.ts} +10 -1
  738. package/src/track/{accept.js → accept.ts} +20 -9
  739. package/src/track/{accept_all.js → accept_all.ts} +27 -17
  740. package/src/track/{accept_all_no_insertions.js → accept_all_no_insertions.ts} +16 -10
  741. package/src/track/{amend_transaction.js → amend_transaction.ts} +130 -70
  742. package/src/track/{delete.js → delete.ts} +15 -12
  743. package/src/track/{mod.js → mod.ts} +51 -32
  744. package/src/track/{reject.js → reject.ts} +34 -19
  745. package/src/track/{reject_all.js → reject_all.ts} +44 -24
  746. package/src/types.ts +214 -0
  747. package/src/comments/index.js +0 -11
  748. package/src/databases/index.js +0 -69
  749. package/src/document_template/exporter.js +0 -97
  750. package/src/exporter/native/copy.js +0 -191
  751. package/src/footnotes/index.js +0 -16
  752. package/src/menus/figure/utils.js +0 -5
  753. package/src/state_plugins/citation_render.js +0 -88
  754. package/src/state_plugins/footnote_markers.js +0 -238
  755. package/src/state_plugins/jump_hidden_nodes.js +0 -58
  756. package/src/state_plugins/marginboxes.js +0 -14
  757. package/src/state_plugins/placeholders.js +0 -123
  758. package/src/state_plugins/table.js +0 -127
  759. package/src/state_plugins/tag_input/plugin.js +0 -278
  760. package/src/state_plugins/toc_render.js +0 -160
  761. /package/src/clipboard/copy/{index.js → index.ts} +0 -0
  762. /package/src/clipboard/paste/{index.js → index.ts} +0 -0
  763. /package/src/collab/merge/state_plugins/{index.js → index.ts} +0 -0
  764. /package/src/comments/editors/{index.js → index.ts} +0 -0
  765. /package/src/dialogs/{index.js → index.ts} +0 -0
  766. /package/src/exporter/native/{index.js → index.ts} +0 -0
  767. /package/src/exporter/native/{zip.js → zip.ts} +0 -0
  768. /package/src/footnotes/state_plugins/{index.js → index.ts} +0 -0
  769. /package/src/menus/code_block/{index.js → index.ts} +0 -0
  770. /package/src/menus/figure/{index.js → index.ts} +0 -0
  771. /package/src/menus/headerbar/{index.js → index.ts} +0 -0
  772. /package/src/menus/image/{index.js → index.ts} +0 -0
  773. /package/src/menus/{index.js → index.ts} +0 -0
  774. /package/src/menus/navigator/{index.js → index.ts} +0 -0
  775. /package/src/menus/ordered_list/{index.js → index.ts} +0 -0
  776. /package/src/menus/selection/{index.js → index.ts} +0 -0
  777. /package/src/menus/table/{index.js → index.ts} +0 -0
  778. /package/src/menus/toolbar/{index.js → index.ts} +0 -0
  779. /package/src/plugins/citation_dialog/{index.js → index.ts} +0 -0
  780. /package/src/plugins/editor/{index.js → index.ts} +0 -0
  781. /package/src/state_plugins/contributor_input/{index.js → index.ts} +0 -0
  782. /package/src/state_plugins/inline_reference/{index.js → index.ts} +0 -0
  783. /package/src/state_plugins/tag_input/{index.js → index.ts} +0 -0
  784. /package/src/state_plugins/track/{index.js → index.ts} +0 -0
  785. /package/src/tools/{index.js → index.ts} +0 -0
  786. /package/src/track/{index.js → index.ts} +0 -0
@@ -1,3 +1,6 @@
1
+ import {FeedbackTab} from "@fiduswriter/common"
2
+ import {getSettings} from "@fiduswriter/document/schema/convert"
3
+ import {docSchema} from "@fiduswriter/document/schema/document/index"
1
4
  import {
2
5
  Dialog,
3
6
  WebSocketConnector,
@@ -9,19 +12,9 @@ import {
9
12
  showSystemMessage,
10
13
  whenReady
11
14
  } from "fwtoolkit"
12
- import {collab, sendableSteps} from "prosemirror-collab"
13
- import {baseKeymap} from "prosemirror-commands"
14
- import {dropCursor} from "prosemirror-dropcursor"
15
- import {buildKeymap} from "prosemirror-example-setup"
16
- import {gapCursor} from "prosemirror-gapcursor"
17
- import {history} from "prosemirror-history"
18
- import {keymap} from "prosemirror-keymap"
19
- import {EditorState, TextSelection} from "prosemirror-state"
20
- import {tableEditing} from "prosemirror-tables"
21
- import {EditorView} from "prosemirror-view"
22
- import {FeedbackTab} from "@fiduswriter/common"
23
15
  import {E2EEEncryptor} from "fwtoolkit/e2ee/encryptor"
24
16
  import {E2EEKeyManager} from "fwtoolkit/e2ee/key-manager"
17
+ /* eslint-disable @typescript-eslint/no-unused-vars */
25
18
  import {
26
19
  enterPassphraseDialog,
27
20
  setupPassphraseDialog,
@@ -32,18 +25,29 @@ import {
32
25
  changePasswordDialog,
33
26
  createPasswordDialog
34
27
  } from "fwtoolkit/e2ee/password-dialog"
35
- import {E2EESnapshotManager} from "./e2ee/snapshot-manager.js"
28
+ /* eslint-enable @typescript-eslint/no-unused-vars */
29
+ import {collab, sendableSteps} from "prosemirror-collab"
30
+ import {baseKeymap} from "prosemirror-commands"
31
+ import {dropCursor} from "prosemirror-dropcursor"
32
+ import {buildKeymap} from "prosemirror-example-setup"
33
+ import {gapCursor} from "prosemirror-gapcursor"
34
+ import {history} from "prosemirror-history"
35
+ import {keymap} from "prosemirror-keymap"
36
+ import type {Schema} from "prosemirror-model"
37
+ import {EditorState, TextSelection} from "prosemirror-state"
38
+ import {tableEditing} from "prosemirror-tables"
39
+ import {EditorView} from "prosemirror-view"
36
40
 
37
- import {getSettings} from "@fiduswriter/document/schema/convert"
38
- import {docSchema} from "@fiduswriter/document/schema/document/index"
39
- import {plugins as defaultEditorPlugins} from "./plugins/editor/index.js"
40
41
  import {ModCitations} from "./citations/index.js"
41
42
  import {ModCollab} from "./collab/index.js"
42
43
  import {ModComments} from "./comments/index.js"
43
44
  import {ModDB} from "./databases/index.js"
44
45
  import {ModDocumentTemplate} from "./document_template/index.js"
46
+ import {E2EESnapshotManager} from "./e2ee/snapshot-manager.js"
47
+ import {ExportFidusFile} from "./exporter/native/file.js"
45
48
  import {ModFootnotes} from "./footnotes/index.js"
46
- import {ModMarginboxes} from "./marginboxes/index.js"
49
+ import {imageEditModel} from "./images/edit_dialog/model.js"
50
+ import {buildEditorKeymap} from "./keymap.js"
47
51
  import {
48
52
  codeBlockMenuModel,
49
53
  figureMenuModel,
@@ -56,13 +60,10 @@ import {
56
60
  tableMenuModel,
57
61
  toolbarModel
58
62
  } from "./menus/index.js"
63
+ import {ModMarginboxes} from "./marginboxes/index.js"
59
64
  import {ModNavigator} from "./navigator/index.js"
60
65
  import {NoCollabSave} from "./no_collab_save/index.js"
61
- import {ModTrack, acceptAllNoInsertions, amendTransaction} from "./track/index.js"
62
-
63
- import {ExportFidusFile} from "./exporter/native/file.js"
64
- import {imageEditModel} from "./images/edit_dialog/model.js"
65
- import {buildEditorKeymap} from "./keymap.js"
66
+ import {plugins as defaultEditorPlugins} from "./plugins/editor/index.js"
66
67
  import {
67
68
  accessRightsPlugin,
68
69
  citationRenderPlugin,
@@ -91,6 +92,8 @@ import {
91
92
  toolbarPlugin,
92
93
  trackPlugin
93
94
  } from "./state_plugins/index.js"
95
+ import {ModTrack, acceptAllNoInsertions, amendTransaction} from "./track/index.js"
96
+ import type {App, EditorUser} from "./types.js"
94
97
 
95
98
  // UUID v4 pattern for share tokens
96
99
  const uuid4Pattern =
@@ -102,17 +105,55 @@ export const REVIEW_ROLES = ["review", "review-tracked"]
102
105
  export const WRITE_ROLES = ["write", "write-tracked", "review-tracked"]
103
106
 
104
107
  export class Editor {
105
- // A class that contains everything that happens on the editor page.
106
- // It is currently not possible to initialize more than one editor class, as it
107
- // contains bindings to menu items, etc. that are uniquely defined.
108
- constructor({app, user}, path, idString, editorPlugins = defaultEditorPlugins) {
108
+ app: App
109
+ user: EditorUser
110
+ editorPlugins: any[]
111
+ citationDialogPlugins: any[] | null
112
+ mod: any
113
+ waitingForDocument: boolean
114
+ docInfo: any
115
+ schema: Schema
116
+ menu: any
117
+ client_id: number
118
+ clientTimeAdjustment: number
119
+ e2ee: any
120
+ pathEditable: boolean
121
+ statePlugins: any[]
122
+ view!: EditorView
123
+ currentView!: EditorView
124
+ ws!: {
125
+ connectionCount: number
126
+ online: boolean
127
+ connected: boolean
128
+ ws: WebSocket
129
+ init(): void
130
+ close(): void
131
+ send(data: string | (() => Record<string, unknown> | false | undefined)): void
132
+ }
133
+ dom!: HTMLElement
134
+ plugins?: Record<string, any>
135
+ noCollabSave?: NoCollabSave
136
+
137
+ constructor(
138
+ {app, user}: {app: App; user: EditorUser},
139
+ path: string,
140
+ idString: string,
141
+ editorPlugins = defaultEditorPlugins,
142
+ citationDialogPlugins = null
143
+ ) {
109
144
  this.app = app
110
145
  this.editorPlugins = editorPlugins
146
+ this.citationDialogPlugins = citationDialogPlugins
111
147
  // For unauthenticated guests, replace the bare config object with a
112
148
  // proper placeholder that has all the fields templates expect.
113
149
  this.user = user.is_authenticated
114
150
  ? user
115
- : {id: undefined, username: "", name: "", is_authenticated: false}
151
+ : ({
152
+ id: undefined,
153
+ username: "",
154
+ name: "",
155
+ is_authenticated: false
156
+ } as any)
116
157
  this.mod = {}
117
158
  // Whether the editor is currently waiting for a document update. Set to true
118
159
  // initially so that diffs that arrive before document has been loaded are not
@@ -148,7 +189,10 @@ export class Editor {
148
189
  // Provide a handler for decrypting end-to-end encrypted images. The
149
190
  // reusable document schema no longer includes E2EE code, so the main
150
191
  // app injects the decryption logic here after loading the schema.
151
- this.schema.cached.decryptImage = (imageEntry, _dom) => {
192
+ ;(this.schema as any).cached.decryptImage = (
193
+ imageEntry: {image: string; original_file_type?: string},
194
+ _dom: HTMLElement
195
+ ) => {
152
196
  const key = this.e2ee?.key
153
197
  if (!key) {
154
198
  return Promise.reject(new Error("No E2EE key available"))
@@ -222,7 +266,7 @@ export class Editor {
222
266
  ]
223
267
  }
224
268
 
225
- init() {
269
+ init(): Promise<void> {
226
270
  ensureCSS([
227
271
  staticUrl("css/libs/mathlive/mathlive.css"),
228
272
  staticUrl("css/editor.css"),
@@ -246,7 +290,7 @@ export class Editor {
246
290
  staticUrl("css/e2ee.css")
247
291
  ])
248
292
  new ModDocumentTemplate(this)
249
- const initPromises = [
293
+ const initPromises: Promise<unknown>[] = [
250
294
  whenReady(),
251
295
  this.mod.documentTemplate.getCitationStyles()
252
296
  ]
@@ -269,7 +313,7 @@ export class Editor {
269
313
  postJson("/api/document/create_doc/", {
270
314
  template_id: this.docInfo.templateId,
271
315
  path: this.docInfo.path
272
- }).then(({json}) => {
316
+ }).then(({json}: {json: any}) => {
273
317
  this.docInfo.id = json.id
274
318
  window.history.replaceState(
275
319
  "",
@@ -288,7 +332,7 @@ export class Editor {
288
332
  initPromises.push(
289
333
  postJson(
290
334
  `/api/document/share_token/validate/${this.docInfo.token}/`
291
- ).then(({json, status}) => {
335
+ ).then(({json, status}: {json: any; status: number}) => {
292
336
  if (status === 200 && json.document_id) {
293
337
  this.docInfo.id = json.document_id
294
338
  this.docInfo.access_rights = json.rights
@@ -311,7 +355,9 @@ export class Editor {
311
355
  })
312
356
  .then(() => {
313
357
  activateWait(true)
314
- const stylesPayload = {id: this.docInfo.id}
358
+ const stylesPayload: Record<string, unknown> = {
359
+ id: this.docInfo.id
360
+ }
315
361
  if (this.docInfo.token) {
316
362
  stylesPayload.token = this.docInfo.token
317
363
  }
@@ -382,12 +428,12 @@ export class Editor {
382
428
  wsPath += `?token=${this.docInfo.token}`
383
429
  }
384
430
  this.ws = new WebSocketConnector({
385
- base: wsResult.json.ws_base,
431
+ base: (wsResult.json as any).ws_base,
386
432
  path: wsPath,
387
- appLoaded: () => this.view.state.plugins.length,
388
- anythingToSend: () => sendableSteps(this.view.state),
433
+ appLoaded: () => Boolean(this.view.state.plugins.length),
434
+ anythingToSend: () => Boolean(sendableSteps(this.view.state)),
389
435
  initialMessage: () => {
390
- const message = {
436
+ const message: Record<string, unknown> = {
391
437
  type: "subscribe",
392
438
  v: this.docInfo.version
393
439
  }
@@ -421,7 +467,7 @@ export class Editor {
421
467
  infoDisconnected: gettext(
422
468
  "Disconnected. Attempting to reconnect..."
423
469
  ),
424
- receiveData: data => {
470
+ receiveData: (data: Record<string, any>) => {
425
471
  if (document.body !== this.dom) {
426
472
  return // user navigated away.
427
473
  }
@@ -463,7 +509,7 @@ export class Editor {
463
509
  username: `guest${data.session_id}`,
464
510
  name: `Guest ${data.session_id}`,
465
511
  is_authenticated: false
466
- }
512
+ } as any
467
513
  }
468
514
  // Handle E2EE encryption parameters from server
469
515
  if (data.e2ee) {
@@ -475,9 +521,7 @@ export class Editor {
475
521
  data.e2ee_iterations,
476
522
  key: null,
477
523
  snapshotManager:
478
- new E2EESnapshotManager(
479
- this
480
- )
524
+ new E2EESnapshotManager(this)
481
525
  }
482
526
  } else {
483
527
  this.e2ee.encrypted = true
@@ -523,7 +567,7 @@ export class Editor {
523
567
  return
524
568
  }
525
569
  this.mod.collab.doc.receiveSelectionChange(
526
- data
570
+ data as any
527
571
  )
528
572
  break
529
573
  case "path_change":
@@ -542,7 +586,7 @@ export class Editor {
542
586
  this.mod.collab.doc.checkVersion()
543
587
  return
544
588
  }
545
- this.mod.collab.doc.receiveDiff(data)
589
+ this.mod.collab.doc.receiveDiff(data as any)
546
590
  break
547
591
  case "confirm_diff":
548
592
  this.mod.collab.doc.confirmDiff(data["rid"])
@@ -581,7 +625,7 @@ export class Editor {
581
625
  {
582
626
  accessRight:
583
627
  data.access_right
584
- },
628
+ } as any,
585
629
  true
586
630
  )
587
631
  )
@@ -688,10 +732,10 @@ export class Editor {
688
732
  window.location.href = "/"
689
733
  }
690
734
  }
691
- })
735
+ }) as any
692
736
  }
693
737
  this.mod.documentTemplate.setStyles(stylesResult.json)
694
- const docIsE2EE = docResult.json.doc_info?.e2ee === true
738
+ const docIsE2EE = (docResult.json as any).doc_info?.e2ee === true
695
739
  this.mod.collab.doc.receiveDocument(docResult.json)
696
740
  // For E2EE documents, delay the WebSocket connection until
697
741
  // after the password dialog and decryption are complete (see
@@ -710,7 +754,7 @@ export class Editor {
710
754
  }
711
755
  this.noCollabSave.start()
712
756
  }
713
- })
757
+ }) as Promise<void>
714
758
  }
715
759
 
716
760
  /**
@@ -718,19 +762,19 @@ export class Editor {
718
762
  * Called immediately for non-E2EE documents and deferred until after
719
763
  * password entry + decryption for E2EE documents.
720
764
  */
721
- startWebSocket() {
765
+ startWebSocket(): void {
722
766
  this.ws.init()
723
767
  this.ws.ws.addEventListener("close", () => {
724
768
  if (this.menu.toolbarViews) {
725
- this.menu.toolbarViews.forEach(view => view.update())
769
+ this.menu.toolbarViews.forEach((view: any) => view.update())
726
770
  }
727
771
  if (this.menu.headerView) {
728
- this.menu.headerView.update()
772
+ ;(this.menu.headerView as any).update()
729
773
  }
730
774
  })
731
775
  }
732
776
 
733
- handleAccessRightModification() {
777
+ handleAccessRightModification(): void {
734
778
  // This function when invoked creates a copy of document in FW format and closes editor operation.
735
779
  new ExportFidusFile(
736
780
  this.getDoc({use_current_view: true}),
@@ -765,11 +809,10 @@ export class Editor {
765
809
  * document encryption key (DEK) and encrypts it with the master key.
766
810
  * Otherwise, prompts for a per-document password.
767
811
  *
768
- * @returns {Promise<void>}
769
812
  * @private
770
813
  */
771
- async _createE2EEDocument() {
772
- let password, key, saltBase64, iterations
814
+ async _createE2EEDocument(): Promise<void> {
815
+ let password: string, key: CryptoKey, saltBase64: string, iterations: number
773
816
 
774
817
  // Check if the user has a personal passphrase set up
775
818
  const hasPassphraseKeys = await PassphraseManager.hasEncryptionKeys()
@@ -778,12 +821,13 @@ export class Editor {
778
821
  // Check if keys are unlocked in sessionStorage
779
822
  if (!PassphraseManager.hasKeysInSession()) {
780
823
  // Prompt for passphrase to unlock
781
- const result = await new Promise(resolve => {
824
+ const result = (await new Promise(resolve => {
782
825
  enterPassphraseDialog(
783
- pwd => resolve({action: "unlock", passphrase: pwd}),
826
+ (pwd: string) =>
827
+ resolve({action: "unlock", passphrase: pwd}),
784
828
  () => resolve({action: "recover"})
785
829
  )
786
- })
830
+ })) as {action: string; passphrase?: string}
787
831
  if (result.action === "unlock" && result.passphrase) {
788
832
  try {
789
833
  await PassphraseManager.unlockWithPassphrase(
@@ -803,20 +847,23 @@ export class Editor {
803
847
  if (recoverResult) {
804
848
  try {
805
849
  const {newRecoveryKey} =
806
- await PassphraseManager.recoverWithRecoveryKey(
807
- recoverResult.recoveryKey,
808
- recoverResult.newPassphrase
809
- )
850
+ (await PassphraseManager.recoverWithRecoveryKey(
851
+ (recoverResult as any).recoveryKey,
852
+ (recoverResult as any).newPassphrase
853
+ )) as {newRecoveryKey: string}
810
854
  const {showRecoveryKeyDialog} = await import(
811
855
  "fwtoolkit/e2ee/passphrase-dialog"
812
856
  )
813
857
  await new Promise(resolve => {
814
- showRecoveryKeyDialog(newRecoveryKey, resolve)
858
+ showRecoveryKeyDialog(
859
+ newRecoveryKey,
860
+ resolve as any
861
+ )
815
862
  })
816
863
  } catch (e) {
817
864
  addAlert(
818
865
  "error",
819
- gettext("Recovery failed: ") + e.message
866
+ gettext("Recovery failed: ") + (e as Error).message
820
867
  )
821
868
  }
822
869
  }
@@ -830,10 +877,10 @@ export class Editor {
830
877
  // Fall through to per-document password if passphrase unlock failed
831
878
  }
832
879
 
833
- if (!password) {
880
+ if (!password!) {
834
881
  // Prompt for per-document password
835
882
  password = await new Promise(resolve => {
836
- createPasswordDialog(pwd => resolve(pwd))
883
+ createPasswordDialog((pwd: string) => resolve(pwd))
837
884
  })
838
885
  }
839
886
 
@@ -856,7 +903,7 @@ export class Editor {
856
903
  e2ee: true,
857
904
  e2ee_salt: saltBase64,
858
905
  e2ee_iterations: iterations
859
- })
906
+ }) as {json: any; status: number}
860
907
 
861
908
  if (status === 403) {
862
909
  addAlert(
@@ -872,15 +919,18 @@ export class Editor {
872
919
  delete this.docInfo.templateId
873
920
 
874
921
  // Store password in sessionStorage
875
- E2EEKeyManager.storePasswordInSession(this.docInfo.id, password)
922
+ E2EEKeyManager.storePasswordInSession(
923
+ this.docInfo.id as number,
924
+ password
925
+ )
876
926
 
877
927
  // If passphrase user, also save encrypted password on server
878
928
  if (hasPassphraseKeys && PassphraseManager.hasKeysInSession()) {
879
929
  try {
880
930
  await PassphraseManager.saveDocumentPassword(
881
- this.docInfo.id,
931
+ this.docInfo.id as number,
882
932
  password,
883
- null,
933
+ null as any,
884
934
  "user",
885
935
  true
886
936
  )
@@ -889,7 +939,10 @@ export class Editor {
889
939
  }
890
940
  } else {
891
941
  // Non-passphrase user: cache the key in sessionStorage
892
- await E2EEKeyManager.storeKeyInSession(this.docInfo.id, key)
942
+ await E2EEKeyManager.storeKeyInSession(
943
+ this.docInfo.id as number,
944
+ key
945
+ )
893
946
  }
894
947
 
895
948
  // Set up E2EE state on the editor
@@ -906,32 +959,37 @@ export class Editor {
906
959
  this.e2ee.snapshotManager.setKey(key)
907
960
  }
908
961
 
909
- close() {
962
+ close(): void {
910
963
  if (this.menu.toolbarViews) {
911
- this.menu.toolbarViews.forEach(view => view.destroy())
964
+ this.menu.toolbarViews.forEach((view: any) => view.destroy())
912
965
  }
913
966
  if (this.menu.selectionMenuViews) {
914
- this.menu.selectionMenuViews.forEach(view => view.destroy())
967
+ this.menu.selectionMenuViews.forEach((view: any) => view.destroy())
915
968
  }
916
969
  if (this.menu.headerView) {
917
- this.menu.headerView.destroy()
970
+ ;(this.menu.headerView as any).destroy()
918
971
  }
919
972
  // For E2EE documents, update the sessionStorage title cache with the
920
973
  // current ProseMirror title so the overview shows the correct title
921
- // immediately, even before the encrypted snapshot has been saved to
922
- // the DB.
974
+ // immediately, even before the encrypted snapshot has been saved to the
975
+ // DB.
923
976
  if (this.e2ee && this.view) {
924
977
  const titleNode = this.view.state.doc.firstChild
925
978
  if (titleNode) {
926
979
  let title = ""
927
- titleNode.forEach(child => {
980
+ ;(titleNode as any).forEach((child: any) => {
928
981
  if (
929
- !child.marks.find(mark => mark.type.name === "deletion")
982
+ !child.marks.find(
983
+ (mark: any) => mark.type.name === "deletion"
984
+ )
930
985
  ) {
931
986
  title += child.textContent
932
987
  }
933
988
  })
934
- sessionStorage.setItem(`e2ee_title_${this.docInfo.id}`, title)
989
+ sessionStorage.setItem(
990
+ `e2ee_title_${this.docInfo.id}`,
991
+ title
992
+ )
935
993
  }
936
994
  }
937
995
  if (this.noCollabSave) {
@@ -968,7 +1026,7 @@ export class Editor {
968
1026
  }
969
1027
  }
970
1028
 
971
- render() {
1029
+ render(): void {
972
1030
  this.dom = document.createElement("body")
973
1031
  document.body = this.dom
974
1032
  this.dom.classList.add("editor")
@@ -1016,17 +1074,17 @@ export class Editor {
1016
1074
  feedbackTab.init()
1017
1075
  }
1018
1076
 
1019
- onResize() {
1077
+ onResize(): void {
1020
1078
  if (!this.view || !this.mod.marginboxes) {
1021
1079
  // Editor not yet set up
1022
1080
  return
1023
1081
  }
1024
1082
  this.mod.marginboxes.updateDOM()
1025
1083
  this.mod.footnotes.layout.updateDOM()
1026
- this.menu.toolbarViews.forEach(view => view.onResize())
1084
+ this.menu.toolbarViews?.forEach((view: any) => view.onResize())
1027
1085
  }
1028
1086
 
1029
- onBeforeUnload() {
1087
+ onBeforeUnload(): boolean {
1030
1088
  if (this.app.isOffline()) {
1031
1089
  showSystemMessage(
1032
1090
  gettext(
@@ -1036,12 +1094,13 @@ export class Editor {
1036
1094
  return true
1037
1095
  }
1038
1096
  this.close()
1097
+ return false
1039
1098
  }
1040
1099
 
1041
- initEditor() {
1100
+ initEditor(): void {
1042
1101
  let setFocus = false
1043
1102
  this.view = new EditorView(
1044
- this.dom.querySelector("#document-editable"),
1103
+ this.dom.querySelector("#document-editable") as HTMLElement,
1045
1104
  {
1046
1105
  state: EditorState.create({
1047
1106
  schema: this.schema
@@ -1104,7 +1163,7 @@ export class Editor {
1104
1163
  this.mod.navigator.init()
1105
1164
  }
1106
1165
 
1107
- activateFidusPlugins() {
1166
+ async activateFidusPlugins(): Promise<void> {
1108
1167
  if (this.plugins) {
1109
1168
  // Plugins have been activated already
1110
1169
  return
@@ -1112,7 +1171,7 @@ export class Editor {
1112
1171
  // Add plugins.
1113
1172
  this.plugins = {}
1114
1173
 
1115
- return Promise.all(
1174
+ await Promise.all(
1116
1175
  this.editorPlugins.map(([app, plugin]) => {
1117
1176
  if (!this.app.settings.APPS.includes(app)) {
1118
1177
  return Promise.resolve()
@@ -1120,11 +1179,12 @@ export class Editor {
1120
1179
  return Promise.all(
1121
1180
  Object.values(plugin).map(pluginExport => {
1122
1181
  if (typeof pluginExport === "function") {
1123
- this.plugins[pluginExport.name] = new pluginExport(
1182
+ const name = (pluginExport as any).name
1183
+ this.plugins![name] = new (pluginExport as any)(
1124
1184
  this
1125
1185
  )
1126
1186
  return (
1127
- this.plugins[pluginExport.name].init() ||
1187
+ this.plugins![name].init() ||
1128
1188
  Promise.resolve()
1129
1189
  )
1130
1190
  }
@@ -1137,10 +1197,10 @@ export class Editor {
1137
1197
 
1138
1198
  // Collect all components of the current doc. Needed for saving and export
1139
1199
  // filters
1140
- getDoc(options = {}) {
1200
+ getDoc(options: {use_current_view?: boolean; changes?: string} = {}): any {
1141
1201
  const doc =
1142
1202
  this.app.isOffline() || Boolean(options.use_current_view)
1143
- ? this.view.docView.node
1203
+ ? (this.view as any).docView.node
1144
1204
  : this.docInfo.confirmedDoc
1145
1205
  const pmDoc =
1146
1206
  options.changes === "acceptAllNoInsertions"
@@ -1148,8 +1208,10 @@ export class Editor {
1148
1208
  : doc
1149
1209
 
1150
1210
  let title = ""
1151
- pmDoc.firstChild.forEach(child => {
1152
- if (!child.marks.find(mark => mark.type.name === "deletion")) {
1211
+ ;(pmDoc.firstChild as any).forEach((child: any) => {
1212
+ if (
1213
+ !child.marks.find((mark: any) => mark.type.name === "deletion")
1214
+ ) {
1153
1215
  title += child.textContent
1154
1216
  }
1155
1217
  })
@@ -1166,15 +1228,15 @@ export class Editor {
1166
1228
  }
1167
1229
 
1168
1230
  // Use PMs scrollIntoView function and adjust for top menu
1169
- scrollIdIntoView(id) {
1170
- let foundPos = false,
1171
- view
1231
+ scrollIdIntoView(id: string): void {
1232
+ let foundPos: number | false = false
1233
+ let view: EditorView
1172
1234
 
1173
1235
  this.view.state.doc.descendants((node, pos) => {
1174
- if (foundPos) {
1236
+ if (foundPos !== false) {
1175
1237
  return
1176
1238
  } else if (
1177
- (node.type.groups.includes("heading") ||
1239
+ ((node.type as any).groups.includes("heading") ||
1178
1240
  node.type.name === "figure") &&
1179
1241
  node.attrs.id === id
1180
1242
  ) {
@@ -1191,37 +1253,38 @@ export class Editor {
1191
1253
  }
1192
1254
  })
1193
1255
 
1194
- if (!foundPos) {
1195
- this.mod.footnotes.fnEditor.view.state.doc.descendants(
1196
- (node, pos) => {
1197
- if (foundPos) {
1198
- return
1199
- } else if (
1200
- (node.type.groups.includes("heading") ||
1201
- node.type.name === "figure") &&
1202
- node.attrs.id === id
1203
- ) {
1204
- foundPos = node.type.name === "figure" ? pos : pos + 1
1205
- view = this.mod.footnotes.fnEditor.view
1206
- } else {
1207
- const anchorMark = node.marks.find(
1208
- mark => mark.type.name === "anchor"
1209
- )
1210
- if (anchorMark?.attrs.id === id) {
1211
- foundPos = pos + 1
1212
- view = this.mod.footnotes.fnEditor.view
1213
- }
1256
+ if (foundPos === false) {
1257
+ const fnView = this.mod.footnotes.fnEditor.view as EditorView
1258
+ fnView.state.doc.descendants((node, pos) => {
1259
+ if (foundPos !== false) {
1260
+ return
1261
+ } else if (
1262
+ ((node.type as any).groups.includes("heading") ||
1263
+ node.type.name === "figure") &&
1264
+ node.attrs.id === id
1265
+ ) {
1266
+ foundPos =
1267
+ node.type.name === "figure" ? pos : pos + 1
1268
+ view = fnView
1269
+ } else {
1270
+ const anchorMark = node.marks.find(
1271
+ mark => mark.type.name === "anchor"
1272
+ )
1273
+ if (anchorMark?.attrs.id === id) {
1274
+ foundPos = pos + 1
1275
+ view = fnView
1214
1276
  }
1215
1277
  }
1216
- )
1278
+ })
1217
1279
  }
1218
- if (foundPos) {
1219
- this.scrollPosIntoView(foundPos, view)
1280
+ if (foundPos !== false) {
1281
+ this.scrollPosIntoView(foundPos, view!)
1220
1282
  }
1221
1283
  }
1222
1284
 
1223
- scrollPosIntoView(pos, view) {
1224
- const topMenuHeight = this.dom.querySelector("header").offsetHeight + 10
1285
+ scrollPosIntoView(pos: number, view: EditorView): void {
1286
+ const topMenuHeight =
1287
+ (this.dom.querySelector("header") as HTMLElement).offsetHeight + 10
1225
1288
  const $pos = view.state.doc.resolve(pos)
1226
1289
  view.dispatch(view.state.tr.setSelection(new TextSelection($pos, $pos)))
1227
1290
  view.focus()
@@ -1229,25 +1292,24 @@ export class Editor {
1229
1292
  window.scrollBy({
1230
1293
  left: 0,
1231
1294
  top: distanceFromTop,
1232
- behavior: "smooth",
1233
- block: "center"
1234
- })
1295
+ behavior: "smooth"
1296
+ } as ScrollToOptions)
1235
1297
  return
1236
1298
  }
1237
1299
 
1238
- scrollBibliographyIntoView() {
1239
- const topMenuHeight = this.dom.querySelector("header").offsetHeight + 10
1300
+ scrollBibliographyIntoView(): void {
1301
+ const topMenuHeight =
1302
+ (this.dom.querySelector("header") as HTMLElement).offsetHeight + 10
1240
1303
  const bibliographyHeaderEl = document.querySelector(
1241
1304
  "h1.doc-bibliography-header"
1242
- )
1305
+ ) as HTMLElement
1243
1306
  const distanceFromTop =
1244
1307
  bibliographyHeaderEl.getBoundingClientRect().top - topMenuHeight
1245
1308
  window.scrollBy({
1246
1309
  left: 0,
1247
1310
  top: distanceFromTop,
1248
- behavior: "smooth",
1249
- block: "center"
1250
- })
1311
+ behavior: "smooth"
1312
+ } as ScrollToOptions)
1251
1313
  return
1252
1314
  }
1253
1315
  }