@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,44 +1,78 @@
1
+ import type {Node as ProseMirrorNode} from "prosemirror-model"
2
+ import type {Transaction} from "prosemirror-state"
3
+ import type {EditorView} from "prosemirror-view"
1
4
  import {randomCommentId} from "@fiduswriter/document/schema/common/index"
5
+
6
+ import type {Editor} from "../types.js"
2
7
  import {
3
8
  addCommentDuringCreationDecoration,
4
9
  removeCommentDuringCreationDecoration
5
10
  } from "../state_plugins/index.js"
6
11
  import {Comment} from "./comment.js"
7
12
 
13
+ interface StoreMod {
14
+ editor: Editor
15
+ interactions: {
16
+ isCurrentlyEditing(): boolean
17
+ activeCommentId: string | number | boolean
18
+ activateComment(id: string | number): void
19
+ }
20
+ [key: string]: any
21
+ }
22
+
23
+ interface CommentDuringCreation {
24
+ comment: Comment
25
+ inDOM: boolean
26
+ view: EditorView | null
27
+ }
28
+
29
+ interface UnsentEvent {
30
+ type: string
31
+ id?: string | number
32
+ answerId?: string | number
33
+ }
34
+
8
35
  export class ModCommentStore {
9
- constructor(mod) {
36
+ mod: StoreMod
37
+ commentDuringCreation: CommentDuringCreation | false
38
+ comments: Record<number | string, Comment>
39
+ unsent: UnsentEvent[]
40
+
41
+ constructor(mod: StoreMod) {
10
42
  mod.store = this
11
43
  this.mod = mod
12
44
  // a comment object for a comment that is still under construction
13
45
  this.commentDuringCreation = false
14
- this.reset()
46
+ this.comments = {}
47
+ this.unsent = []
15
48
  }
16
49
 
17
- reset() {
18
- this.comments = Object.create(null)
50
+ reset(): void {
51
+ this.comments = {}
19
52
  this.unsent = []
20
53
  }
21
54
 
22
- findComment(id) {
23
- let found = false
55
+ findComment(id: number | string): Comment | false {
24
56
  if (id in this.comments) {
25
- found = this.comments[id]
57
+ return this.comments[id]
26
58
  }
27
- return found
59
+ return false
28
60
  }
29
61
 
30
- mustSend() {
62
+ mustSend(): void {
31
63
  // Set a timeout so that the update can be combines with other updates
32
64
  // if they happen more or less simultaneously.
33
65
  window.setTimeout(
34
- () => this.mod.editor.mod.collab.doc.sendToCollaborators(),
66
+ () =>
67
+ (this.mod.editor.mod as any).collab.doc.sendToCollaborators(),
35
68
  100
36
69
  )
37
70
  }
71
+
38
72
  // Create a new temporary comment. This one is not going into the store yet,
39
73
  // as it is empty, shouldn't be shared and if canceled, it should go away
40
74
  // entirely.
41
- addCommentDuringCreation(view) {
75
+ addCommentDuringCreation(view: EditorView): void {
42
76
  const state = view.state,
43
77
  tr = addCommentDuringCreationDecoration(state, state.tr)
44
78
 
@@ -49,14 +83,14 @@ export class ModCommentStore {
49
83
 
50
84
  view.dispatch(tr)
51
85
 
52
- let username
86
+ let username: string
53
87
 
54
88
  if (
55
89
  ["review", "review-tracked"].includes(
56
- this.mod.editor.docInfo.access_rights
90
+ this.mod.editor.docInfo.access_rights as string
57
91
  )
58
92
  ) {
59
- username = `${gettext("Reviewer")} ${this.mod.editor.user.id}`
93
+ username = `${gettext("Reviewer")} ${(this.mod.editor.user as any).id}`
60
94
  } else {
61
95
  username = this.mod.editor.user.username
62
96
  }
@@ -64,9 +98,10 @@ export class ModCommentStore {
64
98
  this.commentDuringCreation = {
65
99
  comment: new Comment({
66
100
  id: "-1",
67
- user: this.mod.editor.user.id,
101
+ user: (this.mod.editor.user as any).id,
68
102
  username,
69
- date: Date.now() - this.mod.editor.clientTimeAdjustment
103
+ date: Date.now() - this.mod.editor.clientTimeAdjustment,
104
+ isGlobal: true
70
105
  }),
71
106
  inDOM: false,
72
107
  view
@@ -75,15 +110,15 @@ export class ModCommentStore {
75
110
 
76
111
  // Create a new temporary global comment. Like addCommentDuringCreation,
77
112
  // this is not shared until it has content.
78
- addGlobalCommentDuringCreation() {
79
- let username
113
+ addGlobalCommentDuringCreation(): void {
114
+ let username: string
80
115
 
81
116
  if (
82
117
  ["review", "review-tracked"].includes(
83
- this.mod.editor.docInfo.access_rights
118
+ this.mod.editor.docInfo.access_rights as string
84
119
  )
85
120
  ) {
86
- username = `${gettext("Reviewer")} ${this.mod.editor.user.id}`
121
+ username = `${gettext("Reviewer")} ${(this.mod.editor.user as any).id}`
87
122
  } else {
88
123
  username = this.mod.editor.user.username
89
124
  }
@@ -91,7 +126,7 @@ export class ModCommentStore {
91
126
  this.commentDuringCreation = {
92
127
  comment: new Comment({
93
128
  id: "-1",
94
- user: this.mod.editor.user.id,
129
+ user: (this.mod.editor.user as any).id,
95
130
  username,
96
131
  date: Date.now() - this.mod.editor.clientTimeAdjustment,
97
132
  isGlobal: true
@@ -101,7 +136,7 @@ export class ModCommentStore {
101
136
  }
102
137
  }
103
138
 
104
- removeCommentDuringCreation() {
139
+ removeCommentDuringCreation(): void {
105
140
  if (this.commentDuringCreation) {
106
141
  const view = this.commentDuringCreation.view
107
142
  this.commentDuringCreation = false
@@ -119,7 +154,12 @@ export class ModCommentStore {
119
154
  }
120
155
 
121
156
  // Add a new comment to the comment database both remotely and locally.
122
- addComment(commentData, posFrom, posTo, view) {
157
+ addComment(
158
+ commentData: any,
159
+ posFrom: number,
160
+ posTo: number,
161
+ view: EditorView
162
+ ): void {
123
163
  const id = randomCommentId(),
124
164
  markType = view.state.schema.marks.comment.create({id}),
125
165
  tr = this.addMark(view.state.tr, posFrom, posTo, markType)
@@ -138,7 +178,7 @@ export class ModCommentStore {
138
178
  }
139
179
 
140
180
  // Add a new global comment that refers to the entire document.
141
- addGlobalComment(commentData) {
181
+ addGlobalComment(commentData: any): number | string {
142
182
  const id = randomCommentId()
143
183
  commentData.id = id
144
184
  commentData.answers = []
@@ -153,16 +193,24 @@ export class ModCommentStore {
153
193
  }
154
194
 
155
195
  // Add marks to leaf nodes and inline nodes.
156
- addMark(tr, from, to, mark) {
196
+ addMark(
197
+ tr: Transaction,
198
+ from: number,
199
+ to: number,
200
+ mark: ProseMirrorNode["marks"][0]
201
+ ): Transaction | undefined {
157
202
  // add to inline nodes
158
203
  tr.addMark(from, to, mark)
159
204
  // add to leaf nodes
160
- tr.doc.nodesBetween(from, to, (node, pos, parent) => {
205
+ tr.doc.nodesBetween(from, to, (node: ProseMirrorNode, pos: number, parent: ProseMirrorNode | null) => {
161
206
  if (!node.isLeaf) {
162
207
  return
163
208
  }
164
209
  const marks = node.marks
165
- if (!mark.isInSet(marks) && parent.type.allowsMarkType(mark.type)) {
210
+ if (
211
+ !mark.isInSet(marks) &&
212
+ parent && parent.type.allowsMarkType(mark.type)
213
+ ) {
166
214
  const newMarks = mark.addToSet(marks)
167
215
  tr.setNodeMarkup(pos, null, node.attrs, newMarks)
168
216
  }
@@ -173,11 +221,16 @@ export class ModCommentStore {
173
221
  return tr
174
222
  }
175
223
 
176
- removeMark(tr, from, to, mark) {
224
+ removeMark(
225
+ tr: Transaction,
226
+ from: number,
227
+ to: number,
228
+ mark: ProseMirrorNode["marks"][0]
229
+ ): void {
177
230
  // remove from inline nodes
178
231
  tr.removeMark(from, to, mark)
179
232
  // remove from leaf nodes
180
- tr.doc.nodesBetween(from, to, (node, pos) => {
233
+ tr.doc.nodesBetween(from, to, (node: ProseMirrorNode, pos: number) => {
181
234
  if (!node.isLeaf) {
182
235
  return
183
236
  }
@@ -189,32 +242,33 @@ export class ModCommentStore {
189
242
  })
190
243
  }
191
244
 
192
- loadComments(commentsData) {
245
+ loadComments(commentsData: Record<number | string, any>): void {
193
246
  Object.entries(commentsData).forEach(([id, comment]) =>
194
247
  this.addLocalComment(Object.assign({id}, comment))
195
248
  )
196
249
  }
197
250
 
198
- addLocalComment(commentData, local) {
251
+ addLocalComment(commentData: any, local?: boolean): void {
199
252
  // Don't add to pastParticipants if user is undefined (e.g. new unsaved comments)
200
253
  if (
201
254
  commentData.user !== undefined &&
202
- !this.mod.editor.mod.collab.pastParticipants.find(
203
- participant => participant.id === commentData.user
255
+ !(this.mod.editor.mod as any).collab.pastParticipants.find(
256
+ (participant: {id: number}) => participant.id === commentData.user
204
257
  )
205
258
  ) {
206
- this.mod.editor.mod.collab.pastParticipants.push({
259
+ ;(this.mod.editor.mod as any).collab.pastParticipants.push({
207
260
  id: commentData.user,
208
261
  name: commentData.username
209
262
  })
210
263
  }
211
264
  if (
212
265
  commentData.assignedUser &&
213
- !this.mod.editor.mod.collab.pastParticipants.find(
214
- participant => participant.id === commentData.assignedUser
266
+ !(this.mod.editor.mod as any).collab.pastParticipants.find(
267
+ (participant: {id: number}) =>
268
+ participant.id === commentData.assignedUser
215
269
  )
216
270
  ) {
217
- this.mod.editor.mod.collab.pastParticipants.push({
271
+ ;(this.mod.editor.mod as any).collab.pastParticipants.push({
218
272
  id: commentData.assignedUser,
219
273
  name: commentData.assignedUsername || ""
220
274
  })
@@ -223,11 +277,11 @@ export class ModCommentStore {
223
277
  this.comments[commentData.id] = new Comment(commentData)
224
278
  }
225
279
  if (local || !this.mod.interactions.isCurrentlyEditing()) {
226
- this.mod.editor.mod.marginboxes.updateDOM()
280
+ ;(this.mod.editor.mod as any).marginboxes.updateDOM()
227
281
  }
228
282
  }
229
283
 
230
- updateComment(commentData) {
284
+ updateComment(commentData: any): void {
231
285
  this.updateLocalComment(commentData, true)
232
286
  this.unsent.push({
233
287
  type: "update",
@@ -236,14 +290,15 @@ export class ModCommentStore {
236
290
  this.mustSend()
237
291
  }
238
292
 
239
- updateLocalComment(commentData, local) {
293
+ updateLocalComment(commentData: any, local?: boolean): void {
240
294
  if (
241
295
  commentData.assignedUser &&
242
- !this.mod.editor.mod.collab.pastParticipants.find(
243
- participant => participant.id === commentData.assignedUser
296
+ !(this.mod.editor.mod as any).collab.pastParticipants.find(
297
+ (participant: {id: number}) =>
298
+ participant.id === commentData.assignedUser
244
299
  )
245
300
  ) {
246
- this.mod.editor.mod.collab.pastParticipants.push({
301
+ ;(this.mod.editor.mod as any).collab.pastParticipants.push({
247
302
  id: commentData.assignedUser,
248
303
  name: commentData.assignedUsername || ""
249
304
  })
@@ -252,16 +307,16 @@ export class ModCommentStore {
252
307
  Object.assign(this.comments[commentData.id], commentData)
253
308
  }
254
309
  if (local || !this.mod.interactions.isCurrentlyEditing()) {
255
- this.mod.editor.mod.marginboxes.updateDOM()
310
+ ;(this.mod.editor.mod as any).marginboxes.updateDOM()
256
311
  }
257
312
  }
258
313
 
259
- removeCommentMarks(id) {
314
+ removeCommentMarks(id: number | string): void {
260
315
  // remove comment marks with the given ID in both views.
261
316
  ;[
262
317
  this.mod.editor.view,
263
- this.mod.editor.mod.footnotes.fnEditor.view
264
- ].forEach(view => {
318
+ (this.mod.editor.mod as any).footnotes.fnEditor.view
319
+ ].forEach((view: EditorView) => {
265
320
  const tr = view.state.tr,
266
321
  markType = view.state.schema.marks.comment.create({id})
267
322
  view.state.doc.descendants((node, pos) => {
@@ -279,19 +334,23 @@ export class ModCommentStore {
279
334
  })
280
335
  }
281
336
 
282
- deleteLocalComment(id, local) {
337
+ deleteLocalComment(id: number | string, local?: boolean): boolean {
283
338
  const found = this.comments[id]
284
339
  if (found) {
285
340
  delete this.comments[id]
341
+ if (local || !this.mod.interactions.isCurrentlyEditing()) {
342
+ ;(this.mod.editor.mod as any).marginboxes.updateDOM()
343
+ }
286
344
  return true
287
345
  }
288
346
  if (local || !this.mod.interactions.isCurrentlyEditing()) {
289
- this.mod.editor.mod.marginboxes.updateDOM()
347
+ ;(this.mod.editor.mod as any).marginboxes.updateDOM()
290
348
  }
349
+ return false
291
350
  }
292
351
 
293
352
  // Removes the comment from store, optionally also removes marks from document.
294
- deleteComment(id, removeMarks) {
353
+ deleteComment(id: number | string, removeMarks?: boolean): void {
295
354
  if (this.deleteLocalComment(id, true)) {
296
355
  this.unsent.push({
297
356
  type: "delete",
@@ -304,13 +363,17 @@ export class ModCommentStore {
304
363
  }
305
364
  }
306
365
 
307
- addLocalAnswer(id, answer, local) {
366
+ addLocalAnswer(
367
+ id: number | string,
368
+ answer: any,
369
+ local?: boolean
370
+ ): void {
308
371
  if (this.comments[id]) {
309
372
  if (!this.comments[id].answers) {
310
373
  this.comments[id].answers = []
311
374
  }
312
375
  const answerFound = this.comments[id].answers.find(
313
- Answer => Answer.id === answer.id
376
+ (existingAnswer: any) => existingAnswer.id === answer.id
314
377
  )
315
378
  if (!answerFound) {
316
379
  this.comments[id].answers.push(answer)
@@ -318,14 +381,14 @@ export class ModCommentStore {
318
381
  }
319
382
 
320
383
  if (local || !this.mod.interactions.isCurrentlyEditing()) {
321
- this.mod.editor.mod.marginboxes.updateDOM()
384
+ ;(this.mod.editor.mod as any).marginboxes.updateDOM()
322
385
  if (!local && this.mod.interactions.activeCommentId === id) {
323
386
  this.mod.interactions.activateComment(id)
324
387
  }
325
388
  }
326
389
  }
327
390
 
328
- addAnswer(id, answer) {
391
+ addAnswer(id: number | string, answer: any): void {
329
392
  answer.id = randomCommentId()
330
393
  this.addLocalAnswer(id, answer, true)
331
394
  this.unsent.push({
@@ -336,21 +399,25 @@ export class ModCommentStore {
336
399
  this.mustSend()
337
400
  }
338
401
 
339
- deleteLocalAnswer(id, answerId, local) {
402
+ deleteLocalAnswer(
403
+ id: number | string,
404
+ answerId: number | string,
405
+ local?: boolean
406
+ ): void {
340
407
  if (this.comments[id]?.answers) {
341
408
  this.comments[id].answers = this.comments[id].answers.filter(
342
- answer => answer.id !== answerId
409
+ (answer: any) => answer.id !== answerId
343
410
  )
344
411
  }
345
412
  if (local || !this.mod.interactions.isCurrentlyEditing()) {
346
- this.mod.editor.mod.marginboxes.updateDOM()
413
+ ;(this.mod.editor.mod as any).marginboxes.updateDOM()
347
414
  if (!local && this.mod.interactions.activeCommentId === id) {
348
415
  this.mod.interactions.activateComment(id)
349
416
  }
350
417
  }
351
418
  }
352
419
 
353
- deleteAnswer(id, answerId) {
420
+ deleteAnswer(id: number | string, answerId: number | string): void {
354
421
  this.deleteLocalAnswer(id, answerId, true)
355
422
  this.unsent.push({
356
423
  type: "delete_answer",
@@ -360,24 +427,33 @@ export class ModCommentStore {
360
427
  this.mustSend()
361
428
  }
362
429
 
363
- updateLocalAnswer(id, answerId, answerText, local) {
430
+ updateLocalAnswer(
431
+ id: number | string,
432
+ answerId: number | string,
433
+ answerText: string,
434
+ local?: boolean
435
+ ): void {
364
436
  if (this.comments[id]?.answers) {
365
437
  const answer = this.comments[id].answers.find(
366
- answer => answer.id === answerId
438
+ (existingAnswer: any) => existingAnswer.id === answerId
367
439
  )
368
440
  if (answer) {
369
441
  answer.answer = answerText
370
442
  }
371
443
  }
372
444
  if (local || !this.mod.interactions.isCurrentlyEditing()) {
373
- this.mod.editor.mod.marginboxes.updateDOM()
445
+ ;(this.mod.editor.mod as any).marginboxes.updateDOM()
374
446
  if (!local && this.mod.interactions.activeCommentId === id) {
375
447
  this.mod.interactions.activateComment(id)
376
448
  }
377
449
  }
378
450
  }
379
451
 
380
- updateAnswer(id, answerId, answerText) {
452
+ updateAnswer(
453
+ id: number | string,
454
+ answerId: number | string,
455
+ answerText: string
456
+ ): void {
381
457
  this.updateLocalAnswer(id, answerId, answerText, true)
382
458
  this.unsent.push({
383
459
  type: "update_answer",
@@ -387,8 +463,8 @@ export class ModCommentStore {
387
463
  this.mustSend()
388
464
  }
389
465
 
390
- unsentEvents() {
391
- const result = []
466
+ unsentEvents(): any[] {
467
+ const result: any[] = []
392
468
  for (let i = 0; i < this.unsent.length; i++) {
393
469
  const event = this.unsent[i]
394
470
  if (event.type == "delete") {
@@ -397,7 +473,7 @@ export class ModCommentStore {
397
473
  id: event.id
398
474
  })
399
475
  } else if (event.type == "update") {
400
- const found = this.comments[event.id]
476
+ const found = this.comments[event.id as number | string]
401
477
  if (found?.id) {
402
478
  result.push(Object.assign({type: "update"}, found))
403
479
  } else {
@@ -406,7 +482,7 @@ export class ModCommentStore {
406
482
  })
407
483
  }
408
484
  } else if (event.type == "create") {
409
- const found = this.comments[event.id]
485
+ const found = this.comments[event.id as number | string]
410
486
  if (found?.id) {
411
487
  result.push(Object.assign({type: "create"}, found))
412
488
  } else {
@@ -415,11 +491,11 @@ export class ModCommentStore {
415
491
  })
416
492
  }
417
493
  } else if (event.type == "add_answer") {
418
- const found = this.comments[event.id]
494
+ const found = this.comments[event.id as number | string]
419
495
  let foundAnswer
420
496
  if (found?.id && found?.answers) {
421
497
  foundAnswer = found.answers.find(
422
- answer => answer.id === event.answerId
498
+ (answer: any) => answer.id === event.answerId
423
499
  )
424
500
  }
425
501
  if (foundAnswer) {
@@ -436,7 +512,7 @@ export class ModCommentStore {
436
512
  })
437
513
  }
438
514
  } else if (event.type == "delete_answer") {
439
- const found = this.comments[event.id]
515
+ const found = this.comments[event.id as number | string]
440
516
  if (found?.id && found?.answers) {
441
517
  result.push({
442
518
  type: "delete_answer",
@@ -449,11 +525,11 @@ export class ModCommentStore {
449
525
  })
450
526
  }
451
527
  } else if (event.type == "update_answer") {
452
- const found = this.comments[event.id]
528
+ const found = this.comments[event.id as number | string]
453
529
  let foundAnswer
454
530
  if (found?.id && found?.answers) {
455
531
  foundAnswer = found.answers.find(
456
- answer => answer.id === event.answerId
532
+ (answer: any) => answer.id === event.answerId
457
533
  )
458
534
  }
459
535
  if (foundAnswer) {
@@ -474,11 +550,11 @@ export class ModCommentStore {
474
550
  return result
475
551
  }
476
552
 
477
- eventsSent(n) {
553
+ eventsSent(n: any[]): void {
478
554
  this.unsent = this.unsent.slice(n.length)
479
555
  }
480
556
 
481
- receive(events) {
557
+ receive(events: any[]): void {
482
558
  events.forEach(event => {
483
559
  if (event.type == "delete") {
484
560
  this.deleteLocalComment(event.id, false)
@@ -1,27 +1,38 @@
1
1
  import {Dialog, cancelPromise, escapeText, postJson} from "fwtoolkit"
2
2
  import {addContactTemplate} from "./templates.js"
3
3
 
4
+ interface ContactResponse {
5
+ contact?: unknown
6
+ error?: number
7
+ }
8
+
4
9
  //dialog for adding a user to contacts
5
10
  export class AddContactDialog {
6
- constructor(settings) {
11
+ settings: Record<string, unknown>
12
+
13
+ constructor(settings: Record<string, unknown>) {
7
14
  this.settings = settings
8
15
  }
9
16
 
10
- init() {
17
+ init(): Promise<unknown[]> {
11
18
  return new Promise(resolve => {
12
19
  const buttons = [
13
20
  {
14
21
  text: gettext("Submit"),
15
22
  classes: "fw-dark",
16
23
  click: () => {
17
- const userString = document.getElementById(
18
- "new-contact-user-string"
24
+ const userString = (
25
+ document.getElementById(
26
+ "new-contact-user-string"
27
+ ) as HTMLInputElement
19
28
  ).value
20
29
  document
21
30
  .querySelectorAll("#add-new-contact .fw-warning")
22
- .forEach(el => el.parentElement.removeChild(el))
31
+ .forEach(el =>
32
+ el.parentElement?.removeChild(el)
33
+ )
23
34
  const userStrings = userString.split(/[\s,;]+/)
24
- let chain = Promise.resolve([])
35
+ let chain: Promise<unknown[]> = Promise.resolve([])
25
36
 
26
37
  userStrings
27
38
  .filter(singleUserString => singleUserString.length)
@@ -42,7 +53,7 @@ export class AddContactDialog {
42
53
  }
43
54
  },
44
55
  {
45
- type: "cancel"
56
+ type: "cancel" as const
46
57
  }
47
58
  ]
48
59
 
@@ -61,12 +72,15 @@ export class AddContactDialog {
61
72
 
62
73
  dialog.open()
63
74
 
64
- document.getElementById("new-contact-user-string").style.width =
65
- "340"
75
+ ;(
76
+ document.getElementById(
77
+ "new-contact-user-string"
78
+ ) as HTMLElement
79
+ ).style.width = "340"
66
80
  })
67
81
  }
68
82
 
69
- addContact(userString) {
83
+ async addContact(userString: string): Promise<unknown> {
70
84
  //add a user to contact per ajax
71
85
  if (null === userString || "undefined" == typeof userString) {
72
86
  return cancelPromise()
@@ -77,34 +91,33 @@ export class AddContactDialog {
77
91
  return cancelPromise()
78
92
  }
79
93
 
80
- return postJson("/api/user/invites/add/", {
94
+ const {json, status} = (await postJson("/api/user/invites/add/", {
81
95
  user_string: userString
82
- }).then(({json, status}) => {
83
- if (status == 201) {
84
- //user added to the contacts
85
- return json.contact
86
- } else {
87
- //user not found
88
- let responseHtml
89
- if (json.error === 1) {
90
- responseHtml = gettext(
91
- "You cannot add yourself to your contacts!"
92
- )
93
- } else if (json.error === 2) {
94
- responseHtml = gettext(
95
- "This person is already in your contacts!"
96
- )
97
- } else if (json.error === 3) {
98
- responseHtml = gettext("Invalid email!")
99
- }
100
- document
101
- .getElementById("add-new-contact")
102
- .insertAdjacentHTML(
103
- "beforeend",
104
- `<div class="fw-warning" style="padding: 8px;">${escapeText(userString)}: ${responseHtml}</div>`
105
- )
106
- return cancelPromise()
96
+ })) as {json: ContactResponse; status: number}
97
+ if (status == 201) {
98
+ //user added to the contacts
99
+ return json.contact
100
+ } else {
101
+ //user not found
102
+ let responseHtml
103
+ if (json.error === 1) {
104
+ responseHtml = gettext(
105
+ "You cannot add yourself to your contacts!"
106
+ )
107
+ } else if (json.error === 2) {
108
+ responseHtml = gettext(
109
+ "This person is already in your contacts!"
110
+ )
111
+ } else if (json.error === 3) {
112
+ responseHtml = gettext("Invalid email!")
107
113
  }
108
- })
114
+ document
115
+ .getElementById("add-new-contact")
116
+ ?.insertAdjacentHTML(
117
+ "beforeend",
118
+ `<div class="fw-warning" style="padding: 8px;">${escapeText(userString)}: ${responseHtml}</div>`
119
+ )
120
+ return cancelPromise()
121
+ }
109
122
  }
110
123
  }