@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 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/collab/chat.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/collab/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Editor } from "../types.js";
2
+ interface ModCollab {
3
+ colors: ModCollabColors;
4
+ editor: Editor;
5
+ }
6
+ export declare class ModCollabColors {
7
+ mod: ModCollab;
8
+ userColorStyle: HTMLStyleElement | false;
9
+ colorIds: number[];
10
+ constructor(mod: ModCollab);
11
+ setup(): void;
12
+ ensureUserColor(userId: number): void;
13
+ provideUserColorStyles(): void;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/collab/colors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAcvC,UAAU,SAAS;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;CACjB;AAGD,qBAAa,eAAe;IACxB,GAAG,EAAE,SAAS,CAAA;IACd,cAAc,EAAE,gBAAgB,GAAG,KAAK,CAAA;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAA;gBAEN,GAAG,EAAE,SAAS;IAQ1B,KAAK,IAAI,IAAI;IAYb,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWrC,sBAAsB,IAAI,IAAI;CAwBjC"}
@@ -12,6 +12,9 @@ const CSS_COLORS = [
12
12
  ];
13
13
  /* Create a CSS stylesheet for the colors of all users. */
14
14
  export class ModCollabColors {
15
+ mod;
16
+ userColorStyle;
17
+ colorIds;
15
18
  constructor(mod) {
16
19
  mod.colors = this;
17
20
  this.mod = mod;
@@ -39,6 +42,9 @@ export class ModCollabColors {
39
42
  }
40
43
  // Ensure that there are at least the given number of user color styles.
41
44
  provideUserColorStyles() {
45
+ if (!this.userColorStyle) {
46
+ return;
47
+ }
42
48
  this.userColorStyle.innerHTML = this.colorIds
43
49
  .map((id, index) => {
44
50
  const color = index < CSS_COLORS.length
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/collab/colors.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAEpC,MAAM,UAAU,GAAG;IACf,WAAW;IACX,WAAW;IACX,SAAS;IACT,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,aAAa;IACb,WAAW;CACd,CAAA;AAED,0DAA0D;AAC1D,MAAM,OAAO,eAAe;IACxB,YAAY,GAAG;QACX,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;IAED,KAAK;QACD,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACtD,eAAe,CAAC,SAAS;YACrB,kDAAkD,CAAA;QACtD,OAAO,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;IAChE,CAAC;IAED,eAAe,CAAC,MAAM;QAClB;;WAEG;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAA;QACjC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,sBAAsB;QAClB,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ;aACxC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YACf,MAAM,KAAK,GACP,KAAK,GAAG,UAAU,CAAC,MAAM;gBACrB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;gBACnB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;YACpH,OAAO,UAAU,CAAA;4BACL,EAAE;yCACW,KAAK;kDACI,KAAK;;4BAE3B,EAAE;kCACI,KAAK;;2BAEZ,EAAE;6CACgB,KAAK;kBAChC,CAAA;QACN,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;CACJ"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/collab/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAIpC,MAAM,UAAU,GAAG;IACf,WAAW;IACX,WAAW;IACX,SAAS;IACT,WAAW;IACX,YAAY;IACZ,aAAa;IACb,WAAW;IACX,aAAa;IACb,WAAW;CACd,CAAA;AAOD,0DAA0D;AAC1D,MAAM,OAAO,eAAe;IACxB,GAAG,CAAW;IACd,cAAc,CAA0B;IACxC,QAAQ,CAAU;IAElB,YAAY,GAAc;QACtB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;IAED,KAAK;QACD,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACtD,eAAe,CAAC,SAAS;YACrB,kDAAkD,CAAA;QACtD,OAAO,eAAe,CAAC,iBAAiB,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CACzC,aAAa,CACI,CAAA;IACzB,CAAC;IAED,eAAe,CAAC,MAAc;QAC1B;;WAEG;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAA;QACjC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,sBAAsB;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,OAAM;QACV,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ;aACxC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YACf,MAAM,KAAK,GACP,KAAK,GAAG,UAAU,CAAC,MAAM;gBACrB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;gBACnB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;YACpH,OAAO,UAAU,CAAA;4BACL,EAAE;yCACW,KAAK;kDACI,KAAK;;4BAE3B,EAAE;kCACI,KAAK;;2BAEZ,EAAE;6CACgB,KAAK;kBAChC,CAAA;QACN,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;CACJ"}
@@ -0,0 +1,147 @@
1
+ import { EditorState } from "prosemirror-state";
2
+ import type { Transaction } from "prosemirror-state";
3
+ import { Merge } from "./merge/index.js";
4
+ import type { ModCollab } from "./index.js";
5
+ interface IncomingDoc {
6
+ v: number;
7
+ content: unknown;
8
+ comments: unknown;
9
+ bibliography: unknown;
10
+ images?: Record<string, {
11
+ copyright?: unknown;
12
+ }>;
13
+ template?: {
14
+ content: unknown;
15
+ };
16
+ }
17
+ interface DiffData {
18
+ type?: string;
19
+ v?: number;
20
+ rid?: number;
21
+ cid?: string | number;
22
+ ds?: unknown[];
23
+ fs?: unknown[];
24
+ cu?: unknown[];
25
+ bu?: unknown[];
26
+ iu?: unknown[];
27
+ footnoterender?: boolean;
28
+ reject_request_id?: number;
29
+ ep?: string;
30
+ e2ee_salt?: string;
31
+ }
32
+ export declare class ModCollabDoc {
33
+ mod: ModCollab;
34
+ merge: Merge;
35
+ unconfirmedDiffs: Record<number, any>;
36
+ confirmStepsRequestCounter: number;
37
+ awaitingDiffResponse: boolean;
38
+ receiving: boolean;
39
+ currentlyCheckingVersion: boolean;
40
+ enableCheckVersion?: number;
41
+ footnoteRender: boolean;
42
+ initialVersionConfirmed: boolean;
43
+ initialDocLoaded: boolean;
44
+ templateAdjustmentPending: boolean;
45
+ sendNextDiffTimer?: number;
46
+ lastSelectionUpdateState?: EditorState;
47
+ constructor(mod: ModCollab);
48
+ cancelCurrentlyCheckingVersion(): void;
49
+ checkVersion(offline?: boolean): void;
50
+ disableDiffSending(): void;
51
+ enableDiffSending(): void;
52
+ receiveDocument(data: {
53
+ doc: IncomingDoc;
54
+ }): void;
55
+ finishInitialLoad(): void;
56
+ confirmVersion(version: number): void;
57
+ loadDocument(data: {
58
+ doc: IncomingDoc;
59
+ time: number;
60
+ doc_info: Record<string, any>;
61
+ }): void;
62
+ /**
63
+ * Load an E2EE document: try passphrase/DEK first, then fall back to
64
+ * per-document password prompt, decrypt, then load.
65
+ * @private
66
+ */
67
+ _loadE2EEDocument(doc: IncomingDoc, doc_info: Record<string, any>, isInitialLoad: boolean, urlFragmentPassword?: string): Promise<void>;
68
+ /**
69
+ * Prompt for a password, derive the key, and decrypt/load the document.
70
+ * @private
71
+ */
72
+ _promptPasswordAndDecrypt(doc: IncomingDoc, doc_info: Record<string, any>, salt: string | undefined, iterations: number | undefined, isInitialLoad: boolean, urlFragmentPassword?: string): Promise<void>;
73
+ /**
74
+ * Decrypt document content/comments/bibliography with the given key
75
+ * and load into ProseMirror.
76
+ *
77
+ * For a newly created E2EE document, no encrypted snapshot has been
78
+ * saved yet, so the content/comments/bibliography are still plaintext
79
+ * JSON objects (the template content). We detect this by checking
80
+ * whether the value is a string (encrypted = Base64 ciphertext) or
81
+ * an object (plaintext).
82
+ *
83
+ * @private
84
+ */
85
+ _decryptAndLoadDoc(doc: IncomingDoc, key: CryptoKey, salt: string | undefined, iterations: number | undefined, isInitialLoad: boolean, urlFragmentPassword: string): Promise<void>;
86
+ /**
87
+ * Load an unencrypted (or already decrypted) document into ProseMirror.
88
+ * This is the original loadDocument logic, extracted for reuse.
89
+ * @private
90
+ */
91
+ _loadUnencryptedDocument(doc: IncomingDoc, isInitialLoad: boolean): void;
92
+ setDocSettings(): void;
93
+ sendToCollaborators(): void;
94
+ /**
95
+ * Send an encrypted diff for an E2EE document.
96
+ *
97
+ * For E2EE documents, the diff payload (steps, comments, bibliography,
98
+ * image updates) is encrypted as a single blob before sending. The
99
+ * server relays the encrypted diff to other clients without being able
100
+ * to read the content.
101
+ *
102
+ * The unencrypted diff is stored locally in `unconfirmedDiffs` for
103
+ * confirmation/rejection handling. Only the wire format is encrypted.
104
+ *
105
+ * @private
106
+ */
107
+ _sendE2EEDiff(): Promise<void>;
108
+ /**
109
+ * Send a selection change for an E2EE document.
110
+ * Selection changes are not encrypted (they only contain cursor position).
111
+ *
112
+ * @private
113
+ */
114
+ _sendE2EESelectionChange(): void;
115
+ receiveSelectionChange(data: {
116
+ id: number;
117
+ editor: string;
118
+ session_id: string;
119
+ anchor: number;
120
+ head: number;
121
+ }): void;
122
+ receiveDiff(data: DiffData, serverFix?: boolean): void;
123
+ /**
124
+ * Process a diff (unencrypted or already decrypted).
125
+ * @private
126
+ */
127
+ _processDiff(data: DiffData, serverFix?: boolean): void;
128
+ /**
129
+ * Receive and decrypt an E2EE diff from another client.
130
+ *
131
+ * For E2EE documents, diffs arrive with an "ep" (encrypted payload)
132
+ * field containing the encrypted steps, comments, bibliography, and
133
+ * image updates. This method decrypts the payload and then processes
134
+ * the diff using the standard _processDiff path.
135
+ *
136
+ * @param data - The diff message with "ep" field
137
+ * @param serverFix - Whether this is a server-generated fix
138
+ * @private
139
+ */
140
+ _receiveE2EEDiff(data: DiffData, serverFix?: boolean): Promise<void>;
141
+ setConfirmedDoc(tr: Transaction, stepsLength: number): void;
142
+ confirmDiff(request_id: number): void;
143
+ rejectDiff(request_id: number): void;
144
+ applyDiffs(diffs: unknown[], cid: string | number | undefined): void;
145
+ }
146
+ export {};
147
+ //# sourceMappingURL=doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../../src/collab/doc.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,30 @@
1
1
  import { SchemaExport } from "@fiduswriter/document/schema/export";
2
2
  import { Dialog, activateWait, deactivateWait, makeWorker } from "fwtoolkit";
3
- import { receiveTransaction, sendableSteps } from "prosemirror-collab";
4
- import { EditorState } from "prosemirror-state";
5
- import { Step } from "prosemirror-transform";
6
3
  import { E2EEEncryptor } from "fwtoolkit/e2ee/encryptor";
7
4
  import { E2EEKeyManager } from "fwtoolkit/e2ee/key-manager";
8
5
  import { enterPassphraseDialog } from "fwtoolkit/e2ee/passphrase-dialog";
9
6
  import { PassphraseManager } from "fwtoolkit/e2ee/passphrase-manager";
10
7
  import { enterPasswordDialog } from "fwtoolkit/e2ee/password-dialog";
8
+ import { receiveTransaction, sendableSteps } from "prosemirror-collab";
9
+ import { EditorState } from "prosemirror-state";
10
+ import { Step } from "prosemirror-transform";
11
11
  import { getSelectionUpdate, removeCollaboratorSelection, updateCollaboratorSelection } from "../state_plugins/index.js";
12
12
  import { Merge } from "./merge/index.js";
13
13
  export class ModCollabDoc {
14
+ mod;
15
+ merge;
16
+ unconfirmedDiffs;
17
+ confirmStepsRequestCounter;
18
+ awaitingDiffResponse;
19
+ receiving;
20
+ currentlyCheckingVersion;
21
+ enableCheckVersion;
22
+ footnoteRender;
23
+ initialVersionConfirmed;
24
+ initialDocLoaded;
25
+ templateAdjustmentPending;
26
+ sendNextDiffTimer;
27
+ lastSelectionUpdateState;
14
28
  constructor(mod) {
15
29
  mod.doc = this;
16
30
  this.mod = mod;
@@ -35,7 +49,8 @@ export class ModCollabDoc {
35
49
  if (!this.mod.editor.ws) {
36
50
  return;
37
51
  }
38
- this.mod.editor.ws.send(() => {
52
+ const ws = this.mod.editor.ws;
53
+ ws.send(() => {
39
54
  if (this.currentlyCheckingVersion ||
40
55
  this.mod.editor.docInfo.version === undefined) {
41
56
  return;
@@ -44,7 +59,7 @@ export class ModCollabDoc {
44
59
  this.enableCheckVersion = window.setTimeout(() => {
45
60
  this.currentlyCheckingVersion = false;
46
61
  }, 1000);
47
- if (this.mod.editor.ws.connected) {
62
+ if (ws.connected) {
48
63
  this.disableDiffSending();
49
64
  }
50
65
  const msg = {
@@ -100,24 +115,24 @@ export class ModCollabDoc {
100
115
  }
101
116
  }
102
117
  }
103
- loadDocument({ doc, time, doc_info }) {
118
+ loadDocument(data) {
104
119
  const isInitialLoad = !this.mod.editor.docInfo.confirmedDoc;
105
120
  // Reset collaboration
106
121
  this.unconfirmedDiffs = {};
107
122
  if (this.awaitingDiffResponse) {
108
123
  this.enableDiffSending();
109
124
  }
110
- this.mod.editor.clientTimeAdjustment = Date.now() - time;
125
+ this.mod.editor.clientTimeAdjustment = Date.now() - data.time;
111
126
  const token = this.mod.editor.docInfo.token;
112
- this.mod.editor.docInfo = doc_info;
127
+ this.mod.editor.docInfo = data.doc_info;
113
128
  this.mod.editor.docInfo.token = token;
114
129
  // For guests, update user object with the token UUID (stable identity)
115
130
  // and session_id (for display). Token UUID persists across reconnections.
116
131
  // session_id may not be present when loading from REST (it comes via
117
132
  // the session_info WebSocket message). Only update if available.
118
133
  if (!this.mod.editor.user.is_authenticated &&
119
- doc_info.session_id !== undefined) {
120
- const sessionId = doc_info.session_id;
134
+ data.doc_info.session_id !== undefined) {
135
+ const sessionId = data.doc_info.session_id;
121
136
  this.mod.editor.user = {
122
137
  id: token, // stable — same token UUID even after reconnect
123
138
  username: `guest${sessionId}`, // display name per session
@@ -126,17 +141,17 @@ export class ModCollabDoc {
126
141
  };
127
142
  }
128
143
  this.mod.editor.docInfo.token = token;
129
- this.mod.editor.docInfo.version = doc.v;
144
+ this.mod.editor.docInfo.version = data.doc.v;
130
145
  this.mod.editor.docInfo.updated = new Date();
131
146
  // Check if this is an E2EE document. If so, we need to decrypt
132
147
  // the content before loading it into ProseMirror.
133
- const isE2EE = doc_info.e2ee === true;
148
+ const isE2EE = data.doc_info.e2ee === true;
134
149
  if (isE2EE) {
135
- this._loadE2EEDocument(doc, doc_info, isInitialLoad);
150
+ this._loadE2EEDocument(data.doc, data.doc_info, isInitialLoad);
136
151
  }
137
152
  else {
138
153
  this.mod.editor.e2ee = { encrypted: false };
139
- this._loadUnencryptedDocument(doc, isInitialLoad);
154
+ this._loadUnencryptedDocument(data.doc, isInitialLoad);
140
155
  }
141
156
  }
142
157
  /**
@@ -144,12 +159,11 @@ export class ModCollabDoc {
144
159
  * per-document password prompt, decrypt, then load.
145
160
  * @private
146
161
  */
147
- async _loadE2EEDocument(doc, doc_info, isInitialLoad) {
162
+ async _loadE2EEDocument(doc, doc_info, isInitialLoad, urlFragmentPassword = "") {
148
163
  // Extract password from URL fragment if present (share link format:
149
164
  // https://example.com/share/TOKEN/#target?password=PASSWORD). The fragment is never
150
165
  // sent to the server, so this is safe.
151
166
  const locationHash = window.location.hash;
152
- let urlFragmentPassword = "";
153
167
  if (locationHash && locationHash.includes("?")) {
154
168
  urlFragmentPassword = decodeURIComponent(new URLSearchParams(locationHash.split("?")[1]).get("password") || "");
155
169
  }
@@ -226,7 +240,7 @@ export class ModCollabDoc {
226
240
  let unlocked = false;
227
241
  while (!unlocked) {
228
242
  const result = await new Promise(resolve => {
229
- enterPassphraseDialog(pwd => resolve({ action: "unlock", passphrase: pwd }), () => resolve({ action: "recover" }), { errorMessage });
243
+ enterPassphraseDialog((pwd) => resolve({ action: "unlock", passphrase: pwd }), () => resolve({ action: "recover" }), { errorMessage });
230
244
  });
231
245
  if (result.action === "unlock" && result.passphrase) {
232
246
  try {
@@ -253,7 +267,7 @@ export class ModCollabDoc {
253
267
  });
254
268
  if (recoverResult) {
255
269
  try {
256
- const { newRecoveryKey } = await PassphraseManager.recoverWithRecoveryKey(recoverResult.recoveryKey, recoverResult.newPassphrase);
270
+ const { newRecoveryKey } = (await PassphraseManager.recoverWithRecoveryKey(recoverResult.recoveryKey, recoverResult.newPassphrase));
257
271
  const { showRecoveryKeyDialog } = await import("fwtoolkit/e2ee/passphrase-dialog");
258
272
  await new Promise(resolve => {
259
273
  showRecoveryKeyDialog(newRecoveryKey, resolve);
@@ -351,7 +365,7 @@ export class ModCollabDoc {
351
365
  * Prompt for a password, derive the key, and decrypt/load the document.
352
366
  * @private
353
367
  */
354
- async _promptPasswordAndDecrypt(doc, doc_info, salt, iterations, isInitialLoad, urlFragmentPassword) {
368
+ async _promptPasswordAndDecrypt(doc, doc_info, salt, iterations, isInitialLoad, urlFragmentPassword = "") {
355
369
  // Decode the salt from Base64 to Uint8Array
356
370
  let saltBytes = null;
357
371
  if (salt) {
@@ -466,6 +480,7 @@ export class ModCollabDoc {
466
480
  const { E2EESnapshotManager } = await import("../e2ee/snapshot-manager.js");
467
481
  this.mod.editor.e2ee.snapshotManager = new E2EESnapshotManager(this.mod.editor);
468
482
  }
483
+ ;
469
484
  this.mod.editor.e2ee.snapshotManager.setKey(key);
470
485
  // Cache the key in sessionStorage so the user doesn't have to
471
486
  // re-enter the password when reopening the document this session.
@@ -496,11 +511,12 @@ export class ModCollabDoc {
496
511
  decryptedImages = {};
497
512
  const { E2EEEncryptor } = await import("fwtoolkit/e2ee/encryptor");
498
513
  for (const [id, image] of Object.entries(doc.images)) {
514
+ ;
499
515
  decryptedImages[id] = image;
500
516
  if (typeof image.copyright === "string") {
501
517
  try {
502
- decryptedImages[id].copyright =
503
- await E2EEEncryptor.decryptObject(image.copyright, key);
518
+ ;
519
+ decryptedImages[id].copyright = await E2EEEncryptor.decryptObject(image.copyright, key);
504
520
  }
505
521
  catch (_e) {
506
522
  // If decryption fails, leave as-is (legacy plaintext)
@@ -520,7 +536,7 @@ export class ModCollabDoc {
520
536
  // Cache the decrypted title in sessionStorage so the document overview
521
537
  // can display the real title without prompting for the password again.
522
538
  let title = "";
523
- this.mod.editor.view.state.doc.firstChild.forEach(child => {
539
+ this.mod.editor.view.state.doc.firstChild?.forEach(child => {
524
540
  if (!child.marks.find(mark => mark.type.name === "deletion")) {
525
541
  title += child.textContent;
526
542
  }
@@ -533,6 +549,7 @@ export class ModCollabDoc {
533
549
  // (not a Base64 string) and this is the initial load.
534
550
  const isNewE2EEDocument = isInitialLoad && typeof doc.content !== "string";
535
551
  if (isNewE2EEDocument && this.mod.editor.e2ee.snapshotManager) {
552
+ ;
536
553
  this.mod.editor.e2ee.snapshotManager.sendInitialSnapshot(decryptedContent, decryptedComments, decryptedBibliography, this.mod.editor.docInfo.version);
537
554
  }
538
555
  // Now that the key is available and the document is loaded, open the
@@ -544,6 +561,7 @@ export class ModCollabDoc {
544
561
  else if (!this.mod.editor.ws) {
545
562
  // Non-collaborative mode: mark version as confirmed so the editor
546
563
  // finishes loading and periodic saves can begin.
564
+ ;
547
565
  this.mod.editor.mod.collab.doc.confirmVersion(this.mod.editor.docInfo.version);
548
566
  }
549
567
  }
@@ -560,7 +578,7 @@ export class ModCollabDoc {
560
578
  const stateDoc = this.mod.editor.schema.nodeFromJSON(doc.content);
561
579
  const plugins = this.mod.editor.statePlugins.map(plugin => {
562
580
  if (plugin[1]) {
563
- return plugin[0](plugin[1](doc));
581
+ return plugin[0](plugin[1]());
564
582
  }
565
583
  else {
566
584
  return plugin[0]();
@@ -572,13 +590,13 @@ export class ModCollabDoc {
572
590
  plugins
573
591
  };
574
592
  // Set document in prosemirror
575
- this.mod.editor.view.setProps({ state: EditorState.create(stateConfig) });
593
+ this.mod.editor.view.setProps({
594
+ state: EditorState.create(stateConfig)
595
+ });
576
596
  this.mod.editor.view.setProps({ nodeViews: {} }); // Needed to initialize nodeViews in plugins
577
597
  // Set initial confirmed doc
578
598
  this.mod.editor.docInfo.confirmedDoc = this.mod.editor.view.state.doc;
579
- // Render footnotes based on main doc
580
599
  this.mod.editor.mod.footnotes.fnEditor.renderAllFootnotes();
581
- // Setup comment handling
582
600
  this.mod.editor.mod.comments.store.reset();
583
601
  this.mod.editor.mod.comments.store.loadComments(doc.comments);
584
602
  this.mod.editor.mod.marginboxes.view(this.mod.editor.view);
@@ -590,6 +608,7 @@ export class ModCollabDoc {
590
608
  // runs before loadDocument(), so the header still shows "Untitled"
591
609
  // from the empty initial document.
592
610
  if (this.mod.editor.menu.headerView) {
611
+ ;
593
612
  this.mod.editor.menu.headerView.update();
594
613
  }
595
614
  if (isInitialLoad) {
@@ -612,11 +631,11 @@ export class ModCollabDoc {
612
631
  activateWait(true, gettext("It's taking a bit longer than usual, but it should be ready soon. Please wait..."));
613
632
  }, 60000);
614
633
  const adjustWorker = makeWorker(staticUrl("js/adjust_doc_to_template_worker.js"));
615
- adjustWorker.onmessage = message => {
634
+ adjustWorker.onmessage = (message) => {
616
635
  if (message.data.type === "result") {
617
636
  if (message.data.steps.length) {
618
637
  const tr = this.mod.editor.view.state.tr;
619
- message.data.steps.forEach(step => tr.step(Step.fromJSON(this.mod.editor.schema, step)));
638
+ message.data.steps.forEach((step) => tr.step(Step.fromJSON(this.mod.editor.schema, step)));
620
639
  tr.setMeta("remote", true);
621
640
  this.mod.editor.view.dispatch(tr);
622
641
  }
@@ -632,13 +651,13 @@ export class ModCollabDoc {
632
651
  this.setDocSettings();
633
652
  }
634
653
  };
635
- adjustWorker.onerror = error => console.error(error);
654
+ adjustWorker.onerror = (error) => console.error(error);
636
655
  const schemaExporter = new SchemaExport();
637
656
  adjustWorker.postMessage({
638
657
  schemaSpec: JSON.parse(schemaExporter.init()),
639
658
  doc: doc.content,
640
659
  template: doc.template.content,
641
- documentStyleSlugs: this.mod.editor.mod.documentTemplate.documentStyles.map(style => style.slug)
660
+ documentStyleSlugs: this.mod.editor.mod.documentTemplate.documentStyles.map((style) => style.slug)
642
661
  });
643
662
  }
644
663
  else {
@@ -650,6 +669,7 @@ export class ModCollabDoc {
650
669
  }
651
670
  setDocSettings() {
652
671
  // Set part specific settings
672
+ ;
653
673
  this.mod.editor.mod.documentTemplate.addDocPartSettings();
654
674
  this.mod.editor.mod.documentTemplate.addCitationStylesMenuEntries();
655
675
  }
@@ -677,11 +697,15 @@ export class ModCollabDoc {
677
697
  return false;
678
698
  }
679
699
  else if (sendableSteps(this.mod.editor.view.state) ||
680
- this.mod.editor.mod.comments.store.unsentEvents().length ||
700
+ this.mod.editor.mod.comments.store
701
+ .unsentEvents()
702
+ .length ||
681
703
  this.mod.editor.mod.db.bibDB.unsentEvents().length ||
682
704
  this.mod.editor.mod.db.imageDB.unsentEvents().length) {
683
705
  this.disableDiffSending();
684
- const stepsToSend = sendableSteps(this.mod.editor.view.state), fnStepsToSend = sendableSteps(this.mod.editor.mod.footnotes.fnEditor.view.state), commentUpdates = this.mod.editor.mod.comments.store.unsentEvents(), bibliographyUpdates = this.mod.editor.mod.db.bibDB.unsentEvents(), imageUpdates = this.mod.editor.mod.db.imageDB.unsentEvents();
706
+ const stepsToSend = sendableSteps(this.mod.editor.view.state), fnStepsToSend = sendableSteps(this.mod.editor.mod.footnotes.fnEditor.view
707
+ .state), commentUpdates = this.mod.editor.mod.comments.store
708
+ .unsentEvents(), bibliographyUpdates = this.mod.editor.mod.db.bibDB.unsentEvents(), imageUpdates = this.mod.editor.mod.db.imageDB.unsentEvents();
685
709
  if (!stepsToSend &&
686
710
  !fnStepsToSend &&
687
711
  !commentUpdates.length &&
@@ -702,14 +726,14 @@ export class ModCollabDoc {
702
726
  // update the title field instantly - important for the
703
727
  // document overview page.
704
728
  let newTitle = "";
705
- this.mod.editor.view.state.doc.firstChild.forEach(child => {
729
+ this.mod.editor.view.state.doc.firstChild?.forEach(child => {
706
730
  if (!child.marks.find(mark => mark.type.name === "deletion")) {
707
731
  newTitle += child.textContent;
708
732
  }
709
733
  });
710
734
  newTitle = newTitle.slice(0, 255);
711
735
  let oldTitle = "";
712
- this.mod.editor.docInfo.confirmedDoc.firstChild.forEach(child => {
736
+ this.mod.editor.docInfo.confirmedDoc.firstChild?.forEach(child => {
713
737
  if (!child.marks.find(mark => mark.type.name === "deletion")) {
714
738
  oldTitle += child.textContent;
715
739
  }
@@ -804,7 +828,10 @@ export class ModCollabDoc {
804
828
  return;
805
829
  }
806
830
  this.disableDiffSending();
807
- const stepsToSend = sendableSteps(this.mod.editor.view.state), fnStepsToSend = sendableSteps(this.mod.editor.mod.footnotes.fnEditor.view.state), commentUpdates = this.mod.editor.mod.comments.store.unsentEvents(), bibliographyUpdates = this.mod.editor.mod.db.bibDB.unsentEvents(), imageUpdates = this.mod.editor.mod.db.imageDB.unsentEvents();
831
+ const stepsToSend = sendableSteps(this.mod.editor.view.state), fnStepsToSend = sendableSteps(this.mod.editor.mod.footnotes.fnEditor.view.state), commentUpdates = this.mod.editor.mod.comments.store
832
+ .unsentEvents(), bibliographyUpdates = this.mod.editor.mod.db.bibDB
833
+ .unsentEvents(), imageUpdates = this.mod.editor.mod.db.imageDB
834
+ .unsentEvents();
808
835
  if (!stepsToSend &&
809
836
  !fnStepsToSend &&
810
837
  !commentUpdates.length &&
@@ -826,14 +853,14 @@ export class ModCollabDoc {
826
853
  encryptedPayload["ds"] = stepsToSend.steps.map(s => s.toJSON());
827
854
  // Track title changes for the document overview
828
855
  let newTitle = "";
829
- this.mod.editor.view.state.doc.firstChild.forEach(child => {
856
+ this.mod.editor.view.state.doc.firstChild?.forEach(child => {
830
857
  if (!child.marks.find(mark => mark.type.name === "deletion")) {
831
858
  newTitle += child.textContent;
832
859
  }
833
860
  });
834
861
  newTitle = newTitle.slice(0, 255);
835
862
  let oldTitle = "";
836
- this.mod.editor.docInfo.confirmedDoc.firstChild.forEach(child => {
863
+ this.mod.editor.docInfo.confirmedDoc.firstChild?.forEach(child => {
837
864
  if (!child.marks.find(mark => mark.type.name === "deletion")) {
838
865
  oldTitle += child.textContent;
839
866
  }
@@ -940,6 +967,7 @@ export class ModCollabDoc {
940
967
  this.mod.editor.view.dispatch(tr);
941
968
  }
942
969
  if (fnTr) {
970
+ ;
943
971
  this.mod.editor.mod.footnotes.fnEditor.view.dispatch(fnTr);
944
972
  }
945
973
  }
@@ -978,10 +1006,12 @@ export class ModCollabDoc {
978
1006
  }
979
1007
  if (data["fs"]) {
980
1008
  // footnote steps
1009
+ ;
981
1010
  this.mod.editor.mod.footnotes.fnEditor.applyDiffs(data["fs"], data["cid"]);
982
1011
  }
983
1012
  if (data["footnoterender"]) {
984
1013
  // re-render footnotes properly
1014
+ ;
985
1015
  this.mod.editor.mod.footnotes.fnEditor.renderAllFootnotes();
986
1016
  }
987
1017
  if (serverFix) {
@@ -1004,8 +1034,8 @@ export class ModCollabDoc {
1004
1034
  * image updates. This method decrypts the payload and then processes
1005
1035
  * the diff using the standard _processDiff path.
1006
1036
  *
1007
- * @param {Object} data - The diff message with "ep" field
1008
- * @param {boolean} serverFix - Whether this is a server-generated fix
1037
+ * @param data - The diff message with "ep" field
1038
+ * @param serverFix - Whether this is a server-generated fix
1009
1039
  * @private
1010
1040
  */
1011
1041
  async _receiveE2EEDiff(data, serverFix = false) {
@@ -1046,26 +1076,29 @@ export class ModCollabDoc {
1046
1076
  this.mod.editor.docInfo.version++;
1047
1077
  const sentSteps = unconfirmedDiffs["ds"]; // document steps
1048
1078
  if (sentSteps) {
1049
- const ourIds = sentSteps.map(_step => this.mod.editor.client_id);
1079
+ const ourIds = sentSteps.map((_step) => this.mod.editor.client_id);
1050
1080
  const tr = receiveTransaction(this.mod.editor.view.state, sentSteps, ourIds);
1051
1081
  this.mod.editor.view.dispatch(tr);
1052
1082
  this.mod.editor.docInfo.confirmedDoc = unconfirmedDiffs["doc"];
1053
1083
  }
1054
1084
  const sentFnSteps = unconfirmedDiffs["fs"]; // footnote steps
1055
1085
  if (sentFnSteps) {
1056
- const fnTr = receiveTransaction(this.mod.editor.mod.footnotes.fnEditor.view.state, sentFnSteps, sentFnSteps.map(_step => this.mod.editor.client_id));
1086
+ const fnTr = receiveTransaction(this.mod.editor.mod.footnotes.fnEditor.view.state, sentFnSteps, sentFnSteps.map((_step) => this.mod.editor.client_id));
1057
1087
  this.mod.editor.mod.footnotes.fnEditor.view.dispatch(fnTr);
1058
1088
  }
1059
1089
  const sentComments = unconfirmedDiffs["cu"]; // comment updates
1060
1090
  if (sentComments) {
1091
+ ;
1061
1092
  this.mod.editor.mod.comments.store.eventsSent(sentComments);
1062
1093
  }
1063
1094
  const sentBibliographyUpdates = unconfirmedDiffs["bu"]; // bibliography updates
1064
1095
  if (sentBibliographyUpdates) {
1096
+ ;
1065
1097
  this.mod.editor.mod.db.bibDB.eventsSent(sentBibliographyUpdates);
1066
1098
  }
1067
1099
  const sentImageUpdates = unconfirmedDiffs["iu"]; // image updates
1068
1100
  if (sentImageUpdates) {
1101
+ ;
1069
1102
  this.mod.editor.mod.db.imageDB.eventsSent(sentImageUpdates);
1070
1103
  }
1071
1104
  delete this.unconfirmedDiffs[request_id];
@@ -1078,7 +1111,9 @@ export class ModCollabDoc {
1078
1111
  applyDiffs(diffs, cid) {
1079
1112
  this.receiving = true;
1080
1113
  const steps = diffs.map(j => Step.fromJSON(this.mod.editor.schema, j));
1081
- const clientIds = diffs.map(_ => cid);
1114
+ const clientIds = diffs
1115
+ .map(_ => cid)
1116
+ .filter((id) => id !== undefined);
1082
1117
  const tr = receiveTransaction(this.mod.editor.view.state, steps, clientIds);
1083
1118
  tr.setMeta("remote", true);
1084
1119
  this.mod.editor.view.dispatch(tr);