@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,8 +1,13 @@
1
- import {Fragment, Slice} from "prosemirror-model"
2
- import {EditorState} from "prosemirror-state"
1
+ import {Fragment, Slice, Node, Schema} from "prosemirror-model"
2
+ import {EditorState, Transaction} from "prosemirror-state"
3
3
  import {ReplaceStep} from "prosemirror-transform"
4
+ import type {EditorView} from "prosemirror-view"
4
5
 
5
- export const checkPresenceOfdiffdata = (doc, from, to) => {
6
+ export const checkPresenceOfdiffdata = (
7
+ doc: Node,
8
+ from: number,
9
+ to: number
10
+ ): boolean => {
6
11
  /* This function checks whether diff mark is present inside the given range */
7
12
  let diffAttrPresent = false
8
13
  if (doc.rangeHasMark(from, to, doc.type.schema.marks.diffdata)) {
@@ -16,7 +21,7 @@ export const checkPresenceOfdiffdata = (doc, from, to) => {
16
21
  return diffAttrPresent
17
22
  }
18
23
 
19
- export const simplifyTransform = tr => {
24
+ export const simplifyTransform = (tr: Transaction): Transaction => {
20
25
  /* This splits complex insertion & Deletion steps into simple insertion and deletion
21
26
  steps */
22
27
  if (tr.docChanged && tr.docs.length > 0) {
@@ -30,7 +35,7 @@ export const simplifyTransform = tr => {
30
35
  step.to, // We insert all the same steps, but with "from"/"to" both set to "to" in order not to delete content. Mapped as needed.
31
36
  step.to,
32
37
  step.slice,
33
- step.structure
38
+ (step as any).structure
34
39
  )
35
40
  : false
36
41
  if (modifiedStep) {
@@ -44,7 +49,7 @@ export const simplifyTransform = tr => {
44
49
  step.from,
45
50
  step.to,
46
51
  Slice.empty,
47
- step.structure
52
+ (step as any).structure
48
53
  )
49
54
  ).failed
50
55
  ) {
@@ -67,7 +72,11 @@ export const simplifyTransform = tr => {
67
72
  }
68
73
  }
69
74
 
70
- export const removeDiffdata = (tr, from, to) => {
75
+ export const removeDiffdata = (
76
+ tr: Transaction,
77
+ from: number,
78
+ to: number
79
+ ): Transaction => {
71
80
  /* Adds steps to a tr to remove all the diff marks in the given range. */
72
81
  tr.doc.nodesBetween(from, to, (node, pos) => {
73
82
  if (
@@ -86,19 +95,28 @@ export const removeDiffdata = (tr, from, to) => {
86
95
  node.marks
87
96
  )
88
97
  }
98
+ return true
89
99
  })
90
100
  tr.removeMark(from, to, tr.doc.type.schema.marks.diffdata)
91
101
  return tr
92
102
  }
93
103
 
94
- export const dispatchRemoveDiffdata = (view, from, to) => {
104
+ export const dispatchRemoveDiffdata = (
105
+ view: EditorView,
106
+ from: number,
107
+ to: number
108
+ ): void => {
95
109
  const tr = removeDiffdata(view.state.tr, from, to)
96
110
  tr.setMeta("initialDiffMap", true).setMeta("mapAppended", true)
97
111
  tr.setMeta("notrack", true)
98
112
  view.dispatch(tr)
99
113
  }
100
114
 
101
- export const updateMarkData = (tr, imageDataModified, newTr) => {
115
+ export const updateMarkData = (
116
+ tr: Transaction,
117
+ imageDataModified: Record<string, number>,
118
+ newTr: Transaction
119
+ ): Transaction => {
102
120
  /* Update the range inside the marks and also if we have a image that
103
121
  was reuploaded , then while accepting it into the middle editor,
104
122
  update its attrs */
@@ -112,20 +130,20 @@ export const updateMarkData = (tr, imageDataModified, newTr) => {
112
130
  mark => mark.type.name == "diffdata"
113
131
  )
114
132
  if (diffMark !== undefined) {
115
- diffMark = diffMark.attrs
133
+ const diffAttrs = diffMark.attrs
116
134
  newTr.removeMark(
117
135
  pos,
118
136
  pos + node.nodeSize,
119
137
  tr.doc.type.schema.marks.diffdata
120
138
  )
121
- const from = tr.mapping.map(diffMark.from)
122
- const to = tr.mapping.map(diffMark.to, -1)
139
+ const from = tr.mapping.map(diffAttrs.from)
140
+ const to = tr.mapping.map(diffAttrs.to, -1)
123
141
  const mark = tr.doc.type.schema.marks.diffdata.create({
124
- diff: diffMark.diff,
125
- steps: diffMark.steps,
142
+ diff: diffAttrs.diff,
143
+ steps: diffAttrs.steps,
126
144
  from: from,
127
145
  to: to,
128
- markOnly: diffMark.markOnly
146
+ markOnly: diffAttrs.markOnly
129
147
  })
130
148
  newTr.addMark(pos, pos + node.nodeSize, mark)
131
149
  }
@@ -136,13 +154,13 @@ export const updateMarkData = (tr, imageDataModified, newTr) => {
136
154
  String(node.attrs.image)
137
155
  )
138
156
  ) {
139
- const attrs = Object.assign({}, node.attrs)
157
+ const attrs = Object.assign({}, node.attrs) as Record<string, any>
140
158
  attrs["image"] = imageDataModified[String(node.attrs.image)]
141
159
  const nodeType = tr.doc.type.schema.nodes["image"]
142
160
  newTr.setNodeMarkup(pos, nodeType, attrs)
143
161
  }
144
162
  if (node.attrs.diffdata && node.attrs.diffdata.length > 0) {
145
- const diffdata = node.attrs.diffdata
163
+ const diffdata = node.attrs.diffdata as any[]
146
164
  diffdata[0].from = tr.mapping.map(diffdata[0].from)
147
165
  diffdata[0].to = tr.mapping.map(diffdata[0].to)
148
166
  newTr.setNodeMarkup(
@@ -152,31 +170,39 @@ export const updateMarkData = (tr, imageDataModified, newTr) => {
152
170
  node.marks
153
171
  )
154
172
  }
173
+ return true
155
174
  })
156
175
  }
157
176
  return newTr
158
177
  }
159
178
 
160
- export const removeDiffFromJson = object => {
179
+ export const removeDiffFromJson = (object: any): any => {
161
180
  /* Used to convert a document from the merge editor to a doc that complies with the schema of the main editor */
162
181
  if (object.attrs && object.attrs.diffdata) {
163
182
  delete object.attrs.diffdata
164
183
  }
165
184
  if (object.marks) {
166
- object.marks = object.marks.filter(mark => mark.type !== "diffdata")
185
+ object.marks = object.marks.filter(
186
+ (mark: any) => mark.type !== "diffdata"
187
+ )
167
188
  }
168
189
  if (object.content) {
169
- object.content.forEach(child => removeDiffFromJson(child))
190
+ object.content.forEach((child: any) => removeDiffFromJson(child))
170
191
  }
171
192
  return object
172
193
  }
173
194
 
174
- function mapFragment(fragment, f, parent, mark) {
175
- const mapped = []
195
+ function mapFragment(
196
+ fragment: Fragment,
197
+ f: (node: Node, parent: Node | undefined, index: number) => Node,
198
+ parent: Node | undefined,
199
+ mark: any
200
+ ): Fragment {
201
+ const mapped: Node[] = []
176
202
  for (let i = 0; i < fragment.childCount; i++) {
177
203
  let child = fragment.child(i)
178
204
  if (child.attrs.diffdata) {
179
- const diffdata = []
205
+ const diffdata: any[] = []
180
206
  diffdata.push({
181
207
  type: mark.attrs.diff,
182
208
  from: mark.attrs.from,
@@ -184,7 +210,7 @@ function mapFragment(fragment, f, parent, mark) {
184
210
  steps: mark.attrs.steps
185
211
  })
186
212
  const attrs = Object.assign({}, child.attrs, {diffdata})
187
- const dummyNode = child.type.create(attrs, null, child.marks)
213
+ const dummyNode = child.type.create(attrs, undefined, child.marks)
188
214
  child = dummyNode.copy(child.content)
189
215
  }
190
216
  if (child.content.size) {
@@ -198,11 +224,15 @@ function mapFragment(fragment, f, parent, mark) {
198
224
  return Fragment.fromArray(mapped)
199
225
  }
200
226
 
201
- export const addDeletionMarks = (slice, mark) => {
227
+ export const addDeletionMarks = (
228
+ slice: Slice,
229
+ mark: any,
230
+ _schema?: Schema
231
+ ): Fragment => {
202
232
  const content = mapFragment(
203
233
  slice.content,
204
234
  (node, parent) => {
205
- if (parent.type && !parent.type.allowsMarkType(mark.type)) {
235
+ if (parent?.type && !parent.type.allowsMarkType(mark.type)) {
206
236
  return node
207
237
  }
208
238
  if (node.isInline) {
@@ -210,7 +240,7 @@ export const addDeletionMarks = (slice, mark) => {
210
240
  }
211
241
  return node
212
242
  },
213
- parent,
243
+ undefined,
214
244
  mark
215
245
  )
216
246
  return content
@@ -1,10 +1,25 @@
1
1
  import {avatarTemplate, escapeText, localizeDate} from "fwtoolkit"
2
- export const messageTemplate = ({message, theChatter}) =>
2
+
3
+ interface Chatter {
4
+ name: string
5
+ }
6
+
7
+ interface Message {
8
+ id: number
9
+ body: string
10
+ }
11
+
12
+ interface MessageParams {
13
+ message: Message
14
+ theChatter: Chatter
15
+ }
16
+
17
+ export const messageTemplate = ({message, theChatter}: MessageParams) =>
3
18
  `<div class="fw-message" id="m${message.id}">
4
19
  <div class="comment-user">
5
20
  ${avatarTemplate({user: theChatter})}
6
21
  <h5 class="comment-user-name">${escapeText(theChatter.name)}</h5>
7
- <p class="comment-date">${localizeDate(new Date())}</p>
22
+ <p class="comment-date">${localizeDate(Date.now())}</p>
8
23
  </div>
9
24
  <div class="message-body">${escapeText(message.body)}</div>
10
25
  </div>`
@@ -1,4 +1,17 @@
1
1
  export class Comment {
2
+ id: number | string
3
+ user: number
4
+ username: string
5
+ assignedUser: number | false
6
+ assignedUsername: string | false
7
+ date: number
8
+ comment: any[]
9
+ answers: any[]
10
+ isMajor: boolean
11
+ resolved: boolean
12
+ hidden: boolean
13
+ isGlobal: boolean
14
+
2
15
  constructor({
3
16
  id,
4
17
  user,
@@ -12,6 +25,19 @@ export class Comment {
12
25
  resolved = false,
13
26
  hidden = false,
14
27
  isGlobal = false
28
+ }: {
29
+ id: number | string
30
+ user: number
31
+ username: string
32
+ assignedUser?: number | false
33
+ assignedUsername?: string | false
34
+ date: number
35
+ comment?: any[]
36
+ answers?: any[]
37
+ isMajor?: boolean
38
+ resolved?: boolean
39
+ hidden?: boolean
40
+ isGlobal?: boolean
15
41
  }) {
16
42
  this.id = id
17
43
  this.user = user // User ID of user who wrote comment
@@ -1,14 +1,28 @@
1
1
  import {TextSelection} from "prosemirror-state"
2
- import {CommentEditor} from "./comment.js"
2
+
3
+ import {CommentEditor, type CommentMod} from "./comment.js"
4
+
5
+ interface CommentAnswerOptions {
6
+ answerId?: number
7
+ isMajor?: boolean
8
+ }
3
9
 
4
10
  export class CommentAnswerEditor extends CommentEditor {
5
- constructor(mod, id, dom, text, options = {}) {
11
+ keepOpenAfterSubmit: boolean
12
+
13
+ constructor(
14
+ mod: CommentMod,
15
+ id: string,
16
+ dom: HTMLElement,
17
+ text: unknown[],
18
+ options: CommentAnswerOptions = {}
19
+ ) {
6
20
  super(mod, id, dom, text, options)
7
21
 
8
22
  this.keepOpenAfterSubmit = true
9
23
  }
10
24
 
11
- initViewDOM() {
25
+ initViewDOM(): void {
12
26
  this.viewDOM = document.createElement("div")
13
27
  this.viewDOM.classList.add("ProseMirror-wrapper")
14
28
  this.dom.appendChild(this.viewDOM)
@@ -16,7 +30,7 @@ export class CommentAnswerEditor extends CommentEditor {
16
30
  "beforeend",
17
31
  `<div class="comment-btns">
18
32
  <button class="submit fw-button fw-dark fw-disabled" type="submit">
19
- ${this.options.answerId ? gettext("Edit") : gettext("Submit")}
33
+ ${(this.options as CommentAnswerOptions).answerId ? gettext("Edit") : gettext("Submit")}
20
34
  </button>
21
35
  <button class="cancel fw-button fw-orange" type="submit">
22
36
  ${gettext("Cancel")}
@@ -26,9 +40,9 @@ export class CommentAnswerEditor extends CommentEditor {
26
40
  )
27
41
  }
28
42
 
29
- initView() {
43
+ initView(): void {
30
44
  super.initView()
31
- if (this.options.answerId) {
45
+ if ((this.options as CommentAnswerOptions).answerId && this.view) {
32
46
  const selection = TextSelection.atEnd(this.view.state.doc)
33
47
  this.view.dispatch(
34
48
  this.view.state.tr.setSelection(selection).scrollIntoView()
@@ -36,19 +50,20 @@ export class CommentAnswerEditor extends CommentEditor {
36
50
  }
37
51
  }
38
52
 
39
- submit() {
40
- const text = this.view.state.doc.toJSON().content
53
+ submit(): void {
54
+ const text = this.view.state.doc.toJSON().content as unknown[]
41
55
  if (!text) {
42
56
  return
43
57
  }
44
- if (this.options.answerId) {
45
- this.mod.interactions.submitAnswerUpdate(
58
+ const interactions = (this.mod as {interactions?: {submitAnswerUpdate?: (commentId: string, answerId: number, text: unknown[]) => void; createNewAnswer?: (commentId: string, text: unknown[]) => void}}).interactions
59
+ if ((this.options as CommentAnswerOptions).answerId) {
60
+ interactions?.submitAnswerUpdate?.(
46
61
  this.id,
47
- this.options.answerId,
62
+ (this.options as CommentAnswerOptions).answerId as number,
48
63
  text
49
64
  )
50
65
  } else {
51
- this.mod.interactions.createNewAnswer(this.id, text)
66
+ interactions?.createNewAnswer?.(this.id, text)
52
67
  }
53
68
  this.sendNotifications()
54
69
  }
@@ -8,11 +8,68 @@ import {EditorView} from "prosemirror-view"
8
8
 
9
9
  import {avatarTemplate, escapeText, findTarget} from "fwtoolkit"
10
10
 
11
+ import type {Editor} from "../../types.js"
11
12
  import {notifyMentionedUser} from "./notify.js"
12
13
  import {commentSchema} from "./schema.js"
13
14
 
15
+ export interface CommentMod {
16
+ editor: Editor
17
+ interactions: {
18
+ updateComment: (args: {
19
+ id: string
20
+ comment: any
21
+ isMajor: boolean
22
+ }) => string
23
+ deleteComment: (id: string) => void
24
+ deactivateAll: () => void
25
+ activeCommentId: string | boolean
26
+ editComment: boolean
27
+ updateDOM: () => void
28
+ editor: CommentEditor
29
+ cancelSubmit: () => void
30
+ collapseSelectionToEnd: () => void
31
+ }
32
+ }
33
+
34
+ interface CommentOptions {
35
+ isMajor?: boolean
36
+ isGlobal?: boolean
37
+ }
38
+
39
+ interface User {
40
+ id: number
41
+ name: string
42
+ username: string
43
+ }
44
+
45
+ interface SuggestionArgs {
46
+ range: {from: number; to: number}
47
+ text: string
48
+ }
49
+
14
50
  export class CommentEditor {
15
- constructor(mod, id, dom, text, options = {}) {
51
+ mod: CommentMod
52
+ id: string
53
+ dom: HTMLElement
54
+ text: any
55
+ options: CommentOptions
56
+ isMajor: boolean | undefined
57
+ keepOpenAfterSubmit: boolean
58
+ selectedTag: number
59
+ userTaggerList: User[]
60
+ plugins: any[]
61
+ view!: EditorView
62
+ viewDOM!: HTMLElement
63
+ oldUserTags: number[]
64
+ tagRange: {from: number; to: number} | false
65
+
66
+ constructor(
67
+ mod: CommentMod,
68
+ id: string,
69
+ dom: HTMLElement,
70
+ text: any,
71
+ options: CommentOptions = {}
72
+ ) {
16
73
  this.mod = mod
17
74
  this.id = id
18
75
  this.dom = dom
@@ -24,12 +81,14 @@ export class CommentEditor {
24
81
  this.keepOpenAfterSubmit = false
25
82
  this.selectedTag = 0
26
83
  this.userTaggerList = []
84
+ this.oldUserTags = []
85
+ this.tagRange = false
27
86
  this.plugins = [
28
87
  history(),
29
88
  suggestionsPlugin({
30
89
  escapeOnSelectionChange: true,
31
90
  matcher: triggerCharacter("@"),
32
- onEnter: args => {
91
+ onEnter: (args: SuggestionArgs) => {
33
92
  this.selectedTag = 0
34
93
  this.tagRange = args.range
35
94
  const search = args.text.slice(1)
@@ -37,8 +96,9 @@ export class CommentEditor {
37
96
  this.setUserTaggerList(search)
38
97
  this.showUserTagger()
39
98
  }
99
+ return false
40
100
  },
41
- onChange: args => {
101
+ onChange: (args: SuggestionArgs) => {
42
102
  this.selectedTag = 0
43
103
  this.tagRange = args.range
44
104
  const search = args.text.slice(1)
@@ -46,14 +106,19 @@ export class CommentEditor {
46
106
  this.setUserTaggerList(search)
47
107
  this.showUserTagger()
48
108
  }
109
+ return false
49
110
  },
50
- onExit: _args => {
111
+ onExit: (_args: SuggestionArgs) => {
51
112
  this.selectedTag = 0
52
113
  this.removeTagger()
114
+ return false
53
115
  },
54
- onKeyDown: ({event}) => {
116
+ onKeyDown: ({event}: {event: KeyboardEvent}) => {
55
117
  if (event.key === "ArrowDown") {
56
- if (this.userTaggerList.length > this.selectedTag + 1) {
118
+ if (
119
+ this.userTaggerList.length >
120
+ this.selectedTag + 1
121
+ ) {
57
122
  this.selectedTag += 1
58
123
  this.showUserTagger()
59
124
  }
@@ -76,17 +141,20 @@ export class CommentEditor {
76
141
  "Mod-z": undo,
77
142
  "Mod-shift-z": undo,
78
143
  "Mod-y": redo,
79
- "Ctrl-Enter": () => this.submit()
144
+ "Ctrl-Enter": () => {
145
+ this.submit()
146
+ return true
147
+ }
80
148
  })
81
149
  ]
82
150
  }
83
151
 
84
- init() {
152
+ init(): void {
85
153
  this.initViewDOM()
86
154
  this.initView()
87
155
  }
88
156
 
89
- initViewDOM() {
157
+ initViewDOM(): void {
90
158
  this.viewDOM = document.createElement("div")
91
159
  this.viewDOM.classList.add("ProseMirror-wrapper")
92
160
  this.dom.appendChild(this.viewDOM)
@@ -107,7 +175,7 @@ export class CommentEditor {
107
175
  )
108
176
  }
109
177
 
110
- initView() {
178
+ initView(): void {
111
179
  this.view = new EditorView(this.viewDOM, {
112
180
  state: EditorState.create({
113
181
  schema: commentSchema,
@@ -127,9 +195,9 @@ export class CommentEditor {
127
195
  this.bind()
128
196
  }
129
197
 
130
- bind() {
198
+ bind(): void {
131
199
  this.dom.addEventListener("click", event => {
132
- const el = {}
200
+ const el: {target?: HTMLElement} = {}
133
201
  switch (true) {
134
202
  case findTarget(event, "button.submit:not(.fw-disabled)", el):
135
203
  {
@@ -173,7 +241,9 @@ export class CommentEditor {
173
241
  this.view.focus()
174
242
  break
175
243
  case findTarget(event, ".tag-user", el):
176
- this.selectedTag = Number.parseInt(el.target.dataset.index)
244
+ this.selectedTag = Number.parseInt(
245
+ (el.target as HTMLElement).dataset.index || "0"
246
+ )
177
247
  this.selectUserTag()
178
248
  this.view.focus()
179
249
  break
@@ -185,7 +255,7 @@ export class CommentEditor {
185
255
  })
186
256
  }
187
257
 
188
- hasChanged() {
258
+ hasChanged(): boolean {
189
259
  return (
190
260
  !deepEqual(
191
261
  this.text.length ? this.text : [{type: "paragraph"}],
@@ -194,23 +264,22 @@ export class CommentEditor {
194
264
  )
195
265
  }
196
266
 
197
- updateButtons() {
267
+ updateButtons(): void {
268
+ const submitButton = this.dom.querySelector("button.submit")
198
269
  if (this.hasChanged()) {
199
- this.dom
200
- .querySelector("button.submit")
201
- .classList.remove("fw-disabled")
270
+ submitButton?.classList.remove("fw-disabled")
202
271
  } else {
203
- this.dom.querySelector("button.submit").classList.add("fw-disabled")
272
+ submitButton?.classList.add("fw-disabled")
204
273
  }
205
274
  }
206
275
 
207
- submit() {
276
+ submit(): string | false | void {
208
277
  const comment = this.view.state.doc.toJSON().content
209
278
  if (comment?.length > 0) {
210
279
  const id = this.mod.interactions.updateComment({
211
280
  id: this.id,
212
281
  comment,
213
- isMajor: this.isMajor
282
+ isMajor: this.isMajor || false
214
283
  })
215
284
  this.sendNotifications()
216
285
  return id
@@ -220,34 +289,37 @@ export class CommentEditor {
220
289
  }
221
290
  }
222
291
 
223
- sendNotifications() {
292
+ sendNotifications(): void {
224
293
  const newUserTags = this.getUserTags().filter(
225
294
  id => !this.oldUserTags.includes(id)
226
295
  )
227
296
  if (newUserTags.length) {
228
297
  const comment = this.view.state.doc,
229
- docId = this.mod.editor.docInfo.id
298
+ docId = this.mod.editor.docInfo.id as number
230
299
  newUserTags.forEach(userId =>
231
300
  notifyMentionedUser(docId, userId, comment)
232
301
  )
233
302
  }
234
303
  }
235
304
 
236
- setUserTaggerList(search) {
237
- const owner = this.mod.editor.docInfo.owner
305
+ setUserTaggerList(search: string): void {
306
+ const owner = this.mod.editor.docInfo.owner as unknown as User & {
307
+ contacts: User[]
308
+ }
238
309
  this.userTaggerList = owner.contacts
239
310
  .concat(owner)
240
311
  .filter(
241
312
  user =>
242
- user.name.includes(search) || user.username.includes(search)
313
+ user.name.includes(search) ||
314
+ user.username.includes(search)
243
315
  )
244
316
  }
245
317
 
246
- showUserTagger() {
318
+ showUserTagger(): void {
247
319
  if (!this.userTaggerList.length) {
248
320
  return
249
321
  }
250
- this.dom.querySelector("div.tagger").innerHTML = this.userTaggerList
322
+ this.dom.querySelector("div.tagger")!.innerHTML = this.userTaggerList
251
323
  .map(
252
324
  (user, index) =>
253
325
  `<div class="tag-user tag${index === this.selectedTag ? " fw-selected" : ""}" data-index="${index}">
@@ -258,7 +330,7 @@ export class CommentEditor {
258
330
  .join("")
259
331
  }
260
332
 
261
- selectUserTag() {
333
+ selectUserTag(): boolean {
262
334
  const user = this.userTaggerList[this.selectedTag]
263
335
  if (!user || !this.tagRange) {
264
336
  return false
@@ -275,8 +347,8 @@ export class CommentEditor {
275
347
  return true
276
348
  }
277
349
 
278
- getUserTags() {
279
- const users = []
350
+ getUserTags(): number[] {
351
+ const users: number[] = []
280
352
  this.view.state.doc.descendants(node => {
281
353
  if (node.type.name === "collaborator") {
282
354
  users.push(node.attrs.id)
@@ -285,18 +357,22 @@ export class CommentEditor {
285
357
  return [...new Set(users)] // only unique values.
286
358
  }
287
359
 
288
- removeTagger() {
289
- this.dom.querySelector("div.tagger").innerHTML = ""
360
+ removeTagger(): void {
361
+ const tagger = this.dom.querySelector("div.tagger")
362
+ if (tagger) {
363
+ tagger.innerHTML = ""
364
+ }
290
365
  this.tagRange = false
291
366
  this.userTaggerList = []
292
367
  }
293
368
 
294
- scrollToBottom() {
369
+ scrollToBottom(): void {
295
370
  const activeMarginBox = document.querySelector(
296
371
  ".margin-box.comment.fw-active .comment-answer-container"
297
372
  )
298
373
  if (activeMarginBox) {
299
- activeMarginBox.scrollTop = activeMarginBox.scrollHeight
374
+ ;(activeMarginBox as HTMLElement).scrollTop =
375
+ activeMarginBox.scrollHeight
300
376
  }
301
377
 
302
378
  // scroll to bottom of the margin-box-container or global-comment-container
@@ -310,7 +386,7 @@ export class CommentEditor {
310
386
  "#margin-box-container, #global-comment-container"
311
387
  )
312
388
  if (activeMarginBoxContainer) {
313
- activeMarginBoxContainer.scrollTop =
389
+ ;(activeMarginBoxContainer as HTMLElement).scrollTop =
314
390
  activeMarginBoxContainer.scrollHeight
315
391
  }
316
392
  }
@@ -1,7 +1,12 @@
1
1
  import {post} from "fwtoolkit"
2
2
  import {serializeCommentNode} from "./schema.js"
3
+ import type {Node} from "prosemirror-model"
3
4
 
4
- export const notifyMentionedUser = (docId, userId, comment) => {
5
+ export const notifyMentionedUser = (
6
+ docId: number,
7
+ userId: number,
8
+ comment: Node
9
+ ) => {
5
10
  const {html, text} = serializeCommentNode(comment)
6
11
  return post("/api/document/comment_notify/", {
7
12
  doc_id: docId,