@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,52 +1,77 @@
1
+ import type {Node as ProseMirrorNode} from "prosemirror-model"
1
2
  import {escapeText, findTarget} from "fwtoolkit"
3
+
4
+ import type {Editor} from "../types.js"
5
+
6
+ interface NavigatorFilterItem {
7
+ level: number
8
+ title: string
9
+ }
10
+
11
+ interface NavigatorItem {
12
+ id: string
13
+ textContent: string
14
+ type: {name: string}
15
+ class?: string
16
+ }
17
+
2
18
  export class ModNavigator {
3
- constructor(editor) {
19
+ editor: Editor
20
+ navigatorEl: HTMLElement | null
21
+ listeners: Record<string, any>
22
+ navigatorFilters: NavigatorFilterItem[]
23
+ defaultFilters: string[]
24
+ lastSelectedTarget: string | null
25
+
26
+ constructor(editor: Editor) {
4
27
  editor.mod.navigator = this
5
28
  this.editor = editor
6
29
  this.navigatorEl = document.querySelector("#navigator")
7
30
  this.listeners = {}
8
- this.navigatorFilters = editor.menu.navigatorFilterModel.content
31
+ this.navigatorFilters = (editor.menu as any).navigatorFilterModel.content
9
32
  this.defaultFilters = ["heading1", "heading2", "heading3"]
10
33
 
11
34
  this.lastSelectedTarget = null
12
35
  }
13
36
 
14
- init() {
37
+ init(): void {
15
38
  this.render()
16
39
  this.bindEvents()
17
40
  }
18
41
 
19
- render() {
20
- this.navigatorEl.innerHTML = this.getNavigatorTemplate()
42
+ render(): void {
43
+ if (this.navigatorEl) {
44
+ this.navigatorEl.innerHTML = this.getNavigatorTemplate()
45
+ }
21
46
  }
22
47
 
23
- bindEvents() {
48
+ bindEvents(): void {
24
49
  document.body.addEventListener("click", event => {
25
- const el = {}
50
+ const el: {target?: HTMLElement} = {}
26
51
  switch (true) {
27
52
  case findTarget(event, "#navigator-button", el):
28
- if (this.navigatorEl.classList.contains("opened")) {
53
+ if (this.navigatorEl?.classList.contains("opened")) {
29
54
  this.closeNavigator()
30
55
  } else {
31
56
  const navigatorListEl =
32
57
  document.getElementById("navigator-list")
33
58
  if (navigatorListEl) {
34
59
  navigatorListEl.innerHTML =
35
- this.populateNavigator() || "" //Populating the list
60
+ this.populateNavigator() || ""
36
61
  }
37
62
  this.openNavigator()
38
- const activeHeading = this.navigatorEl.querySelector(
63
+ const activeHeading = this.navigatorEl?.querySelector(
39
64
  "#navigator-list .active-heading a"
40
65
  )
41
66
  if (activeHeading) {
42
- activeHeading.focus()
67
+ ;(activeHeading as HTMLElement).focus()
43
68
  } else {
44
69
  const firstFocusable =
45
- this.navigatorEl.querySelector(
70
+ this.navigatorEl?.querySelector(
46
71
  "#navigator-list [href]"
47
72
  )
48
73
  if (firstFocusable) {
49
- firstFocusable.focus()
74
+ ;(firstFocusable as HTMLElement).focus()
50
75
  }
51
76
  }
52
77
  }
@@ -54,22 +79,26 @@ export class ModNavigator {
54
79
  case findTarget(event, "#navigator-list a", el): {
55
80
  event.preventDefault()
56
81
  event.stopImmediatePropagation()
57
- const target = el.target.getAttribute("href").slice(1)
82
+ const target = (el.target as HTMLElement)
83
+ .getAttribute("href")
84
+ ?.slice(1)
58
85
 
59
86
  if (target == "title") {
60
87
  this.editor.scrollPosIntoView(1, this.editor.view)
61
88
  this.lastSelectedTarget = "title"
62
89
  } else if (target == "bibliography") {
63
90
  this.editor.scrollBibliographyIntoView(target)
64
- } else {
91
+ } else if (target) {
65
92
  // Store the selected target ID for later focus
66
93
  this.lastSelectedTarget = target
67
94
  this.editor.scrollIdIntoView(target)
68
- this.switchActiveHeading(el.target.parentNode)
95
+ this.switchActiveHeading(
96
+ (el.target as HTMLElement).parentNode as HTMLElement
97
+ )
69
98
  }
70
99
 
71
100
  // Keep focus on the navigation menu item
72
- el.target.focus()
101
+ ;(el.target as HTMLElement).focus()
73
102
  break
74
103
  }
75
104
  case findTarget(event, "#navigator-filter-icon", el): {
@@ -87,7 +116,7 @@ export class ModNavigator {
87
116
  document
88
117
  .querySelectorAll("#navigator-filter input")
89
118
  .forEach(item => {
90
- if (item.checked) {
119
+ if ((item as HTMLInputElement).checked) {
91
120
  this.defaultFilters.push(item.id)
92
121
  }
93
122
  })
@@ -112,19 +141,19 @@ export class ModNavigator {
112
141
 
113
142
  document.body
114
143
  .querySelector("#navigator-list")
115
- .addEventListener("mouseover", () => {
144
+ ?.addEventListener("mouseover", () => {
116
145
  document.body.classList.add("no-scroll")
117
146
  })
118
147
  document.body
119
148
  .querySelector("#navigator-list")
120
- .addEventListener("mouseout", () => {
149
+ ?.addEventListener("mouseout", () => {
121
150
  document.body.classList.remove("no-scroll")
122
151
  })
123
152
  document.body.addEventListener("keydown", event => {
124
153
  // Alt+n shortcut to toggle navigator
125
154
  if (event.altKey && event.key.toLowerCase() === "n") {
126
155
  event.preventDefault()
127
- if (this.navigatorEl.classList.contains("opened")) {
156
+ if (this.navigatorEl?.classList.contains("opened")) {
128
157
  this.closeNavigator()
129
158
  } else {
130
159
  const navigatorListEl =
@@ -134,17 +163,18 @@ export class ModNavigator {
134
163
  this.populateNavigator() || ""
135
164
  }
136
165
  this.openNavigator()
137
- const activeHeading = this.navigatorEl.querySelector(
166
+ const activeHeading = this.navigatorEl?.querySelector(
138
167
  "#navigator-list .active-heading a"
139
168
  )
140
169
  if (activeHeading) {
141
- activeHeading.focus()
170
+ ;(activeHeading as HTMLElement).focus()
142
171
  } else {
143
- const firstFocusable = this.navigatorEl.querySelector(
144
- "#navigator-list [href]"
145
- )
172
+ const firstFocusable =
173
+ this.navigatorEl?.querySelector(
174
+ "#navigator-list [href]"
175
+ )
146
176
  if (firstFocusable) {
147
- firstFocusable.focus()
177
+ ;(firstFocusable as HTMLElement).focus()
148
178
  }
149
179
  }
150
180
  }
@@ -169,7 +199,7 @@ export class ModNavigator {
169
199
  event.stopImmediatePropagation()
170
200
  const activeElement = document.activeElement
171
201
  if (activeElement && activeElement.tagName === "A") {
172
- activeElement.click()
202
+ ;(activeElement as HTMLElement).click()
173
203
  }
174
204
  }
175
205
 
@@ -179,9 +209,10 @@ export class ModNavigator {
179
209
  'button, [href], input, [tabindex="0"]'
180
210
  )
181
211
  if (focusableElements.length > 0) {
182
- const firstElement = focusableElements[0]
183
- const lastElement =
184
- focusableElements[focusableElements.length - 1]
212
+ const firstElement = focusableElements[0] as HTMLElement
213
+ const lastElement = focusableElements[
214
+ focusableElements.length - 1
215
+ ] as HTMLElement
185
216
 
186
217
  if (
187
218
  event.shiftKey &&
@@ -204,6 +235,7 @@ export class ModNavigator {
204
235
 
205
236
  // Arrow key navigation within the list
206
237
  if (
238
+ navigatorListEl &&
207
239
  !navigatorListEl.classList.contains("fw-hide") &&
208
240
  (event.key === "ArrowDown" || event.key === "ArrowUp")
209
241
  ) {
@@ -221,7 +253,7 @@ export class ModNavigator {
221
253
  }
222
254
  })
223
255
 
224
- let newIndex
256
+ let newIndex: number
225
257
  if (event.key === "ArrowDown") {
226
258
  newIndex =
227
259
  currentIndex < links.length - 1 ? currentIndex + 1 : 0
@@ -231,7 +263,7 @@ export class ModNavigator {
231
263
  currentIndex > 0 ? currentIndex - 1 : links.length - 1
232
264
  }
233
265
 
234
- links[newIndex].focus()
266
+ ;(links[newIndex] as HTMLElement).focus()
235
267
  return
236
268
  }
237
269
 
@@ -240,6 +272,7 @@ export class ModNavigator {
240
272
 
241
273
  // Arrow key navigation within the filter menu
242
274
  if (
275
+ navigatorFilterEl &&
243
276
  !navigatorFilterEl.classList.contains("fw-hide") &&
244
277
  (event.key === "ArrowDown" || event.key === "ArrowUp")
245
278
  ) {
@@ -259,7 +292,7 @@ export class ModNavigator {
259
292
  }
260
293
  })
261
294
 
262
- let newIndex
295
+ let newIndex: number
263
296
  if (event.key === "ArrowDown") {
264
297
  newIndex =
265
298
  currentIndex < checkboxes.length - 1
@@ -273,13 +306,13 @@ export class ModNavigator {
273
306
  : checkboxes.length - 1
274
307
  }
275
308
 
276
- checkboxes[newIndex].focus()
309
+ ;(checkboxes[newIndex] as HTMLElement).focus()
277
310
  return
278
311
  }
279
312
  })
280
313
  }
281
314
 
282
- switchActiveHeading(new_heading) {
315
+ switchActiveHeading(new_heading: HTMLElement): void {
283
316
  Array.prototype.forEach.call(
284
317
  document.querySelectorAll("#navigator-list .active-heading"),
285
318
  active_heading => active_heading.classList.remove("active-heading")
@@ -287,7 +320,7 @@ export class ModNavigator {
287
320
  new_heading.classList.add("active-heading")
288
321
  }
289
322
 
290
- openNavigator() {
323
+ openNavigator(): void {
291
324
  const navigatorEl = document.getElementById("navigator")
292
325
  const navigatorButtonEl = document.getElementById("navigator-button")
293
326
  const navigatorFilterEl = document.getElementById("navigator-filter")
@@ -312,11 +345,11 @@ export class ModNavigator {
312
345
  navigatorListEl.classList.remove("fw-hide")
313
346
  navigatorFilterBackEl.classList.add("fw-hide")
314
347
  navigatorFilterIconEl.classList.remove("fw-hide")
315
- navigatorButtonEl.setAttribute("aria-expanded", "true")
348
+ navigatorButtonEl?.setAttribute("aria-expanded", "true")
316
349
  this.scrollToActiveHeading()
317
350
  }
318
351
 
319
- scrollToActiveHeading() {
352
+ scrollToActiveHeading(): void {
320
353
  const listEl = document.getElementById("navigator-list")
321
354
  const activeHeading = listEl?.querySelector(".active-heading")
322
355
  if (activeHeading) {
@@ -324,12 +357,12 @@ export class ModNavigator {
324
357
  }
325
358
  }
326
359
 
327
- closeNavigator() {
360
+ closeNavigator(): void {
328
361
  const navigatorEl = document.getElementById("navigator")
329
362
  const navigatorButtonEl = document.getElementById("navigator-button")
330
363
  if (navigatorEl) {
331
364
  navigatorEl.classList.remove("opened")
332
- navigatorButtonEl.setAttribute("aria-expanded", "false")
365
+ navigatorButtonEl?.setAttribute("aria-expanded", "false")
333
366
  }
334
367
 
335
368
  if (this.lastSelectedTarget) {
@@ -343,15 +376,15 @@ export class ModNavigator {
343
376
  const selection = window.getSelection()
344
377
  range.selectNodeContents(target)
345
378
  range.collapse()
346
- selection.removeAllRanges()
347
- selection.addRange(range)
348
- target.focus()
379
+ selection?.removeAllRanges()
380
+ selection?.addRange(range)
381
+ ;(target as HTMLElement).focus()
349
382
  }
350
383
  this.lastSelectedTarget = null
351
384
  }
352
385
  }
353
386
 
354
- showFilters() {
387
+ showFilters(): void {
355
388
  const navigatorFilterEl = document.getElementById("navigator-filter")
356
389
  const navigatorListEl = document.getElementById("navigator-list")
357
390
  const navigatorFilterBackEl = document.getElementById(
@@ -376,7 +409,7 @@ export class ModNavigator {
376
409
  navigatorFilterEl.innerHTML = this.populateNavFilter()
377
410
  }
378
411
 
379
- hideFilters() {
412
+ hideFilters(): void {
380
413
  const navigatorFilterEl = document.getElementById("navigator-filter")
381
414
  const navigatorListEl = document.getElementById("navigator-list")
382
415
  const navigatorFilterBackEl = document.getElementById(
@@ -401,19 +434,19 @@ export class ModNavigator {
401
434
  this.scrollToActiveHeading()
402
435
  }
403
436
 
404
- populateNavigator() {
437
+ populateNavigator(): string | false {
405
438
  const currentPos = this.editor.view.state.selection.$head.pos
406
439
  const title =
407
- document.body.querySelector("div.doc-title")?.innerText ||
440
+ document.body.querySelector("div.doc-title")?.textContent ||
408
441
  gettext("Untitled Document")
409
- const items = [
442
+ const items: NavigatorItem[] = [
410
443
  {
411
444
  id: "title",
412
445
  textContent: title,
413
446
  type: {name: "h1"}
414
447
  }
415
448
  ]
416
- let nearestHeader = ""
449
+ let nearestHeader: ProseMirrorNode | "" = ""
417
450
  this.editor.view.state.doc.descendants((node, pos) => {
418
451
  if (node.attrs?.hidden) {
419
452
  return false
@@ -439,12 +472,13 @@ export class ModNavigator {
439
472
  type: node.type
440
473
  })
441
474
  }
475
+ return undefined
442
476
  })
443
477
  const bibHeader = document.querySelector("h1.doc-bibliography-header")
444
478
  if (bibHeader) {
445
479
  items.push({
446
480
  id: "bibliography",
447
- textContent: bibHeader.innerText,
481
+ textContent: bibHeader.textContent || "",
448
482
  type: {name: "h1"}
449
483
  })
450
484
  }
@@ -455,7 +489,7 @@ export class ModNavigator {
455
489
  }
456
490
  }
457
491
 
458
- populateNavFilter() {
492
+ populateNavFilter(): string {
459
493
  return this.navigatorFilters
460
494
  .map(item => {
461
495
  const level = item.level
@@ -468,7 +502,7 @@ export class ModNavigator {
468
502
  .join("")
469
503
  }
470
504
 
471
- inDefault(level) {
505
+ inDefault(level: number): string {
472
506
  if (this.defaultFilters.includes("heading" + level)) {
473
507
  return "checked"
474
508
  } else {
@@ -476,7 +510,7 @@ export class ModNavigator {
476
510
  }
477
511
  }
478
512
 
479
- navigatorHTML(items) {
513
+ navigatorHTML(items: NavigatorItem[]): string {
480
514
  return `
481
515
  ${items
482
516
  .map(item => {
@@ -487,7 +521,7 @@ export class ModNavigator {
487
521
  .join("")}`
488
522
  }
489
523
 
490
- getNavigatorTemplate() {
524
+ getNavigatorTemplate(): string {
491
525
  return `
492
526
  <div id="navigator-content" role="dialog" aria-labelledby="navigator-header">
493
527
  <div class="header-container">
@@ -507,7 +541,7 @@ export class ModNavigator {
507
541
  <button id="navigator-button"
508
542
  aria-expanded="false"
509
543
  aria-label="${gettext("Toggle document navigator")}"
510
- title="${gettext("Document N\u0332avigator")}">
544
+ title="${gettext("Document N̲avigator")}">
511
545
  <span class="navigator-arrow-icon"><i class="fa-solid fa-scroll"></i></span>
512
546
  </button>
513
547
  `
@@ -1,14 +1,21 @@
1
1
  import {addAlert, postJson} from "fwtoolkit"
2
2
  import {receiveTransaction} from "prosemirror-collab"
3
- import {Transform} from "prosemirror-transform"
4
3
  import {recreateTransform} from "../collab/merge/recreate_transform.js"
4
+ import type {Editor} from "../types.js"
5
+ import type {Node} from "prosemirror-model"
5
6
 
6
7
  /**
7
8
  * Handles periodic saving and conflict resolution for the editor
8
9
  when EDITOR_SAVE_MODE is "direct" (no WebSocket).
9
10
  */
10
11
  export class NoCollabSave {
11
- constructor(editor) {
12
+ editor: Editor
13
+ saveInterval: ReturnType<typeof setInterval> | null
14
+ savePromise: Promise<void> | null
15
+ _beforeUnloadHandler: (() => void) | null
16
+ _lastSaveTime: number
17
+
18
+ constructor(editor: Editor) {
12
19
  this.editor = editor
13
20
  this.saveInterval = null
14
21
  this.savePromise = null
@@ -16,7 +23,7 @@ export class NoCollabSave {
16
23
  this._lastSaveTime = 0
17
24
  }
18
25
 
19
- start() {
26
+ start(): void {
20
27
  if (this.saveInterval) {
21
28
  return
22
29
  }
@@ -48,7 +55,7 @@ export class NoCollabSave {
48
55
  }
49
56
  }
50
57
 
51
- stop() {
58
+ stop(): void {
52
59
  if (this.saveInterval) {
53
60
  window.clearInterval(this.saveInterval)
54
61
  this.saveInterval = null
@@ -63,7 +70,7 @@ export class NoCollabSave {
63
70
  }
64
71
  }
65
72
 
66
- async save() {
73
+ async save(): Promise<void> {
67
74
  if (this.savePromise) {
68
75
  return this.savePromise
69
76
  }
@@ -75,23 +82,23 @@ export class NoCollabSave {
75
82
  }
76
83
  }
77
84
 
78
- _hasUnsavedChanges() {
79
- return this.editor.docInfo.updated.getTime() > this._lastSaveTime
85
+ _hasUnsavedChanges(): boolean {
86
+ return (this.editor.docInfo.updated as Date).getTime() > this._lastSaveTime
80
87
  }
81
88
 
82
- async _save(keepalive = false) {
89
+ async _save(keepalive = false): Promise<void> {
83
90
  if (this.editor.docInfo.access_rights !== "write") {
84
91
  return
85
92
  }
86
93
  const doc = this.editor.getDoc({use_current_view: true})
87
- let payload = {
94
+ let payload: Record<string, unknown> = {
88
95
  id: this.editor.docInfo.id,
89
96
  content: doc.content,
90
- comments: this.editor.mod.comments.store.comments,
91
- bibliography: this.editor.mod.db.bibDB.db,
97
+ comments: this.editor.mod.comments,
98
+ bibliography: this.editor.mod.db?.bibDB.db,
92
99
  title: doc.title,
93
100
  version: this.editor.docInfo.version,
94
- image_updates: this.editor.mod.db.imageDB.unsentEvents()
101
+ image_updates: this.editor.mod.db?.imageDB.unsentEvents()
95
102
  }
96
103
 
97
104
  if (
@@ -100,7 +107,9 @@ export class NoCollabSave {
100
107
  this.editor.e2ee.snapshotManager
101
108
  ) {
102
109
  const snapshot =
103
- await this.editor.e2ee.snapshotManager.getEncryptedSnapshot()
110
+ await (this.editor.e2ee.snapshotManager as {
111
+ getEncryptedSnapshot: () => Promise<Record<string, unknown>>
112
+ }).getEncryptedSnapshot()
104
113
  if (snapshot) {
105
114
  payload = {
106
115
  id: this.editor.docInfo.id,
@@ -117,12 +126,12 @@ export class NoCollabSave {
117
126
  }
118
127
 
119
128
  try {
120
- const {json, status} = await postJson(
129
+ const {json, status} = (await postJson(
121
130
  "/api/document/save/",
122
131
  payload,
123
132
  {},
124
133
  {keepalive}
125
- )
134
+ )) as {json: Record<string, unknown>; status: number}
126
135
  if (status === 409) {
127
136
  if (!keepalive) {
128
137
  await this._handleVersionConflict()
@@ -130,15 +139,17 @@ export class NoCollabSave {
130
139
  return
131
140
  }
132
141
  if (json.version !== undefined) {
133
- this.editor.docInfo.version = json.version
142
+ this.editor.docInfo.version = json.version as number
134
143
  }
135
144
  this.editor.docInfo.updated = new Date()
136
145
  this.editor.docInfo.confirmedDoc = this.editor.view.state.doc
137
146
  this._lastSaveTime = Date.now()
138
147
  // Clear unsent event queues since the full state has been saved.
139
- this.editor.mod.db.bibDB.unsent = []
140
- this.editor.mod.db.imageDB.unsent = []
141
- this.editor.mod.comments.store.unsent = []
148
+ if (this.editor.mod.db) {
149
+ this.editor.mod.db.bibDB.unsent = []
150
+ this.editor.mod.db.imageDB.unsent = []
151
+ }
152
+ ;(this.editor.mod.comments as any).store.unsent = []
142
153
  } catch (error) {
143
154
  if (!keepalive) {
144
155
  console.error("Failed to save document:", error)
@@ -147,27 +158,32 @@ export class NoCollabSave {
147
158
  }
148
159
  }
149
160
 
150
- async _handleVersionConflict() {
161
+ async _handleVersionConflict(): Promise<void> {
151
162
  if (this.editor.docInfo.access_rights !== "write") {
152
163
  return
153
164
  }
154
- const payload = {id: this.editor.docInfo.id}
165
+ const payload: Record<string, unknown> = {id: this.editor.docInfo.id}
155
166
  if (this.editor.docInfo.token) {
156
167
  payload.token = this.editor.docInfo.token
157
168
  }
158
169
  try {
159
- const {json} = await postJson(
170
+ const {json} = (await postJson(
160
171
  "/api/document/get_doc_data/",
161
172
  payload
173
+ )) as {json: Record<string, unknown>}
174
+ const serverDoc = this.editor.schema.nodeFromJSON(
175
+ (json.doc as Record<string, unknown>).content as Record<
176
+ string,
177
+ unknown
178
+ >
162
179
  )
163
- const serverDoc = this.editor.schema.nodeFromJSON(json.doc.content)
164
180
  const currentDoc = this.editor.view.state.doc
165
- const confirmedDoc = this.editor.docInfo.confirmedDoc
181
+ const confirmedDoc = this.editor.docInfo.confirmedDoc as Node
166
182
 
167
183
  const remoteTr = recreateTransform(confirmedDoc, serverDoc)
168
184
  const localTr = recreateTransform(confirmedDoc, currentDoc)
169
185
 
170
- const mappedSteps = []
186
+ const mappedSteps: Array<import("prosemirror-transform").Step> = []
171
187
  remoteTr.steps.forEach(step => {
172
188
  const mapped = step.map(localTr.mapping)
173
189
  if (mapped) {
@@ -186,13 +202,20 @@ export class NoCollabSave {
186
202
  }
187
203
 
188
204
  // Update metadata from server
189
- this.editor.mod.db.bibDB.setDB(json.doc.bibliography)
190
- this.editor.mod.db.imageDB.setDB(json.doc.images)
191
- this.editor.mod.comments.store.loadComments(json.doc.comments)
192
- this.editor.docInfo.version = json.doc.v
205
+ ;(this.editor.mod.db?.bibDB as {setDB(value: unknown): void}).setDB(
206
+ (json.doc as Record<string, unknown>).bibliography
207
+ )
208
+ ;(this.editor.mod.db?.imageDB as {setDB(value: unknown): void}).setDB(
209
+ (json.doc as Record<string, unknown>).images
210
+ )
211
+ ;(this.editor.mod.comments as any).store.loadComments(
212
+ (json.doc as Record<string, unknown>).comments
213
+ )
214
+ this.editor.docInfo.version = (json.doc as Record<string, unknown>)
215
+ .v as number
193
216
  this.editor.docInfo.confirmedDoc = this.editor.view.state.doc
194
- this.editor.docInfo.updated = new Date(json.time)
195
- this.editor.mod.footnotes.fnEditor.renderAllFootnotes()
217
+ this.editor.docInfo.updated = new Date(json.time as string)
218
+ ;(this.editor.mod.footnotes as any).fnEditor.renderAllFootnotes()
196
219
 
197
220
  // Retry save with the merged document
198
221
  await this.save()
@@ -1,12 +1,15 @@
1
1
  import {Plugin, PluginKey} from "prosemirror-state"
2
+ import type {Transaction} from "prosemirror-state"
3
+
2
4
  import {COMMENT_ONLY_ROLES, READ_ONLY_ROLES} from "../index.js"
5
+ import type {Editor} from "../types.js"
3
6
 
4
7
  const key = new PluginKey("accessRights")
5
8
 
6
- export const accessRightsPlugin = options =>
9
+ export const accessRightsPlugin = (options: {editor: Editor}) =>
7
10
  new Plugin({
8
11
  key,
9
- filterTransaction: (tr, _state) => {
12
+ filterTransaction: (tr: Transaction, _state) => {
10
13
  let allowed = true
11
14
  const remote = tr.getMeta("remote")
12
15
  if (remote) {
@@ -15,7 +18,7 @@ export const accessRightsPlugin = options =>
15
18
 
16
19
  if (
17
20
  READ_ONLY_ROLES.includes(
18
- options.editor.docInfo.access_rights
21
+ options.editor.docInfo.access_rights!
19
22
  ) &&
20
23
  tr.docChanged
21
24
  ) {
@@ -23,7 +26,7 @@ export const accessRightsPlugin = options =>
23
26
  allowed = false
24
27
  } else if (
25
28
  COMMENT_ONLY_ROLES.includes(
26
- options.editor.docInfo.access_rights
29
+ options.editor.docInfo.access_rights!
27
30
  )
28
31
  ) {
29
32
  //User has a comment-only role (commentator, editor or reviewer)
@@ -33,9 +36,11 @@ export const accessRightsPlugin = options =>
33
36
  if (
34
37
  !tr.steps.every(
35
38
  step =>
36
- (step.jsonID === "addMark" ||
37
- step.jsonID === "removeMark") &&
38
- step.mark.type.name === "comment"
39
+ ((step as unknown as {jsonID: string}).jsonID ===
40
+ "addMark" ||
41
+ (step as unknown as {jsonID: string})
42
+ .jsonID === "removeMark") &&
43
+ (step as any).mark.type.name === "comment"
39
44
  )
40
45
  ) {
41
46
  allowed = false