@fiduswriter/editor 0.1.20 → 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 +43 -22
  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 +86 -59
  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} +187 -106
  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} +193 -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,10 +105,42 @@ 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, citationDialogPlugins = null) {
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
111
146
  this.citationDialogPlugins = citationDialogPlugins
@@ -113,7 +148,12 @@ export class Editor {
113
148
  // proper placeholder that has all the fields templates expect.
114
149
  this.user = user.is_authenticated
115
150
  ? user
116
- : {id: undefined, username: "", name: "", is_authenticated: false}
151
+ : ({
152
+ id: undefined,
153
+ username: "",
154
+ name: "",
155
+ is_authenticated: false
156
+ } as any)
117
157
  this.mod = {}
118
158
  // Whether the editor is currently waiting for a document update. Set to true
119
159
  // initially so that diffs that arrive before document has been loaded are not
@@ -149,7 +189,10 @@ export class Editor {
149
189
  // Provide a handler for decrypting end-to-end encrypted images. The
150
190
  // reusable document schema no longer includes E2EE code, so the main
151
191
  // app injects the decryption logic here after loading the schema.
152
- 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
+ ) => {
153
196
  const key = this.e2ee?.key
154
197
  if (!key) {
155
198
  return Promise.reject(new Error("No E2EE key available"))
@@ -223,7 +266,7 @@ export class Editor {
223
266
  ]
224
267
  }
225
268
 
226
- init() {
269
+ init(): Promise<void> {
227
270
  ensureCSS([
228
271
  staticUrl("css/libs/mathlive/mathlive.css"),
229
272
  staticUrl("css/editor.css"),
@@ -247,7 +290,7 @@ export class Editor {
247
290
  staticUrl("css/e2ee.css")
248
291
  ])
249
292
  new ModDocumentTemplate(this)
250
- const initPromises = [
293
+ const initPromises: Promise<unknown>[] = [
251
294
  whenReady(),
252
295
  this.mod.documentTemplate.getCitationStyles()
253
296
  ]
@@ -270,7 +313,7 @@ export class Editor {
270
313
  postJson("/api/document/create_doc/", {
271
314
  template_id: this.docInfo.templateId,
272
315
  path: this.docInfo.path
273
- }).then(({json}) => {
316
+ }).then(({json}: {json: any}) => {
274
317
  this.docInfo.id = json.id
275
318
  window.history.replaceState(
276
319
  "",
@@ -289,7 +332,7 @@ export class Editor {
289
332
  initPromises.push(
290
333
  postJson(
291
334
  `/api/document/share_token/validate/${this.docInfo.token}/`
292
- ).then(({json, status}) => {
335
+ ).then(({json, status}: {json: any; status: number}) => {
293
336
  if (status === 200 && json.document_id) {
294
337
  this.docInfo.id = json.document_id
295
338
  this.docInfo.access_rights = json.rights
@@ -312,7 +355,9 @@ export class Editor {
312
355
  })
313
356
  .then(() => {
314
357
  activateWait(true)
315
- const stylesPayload = {id: this.docInfo.id}
358
+ const stylesPayload: Record<string, unknown> = {
359
+ id: this.docInfo.id
360
+ }
316
361
  if (this.docInfo.token) {
317
362
  stylesPayload.token = this.docInfo.token
318
363
  }
@@ -383,12 +428,12 @@ export class Editor {
383
428
  wsPath += `?token=${this.docInfo.token}`
384
429
  }
385
430
  this.ws = new WebSocketConnector({
386
- base: wsResult.json.ws_base,
431
+ base: (wsResult.json as any).ws_base,
387
432
  path: wsPath,
388
- appLoaded: () => this.view.state.plugins.length,
389
- anythingToSend: () => sendableSteps(this.view.state),
433
+ appLoaded: () => Boolean(this.view.state.plugins.length),
434
+ anythingToSend: () => Boolean(sendableSteps(this.view.state)),
390
435
  initialMessage: () => {
391
- const message = {
436
+ const message: Record<string, unknown> = {
392
437
  type: "subscribe",
393
438
  v: this.docInfo.version
394
439
  }
@@ -422,7 +467,7 @@ export class Editor {
422
467
  infoDisconnected: gettext(
423
468
  "Disconnected. Attempting to reconnect..."
424
469
  ),
425
- receiveData: data => {
470
+ receiveData: (data: Record<string, any>) => {
426
471
  if (document.body !== this.dom) {
427
472
  return // user navigated away.
428
473
  }
@@ -464,7 +509,7 @@ export class Editor {
464
509
  username: `guest${data.session_id}`,
465
510
  name: `Guest ${data.session_id}`,
466
511
  is_authenticated: false
467
- }
512
+ } as any
468
513
  }
469
514
  // Handle E2EE encryption parameters from server
470
515
  if (data.e2ee) {
@@ -476,9 +521,7 @@ export class Editor {
476
521
  data.e2ee_iterations,
477
522
  key: null,
478
523
  snapshotManager:
479
- new E2EESnapshotManager(
480
- this
481
- )
524
+ new E2EESnapshotManager(this)
482
525
  }
483
526
  } else {
484
527
  this.e2ee.encrypted = true
@@ -524,7 +567,7 @@ export class Editor {
524
567
  return
525
568
  }
526
569
  this.mod.collab.doc.receiveSelectionChange(
527
- data
570
+ data as any
528
571
  )
529
572
  break
530
573
  case "path_change":
@@ -543,7 +586,7 @@ export class Editor {
543
586
  this.mod.collab.doc.checkVersion()
544
587
  return
545
588
  }
546
- this.mod.collab.doc.receiveDiff(data)
589
+ this.mod.collab.doc.receiveDiff(data as any)
547
590
  break
548
591
  case "confirm_diff":
549
592
  this.mod.collab.doc.confirmDiff(data["rid"])
@@ -582,7 +625,7 @@ export class Editor {
582
625
  {
583
626
  accessRight:
584
627
  data.access_right
585
- },
628
+ } as any,
586
629
  true
587
630
  )
588
631
  )
@@ -689,10 +732,10 @@ export class Editor {
689
732
  window.location.href = "/"
690
733
  }
691
734
  }
692
- })
735
+ }) as any
693
736
  }
694
737
  this.mod.documentTemplate.setStyles(stylesResult.json)
695
- const docIsE2EE = docResult.json.doc_info?.e2ee === true
738
+ const docIsE2EE = (docResult.json as any).doc_info?.e2ee === true
696
739
  this.mod.collab.doc.receiveDocument(docResult.json)
697
740
  // For E2EE documents, delay the WebSocket connection until
698
741
  // after the password dialog and decryption are complete (see
@@ -711,7 +754,7 @@ export class Editor {
711
754
  }
712
755
  this.noCollabSave.start()
713
756
  }
714
- })
757
+ }) as Promise<void>
715
758
  }
716
759
 
717
760
  /**
@@ -719,19 +762,19 @@ export class Editor {
719
762
  * Called immediately for non-E2EE documents and deferred until after
720
763
  * password entry + decryption for E2EE documents.
721
764
  */
722
- startWebSocket() {
765
+ startWebSocket(): void {
723
766
  this.ws.init()
724
767
  this.ws.ws.addEventListener("close", () => {
725
768
  if (this.menu.toolbarViews) {
726
- this.menu.toolbarViews.forEach(view => view.update())
769
+ this.menu.toolbarViews.forEach((view: any) => view.update())
727
770
  }
728
771
  if (this.menu.headerView) {
729
- this.menu.headerView.update()
772
+ ;(this.menu.headerView as any).update()
730
773
  }
731
774
  })
732
775
  }
733
776
 
734
- handleAccessRightModification() {
777
+ handleAccessRightModification(): void {
735
778
  // This function when invoked creates a copy of document in FW format and closes editor operation.
736
779
  new ExportFidusFile(
737
780
  this.getDoc({use_current_view: true}),
@@ -766,11 +809,10 @@ export class Editor {
766
809
  * document encryption key (DEK) and encrypts it with the master key.
767
810
  * Otherwise, prompts for a per-document password.
768
811
  *
769
- * @returns {Promise<void>}
770
812
  * @private
771
813
  */
772
- async _createE2EEDocument() {
773
- let password, key, saltBase64, iterations
814
+ async _createE2EEDocument(): Promise<void> {
815
+ let password: string, key: CryptoKey, saltBase64: string, iterations: number
774
816
 
775
817
  // Check if the user has a personal passphrase set up
776
818
  const hasPassphraseKeys = await PassphraseManager.hasEncryptionKeys()
@@ -779,12 +821,13 @@ export class Editor {
779
821
  // Check if keys are unlocked in sessionStorage
780
822
  if (!PassphraseManager.hasKeysInSession()) {
781
823
  // Prompt for passphrase to unlock
782
- const result = await new Promise(resolve => {
824
+ const result = (await new Promise(resolve => {
783
825
  enterPassphraseDialog(
784
- pwd => resolve({action: "unlock", passphrase: pwd}),
826
+ (pwd: string) =>
827
+ resolve({action: "unlock", passphrase: pwd}),
785
828
  () => resolve({action: "recover"})
786
829
  )
787
- })
830
+ })) as {action: string; passphrase?: string}
788
831
  if (result.action === "unlock" && result.passphrase) {
789
832
  try {
790
833
  await PassphraseManager.unlockWithPassphrase(
@@ -804,20 +847,23 @@ export class Editor {
804
847
  if (recoverResult) {
805
848
  try {
806
849
  const {newRecoveryKey} =
807
- await PassphraseManager.recoverWithRecoveryKey(
808
- recoverResult.recoveryKey,
809
- recoverResult.newPassphrase
810
- )
850
+ (await PassphraseManager.recoverWithRecoveryKey(
851
+ (recoverResult as any).recoveryKey,
852
+ (recoverResult as any).newPassphrase
853
+ )) as {newRecoveryKey: string}
811
854
  const {showRecoveryKeyDialog} = await import(
812
855
  "fwtoolkit/e2ee/passphrase-dialog"
813
856
  )
814
857
  await new Promise(resolve => {
815
- showRecoveryKeyDialog(newRecoveryKey, resolve)
858
+ showRecoveryKeyDialog(
859
+ newRecoveryKey,
860
+ resolve as any
861
+ )
816
862
  })
817
863
  } catch (e) {
818
864
  addAlert(
819
865
  "error",
820
- gettext("Recovery failed: ") + e.message
866
+ gettext("Recovery failed: ") + (e as Error).message
821
867
  )
822
868
  }
823
869
  }
@@ -831,10 +877,10 @@ export class Editor {
831
877
  // Fall through to per-document password if passphrase unlock failed
832
878
  }
833
879
 
834
- if (!password) {
880
+ if (!password!) {
835
881
  // Prompt for per-document password
836
882
  password = await new Promise(resolve => {
837
- createPasswordDialog(pwd => resolve(pwd))
883
+ createPasswordDialog((pwd: string) => resolve(pwd))
838
884
  })
839
885
  }
840
886
 
@@ -857,7 +903,7 @@ export class Editor {
857
903
  e2ee: true,
858
904
  e2ee_salt: saltBase64,
859
905
  e2ee_iterations: iterations
860
- })
906
+ }) as {json: any; status: number}
861
907
 
862
908
  if (status === 403) {
863
909
  addAlert(
@@ -873,15 +919,18 @@ export class Editor {
873
919
  delete this.docInfo.templateId
874
920
 
875
921
  // Store password in sessionStorage
876
- E2EEKeyManager.storePasswordInSession(this.docInfo.id, password)
922
+ E2EEKeyManager.storePasswordInSession(
923
+ this.docInfo.id as number,
924
+ password
925
+ )
877
926
 
878
927
  // If passphrase user, also save encrypted password on server
879
928
  if (hasPassphraseKeys && PassphraseManager.hasKeysInSession()) {
880
929
  try {
881
930
  await PassphraseManager.saveDocumentPassword(
882
- this.docInfo.id,
931
+ this.docInfo.id as number,
883
932
  password,
884
- null,
933
+ null as any,
885
934
  "user",
886
935
  true
887
936
  )
@@ -890,7 +939,10 @@ export class Editor {
890
939
  }
891
940
  } else {
892
941
  // Non-passphrase user: cache the key in sessionStorage
893
- await E2EEKeyManager.storeKeyInSession(this.docInfo.id, key)
942
+ await E2EEKeyManager.storeKeyInSession(
943
+ this.docInfo.id as number,
944
+ key
945
+ )
894
946
  }
895
947
 
896
948
  // Set up E2EE state on the editor
@@ -907,32 +959,37 @@ export class Editor {
907
959
  this.e2ee.snapshotManager.setKey(key)
908
960
  }
909
961
 
910
- close() {
962
+ close(): void {
911
963
  if (this.menu.toolbarViews) {
912
- this.menu.toolbarViews.forEach(view => view.destroy())
964
+ this.menu.toolbarViews.forEach((view: any) => view.destroy())
913
965
  }
914
966
  if (this.menu.selectionMenuViews) {
915
- this.menu.selectionMenuViews.forEach(view => view.destroy())
967
+ this.menu.selectionMenuViews.forEach((view: any) => view.destroy())
916
968
  }
917
969
  if (this.menu.headerView) {
918
- this.menu.headerView.destroy()
970
+ ;(this.menu.headerView as any).destroy()
919
971
  }
920
972
  // For E2EE documents, update the sessionStorage title cache with the
921
973
  // current ProseMirror title so the overview shows the correct title
922
- // immediately, even before the encrypted snapshot has been saved to
923
- // the DB.
974
+ // immediately, even before the encrypted snapshot has been saved to the
975
+ // DB.
924
976
  if (this.e2ee && this.view) {
925
977
  const titleNode = this.view.state.doc.firstChild
926
978
  if (titleNode) {
927
979
  let title = ""
928
- titleNode.forEach(child => {
980
+ ;(titleNode as any).forEach((child: any) => {
929
981
  if (
930
- !child.marks.find(mark => mark.type.name === "deletion")
982
+ !child.marks.find(
983
+ (mark: any) => mark.type.name === "deletion"
984
+ )
931
985
  ) {
932
986
  title += child.textContent
933
987
  }
934
988
  })
935
- sessionStorage.setItem(`e2ee_title_${this.docInfo.id}`, title)
989
+ sessionStorage.setItem(
990
+ `e2ee_title_${this.docInfo.id}`,
991
+ title
992
+ )
936
993
  }
937
994
  }
938
995
  if (this.noCollabSave) {
@@ -969,7 +1026,7 @@ export class Editor {
969
1026
  }
970
1027
  }
971
1028
 
972
- render() {
1029
+ render(): void {
973
1030
  this.dom = document.createElement("body")
974
1031
  document.body = this.dom
975
1032
  this.dom.classList.add("editor")
@@ -1017,17 +1074,17 @@ export class Editor {
1017
1074
  feedbackTab.init()
1018
1075
  }
1019
1076
 
1020
- onResize() {
1077
+ onResize(): void {
1021
1078
  if (!this.view || !this.mod.marginboxes) {
1022
1079
  // Editor not yet set up
1023
1080
  return
1024
1081
  }
1025
1082
  this.mod.marginboxes.updateDOM()
1026
1083
  this.mod.footnotes.layout.updateDOM()
1027
- this.menu.toolbarViews.forEach(view => view.onResize())
1084
+ this.menu.toolbarViews?.forEach((view: any) => view.onResize())
1028
1085
  }
1029
1086
 
1030
- onBeforeUnload() {
1087
+ onBeforeUnload(): boolean {
1031
1088
  if (this.app.isOffline()) {
1032
1089
  showSystemMessage(
1033
1090
  gettext(
@@ -1037,12 +1094,13 @@ export class Editor {
1037
1094
  return true
1038
1095
  }
1039
1096
  this.close()
1097
+ return false
1040
1098
  }
1041
1099
 
1042
- initEditor() {
1100
+ initEditor(): void {
1043
1101
  let setFocus = false
1044
1102
  this.view = new EditorView(
1045
- this.dom.querySelector("#document-editable"),
1103
+ this.dom.querySelector("#document-editable") as HTMLElement,
1046
1104
  {
1047
1105
  state: EditorState.create({
1048
1106
  schema: this.schema
@@ -1105,7 +1163,7 @@ export class Editor {
1105
1163
  this.mod.navigator.init()
1106
1164
  }
1107
1165
 
1108
- activateFidusPlugins() {
1166
+ async activateFidusPlugins(): Promise<void> {
1109
1167
  if (this.plugins) {
1110
1168
  // Plugins have been activated already
1111
1169
  return
@@ -1113,7 +1171,7 @@ export class Editor {
1113
1171
  // Add plugins.
1114
1172
  this.plugins = {}
1115
1173
 
1116
- return Promise.all(
1174
+ await Promise.all(
1117
1175
  this.editorPlugins.map(([app, plugin]) => {
1118
1176
  if (!this.app.settings.APPS.includes(app)) {
1119
1177
  return Promise.resolve()
@@ -1121,11 +1179,12 @@ export class Editor {
1121
1179
  return Promise.all(
1122
1180
  Object.values(plugin).map(pluginExport => {
1123
1181
  if (typeof pluginExport === "function") {
1124
- this.plugins[pluginExport.name] = new pluginExport(
1182
+ const name = (pluginExport as any).name
1183
+ this.plugins![name] = new (pluginExport as any)(
1125
1184
  this
1126
1185
  )
1127
1186
  return (
1128
- this.plugins[pluginExport.name].init() ||
1187
+ this.plugins![name].init() ||
1129
1188
  Promise.resolve()
1130
1189
  )
1131
1190
  }
@@ -1138,10 +1197,10 @@ export class Editor {
1138
1197
 
1139
1198
  // Collect all components of the current doc. Needed for saving and export
1140
1199
  // filters
1141
- getDoc(options = {}) {
1200
+ getDoc(options: {use_current_view?: boolean; changes?: string} = {}): any {
1142
1201
  const doc =
1143
1202
  this.app.isOffline() || Boolean(options.use_current_view)
1144
- ? this.view.docView.node
1203
+ ? (this.view as any).docView.node
1145
1204
  : this.docInfo.confirmedDoc
1146
1205
  const pmDoc =
1147
1206
  options.changes === "acceptAllNoInsertions"
@@ -1149,8 +1208,10 @@ export class Editor {
1149
1208
  : doc
1150
1209
 
1151
1210
  let title = ""
1152
- pmDoc.firstChild.forEach(child => {
1153
- 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
+ ) {
1154
1215
  title += child.textContent
1155
1216
  }
1156
1217
  })
@@ -1167,15 +1228,15 @@ export class Editor {
1167
1228
  }
1168
1229
 
1169
1230
  // Use PMs scrollIntoView function and adjust for top menu
1170
- scrollIdIntoView(id) {
1171
- let foundPos = false,
1172
- view
1231
+ scrollIdIntoView(id: string): void {
1232
+ let foundPos: number | false = false
1233
+ let view: EditorView
1173
1234
 
1174
1235
  this.view.state.doc.descendants((node, pos) => {
1175
- if (foundPos) {
1236
+ if (foundPos !== false) {
1176
1237
  return
1177
1238
  } else if (
1178
- (node.type.groups.includes("heading") ||
1239
+ ((node.type as any).groups.includes("heading") ||
1179
1240
  node.type.name === "figure") &&
1180
1241
  node.attrs.id === id
1181
1242
  ) {
@@ -1192,37 +1253,38 @@ export class Editor {
1192
1253
  }
1193
1254
  })
1194
1255
 
1195
- if (!foundPos) {
1196
- this.mod.footnotes.fnEditor.view.state.doc.descendants(
1197
- (node, pos) => {
1198
- if (foundPos) {
1199
- return
1200
- } else if (
1201
- (node.type.groups.includes("heading") ||
1202
- node.type.name === "figure") &&
1203
- node.attrs.id === id
1204
- ) {
1205
- foundPos = node.type.name === "figure" ? pos : pos + 1
1206
- view = this.mod.footnotes.fnEditor.view
1207
- } else {
1208
- const anchorMark = node.marks.find(
1209
- mark => mark.type.name === "anchor"
1210
- )
1211
- if (anchorMark?.attrs.id === id) {
1212
- foundPos = pos + 1
1213
- view = this.mod.footnotes.fnEditor.view
1214
- }
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
1215
1276
  }
1216
1277
  }
1217
- )
1278
+ })
1218
1279
  }
1219
- if (foundPos) {
1220
- this.scrollPosIntoView(foundPos, view)
1280
+ if (foundPos !== false) {
1281
+ this.scrollPosIntoView(foundPos, view!)
1221
1282
  }
1222
1283
  }
1223
1284
 
1224
- scrollPosIntoView(pos, view) {
1225
- 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
1226
1288
  const $pos = view.state.doc.resolve(pos)
1227
1289
  view.dispatch(view.state.tr.setSelection(new TextSelection($pos, $pos)))
1228
1290
  view.focus()
@@ -1230,25 +1292,24 @@ export class Editor {
1230
1292
  window.scrollBy({
1231
1293
  left: 0,
1232
1294
  top: distanceFromTop,
1233
- behavior: "smooth",
1234
- block: "center"
1235
- })
1295
+ behavior: "smooth"
1296
+ } as ScrollToOptions)
1236
1297
  return
1237
1298
  }
1238
1299
 
1239
- scrollBibliographyIntoView() {
1240
- const topMenuHeight = this.dom.querySelector("header").offsetHeight + 10
1300
+ scrollBibliographyIntoView(): void {
1301
+ const topMenuHeight =
1302
+ (this.dom.querySelector("header") as HTMLElement).offsetHeight + 10
1241
1303
  const bibliographyHeaderEl = document.querySelector(
1242
1304
  "h1.doc-bibliography-header"
1243
- )
1305
+ ) as HTMLElement
1244
1306
  const distanceFromTop =
1245
1307
  bibliographyHeaderEl.getBoundingClientRect().top - topMenuHeight
1246
1308
  window.scrollBy({
1247
1309
  left: 0,
1248
1310
  top: distanceFromTop,
1249
- behavior: "smooth",
1250
- block: "center"
1251
- })
1311
+ behavior: "smooth"
1312
+ } as ScrollToOptions)
1252
1313
  return
1253
1314
  }
1254
1315
  }