@fiduswriter/editor 0.1.19 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/dist/bibliography/tools.d.ts +14 -0
  2. package/dist/bibliography/tools.d.ts.map +1 -0
  3. package/dist/bibliography/tools.js +1 -1
  4. package/dist/bibliography/tools.js.map +1 -1
  5. package/dist/citations/index.d.ts +17 -0
  6. package/dist/citations/index.d.ts.map +1 -0
  7. package/dist/citations/index.js +22 -13
  8. package/dist/citations/index.js.map +1 -1
  9. package/dist/citations/render.d.ts +29 -0
  10. package/dist/citations/render.d.ts.map +1 -0
  11. package/dist/citations/render.js +25 -8
  12. package/dist/citations/render.js.map +1 -1
  13. package/dist/clipboard/copy/index.d.ts +2 -0
  14. package/dist/clipboard/copy/index.d.ts.map +1 -0
  15. package/dist/clipboard/copy/index.js.map +1 -1
  16. package/dist/clipboard/copy/schema.d.ts +4 -0
  17. package/dist/clipboard/copy/schema.d.ts.map +1 -0
  18. package/dist/clipboard/copy/schema.js +6 -5
  19. package/dist/clipboard/copy/schema.js.map +1 -1
  20. package/dist/clipboard/copy/serializers.d.ts +24 -0
  21. package/dist/clipboard/copy/serializers.d.ts.map +1 -0
  22. package/dist/clipboard/copy/serializers.js +19 -9
  23. package/dist/clipboard/copy/serializers.js.map +1 -1
  24. package/dist/clipboard/paste/fidus_writer.d.ts +7 -0
  25. package/dist/clipboard/paste/fidus_writer.d.ts.map +1 -0
  26. package/dist/clipboard/paste/fidus_writer.js +5 -2
  27. package/dist/clipboard/paste/fidus_writer.js.map +1 -1
  28. package/dist/clipboard/paste/general.d.ts +18 -0
  29. package/dist/clipboard/paste/general.d.ts.map +1 -0
  30. package/dist/clipboard/paste/general.js +18 -6
  31. package/dist/clipboard/paste/general.js.map +1 -1
  32. package/dist/clipboard/paste/google_docs.d.ts +6 -0
  33. package/dist/clipboard/paste/google_docs.d.ts.map +1 -0
  34. package/dist/clipboard/paste/google_docs.js +3 -2
  35. package/dist/clipboard/paste/google_docs.js.map +1 -1
  36. package/dist/clipboard/paste/html.d.ts +22 -0
  37. package/dist/clipboard/paste/html.d.ts.map +1 -0
  38. package/dist/clipboard/paste/html.js +15 -0
  39. package/dist/clipboard/paste/html.js.map +1 -1
  40. package/dist/clipboard/paste/index.d.ts +3 -0
  41. package/dist/clipboard/paste/index.d.ts.map +1 -0
  42. package/dist/clipboard/paste/index.js.map +1 -1
  43. package/dist/clipboard/paste/libreoffice_writer.d.ts +5 -0
  44. package/dist/clipboard/paste/libreoffice_writer.d.ts.map +1 -0
  45. package/dist/clipboard/paste/libreoffice_writer.js +2 -2
  46. package/dist/clipboard/paste/libreoffice_writer.js.map +1 -1
  47. package/dist/clipboard/paste/microsoft_word.d.ts +7 -0
  48. package/dist/clipboard/paste/microsoft_word.d.ts.map +1 -0
  49. package/dist/clipboard/paste/microsoft_word.js +13 -14
  50. package/dist/clipboard/paste/microsoft_word.js.map +1 -1
  51. package/dist/clipboard/paste/text.d.ts +11 -0
  52. package/dist/clipboard/paste/text.d.ts.map +1 -0
  53. package/dist/clipboard/paste/text.js +5 -3
  54. package/dist/clipboard/paste/text.js.map +1 -1
  55. package/dist/collab/chat.d.ts +24 -0
  56. package/dist/collab/chat.d.ts.map +1 -0
  57. package/dist/collab/chat.js +46 -16
  58. package/dist/collab/chat.js.map +1 -1
  59. package/dist/collab/colors.d.ts +16 -0
  60. package/dist/collab/colors.d.ts.map +1 -0
  61. package/dist/collab/colors.js +6 -0
  62. package/dist/collab/colors.js.map +1 -1
  63. package/dist/collab/doc.d.ts +147 -0
  64. package/dist/collab/doc.d.ts.map +1 -0
  65. package/dist/collab/doc.js +77 -42
  66. package/dist/collab/doc.js.map +1 -1
  67. package/dist/collab/index.d.ts +23 -0
  68. package/dist/collab/index.d.ts.map +1 -0
  69. package/dist/collab/index.js +14 -3
  70. package/dist/collab/index.js.map +1 -1
  71. package/dist/collab/merge/changeset.d.ts +23 -0
  72. package/dist/collab/merge/changeset.d.ts.map +1 -0
  73. package/dist/collab/merge/changeset.js +5 -4
  74. package/dist/collab/merge/changeset.js.map +1 -1
  75. package/dist/collab/merge/editor.d.ts +53 -0
  76. package/dist/collab/merge/editor.d.ts.map +1 -0
  77. package/dist/collab/merge/editor.js +62 -35
  78. package/dist/collab/merge/editor.js.map +1 -1
  79. package/dist/collab/merge/footnotes.d.ts +26 -0
  80. package/dist/collab/merge/footnotes.d.ts.map +1 -0
  81. package/dist/collab/merge/footnotes.js +14 -5
  82. package/dist/collab/merge/footnotes.js.map +1 -1
  83. package/dist/collab/merge/index.d.ts +32 -0
  84. package/dist/collab/merge/index.d.ts.map +1 -0
  85. package/dist/collab/merge/index.js +38 -26
  86. package/dist/collab/merge/index.js.map +1 -1
  87. package/dist/collab/merge/recreate_transform.d.ts +4 -0
  88. package/dist/collab/merge/recreate_transform.d.ts.map +1 -0
  89. package/dist/collab/merge/recreate_transform.js +25 -5
  90. package/dist/collab/merge/recreate_transform.js.map +1 -1
  91. package/dist/collab/merge/schema.d.ts +4 -0
  92. package/dist/collab/merge/schema.d.ts.map +1 -0
  93. package/dist/collab/merge/schema.js +35 -26
  94. package/dist/collab/merge/schema.js.map +1 -1
  95. package/dist/collab/merge/state_plugins/action.d.ts +16 -0
  96. package/dist/collab/merge/state_plugins/action.d.ts.map +1 -0
  97. package/dist/collab/merge/state_plugins/action.js +4 -5
  98. package/dist/collab/merge/state_plugins/action.js.map +1 -1
  99. package/dist/collab/merge/state_plugins/clipboard.d.ts +6 -0
  100. package/dist/collab/merge/state_plugins/clipboard.d.ts.map +1 -0
  101. package/dist/collab/merge/state_plugins/clipboard.js +1 -1
  102. package/dist/collab/merge/state_plugins/clipboard.js.map +1 -1
  103. package/dist/collab/merge/state_plugins/diff.d.ts +32 -0
  104. package/dist/collab/merge/state_plugins/diff.d.ts.map +1 -0
  105. package/dist/collab/merge/state_plugins/diff.js +108 -84
  106. package/dist/collab/merge/state_plugins/diff.js.map +1 -1
  107. package/dist/collab/merge/state_plugins/index.d.ts +3 -0
  108. package/dist/collab/merge/state_plugins/index.d.ts.map +1 -0
  109. package/dist/collab/merge/state_plugins/index.js.map +1 -1
  110. package/dist/collab/merge/tools.d.ts +11 -0
  111. package/dist/collab/merge/tools.d.ts.map +1 -0
  112. package/dist/collab/merge/tools.js +16 -14
  113. package/dist/collab/merge/tools.js.map +1 -1
  114. package/dist/collab/templates.d.ts +14 -0
  115. package/dist/collab/templates.d.ts.map +1 -0
  116. package/dist/collab/templates.js +1 -1
  117. package/dist/collab/templates.js.map +1 -1
  118. package/dist/comments/comment.d.ts +29 -0
  119. package/dist/comments/comment.d.ts.map +1 -0
  120. package/dist/comments/comment.js +12 -0
  121. package/dist/comments/comment.js.map +1 -1
  122. package/dist/comments/editors/answer.d.ts +14 -0
  123. package/dist/comments/editors/answer.d.ts.map +1 -0
  124. package/dist/comments/editors/answer.js +5 -3
  125. package/dist/comments/editors/answer.js.map +1 -1
  126. package/dist/comments/editors/comment.d.ts +65 -0
  127. package/dist/comments/editors/comment.d.ts.map +1 -0
  128. package/dist/comments/editors/comment.js +43 -14
  129. package/dist/comments/editors/comment.js.map +1 -1
  130. package/dist/comments/editors/index.d.ts +4 -0
  131. package/dist/comments/editors/index.d.ts.map +1 -0
  132. package/dist/comments/editors/index.js.map +1 -1
  133. package/dist/comments/editors/notify.d.ts +3 -0
  134. package/dist/comments/editors/notify.d.ts.map +1 -0
  135. package/dist/comments/editors/notify.js.map +1 -1
  136. package/dist/comments/editors/schema.d.ts +12 -0
  137. package/dist/comments/editors/schema.d.ts.map +1 -0
  138. package/dist/comments/editors/schema.js +5 -5
  139. package/dist/comments/editors/schema.js.map +1 -1
  140. package/dist/comments/index.d.ts +10 -0
  141. package/dist/comments/index.d.ts.map +1 -0
  142. package/dist/comments/index.js +5 -2
  143. package/dist/comments/index.js.map +1 -1
  144. package/dist/comments/interactions.d.ts +49 -0
  145. package/dist/comments/interactions.d.ts.map +1 -0
  146. package/dist/comments/interactions.js +33 -18
  147. package/dist/comments/interactions.js.map +1 -1
  148. package/dist/comments/store.d.ts +59 -0
  149. package/dist/comments/store.d.ts.map +1 -0
  150. package/dist/comments/store.js +36 -16
  151. package/dist/comments/store.js.map +1 -1
  152. package/dist/contacts/add_dialog.d.ts +7 -0
  153. package/dist/contacts/add_dialog.d.ts.map +1 -0
  154. package/dist/contacts/add_dialog.js +25 -26
  155. package/dist/contacts/add_dialog.js.map +1 -1
  156. package/dist/contacts/templates.d.ts +12 -0
  157. package/dist/contacts/templates.d.ts.map +1 -0
  158. package/dist/contacts/templates.js +3 -2
  159. package/dist/contacts/templates.js.map +1 -1
  160. package/dist/copyright_dialog/index.d.ts +25 -0
  161. package/dist/copyright_dialog/index.d.ts.map +1 -0
  162. package/dist/copyright_dialog/index.js +34 -26
  163. package/dist/copyright_dialog/index.js.map +1 -1
  164. package/dist/copyright_dialog/templates.d.ts +17 -0
  165. package/dist/copyright_dialog/templates.d.ts.map +1 -0
  166. package/dist/copyright_dialog/templates.js.map +1 -1
  167. package/dist/databases/bibliography.d.ts +42 -0
  168. package/dist/databases/bibliography.d.ts.map +1 -0
  169. package/dist/databases/bibliography.js +24 -9
  170. package/dist/databases/bibliography.js.map +1 -1
  171. package/dist/databases/images.d.ts +66 -0
  172. package/dist/databases/images.d.ts.map +1 -0
  173. package/dist/databases/images.js +19 -9
  174. package/dist/databases/images.js.map +1 -1
  175. package/dist/databases/index.d.ts +26 -0
  176. package/dist/databases/index.d.ts.map +1 -0
  177. package/dist/databases/index.js +9 -8
  178. package/dist/databases/index.js.map +1 -1
  179. package/dist/dialogs/citation.d.ts +58 -0
  180. package/dist/dialogs/citation.d.ts.map +1 -0
  181. package/dist/dialogs/citation.js +48 -25
  182. package/dist/dialogs/citation.js.map +1 -1
  183. package/dist/dialogs/code_block.d.ts +25 -0
  184. package/dist/dialogs/code_block.d.ts.map +1 -0
  185. package/dist/dialogs/code_block.js +32 -11
  186. package/dist/dialogs/code_block.js.map +1 -1
  187. package/dist/dialogs/contributor.d.ts +13 -0
  188. package/dist/dialogs/contributor.d.ts.map +1 -0
  189. package/dist/dialogs/contributor.js +17 -20
  190. package/dist/dialogs/contributor.js.map +1 -1
  191. package/dist/dialogs/figure.d.ts +51 -0
  192. package/dist/dialogs/figure.d.ts.map +1 -0
  193. package/dist/dialogs/figure.js +123 -81
  194. package/dist/dialogs/figure.js.map +1 -1
  195. package/dist/dialogs/index.d.ts +11 -0
  196. package/dist/dialogs/index.d.ts.map +1 -0
  197. package/dist/dialogs/index.js.map +1 -1
  198. package/dist/dialogs/language.d.ts +10 -0
  199. package/dist/dialogs/language.d.ts.map +1 -0
  200. package/dist/dialogs/language.js +4 -1
  201. package/dist/dialogs/language.js.map +1 -1
  202. package/dist/dialogs/link.d.ts +30 -0
  203. package/dist/dialogs/link.d.ts.map +1 -0
  204. package/dist/dialogs/link.js +27 -15
  205. package/dist/dialogs/link.js.map +1 -1
  206. package/dist/dialogs/math.d.ts +22 -0
  207. package/dist/dialogs/math.d.ts.map +1 -0
  208. package/dist/dialogs/math.js +27 -14
  209. package/dist/dialogs/math.js.map +1 -1
  210. package/dist/dialogs/ordered_list.d.ts +22 -0
  211. package/dist/dialogs/ordered_list.d.ts.map +1 -0
  212. package/dist/dialogs/ordered_list.js +12 -5
  213. package/dist/dialogs/ordered_list.js.map +1 -1
  214. package/dist/dialogs/revision.d.ts +8 -0
  215. package/dist/dialogs/revision.d.ts.map +1 -0
  216. package/dist/dialogs/revision.js +2 -0
  217. package/dist/dialogs/revision.js.map +1 -1
  218. package/dist/dialogs/subsup.d.ts +5 -0
  219. package/dist/dialogs/subsup.d.ts.map +1 -0
  220. package/dist/dialogs/subsup.js +3 -3
  221. package/dist/dialogs/subsup.js.map +1 -1
  222. package/dist/dialogs/table.d.ts +33 -0
  223. package/dist/dialogs/table.d.ts.map +1 -0
  224. package/dist/dialogs/table.js +43 -21
  225. package/dist/dialogs/table.js.map +1 -1
  226. package/dist/dialogs/templates.d.ts +85 -0
  227. package/dist/dialogs/templates.d.ts.map +1 -0
  228. package/dist/dialogs/templates.js +8 -8
  229. package/dist/dialogs/templates.js.map +1 -1
  230. package/dist/document_template/exporter.d.ts +23 -0
  231. package/dist/document_template/exporter.d.ts.map +1 -0
  232. package/dist/document_template/exporter.js +14 -5
  233. package/dist/document_template/exporter.js.map +1 -1
  234. package/dist/document_template/index.d.ts +35 -0
  235. package/dist/document_template/index.d.ts.map +1 -0
  236. package/dist/document_template/index.js +61 -53
  237. package/dist/document_template/index.js.map +1 -1
  238. package/dist/document_template/schema.d.ts +13 -0
  239. package/dist/document_template/schema.d.ts.map +1 -0
  240. package/dist/document_template/schema.js +2 -2
  241. package/dist/document_template/schema.js.map +1 -1
  242. package/dist/documents/access_rights/index.d.ts +85 -0
  243. package/dist/documents/access_rights/index.d.ts.map +1 -0
  244. package/dist/documents/access_rights/index.js +96 -60
  245. package/dist/documents/access_rights/index.js.map +1 -1
  246. package/dist/documents/access_rights/templates.d.ts +47 -0
  247. package/dist/documents/access_rights/templates.d.ts.map +1 -0
  248. package/dist/documents/access_rights/templates.js.map +1 -1
  249. package/dist/e2ee/snapshot-manager.d.ts +120 -0
  250. package/dist/e2ee/snapshot-manager.d.ts.map +1 -0
  251. package/dist/e2ee/snapshot-manager.js +27 -38
  252. package/dist/e2ee/snapshot-manager.js.map +1 -1
  253. package/dist/exporter/native/copy.d.ts +16 -0
  254. package/dist/exporter/native/copy.d.ts.map +1 -0
  255. package/dist/exporter/native/copy.js +51 -35
  256. package/dist/exporter/native/copy.js.map +1 -1
  257. package/dist/exporter/native/file.d.ts +6 -0
  258. package/dist/exporter/native/file.d.ts.map +1 -0
  259. package/dist/exporter/native/file.js +1 -1
  260. package/dist/exporter/native/file.js.map +1 -1
  261. package/dist/exporter/native/index.d.ts +4 -0
  262. package/dist/exporter/native/index.d.ts.map +1 -0
  263. package/dist/exporter/native/index.js.map +1 -1
  264. package/dist/exporter/native/revision.d.ts +8 -0
  265. package/dist/exporter/native/revision.d.ts.map +1 -0
  266. package/dist/exporter/native/revision.js +2 -2
  267. package/dist/exporter/native/revision.js.map +1 -1
  268. package/dist/exporter/native/zip.d.ts +2 -0
  269. package/dist/exporter/native/zip.d.ts.map +1 -0
  270. package/dist/exporter/native/zip.js.map +1 -1
  271. package/dist/footnotes/editor.d.ts +25 -0
  272. package/dist/footnotes/editor.d.ts.map +1 -0
  273. package/dist/footnotes/editor.js +5 -3
  274. package/dist/footnotes/editor.js.map +1 -1
  275. package/dist/footnotes/index.d.ts +11 -0
  276. package/dist/footnotes/index.d.ts.map +1 -0
  277. package/dist/footnotes/index.js +5 -2
  278. package/dist/footnotes/index.js.map +1 -1
  279. package/dist/footnotes/layout.d.ts +15 -0
  280. package/dist/footnotes/layout.d.ts.map +1 -0
  281. package/dist/footnotes/layout.js +26 -17
  282. package/dist/footnotes/layout.js.map +1 -1
  283. package/dist/footnotes/state_plugins/access_rights.d.ts +6 -0
  284. package/dist/footnotes/state_plugins/access_rights.d.ts.map +1 -0
  285. package/dist/footnotes/state_plugins/access_rights.js +1 -1
  286. package/dist/footnotes/state_plugins/access_rights.js.map +1 -1
  287. package/dist/footnotes/state_plugins/index.d.ts +2 -0
  288. package/dist/footnotes/state_plugins/index.d.ts.map +1 -0
  289. package/dist/footnotes/state_plugins/index.js.map +1 -1
  290. package/dist/images/edit_dialog/model.d.ts +4 -0
  291. package/dist/images/edit_dialog/model.d.ts.map +1 -0
  292. package/dist/images/edit_dialog/model.js.map +1 -1
  293. package/dist/index.d.ts +74 -0
  294. package/dist/index.d.ts.map +1 -0
  295. package/dist/index.js +88 -60
  296. package/dist/index.js.map +1 -1
  297. package/dist/keymap.d.ts +5 -0
  298. package/dist/keymap.d.ts.map +1 -0
  299. package/dist/keymap.js +1 -1
  300. package/dist/keymap.js.map +1 -1
  301. package/dist/marginboxes/index.d.ts +107 -0
  302. package/dist/marginboxes/index.d.ts.map +1 -0
  303. package/dist/marginboxes/index.js +165 -88
  304. package/dist/marginboxes/index.js.map +1 -1
  305. package/dist/marginboxes/templates.d.ts +118 -0
  306. package/dist/marginboxes/templates.d.ts.map +1 -0
  307. package/dist/marginboxes/templates.js +25 -24
  308. package/dist/marginboxes/templates.js.map +1 -1
  309. package/dist/menus/code_block/index.d.ts +2 -0
  310. package/dist/menus/code_block/index.d.ts.map +1 -0
  311. package/dist/menus/code_block/index.js.map +1 -1
  312. package/dist/menus/code_block/model.d.ts +14 -0
  313. package/dist/menus/code_block/model.d.ts.map +1 -0
  314. package/dist/menus/code_block/model.js +5 -4
  315. package/dist/menus/code_block/model.js.map +1 -1
  316. package/dist/menus/figure/index.d.ts +3 -0
  317. package/dist/menus/figure/index.d.ts.map +1 -0
  318. package/dist/menus/figure/index.js.map +1 -1
  319. package/dist/menus/figure/model.d.ts +32 -0
  320. package/dist/menus/figure/model.d.ts.map +1 -0
  321. package/dist/menus/figure/model.js +11 -12
  322. package/dist/menus/figure/model.js.map +1 -1
  323. package/dist/menus/figure/utils.d.ts +3 -0
  324. package/dist/menus/figure/utils.d.ts.map +1 -0
  325. package/dist/menus/figure/utils.js +4 -1
  326. package/dist/menus/figure/utils.js.map +1 -1
  327. package/dist/menus/headerbar/index.d.ts +3 -0
  328. package/dist/menus/headerbar/index.d.ts.map +1 -0
  329. package/dist/menus/headerbar/index.js.map +1 -1
  330. package/dist/menus/headerbar/model.d.ts +192 -0
  331. package/dist/menus/headerbar/model.d.ts.map +1 -0
  332. package/dist/menus/headerbar/model.js +141 -110
  333. package/dist/menus/headerbar/model.js.map +1 -1
  334. package/dist/menus/headerbar/view.d.ts +89 -0
  335. package/dist/menus/headerbar/view.d.ts.map +1 -0
  336. package/dist/menus/headerbar/view.js +76 -45
  337. package/dist/menus/headerbar/view.js.map +1 -1
  338. package/dist/menus/image/index.d.ts +2 -0
  339. package/dist/menus/image/index.d.ts.map +1 -0
  340. package/dist/menus/image/index.js.map +1 -1
  341. package/dist/menus/image/model.d.ts +18 -0
  342. package/dist/menus/image/model.d.ts.map +1 -0
  343. package/dist/menus/image/model.js +2 -2
  344. package/dist/menus/image/model.js.map +1 -1
  345. package/dist/menus/index.d.ts +10 -0
  346. package/dist/menus/index.d.ts.map +1 -0
  347. package/dist/menus/index.js.map +1 -1
  348. package/dist/menus/navigator/index.d.ts +2 -0
  349. package/dist/menus/navigator/index.d.ts.map +1 -0
  350. package/dist/menus/navigator/index.js.map +1 -1
  351. package/dist/menus/navigator/model.d.ts +9 -0
  352. package/dist/menus/navigator/model.d.ts.map +1 -0
  353. package/dist/menus/navigator/model.js.map +1 -1
  354. package/dist/menus/ordered_list/index.d.ts +2 -0
  355. package/dist/menus/ordered_list/index.d.ts.map +1 -0
  356. package/dist/menus/ordered_list/index.js.map +1 -1
  357. package/dist/menus/ordered_list/model.d.ts +11 -0
  358. package/dist/menus/ordered_list/model.d.ts.map +1 -0
  359. package/dist/menus/ordered_list/model.js +1 -1
  360. package/dist/menus/ordered_list/model.js.map +1 -1
  361. package/dist/menus/selection/index.d.ts +3 -0
  362. package/dist/menus/selection/index.d.ts.map +1 -0
  363. package/dist/menus/selection/index.js.map +1 -1
  364. package/dist/menus/selection/model.d.ts +16 -0
  365. package/dist/menus/selection/model.d.ts.map +1 -0
  366. package/dist/menus/selection/model.js +18 -16
  367. package/dist/menus/selection/model.js.map +1 -1
  368. package/dist/menus/selection/view.d.ts +49 -0
  369. package/dist/menus/selection/view.d.ts.map +1 -0
  370. package/dist/menus/selection/view.js +33 -18
  371. package/dist/menus/selection/view.js.map +1 -1
  372. package/dist/menus/table/index.d.ts +2 -0
  373. package/dist/menus/table/index.d.ts.map +1 -0
  374. package/dist/menus/table/index.js.map +1 -1
  375. package/dist/menus/table/model.d.ts +39 -0
  376. package/dist/menus/table/model.d.ts.map +1 -0
  377. package/dist/menus/table/model.js +53 -50
  378. package/dist/menus/table/model.js.map +1 -1
  379. package/dist/menus/toolbar/index.d.ts +3 -0
  380. package/dist/menus/toolbar/index.d.ts.map +1 -0
  381. package/dist/menus/toolbar/index.js.map +1 -1
  382. package/dist/menus/toolbar/model.d.ts +125 -0
  383. package/dist/menus/toolbar/model.d.ts.map +1 -0
  384. package/dist/menus/toolbar/model.js +160 -140
  385. package/dist/menus/toolbar/model.js.map +1 -1
  386. package/dist/menus/toolbar/view.d.ts +72 -0
  387. package/dist/menus/toolbar/view.d.ts.map +1 -0
  388. package/dist/menus/toolbar/view.js +61 -36
  389. package/dist/menus/toolbar/view.js.map +1 -1
  390. package/dist/navigator/index.d.ts +38 -0
  391. package/dist/navigator/index.d.ts.map +1 -0
  392. package/dist/navigator/index.js +42 -21
  393. package/dist/navigator/index.js.map +1 -1
  394. package/dist/no_collab_save/index.d.ts +20 -0
  395. package/dist/no_collab_save/index.d.ts.map +1 -0
  396. package/dist/no_collab_save/index.js +20 -11
  397. package/dist/no_collab_save/index.js.map +1 -1
  398. package/dist/plugins/citation_dialog/index.d.ts +2 -0
  399. package/dist/plugins/citation_dialog/index.d.ts.map +1 -0
  400. package/dist/plugins/citation_dialog/index.js.map +1 -1
  401. package/dist/plugins/editor/index.d.ts +2 -0
  402. package/dist/plugins/editor/index.d.ts.map +1 -0
  403. package/dist/plugins/editor/index.js.map +1 -1
  404. package/dist/state_plugins/access_rights.d.ts +6 -0
  405. package/dist/state_plugins/access_rights.d.ts.map +1 -0
  406. package/dist/state_plugins/access_rights.js +5 -3
  407. package/dist/state_plugins/access_rights.js.map +1 -1
  408. package/dist/state_plugins/citation_render.d.ts +9 -0
  409. package/dist/state_plugins/citation_render.d.ts.map +1 -0
  410. package/dist/state_plugins/citation_render.js +12 -43
  411. package/dist/state_plugins/citation_render.js.map +1 -1
  412. package/dist/state_plugins/clipboard.d.ts +12 -0
  413. package/dist/state_plugins/clipboard.d.ts.map +1 -0
  414. package/dist/state_plugins/clipboard.js +13 -11
  415. package/dist/state_plugins/clipboard.js.map +1 -1
  416. package/dist/state_plugins/code_block.d.ts +6 -0
  417. package/dist/state_plugins/code_block.d.ts.map +1 -0
  418. package/dist/state_plugins/code_block.js +23 -9
  419. package/dist/state_plugins/code_block.js.map +1 -1
  420. package/dist/state_plugins/collab_carets.d.ts +26 -0
  421. package/dist/state_plugins/collab_carets.d.ts.map +1 -0
  422. package/dist/state_plugins/collab_carets.js +24 -16
  423. package/dist/state_plugins/collab_carets.js.map +1 -1
  424. package/dist/state_plugins/comments.d.ts +15 -0
  425. package/dist/state_plugins/comments.d.ts.map +1 -0
  426. package/dist/state_plugins/comments.js +26 -21
  427. package/dist/state_plugins/comments.js.map +1 -1
  428. package/dist/state_plugins/contributor_input/dropup.d.ts +17 -0
  429. package/dist/state_plugins/contributor_input/dropup.d.ts.map +1 -0
  430. package/dist/state_plugins/contributor_input/dropup.js +19 -20
  431. package/dist/state_plugins/contributor_input/dropup.js.map +1 -1
  432. package/dist/state_plugins/contributor_input/index.d.ts +3 -0
  433. package/dist/state_plugins/contributor_input/index.d.ts.map +1 -0
  434. package/dist/state_plugins/contributor_input/index.js.map +1 -1
  435. package/dist/state_plugins/contributor_input/node_view.d.ts +7 -0
  436. package/dist/state_plugins/contributor_input/node_view.d.ts.map +1 -0
  437. package/dist/state_plugins/contributor_input/node_view.js.map +1 -1
  438. package/dist/state_plugins/contributor_input/plugin.d.ts +19 -0
  439. package/dist/state_plugins/contributor_input/plugin.d.ts.map +1 -0
  440. package/dist/state_plugins/contributor_input/plugin.js +14 -45
  441. package/dist/state_plugins/contributor_input/plugin.js.map +1 -1
  442. package/dist/state_plugins/document_template.d.ts +33 -0
  443. package/dist/state_plugins/document_template.d.ts.map +1 -0
  444. package/dist/state_plugins/document_template.js +34 -15
  445. package/dist/state_plugins/document_template.js.map +1 -1
  446. package/dist/state_plugins/figure.d.ts +6 -0
  447. package/dist/state_plugins/figure.d.ts.map +1 -0
  448. package/dist/state_plugins/figure.js +26 -8
  449. package/dist/state_plugins/figure.js.map +1 -1
  450. package/dist/state_plugins/footnote_markers.d.ts +15 -0
  451. package/dist/state_plugins/footnote_markers.d.ts.map +1 -0
  452. package/dist/state_plugins/footnote_markers.js +72 -153
  453. package/dist/state_plugins/footnote_markers.js.map +1 -1
  454. package/dist/state_plugins/headerbar.d.ts +6 -0
  455. package/dist/state_plugins/headerbar.d.ts.map +1 -0
  456. package/dist/state_plugins/headerbar.js +1 -1
  457. package/dist/state_plugins/headerbar.js.map +1 -1
  458. package/dist/state_plugins/index.d.ts +28 -0
  459. package/dist/state_plugins/index.d.ts.map +1 -0
  460. package/dist/state_plugins/index.js +13 -12
  461. package/dist/state_plugins/index.js.map +1 -1
  462. package/dist/state_plugins/inline_math.d.ts +6 -0
  463. package/dist/state_plugins/inline_math.d.ts.map +1 -0
  464. package/dist/state_plugins/inline_math.js +28 -19
  465. package/dist/state_plugins/inline_math.js.map +1 -1
  466. package/dist/state_plugins/inline_reference/dropup.d.ts +62 -0
  467. package/dist/state_plugins/inline_reference/dropup.d.ts.map +1 -0
  468. package/dist/state_plugins/inline_reference/dropup.js +17 -17
  469. package/dist/state_plugins/inline_reference/dropup.js.map +1 -1
  470. package/dist/state_plugins/inline_reference/index.d.ts +2 -0
  471. package/dist/state_plugins/inline_reference/index.d.ts.map +1 -0
  472. package/dist/state_plugins/inline_reference/index.js.map +1 -1
  473. package/dist/state_plugins/inline_reference/plugin.d.ts +35 -0
  474. package/dist/state_plugins/inline_reference/plugin.d.ts.map +1 -0
  475. package/dist/state_plugins/inline_reference/plugin.js +68 -55
  476. package/dist/state_plugins/inline_reference/plugin.js.map +1 -1
  477. package/dist/state_plugins/jump_hidden_nodes.d.ts +5 -0
  478. package/dist/state_plugins/jump_hidden_nodes.d.ts.map +1 -0
  479. package/dist/state_plugins/jump_hidden_nodes.js +35 -22
  480. package/dist/state_plugins/jump_hidden_nodes.js.map +1 -1
  481. package/dist/state_plugins/links.d.ts +11 -0
  482. package/dist/state_plugins/links.d.ts.map +1 -0
  483. package/dist/state_plugins/links.js +39 -25
  484. package/dist/state_plugins/links.js.map +1 -1
  485. package/dist/state_plugins/marginboxes.d.ts +6 -0
  486. package/dist/state_plugins/marginboxes.d.ts.map +1 -0
  487. package/dist/state_plugins/marginboxes.js +2 -1
  488. package/dist/state_plugins/marginboxes.js.map +1 -1
  489. package/dist/state_plugins/ordered_list_menu.d.ts +6 -0
  490. package/dist/state_plugins/ordered_list_menu.d.ts.map +1 -0
  491. package/dist/state_plugins/ordered_list_menu.js +20 -6
  492. package/dist/state_plugins/ordered_list_menu.js.map +1 -1
  493. package/dist/state_plugins/placeholders.d.ts +6 -0
  494. package/dist/state_plugins/placeholders.d.ts.map +1 -0
  495. package/dist/state_plugins/placeholders.js +18 -54
  496. package/dist/state_plugins/placeholders.js.map +1 -1
  497. package/dist/state_plugins/search.d.ts +34 -0
  498. package/dist/state_plugins/search.d.ts.map +1 -0
  499. package/dist/state_plugins/search.js +31 -27
  500. package/dist/state_plugins/search.js.map +1 -1
  501. package/dist/state_plugins/selection_menu.d.ts +6 -0
  502. package/dist/state_plugins/selection_menu.d.ts.map +1 -0
  503. package/dist/state_plugins/selection_menu.js +1 -1
  504. package/dist/state_plugins/selection_menu.js.map +1 -1
  505. package/dist/state_plugins/settings.d.ts +8 -0
  506. package/dist/state_plugins/settings.d.ts.map +1 -0
  507. package/dist/state_plugins/settings.js +31 -21
  508. package/dist/state_plugins/settings.js.map +1 -1
  509. package/dist/state_plugins/table.d.ts +6 -0
  510. package/dist/state_plugins/table.d.ts.map +1 -0
  511. package/dist/state_plugins/table.js +33 -13
  512. package/dist/state_plugins/table.js.map +1 -1
  513. package/dist/state_plugins/tag_input/index.d.ts +3 -0
  514. package/dist/state_plugins/tag_input/index.d.ts.map +1 -0
  515. package/dist/state_plugins/tag_input/index.js.map +1 -1
  516. package/dist/state_plugins/tag_input/node_view.d.ts +7 -0
  517. package/dist/state_plugins/tag_input/node_view.d.ts.map +1 -0
  518. package/dist/state_plugins/tag_input/node_view.js.map +1 -1
  519. package/dist/state_plugins/tag_input/plugin.d.ts +14 -0
  520. package/dist/state_plugins/tag_input/plugin.d.ts.map +1 -0
  521. package/dist/state_plugins/tag_input/plugin.js +7 -6
  522. package/dist/state_plugins/tag_input/plugin.js.map +1 -1
  523. package/dist/state_plugins/toc_render.d.ts +6 -0
  524. package/dist/state_plugins/toc_render.d.ts.map +1 -0
  525. package/dist/state_plugins/toc_render.js +59 -96
  526. package/dist/state_plugins/toc_render.js.map +1 -1
  527. package/dist/state_plugins/toolbar.d.ts +6 -0
  528. package/dist/state_plugins/toolbar.d.ts.map +1 -0
  529. package/dist/state_plugins/toolbar.js +1 -1
  530. package/dist/state_plugins/toolbar.js.map +1 -1
  531. package/dist/state_plugins/track/find_selected_changes.d.ts +13 -0
  532. package/dist/state_plugins/track/find_selected_changes.d.ts.map +1 -0
  533. package/dist/state_plugins/track/find_selected_changes.js +4 -3
  534. package/dist/state_plugins/track/find_selected_changes.js.map +1 -1
  535. package/dist/state_plugins/track/helpers.d.ts +29 -0
  536. package/dist/state_plugins/track/helpers.d.ts.map +1 -0
  537. package/dist/state_plugins/track/helpers.js +9 -3
  538. package/dist/state_plugins/track/helpers.js.map +1 -1
  539. package/dist/state_plugins/track/index.d.ts +3 -0
  540. package/dist/state_plugins/track/index.d.ts.map +1 -0
  541. package/dist/state_plugins/track/index.js.map +1 -1
  542. package/dist/state_plugins/track/plugin.d.ts +14 -0
  543. package/dist/state_plugins/track/plugin.d.ts.map +1 -0
  544. package/dist/state_plugins/track/plugin.js +10 -6
  545. package/dist/state_plugins/track/plugin.js.map +1 -1
  546. package/dist/tools/index.d.ts +4 -0
  547. package/dist/tools/index.d.ts.map +1 -0
  548. package/dist/tools/index.js.map +1 -1
  549. package/dist/tools/key_bindings/index.d.ts +7 -0
  550. package/dist/tools/key_bindings/index.d.ts.map +1 -0
  551. package/dist/tools/key_bindings/index.js +1 -3
  552. package/dist/tools/key_bindings/index.js.map +1 -1
  553. package/dist/tools/key_bindings/templates.d.ts +2 -0
  554. package/dist/tools/key_bindings/templates.d.ts.map +1 -0
  555. package/dist/tools/key_bindings/templates.js.map +1 -1
  556. package/dist/tools/search_replace/index.d.ts +28 -0
  557. package/dist/tools/search_replace/index.d.ts.map +1 -0
  558. package/dist/tools/search_replace/index.js +53 -27
  559. package/dist/tools/search_replace/index.js.map +1 -1
  560. package/dist/tools/search_replace/templates.d.ts +6 -0
  561. package/dist/tools/search_replace/templates.d.ts.map +1 -0
  562. package/dist/tools/search_replace/templates.js.map +1 -1
  563. package/dist/tools/word_count/index.d.ts +15 -0
  564. package/dist/tools/word_count/index.d.ts.map +1 -0
  565. package/dist/tools/word_count/index.js +2 -1
  566. package/dist/tools/word_count/index.js.map +1 -1
  567. package/dist/tools/word_count/templates.d.ts +11 -0
  568. package/dist/tools/word_count/templates.d.ts.map +1 -0
  569. package/dist/tools/word_count/templates.js.map +1 -1
  570. package/dist/track/accept.d.ts +3 -0
  571. package/dist/track/accept.d.ts.map +1 -0
  572. package/dist/track/accept.js +10 -5
  573. package/dist/track/accept.js.map +1 -1
  574. package/dist/track/accept_all.d.ts +3 -0
  575. package/dist/track/accept_all.d.ts.map +1 -0
  576. package/dist/track/accept_all.js +2 -2
  577. package/dist/track/accept_all.js.map +1 -1
  578. package/dist/track/accept_all_no_insertions.d.ts +3 -0
  579. package/dist/track/accept_all_no_insertions.d.ts.map +1 -0
  580. package/dist/track/accept_all_no_insertions.js +2 -2
  581. package/dist/track/accept_all_no_insertions.js.map +1 -1
  582. package/dist/track/amend_transaction.d.ts +5 -0
  583. package/dist/track/amend_transaction.d.ts.map +1 -0
  584. package/dist/track/amend_transaction.js +55 -32
  585. package/dist/track/amend_transaction.js.map +1 -1
  586. package/dist/track/delete.d.ts +3 -0
  587. package/dist/track/delete.d.ts.map +1 -0
  588. package/dist/track/delete.js +4 -3
  589. package/dist/track/delete.js.map +1 -1
  590. package/dist/track/index.d.ts +6 -0
  591. package/dist/track/index.d.ts.map +1 -0
  592. package/dist/track/index.js.map +1 -1
  593. package/dist/track/mod.d.ts +10 -0
  594. package/dist/track/mod.d.ts.map +1 -0
  595. package/dist/track/mod.js +9 -5
  596. package/dist/track/mod.js.map +1 -1
  597. package/dist/track/reject.d.ts +3 -0
  598. package/dist/track/reject.d.ts.map +1 -0
  599. package/dist/track/reject.js +14 -5
  600. package/dist/track/reject.js.map +1 -1
  601. package/dist/track/reject_all.d.ts +3 -0
  602. package/dist/track/reject_all.d.ts.map +1 -0
  603. package/dist/track/reject_all.js +6 -2
  604. package/dist/track/reject_all.js.map +1 -1
  605. package/dist/types.d.ts +182 -0
  606. package/dist/types.d.ts.map +1 -0
  607. package/dist/types.js +17 -0
  608. package/dist/types.js.map +1 -0
  609. package/package.json +38 -3
  610. package/src/bibliography/{tools.js → tools.ts} +16 -5
  611. package/src/citations/{index.js → index.ts} +100 -80
  612. package/src/citations/{render.js → render.ts} +43 -15
  613. package/src/clipboard/copy/{schema.js → schema.ts} +19 -8
  614. package/src/clipboard/copy/{serializers.js → serializers.ts} +44 -32
  615. package/src/clipboard/paste/{fidus_writer.js → fidus_writer.ts} +28 -8
  616. package/src/clipboard/paste/{general.js → general.ts} +28 -13
  617. package/src/clipboard/paste/{google_docs.js → google_docs.ts} +7 -4
  618. package/src/clipboard/paste/{html.js → html.ts} +35 -8
  619. package/src/clipboard/paste/{libreoffice_writer.js → libreoffice_writer.ts} +4 -4
  620. package/src/clipboard/paste/{microsoft_word.js → microsoft_word.ts} +22 -21
  621. package/src/clipboard/paste/{text.js → text.ts} +11 -7
  622. package/src/collab/{chat.js → chat.ts} +78 -27
  623. package/src/collab/{colors.js → colors.ts} +21 -5
  624. package/src/collab/{doc.js → doc.ts} +290 -184
  625. package/src/collab/{index.js → index.ts} +47 -13
  626. package/src/collab/merge/{changeset.js → changeset.ts} +33 -20
  627. package/src/collab/merge/{editor.js → editor.ts} +211 -107
  628. package/src/collab/merge/{footnotes.js → footnotes.ts} +43 -22
  629. package/src/collab/merge/{index.js → index.ts} +147 -70
  630. package/src/collab/merge/{recreate_transform.js → recreate_transform.ts} +60 -29
  631. package/src/collab/merge/{schema.js → schema.ts} +55 -35
  632. package/src/collab/merge/state_plugins/{action.js → action.ts} +65 -27
  633. package/src/collab/merge/state_plugins/{clipboard.js → clipboard.ts} +13 -3
  634. package/src/collab/merge/state_plugins/{diff.js → diff.ts} +279 -168
  635. package/src/collab/merge/{tools.js → tools.ts} +57 -27
  636. package/src/collab/{templates.js → templates.ts} +17 -2
  637. package/src/comments/{comment.js → comment.ts} +26 -0
  638. package/src/comments/editors/{answer.js → answer.ts} +27 -12
  639. package/src/comments/editors/{comment.js → comment.ts} +112 -36
  640. package/src/comments/editors/{notify.js → notify.ts} +6 -1
  641. package/src/comments/editors/{schema.js → schema.ts} +9 -8
  642. package/src/comments/index.ts +16 -0
  643. package/src/comments/{interactions.js → interactions.ts} +150 -89
  644. package/src/comments/{store.js → store.ts} +149 -73
  645. package/src/contacts/{add_dialog.js → add_dialog.ts} +50 -37
  646. package/src/contacts/{templates.js → templates.ts} +9 -3
  647. package/src/copyright_dialog/{index.js → index.ts} +92 -57
  648. package/src/copyright_dialog/{templates.js → templates.ts} +18 -3
  649. package/src/databases/{bibliography.js → bibliography.ts} +62 -36
  650. package/src/databases/{images.js → images.ts} +146 -96
  651. package/src/databases/index.ts +116 -0
  652. package/src/dialogs/{citation.js → citation.ts} +191 -107
  653. package/src/dialogs/{code_block.js → code_block.ts} +75 -33
  654. package/src/dialogs/{contributor.js → contributor.ts} +74 -49
  655. package/src/dialogs/{figure.js → figure.ts} +250 -149
  656. package/src/dialogs/{language.js → language.ts} +11 -6
  657. package/src/dialogs/{link.js → link.ts} +105 -60
  658. package/src/dialogs/{math.js → math.ts} +56 -28
  659. package/src/dialogs/{ordered_list.js → ordered_list.ts} +25 -12
  660. package/src/dialogs/{revision.js → revision.ts} +13 -9
  661. package/src/dialogs/{subsup.js → subsup.ts} +9 -7
  662. package/src/dialogs/{table.js → table.ts} +129 -70
  663. package/src/dialogs/{templates.js → templates.ts} +102 -22
  664. package/src/document_template/exporter.ts +158 -0
  665. package/src/document_template/{index.js → index.ts} +158 -117
  666. package/src/document_template/{schema.js → schema.ts} +31 -28
  667. package/src/documents/access_rights/{index.js → index.ts} +240 -123
  668. package/src/documents/access_rights/{templates.js → templates.ts} +41 -5
  669. package/src/e2ee/{snapshot-manager.js → snapshot-manager.ts} +80 -49
  670. package/src/exporter/native/copy.ts +302 -0
  671. package/src/exporter/native/{file.js → file.ts} +12 -5
  672. package/src/exporter/native/{revision.js → revision.ts} +17 -9
  673. package/src/footnotes/{editor.js → editor.ts} +37 -18
  674. package/src/footnotes/index.ts +21 -0
  675. package/src/footnotes/{layout.js → layout.ts} +53 -36
  676. package/src/footnotes/state_plugins/{access_rights.js → access_rights.ts} +6 -4
  677. package/src/global.d.ts +29 -0
  678. package/src/images/edit_dialog/{model.js → model.ts} +1 -1
  679. package/src/{index.js → index.ts} +194 -132
  680. package/src/{keymap.js → keymap.ts} +36 -16
  681. package/src/marginboxes/{index.js → index.ts} +341 -171
  682. package/src/marginboxes/{templates.js → templates.ts} +236 -38
  683. package/src/menus/code_block/{model.js → model.ts} +16 -5
  684. package/src/menus/figure/{model.js → model.ts} +21 -16
  685. package/src/menus/figure/utils.ts +13 -0
  686. package/src/menus/headerbar/{model.js → model.ts} +243 -153
  687. package/src/menus/headerbar/{view.js → view.ts} +189 -92
  688. package/src/menus/image/{model.js → model.ts} +13 -4
  689. package/src/menus/navigator/{model.js → model.ts} +6 -1
  690. package/src/menus/ordered_list/{model.js → model.ts} +2 -1
  691. package/src/menus/selection/{model.js → model.ts} +38 -20
  692. package/src/menus/selection/{view.js → view.ts} +88 -35
  693. package/src/menus/table/{model.js → model.ts} +84 -63
  694. package/src/menus/toolbar/{model.js → model.ts} +267 -215
  695. package/src/menus/toolbar/{view.js → view.ts} +135 -65
  696. package/src/modules.d.ts +84 -0
  697. package/src/navigator/{index.js → index.ts} +90 -56
  698. package/src/no_collab_save/{index.js → index.ts} +54 -31
  699. package/src/state_plugins/{access_rights.js → access_rights.ts} +12 -7
  700. package/src/state_plugins/citation_render.ts +63 -0
  701. package/src/state_plugins/{clipboard.js → clipboard.ts} +38 -23
  702. package/src/state_plugins/{code_block.js → code_block.ts} +62 -28
  703. package/src/state_plugins/{collab_carets.js → collab_carets.ts} +56 -25
  704. package/src/state_plugins/{comments.js → comments.ts} +70 -40
  705. package/src/state_plugins/contributor_input/{dropup.js → dropup.ts} +70 -38
  706. package/src/state_plugins/contributor_input/{node_view.js → node_view.ts} +13 -4
  707. package/src/state_plugins/contributor_input/{plugin.js → plugin.ts} +74 -75
  708. package/src/state_plugins/{document_template.js → document_template.ts} +108 -49
  709. package/src/state_plugins/{figure.js → figure.ts} +61 -23
  710. package/src/state_plugins/footnote_markers.ts +142 -0
  711. package/src/state_plugins/{headerbar.js → headerbar.ts} +4 -2
  712. package/src/state_plugins/{index.js → index.ts} +23 -56
  713. package/src/state_plugins/{inline_math.js → inline_math.ts} +151 -65
  714. package/src/state_plugins/inline_reference/{dropup.js → dropup.ts} +68 -34
  715. package/src/state_plugins/inline_reference/{plugin.js → plugin.ts} +221 -101
  716. package/src/state_plugins/jump_hidden_nodes.ts +67 -0
  717. package/src/state_plugins/{links.js → links.ts} +153 -99
  718. package/src/state_plugins/marginboxes.ts +17 -0
  719. package/src/state_plugins/{ordered_list_menu.js → ordered_list_menu.ts} +43 -17
  720. package/src/state_plugins/placeholders.ts +78 -0
  721. package/src/state_plugins/{search.js → search.ts} +110 -48
  722. package/src/state_plugins/{selection_menu.js → selection_menu.ts} +4 -2
  723. package/src/state_plugins/{settings.js → settings.ts} +68 -39
  724. package/src/state_plugins/table.ts +169 -0
  725. package/src/state_plugins/tag_input/{node_view.js → node_view.ts} +12 -3
  726. package/src/state_plugins/tag_input/plugin.ts +292 -0
  727. package/src/state_plugins/toc_render.ts +133 -0
  728. package/src/state_plugins/{toolbar.js → toolbar.ts} +4 -2
  729. package/src/state_plugins/track/{find_selected_changes.js → find_selected_changes.ts} +34 -19
  730. package/src/state_plugins/track/{helpers.js → helpers.ts} +36 -10
  731. package/src/state_plugins/track/{plugin.js → plugin.ts} +38 -14
  732. package/src/tools/key_bindings/{index.js → index.ts} +7 -3
  733. package/src/tools/key_bindings/{templates.js → templates.ts} +1 -1
  734. package/src/tools/search_replace/{index.js → index.ts} +115 -69
  735. package/src/tools/search_replace/{templates.js → templates.ts} +6 -1
  736. package/src/tools/word_count/{index.js → index.ts} +16 -6
  737. package/src/tools/word_count/{templates.js → templates.ts} +10 -1
  738. package/src/track/{accept.js → accept.ts} +20 -9
  739. package/src/track/{accept_all.js → accept_all.ts} +27 -17
  740. package/src/track/{accept_all_no_insertions.js → accept_all_no_insertions.ts} +16 -10
  741. package/src/track/{amend_transaction.js → amend_transaction.ts} +130 -70
  742. package/src/track/{delete.js → delete.ts} +15 -12
  743. package/src/track/{mod.js → mod.ts} +51 -32
  744. package/src/track/{reject.js → reject.ts} +34 -19
  745. package/src/track/{reject_all.js → reject_all.ts} +44 -24
  746. package/src/types.ts +214 -0
  747. package/src/comments/index.js +0 -11
  748. package/src/databases/index.js +0 -69
  749. package/src/document_template/exporter.js +0 -97
  750. package/src/exporter/native/copy.js +0 -191
  751. package/src/footnotes/index.js +0 -16
  752. package/src/menus/figure/utils.js +0 -5
  753. package/src/state_plugins/citation_render.js +0 -88
  754. package/src/state_plugins/footnote_markers.js +0 -238
  755. package/src/state_plugins/jump_hidden_nodes.js +0 -58
  756. package/src/state_plugins/marginboxes.js +0 -14
  757. package/src/state_plugins/placeholders.js +0 -123
  758. package/src/state_plugins/table.js +0 -127
  759. package/src/state_plugins/tag_input/plugin.js +0 -278
  760. package/src/state_plugins/toc_render.js +0 -160
  761. /package/src/clipboard/copy/{index.js → index.ts} +0 -0
  762. /package/src/clipboard/paste/{index.js → index.ts} +0 -0
  763. /package/src/collab/merge/state_plugins/{index.js → index.ts} +0 -0
  764. /package/src/comments/editors/{index.js → index.ts} +0 -0
  765. /package/src/dialogs/{index.js → index.ts} +0 -0
  766. /package/src/exporter/native/{index.js → index.ts} +0 -0
  767. /package/src/exporter/native/{zip.js → zip.ts} +0 -0
  768. /package/src/footnotes/state_plugins/{index.js → index.ts} +0 -0
  769. /package/src/menus/code_block/{index.js → index.ts} +0 -0
  770. /package/src/menus/figure/{index.js → index.ts} +0 -0
  771. /package/src/menus/headerbar/{index.js → index.ts} +0 -0
  772. /package/src/menus/image/{index.js → index.ts} +0 -0
  773. /package/src/menus/{index.js → index.ts} +0 -0
  774. /package/src/menus/navigator/{index.js → index.ts} +0 -0
  775. /package/src/menus/ordered_list/{index.js → index.ts} +0 -0
  776. /package/src/menus/selection/{index.js → index.ts} +0 -0
  777. /package/src/menus/table/{index.js → index.ts} +0 -0
  778. /package/src/menus/toolbar/{index.js → index.ts} +0 -0
  779. /package/src/plugins/citation_dialog/{index.js → index.ts} +0 -0
  780. /package/src/plugins/editor/{index.js → index.ts} +0 -0
  781. /package/src/state_plugins/contributor_input/{index.js → index.ts} +0 -0
  782. /package/src/state_plugins/inline_reference/{index.js → index.ts} +0 -0
  783. /package/src/state_plugins/tag_input/{index.js → index.ts} +0 -0
  784. /package/src/state_plugins/track/{index.js → index.ts} +0 -0
  785. /package/src/tools/{index.js → index.ts} +0 -0
  786. /package/src/track/{index.js → index.ts} +0 -0
@@ -1,8 +1,12 @@
1
1
  import {noSpaceTmp} from "fwtoolkit"
2
+ import type {Mark, Node, Schema} from "prosemirror-model"
2
3
  import {DOMSerializer} from "prosemirror-model"
3
4
  import {NodeSelection, Plugin, PluginKey} from "prosemirror-state"
5
+ import type {EditorState, Transaction} from "prosemirror-state"
4
6
  import {Mapping} from "prosemirror-transform"
5
7
  import {Decoration, DecorationSet} from "prosemirror-view"
8
+ import type {EditorView} from "prosemirror-view"
9
+
6
10
  import {changeSet} from "../changeset.js"
7
11
  import {readOnlyFnEditor} from "../footnotes.js"
8
12
  import {
@@ -20,12 +24,37 @@ import {
20
24
  removeDecoration
21
25
  } from "./action.js"
22
26
 
23
- function createHiglightDecoration(from, to, state) {
27
+ interface DiffPluginState {
28
+ baseTr: Transaction | false
29
+ deletionClass: string | false
30
+ decos: DecorationSet
31
+ }
32
+
33
+ interface MergeEditorLike {
34
+ schema: Schema
35
+ cpDoc: Node
36
+ offlineDoc: Node
37
+ onlineDoc: Node
38
+ offlineTr: Transaction
39
+ onlineTr: Transaction
40
+ mergeView1: EditorView
41
+ mergeView2: EditorView
42
+ mergeView3: EditorView
43
+ imageDataModified: Record<string, number>
44
+ offlineTrackedSteps: number[]
45
+ editor: any
46
+ mergedDocMap: Mapping
47
+ }
48
+
49
+ function createHiglightDecoration(
50
+ from: number,
51
+ to: number,
52
+ state: EditorState
53
+ ): Decoration[] {
24
54
  /* Creates a yellow coloured highlight decoration when the user
25
55
  tries to look at a change */
26
- const inlineDeco = Decoration.inline(from, to, {class: "selected-dec"})
27
- const deco = []
28
- deco.push(inlineDeco)
56
+ const deco: Decoration[] = []
57
+ deco.push(Decoration.inline(from, to, {class: "selected-dec"}))
29
58
  state.doc.nodesBetween(from, to, (node, pos) => {
30
59
  if (
31
60
  pos < from ||
@@ -45,26 +74,36 @@ function createHiglightDecoration(from, to, state) {
45
74
  )
46
75
  )
47
76
  }
77
+ return true
48
78
  })
49
79
  return deco
50
80
  }
51
81
 
52
- function createDeletionHighlight(decos, from, to, state, options) {
82
+ function createDeletionHighlight(
83
+ decos: DecorationSet,
84
+ from: number,
85
+ to: number,
86
+ state: EditorState,
87
+ options: {merge: MergeEditorLike}
88
+ ): DecorationSet {
53
89
  /* Creates a yellow coloured highlight decoration when the user
54
90
  tries to look at a deletion change in offline editor */
55
91
 
56
- decos.find(from + 1, to).forEach(deco => {
57
- const decoId = deco.spec.id
92
+ decos.find(undefined, undefined, spec => {
93
+ const decoId = spec.id as number | undefined
58
94
  if (decoId !== undefined) {
59
95
  const specDecoration = options.merge.mergeView2.dom.querySelector(
60
- '[data-decoid="' + decoId + '"]'
96
+ `[data-decoid="${decoId}"]`
61
97
  )
62
- const parentEl = specDecoration.closest(".deletion-decoration")
63
- parentEl.querySelectorAll(".online-deleted").forEach(ele => {
64
- ele.classList.add("selected-dec")
65
- ele.classList.add("deletion-highlight")
66
- })
98
+ const parentEl = specDecoration?.closest(".deletion-decoration")
99
+ if (parentEl) {
100
+ parentEl.querySelectorAll(".online-deleted").forEach(ele => {
101
+ ele.classList.add("selected-dec")
102
+ ele.classList.add("deletion-highlight")
103
+ })
104
+ }
67
105
  }
106
+ return false
68
107
  })
69
108
  const inlineDeco = Decoration.inline(
70
109
  from,
@@ -72,7 +111,7 @@ function createDeletionHighlight(decos, from, to, state, options) {
72
111
  {class: "selected-dec"},
73
112
  {type: "deletion-highlight"}
74
113
  )
75
- const deco = []
114
+ const deco: Decoration[] = []
76
115
  deco.push(inlineDeco)
77
116
  state.doc.nodesBetween(from, to, (node, pos) => {
78
117
  if (
@@ -93,11 +132,12 @@ function createDeletionHighlight(decos, from, to, state, options) {
93
132
  )
94
133
  )
95
134
  }
135
+ return true
96
136
  })
97
- decos = decos.add(state.doc, deco)
98
- return decos
137
+ return decos.add(state.doc, deco)
99
138
  }
100
- function createLinkDropUp(mark) {
139
+
140
+ function createLinkDropUp(mark: Mark): HTMLElement {
101
141
  const dom = document.createElement("span")
102
142
  dom.classList.add("link-drop-up-outer")
103
143
  dom.innerHTML = noSpaceTmp`
@@ -108,15 +148,19 @@ function createLinkDropUp(mark) {
108
148
  return dom
109
149
  }
110
150
 
111
- function getDecos(decos, merge, state) {
151
+ function getDecos(
152
+ decos: DecorationSet,
153
+ merge: MergeEditorLike,
154
+ state: EditorState
155
+ ): DecorationSet {
112
156
  /* Creates PM deco for the change popup */
113
157
  const $head = state.selection.$head
114
- const currentMarks = [],
115
- diffMark = $head.marks().find(mark => mark.type.name === "diffdata")
158
+ const currentMarks: Mark[] = []
159
+ const diffMark = $head.marks().find(mark => mark.type.name === "diffdata")
116
160
  const linkMark = $head.marks().find(mark => mark.type.name === "link")
117
161
 
118
162
  decos = decos.remove(
119
- decos.find(null, null, spec => {
163
+ decos.find(undefined, undefined, spec => {
120
164
  if (spec.type && spec.type == "deletion") {
121
165
  return false
122
166
  } else {
@@ -133,34 +177,47 @@ function getDecos(decos, merge, state) {
133
177
  state.selection instanceof NodeSelection
134
178
  ? state.selection.node
135
179
  : state.selection.$head.parent
136
- const markFound = {}
180
+ const markFound: {
181
+ attrs?: {
182
+ diff?: string
183
+ from?: number
184
+ to?: number
185
+ steps?: string
186
+ }
187
+ } = {}
137
188
  if (node && node.attrs.diffdata && node.attrs.diffdata.length > 0) {
138
- markFound["attrs"] = {}
139
- markFound["attrs"]["diff"] = node.attrs.diffdata[0].type
140
- markFound["attrs"]["from"] = node.attrs.diffdata[0].from
141
- markFound["attrs"]["to"] = node.attrs.diffdata[0].to
142
- markFound["attrs"]["steps"] = JSON.stringify(
189
+ markFound.attrs = {}
190
+ markFound.attrs.diff = node.attrs.diffdata[0].type as string
191
+ markFound.attrs.from = node.attrs.diffdata[0].from as number
192
+ markFound.attrs.to = node.attrs.diffdata[0].to as number
193
+ markFound.attrs.steps = JSON.stringify(
143
194
  node.attrs.diffdata[0].steps
144
195
  )
145
196
 
146
197
  const startPos = $head.pos // position of block start.
147
- const dom = createDropUp(merge, markFound, linkMark),
198
+ const dom = createDropUp(
199
+ merge,
200
+ markFound as unknown as Mark,
201
+ linkMark
202
+ ),
148
203
  deco = Decoration.widget(startPos, dom)
149
204
  const highlightDecos = createHiglightDecoration(
150
- markFound["attrs"]["from"],
151
- markFound["attrs"]["to"],
205
+ markFound.attrs.from,
206
+ markFound.attrs.to,
152
207
  state
153
208
  )
154
209
  highlightDecos.push(deco)
155
210
  return decos.add(state.doc, highlightDecos)
156
211
  } else if (node.marks.find(mark => mark.type.name == "diffdata")) {
157
- const mark = node.marks.find(mark => mark.type.name == "diffdata")
212
+ const foundMark = node.marks.find(
213
+ mark => mark.type.name == "diffdata"
214
+ )!
158
215
  const startPos = $head.pos // position of block start.
159
- const dom = createDropUp(merge, mark, linkMark),
216
+ const dom = createDropUp(merge, foundMark, linkMark),
160
217
  deco = Decoration.widget(startPos, dom)
161
218
  const highlightDecos = createHiglightDecoration(
162
- mark.attrs.from,
163
- mark.attrs.to,
219
+ foundMark.attrs.from as number,
220
+ foundMark.attrs.to as number,
164
221
  state
165
222
  )
166
223
  highlightDecos.push(deco)
@@ -173,34 +230,43 @@ function getDecos(decos, merge, state) {
173
230
  }
174
231
  return decos
175
232
  }
176
- const startPos = diffMark.attrs.to
233
+ if (!diffMark) {
234
+ return decos
235
+ }
236
+ const startPos = diffMark.attrs.to as number
177
237
  const dom = createDropUp(merge, diffMark, linkMark),
178
238
  deco = Decoration.widget(startPos, dom)
179
239
  const highlightDecos = createHiglightDecoration(
180
- diffMark.attrs.from,
181
- diffMark.attrs.to,
240
+ diffMark.attrs.from as number,
241
+ diffMark.attrs.to as number,
182
242
  state
183
243
  )
184
244
  highlightDecos.push(deco)
185
245
  return decos.add(state.doc, highlightDecos)
186
246
  }
187
247
 
188
- function deletionDecorations(decos, merge, doc, tr, deletionClass) {
248
+ function deletionDecorations(
249
+ decos: DecorationSet,
250
+ merge: MergeEditorLike,
251
+ doc: Node,
252
+ tr: Transaction,
253
+ deletionClass: string
254
+ ): DecorationSet {
189
255
  let index = 0
190
- let stepsTrackedByChangeset = []
256
+ let stepsTrackedByChangeset: number[] = []
191
257
  const changeset = new changeSet(tr).getChangeSet(),
192
258
  schema = merge.schema,
193
259
  commonDoc = merge.cpDoc,
194
260
  mapping = tr.mapping
195
261
  changeset.changes.forEach(change => {
196
262
  if (change.deleted.length > 0) {
197
- let dom = document.createElement("span")
263
+ const dom = document.createElement("span")
198
264
  const slice = commonDoc.slice(change.fromA, change.toA)
199
265
 
200
266
  // Apply the marks before trying to serialize!!!!
201
- let stepsInvolved = []
267
+ let stepsInvolved: number[] = []
202
268
  change.deleted.forEach(deletion =>
203
- stepsInvolved.push(Number.parseInt(deletion.data.step))
269
+ stepsInvolved.push(Number.parseInt(String(deletion.data.step)))
204
270
  )
205
271
  const stepsSet = new Set(stepsInvolved)
206
272
  stepsInvolved = Array.from(stepsSet)
@@ -222,33 +288,39 @@ function deletionDecorations(decos, merge, doc, tr, deletionClass) {
222
288
 
223
289
  // Parse HTML to accomodate minor changes
224
290
  if (deletedContent.querySelector("tr,td")) {
225
- dom = document.createElement("tbody")
226
- dom.appendChild(deletedContent)
291
+ const tbody = document.createElement("tbody")
292
+ tbody.appendChild(deletedContent)
293
+ dom.appendChild(tbody)
227
294
  } else {
228
295
  dom.appendChild(deletedContent)
229
296
  }
230
297
  dom.querySelectorAll("span.footnote-marker").forEach(
231
298
  footnoteElement => {
232
- const newFnElement = readOnlyFnEditor(footnoteElement)
299
+ const newFnElement = readOnlyFnEditor(
300
+ footnoteElement as HTMLElement
301
+ )
233
302
  newFnElement.classList.add("deleted-footnote-element")
234
303
  newFnElement.classList.add(deletionClass)
235
- footnoteElement.parentNode.appendChild(newFnElement)
304
+ footnoteElement.parentNode!.appendChild(newFnElement)
236
305
  footnoteElement.remove()
237
306
  }
238
307
  )
239
308
  dom.classList.add("deletion-decoration")
240
- dom.dataset.delfrom = change.fromA
241
- dom.dataset.delto = change.toA
309
+ dom.dataset.delfrom = String(change.fromA)
310
+ dom.dataset.delto = String(change.toA)
242
311
 
243
312
  const dropUp = createDropUp(merge, deletionMark, undefined)
244
- dropUp.dataset.decoid = index
313
+ dropUp.dataset.decoid = String(index)
245
314
  dropUp.style.display = "none"
246
315
  dom.appendChild(dropUp)
247
316
 
248
317
  // Put decoration in proper place. In case of a footnote change, the original content
249
318
  // is put first, decoration is shown after the content
250
319
  let pos = mapping.map(change.fromA)
251
- if (change.lenA == change.lenB && stepsInvolved.length == 1) {
320
+ if (
321
+ (change as any).lenA == (change as any).lenB &&
322
+ stepsInvolved.length == 1
323
+ ) {
252
324
  const JSONSlice = slice.toJSON()
253
325
  if (
254
326
  JSONSlice.content &&
@@ -265,27 +337,32 @@ function deletionDecorations(decos, merge, doc, tr, deletionClass) {
265
337
  }
266
338
  })
267
339
  if (deletionClass == "offline-deleted") {
268
- merge.offlineTrackedSteps = merge.offlineTrackedSteps.concat(
269
- stepsTrackedByChangeset
270
- )
340
+ merge.offlineTrackedSteps =
341
+ merge.offlineTrackedSteps.concat(stepsTrackedByChangeset)
271
342
  }
272
343
  return decos
273
344
  }
274
345
 
275
- function createDropUp(merge, diffMark, linkMark) {
346
+ function createDropUp(
347
+ merge: MergeEditorLike,
348
+ diffMark: Mark,
349
+ linkMark: Mark | undefined
350
+ ): HTMLElement {
276
351
  /* The actual function that creates a drop up */
277
- const dropUp = document.createElement("span"),
278
- requiredPx = 10,
279
- tr =
280
- diffMark.attrs.diff.search("offline") != -1
281
- ? merge.offlineTr
282
- : merge.onlineTr,
283
- trType =
284
- diffMark.attrs.diff.search("offline") != -1 ? "offline" : "online",
285
- opType =
286
- diffMark.attrs.diff.search("inserted") != -1
287
- ? "insertion"
288
- : "deletion"
352
+ const dropUp = document.createElement("span")
353
+ const requiredPx = 10
354
+ const tr =
355
+ String(diffMark.attrs.diff).search("offline") != -1
356
+ ? merge.offlineTr
357
+ : merge.onlineTr
358
+ const trType =
359
+ String(diffMark.attrs.diff).search("offline") != -1
360
+ ? "offline"
361
+ : "online"
362
+ const opType =
363
+ String(diffMark.attrs.diff).search("inserted") != -1
364
+ ? "insertion"
365
+ : "deletion"
289
366
  let textToBeDisplayed = ""
290
367
 
291
368
  if (diffMark.attrs.markOnly) {
@@ -305,7 +382,7 @@ function createDropUp(merge, diffMark, linkMark) {
305
382
  }
306
383
  }
307
384
  }
308
- linkMark = linkMark === undefined ? false : linkMark
385
+ const safeLinkMark = linkMark === undefined ? false : linkMark
309
386
  dropUp.classList.add("drop-up-outer")
310
387
  dropUp.innerHTML = noSpaceTmp`
311
388
  <div class="link drop-up-inner" style="top: -${requiredPx}px;">
@@ -318,13 +395,13 @@ function createDropUp(merge, diffMark, linkMark) {
318
395
  : ""
319
396
  }
320
397
  ${
321
- linkMark
322
- ? `<div> Link : ${linkMark.attrs.href}</div>`
398
+ safeLinkMark
399
+ ? `<div> Link : ${safeLinkMark.attrs.href}</div>`
323
400
  : ""
324
401
  }
325
402
  ${
326
- linkMark
327
- ? `<div> Type : ${linkMark.attrs.href[0] == "#" ? "internal" : "external"}</div>`
403
+ safeLinkMark
404
+ ? `<div> Type : ${safeLinkMark.attrs.href[0] == "#" ? "internal" : "external"}</div>`
328
405
  : ""
329
406
  }
330
407
  </div>
@@ -353,13 +430,16 @@ function createDropUp(merge, diffMark, linkMark) {
353
430
  if (opType == "insertion") {
354
431
  dispatchRemoveDiffdata(
355
432
  merge.mergeView2,
356
- diffMark.attrs.from,
357
- diffMark.attrs.to
433
+ diffMark.attrs.from as number,
434
+ diffMark.attrs.to as number
358
435
  )
359
436
  } else {
360
437
  // remove online deletion decoration
361
438
  const decorationId = dropUp.dataset.decoid
362
- removeDecoration(merge.mergeView2, decorationId)
439
+ removeDecoration(
440
+ merge.mergeView2,
441
+ decorationId as string
442
+ )
363
443
  }
364
444
  } else {
365
445
  if (opType == "insertion") {
@@ -373,14 +453,19 @@ function createDropUp(merge, diffMark, linkMark) {
373
453
  } else {
374
454
  // remove offline deletion decoration
375
455
  const decorationId = dropUp.dataset.decoid
376
- if (deleteContent(merge, merge.mergeView2, diffMark)) {
456
+ if (
457
+ deleteContent(merge, merge.mergeView2, diffMark)
458
+ ) {
377
459
  merge.mergeView2.dispatch(
378
460
  merge.mergeView2.state.tr.setMeta(
379
461
  "removeHighlight",
380
462
  true
381
463
  )
382
464
  )
383
- removeDecoration(merge.mergeView3, decorationId)
465
+ removeDecoration(
466
+ merge.mergeView3,
467
+ decorationId as string
468
+ )
384
469
  }
385
470
  }
386
471
  }
@@ -394,7 +479,7 @@ function createDropUp(merge, diffMark, linkMark) {
394
479
 
395
480
  // Handle merge failure
396
481
  merge.editor.mod.collab.doc.merge.handleMergeFailure(
397
- error,
482
+ error as Error,
398
483
  offlineDoc,
399
484
  onlineDoc,
400
485
  merge
@@ -420,8 +505,8 @@ function createDropUp(merge, diffMark, linkMark) {
420
505
  )
421
506
  dispatchRemoveDiffdata(
422
507
  merge.mergeView2,
423
- diffMark.attrs.from,
424
- diffMark.attrs.to
508
+ diffMark.attrs.from as number,
509
+ diffMark.attrs.to as number
425
510
  )
426
511
  } else {
427
512
  deleteContent(
@@ -441,23 +526,31 @@ function createDropUp(merge, diffMark, linkMark) {
441
526
  )
442
527
  ) {
443
528
  const decorationId = dropUp.dataset.decoid
444
- removeDecoration(merge.mergeView2, decorationId)
529
+ removeDecoration(
530
+ merge.mergeView2,
531
+ decorationId as string
532
+ )
445
533
  }
446
534
  }
447
535
  } else {
448
536
  if (opType == "insertion") {
449
537
  dispatchRemoveDiffdata(
450
538
  merge.mergeView3,
451
- diffMark.attrs.from,
452
- diffMark.attrs.to
539
+ diffMark.attrs.from as number,
540
+ diffMark.attrs.to as number
453
541
  )
454
542
  } else {
455
543
  // remove offline deletion decoration
456
- dropUp.parentNode.classList.remove("offline-deleted")
457
- dropUp.parentNode.classList.remove(
458
- "deletion-decoration"
544
+ const target = event.target as HTMLElement
545
+ const parentEl = target.closest(
546
+ ".deletion-decoration"
459
547
  )
460
- dropUp.parentNode
548
+ if (!parentEl) {
549
+ return
550
+ }
551
+ parentEl.classList.remove("offline-deleted")
552
+ parentEl.classList.remove("deletion-decoration")
553
+ parentEl
461
554
  .querySelectorAll(".offline-deleted")
462
555
  .forEach(ele => {
463
556
  ele.classList.remove("offline-deleted")
@@ -482,7 +575,7 @@ function createDropUp(merge, diffMark, linkMark) {
482
575
 
483
576
  // Handle merge failure
484
577
  merge.editor.mod.collab.doc.merge.handleMergeFailure(
485
- error,
578
+ error as Error,
486
579
  offlineDoc,
487
580
  onlineDoc,
488
581
  merge
@@ -500,28 +593,28 @@ function createDropUp(merge, diffMark, linkMark) {
500
593
  if (opType == "insertion") {
501
594
  copyChange(
502
595
  merge.mergeView2,
503
- diffMark.attrs.from,
504
- diffMark.attrs.to
596
+ diffMark.attrs.from as number,
597
+ diffMark.attrs.to as number
505
598
  )
506
599
  } else {
507
600
  copyChange(
508
601
  merge.mergeView1,
509
- diffMark.attrs.from,
510
- diffMark.attrs.to
602
+ diffMark.attrs.from as number,
603
+ diffMark.attrs.to as number
511
604
  )
512
605
  }
513
606
  } else {
514
607
  if (opType == "insertion") {
515
608
  copyChange(
516
609
  merge.mergeView3,
517
- diffMark.attrs.from,
518
- diffMark.attrs.to
610
+ diffMark.attrs.from as number,
611
+ diffMark.attrs.to as number
519
612
  )
520
613
  } else {
521
614
  copyChange(
522
615
  merge.mergeView1,
523
- diffMark.attrs.from,
524
- diffMark.attrs.to
616
+ diffMark.attrs.from as number,
617
+ diffMark.attrs.to as number
525
618
  )
526
619
  }
527
620
  }
@@ -530,30 +623,31 @@ function createDropUp(merge, diffMark, linkMark) {
530
623
  return dropUp
531
624
  }
532
625
 
533
- export const key = new PluginKey("mergeDiff")
626
+ export const key = new PluginKey<DiffPluginState>("mergeDiff")
534
627
 
535
- export const diffPlugin = options =>
536
- new Plugin({
628
+ export const diffPlugin = (options: {merge: MergeEditorLike}) =>
629
+ new Plugin<DiffPluginState>({
537
630
  key,
538
631
  state: {
539
- init(state) {
540
- let baseTr = false
541
- let deletionClass = false
632
+ init(config): DiffPluginState {
633
+ let baseTr: Transaction | false = false
634
+ let deletionClass: string | false = false
542
635
  let decos = DecorationSet.empty
543
- if (state.doc.eq(options.merge.offlineDoc)) {
636
+ const doc = config.doc
637
+ if (doc?.eq(options.merge.offlineDoc)) {
544
638
  baseTr = options.merge.offlineTr
545
639
  deletionClass = "offline-deleted"
546
- } else if (state.doc.eq(options.merge.onlineDoc)) {
640
+ } else if (doc?.eq(options.merge.onlineDoc)) {
547
641
  baseTr = options.merge.onlineTr
548
642
  deletionClass = "online-deleted"
549
643
  }
550
- if (baseTr) {
644
+ if (baseTr && doc) {
551
645
  decos = deletionDecorations(
552
646
  decos,
553
647
  options.merge,
554
- state.doc,
648
+ doc,
555
649
  baseTr,
556
- deletionClass
650
+ deletionClass as string
557
651
  )
558
652
  }
559
653
  return {
@@ -562,17 +656,18 @@ export const diffPlugin = options =>
562
656
  decos: decos
563
657
  }
564
658
  },
565
- apply(tr, _prev, oldState, state) {
566
- let {decos} = this.getState(oldState)
567
- const {baseTr, deletionClass} = this.getState(oldState)
659
+ apply(tr, _prev, oldState, state): DiffPluginState {
660
+ const oldPluginState = key.getState(oldState)!
661
+ let {decos} = oldPluginState
662
+ const {baseTr, deletionClass} = oldPluginState
568
663
 
569
- decos = getDecos(decos, options.merge, state)
664
+ let newDecos = getDecos(decos, options.merge, state)
570
665
 
571
666
  if (tr.getMeta("removeHighlight")) {
572
- decos = decos.remove(
573
- decos.find(
574
- null,
575
- null,
667
+ newDecos = newDecos.remove(
668
+ newDecos.find(
669
+ undefined,
670
+ undefined,
576
671
  spec => spec.type == "deletion-highlight"
577
672
  )
578
673
  )
@@ -589,12 +684,19 @@ export const diffPlugin = options =>
589
684
  const decorationId = Number.parseInt(
590
685
  tr.getMeta("decorationId")
591
686
  )
592
- decos = decos.remove(
593
- decos.find(null, null, spec => spec.id == decorationId)
687
+ newDecos = newDecos.remove(
688
+ newDecos.find(
689
+ undefined,
690
+ undefined,
691
+ spec => spec.id == decorationId
692
+ )
594
693
  )
595
694
  }
596
695
  if (tr.getMeta("highlight")) {
597
- const data = tr.getMeta("highlight")
696
+ const data = tr.getMeta("highlight") as {
697
+ from: string
698
+ to: string
699
+ }
598
700
  const from = options.merge.mergedDocMap.map(
599
701
  Number.parseInt(data.from)
600
702
  )
@@ -602,8 +704,8 @@ export const diffPlugin = options =>
602
704
  Number.parseInt(data.to)
603
705
  )
604
706
  if (from && to) {
605
- decos = createDeletionHighlight(
606
- decos,
707
+ newDecos = createDeletionHighlight(
708
+ newDecos,
607
709
  from,
608
710
  to,
609
711
  state,
@@ -615,14 +717,14 @@ export const diffPlugin = options =>
615
717
  if (tr.getMeta("initialDiffMap")) {
616
718
  // If it is initial diffMap we update mark data
617
719
  // So no need to update the deco's position.
618
- decos = decos.map(new Mapping(), tr.doc)
720
+ newDecos = newDecos.map(new Mapping(), tr.doc)
619
721
  } else {
620
- decos = decos.map(tr.mapping, tr.doc)
722
+ newDecos = newDecos.map(tr.mapping, tr.doc)
621
723
  }
622
724
  return {
623
725
  baseTr: baseTr,
624
726
  deletionClass: deletionClass,
625
- decos: decos
727
+ decos: newDecos
626
728
  }
627
729
  }
628
730
  },
@@ -630,7 +732,6 @@ export const diffPlugin = options =>
630
732
  handleClick: (view, _pos, event) => {
631
733
  const $pos = view.state.doc.resolve(_pos)
632
734
  if (
633
- $pos.node &&
634
735
  $pos.parent &&
635
736
  $pos.parent.type.name == "figure"
636
737
  ) {
@@ -647,73 +748,79 @@ export const diffPlugin = options =>
647
748
  const delDeco = view.dom.querySelectorAll(
648
749
  ".offline-deleted,.online-deleted"
649
750
  )
650
- if (delDeco) {
651
- delDeco.forEach(item =>
652
- item.classList.remove("selected-dec")
653
- )
654
- }
751
+ delDeco.forEach(item =>
752
+ item.classList.remove("selected-dec")
753
+ )
655
754
  const delPopUp = view.dom.querySelectorAll(
656
755
  ".deletion-decoration .drop-up-outer"
657
756
  )
658
- if (delPopUp) {
659
- delPopUp.forEach(popUp => (popUp.style.display = "none"))
660
- }
757
+ delPopUp.forEach(
758
+ popUp => ((popUp as HTMLElement).style.display = "none")
759
+ )
661
760
  const delFnToolTip = view.dom.querySelectorAll(
662
761
  ".deleted-footnote-element"
663
762
  )
664
- if (delFnToolTip) {
665
- delFnToolTip.forEach(
666
- tooltip =>
667
- (tooltip.childNodes[0].style.display = "none")
668
- )
669
- }
763
+ delFnToolTip.forEach(tooltip =>
764
+ ((tooltip.childNodes[0] as HTMLElement).style.display =
765
+ "none")
766
+ )
670
767
  options.merge.mergeView2.dispatch(
671
768
  options.merge.mergeView2.state.tr.setMeta(
672
769
  "removeHighlight",
673
770
  true
674
771
  )
675
772
  )
676
- if (event.target.closest(".offline-deleted")) {
677
- const parentEl = event.target.closest(
678
- ".deletion-decoration"
679
- )
773
+ const target = event.target as HTMLElement
774
+ const offlineDeleted = target.closest(".offline-deleted")
775
+ if (offlineDeleted) {
776
+ const parentEl = target.closest(".deletion-decoration")
777
+ if (!parentEl) {
778
+ return false
779
+ }
680
780
  const highlightEle =
681
781
  parentEl.querySelectorAll(".offline-deleted")
682
- if (highlightEle) {
683
- highlightEle.forEach(ele =>
684
- ele.classList.add("selected-dec")
685
- )
686
- }
687
- parentEl.querySelector(".drop-up-outer").style.display =
688
- "block"
782
+ highlightEle.forEach(ele =>
783
+ ele.classList.add("selected-dec")
784
+ )
785
+ ;(
786
+ parentEl.querySelector(".drop-up-outer") as HTMLElement
787
+ ).style.display = "block"
689
788
 
690
789
  // Add a decoration to highlight decoration to the online/merged view
691
790
  options.merge.mergeView2.dispatch(
692
791
  options.merge.mergeView2.state.tr.setMeta("highlight", {
693
- from: parentEl.dataset.delfrom,
694
- to: parentEl.dataset.delto
792
+ from: (parentEl as HTMLElement).dataset.delfrom,
793
+ to: (parentEl as HTMLElement).dataset.delto
695
794
  })
696
795
  )
697
- } else if (event.target.closest(".online-deleted")) {
698
- const parentEl = event.target.closest(
699
- ".deletion-decoration"
700
- )
701
- const highlightEle =
702
- parentEl.querySelectorAll(".online-deleted")
703
- if (highlightEle) {
796
+ } else {
797
+ const onlineDeleted = target.closest(".online-deleted")
798
+ if (onlineDeleted) {
799
+ const parentEl = target.closest(".deletion-decoration")
800
+ if (!parentEl) {
801
+ return false
802
+ }
803
+ const highlightEle =
804
+ parentEl.querySelectorAll(".online-deleted")
704
805
  highlightEle.forEach(ele =>
705
806
  ele.classList.add("selected-dec")
706
807
  )
808
+ ;(
809
+ parentEl.querySelector(
810
+ ".drop-up-outer"
811
+ ) as HTMLElement
812
+ ).style.display = "block"
707
813
  }
708
- parentEl.querySelector(".drop-up-outer").style.display =
709
- "block"
710
814
  }
711
- if (event.target.matches(".deleted-footnote-element")) {
712
- event.target.childNodes[0].style.display = "block"
815
+ if (target.matches(".deleted-footnote-element")) {
816
+ ;(
817
+ target.childNodes[0] as HTMLElement
818
+ ).style.display = "block"
713
819
  }
820
+ return false
714
821
  },
715
822
  decorations(state) {
716
- const {decos} = this.getState(state)
823
+ const {decos} = key.getState(state)!
717
824
  return decos
718
825
  }
719
826
  },
@@ -721,11 +828,14 @@ export const diffPlugin = options =>
721
828
  return {
722
829
  update: view => {
723
830
  // Make sure that pop stays inside the view.
724
- const changePopUp = view.dom.querySelector(".drop-up-outer")
831
+ const changePopUp = view.dom.querySelector(
832
+ ".drop-up-outer"
833
+ ) as HTMLElement | null
725
834
  if (changePopUp) {
726
835
  const bounding = changePopUp.getBoundingClientRect()
727
- const dialogBox =
728
- document.querySelector("#editor-merge-view")
836
+ const dialogBox = document.querySelector(
837
+ "#editor-merge-view"
838
+ ) as HTMLElement | null
729
839
  if (dialogBox) {
730
840
  if (
731
841
  bounding.right > dialogBox.offsetWidth ||
@@ -741,11 +851,12 @@ export const diffPlugin = options =>
741
851
  // Make sure that the deletion decoration footnote stays inside the view
742
852
  const footnote = view.dom.querySelector(
743
853
  ".offline-deleted.deleted-footnote-element .footnote-tooltip"
744
- )
854
+ ) as HTMLElement | null
745
855
  if (footnote) {
746
856
  const bounding = footnote.getBoundingClientRect()
747
- const dialogBox =
748
- document.querySelector("#editor-merge-view")
857
+ const dialogBox = document.querySelector(
858
+ "#editor-merge-view"
859
+ ) as HTMLElement | null
749
860
  if (dialogBox) {
750
861
  if (
751
862
  bounding.right > dialogBox.offsetWidth ||