@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
@@ -5,6 +5,7 @@ import {
5
5
  postJson,
6
6
  shortFileTitle
7
7
  } from "fwtoolkit"
8
+ import type {BibDB, ExportDoc, ImageDB} from "@fiduswriter/document"
8
9
  import {CopyrightDialog} from "../../copyright_dialog/index.js"
9
10
  import {DocumentAccessRightsDialog} from "../../documents/access_rights/index.js"
10
11
  import {SaveCopy, SaveRevision} from "../../exporter/native/index.js"
@@ -18,30 +19,94 @@ import {
18
19
  SearchReplaceDialog,
19
20
  WordCountDialog
20
21
  } from "../../tools/index.js"
22
+ import type {Editor} from "../../types.js"
21
23
 
22
- const exportProgress = doc => {
24
+ interface AccessRightLike {
25
+ holder?: {
26
+ type?: string
27
+ id?: number
28
+ name?: string
29
+ }
30
+ rights?: string
31
+ }
32
+
33
+ interface SnapshotManagerLike {
34
+ reEncryptWithNewKey(
35
+ newKey: CryptoKey,
36
+ newSaltBase64: string,
37
+ newIterations: number
38
+ ): Promise<void>
39
+ }
40
+
41
+ interface DocumentStyle {
42
+ slug: string
43
+ contents: string
44
+ documentstylefile_set: Array<[string, string]>
45
+ }
46
+
47
+ interface DocumentTemplateLike {
48
+ documentStyles: DocumentStyle[]
49
+ }
50
+
51
+ interface TrackLike {
52
+ acceptAll(): void
53
+ rejectAll(): void
54
+ }
55
+
56
+ function getDB(editor: Editor): {
57
+ bibDB: BibDB
58
+ imageDB: ImageDB
59
+ } {
60
+ return editor.mod.db as {bibDB: BibDB; imageDB: ImageDB}
61
+ }
62
+
63
+ function getDocumentTemplate(editor: Editor): DocumentTemplateLike {
64
+ return editor.mod.documentTemplate as DocumentTemplateLike
65
+ }
66
+
67
+ function getTrack(editor: Editor): TrackLike {
68
+ return editor.mod.track as TrackLike
69
+ }
70
+
71
+ function getExportDoc(editor: Editor, options?: {changes?: string}): ExportDoc {
72
+ return editor.getDoc(options) as unknown as ExportDoc
73
+ }
74
+
75
+ const exportProgress = (doc: {title: string; path?: string}) => {
23
76
  const title = shortFileTitle(doc.title, doc.path || "")
24
77
  const task = addProgress("info", `${title}: ${gettext("Exporting...")}`, {
25
78
  autoClose: 6000
26
79
  })
27
- return (message, percentage) => task.update(percentage, message)
80
+ return (message: string, percentage?: number | null) =>
81
+ task.update(percentage ?? null, message)
28
82
  }
29
83
 
30
- const languageItem = (language, name, order) => ({
84
+ const languageItem = (
85
+ language: string,
86
+ name: string,
87
+ order: number
88
+ ): {
89
+ title: string
90
+ type: string
91
+ order: number
92
+ action: (editor: Editor) => void
93
+ selected: (editor: Editor) => boolean
94
+ available: (editor: Editor) => boolean
95
+ } => ({
31
96
  title: name,
32
97
  type: "setting",
33
98
  order,
34
- action: editor => {
99
+ action: (editor: Editor) => {
35
100
  editor.view.dispatch(
36
101
  editor.view.state.tr
37
102
  .setDocAttribute("language", language)
38
103
  .setMeta("settings", true)
39
104
  )
40
105
  },
41
- selected: editor => {
106
+ selected: (editor: Editor) => {
42
107
  return editor.view.state.doc.attrs.language === language
43
108
  },
44
- available: editor => {
109
+ available: (editor: Editor) => {
45
110
  return editor.view.state.doc.attrs.languages.includes(language)
46
111
  }
47
112
  })
@@ -58,7 +123,7 @@ export const headerbarModel = () => ({
58
123
  order: 0,
59
124
  content: [
60
125
  {
61
- title: editor =>
126
+ title: (editor: Editor) =>
62
127
  editor.user.is_authenticated &&
63
128
  editor.docInfo.token &&
64
129
  !editor.docInfo.is_owner
@@ -66,14 +131,14 @@ export const headerbarModel = () => ({
66
131
  : gettext("Share"),
67
132
  type: "action",
68
133
  //icon: 'share',
69
- tooltip: editor =>
134
+ tooltip: (editor: Editor) =>
70
135
  editor.user.is_authenticated &&
71
136
  editor.docInfo.token &&
72
137
  !editor.docInfo.is_owner
73
138
  ? gettext("Request to be added as a collaborator.")
74
139
  : gettext("Share the document with other users."),
75
140
  order: 0,
76
- action: editor => {
141
+ action: (editor: Editor) => {
77
142
  if (
78
143
  editor.user.is_authenticated &&
79
144
  editor.docInfo.token &&
@@ -84,8 +149,12 @@ export const headerbarModel = () => ({
84
149
  document_id: editor.docInfo.id,
85
150
  rights: "write"
86
151
  })
87
- .then(({json}) => {
88
- if (json.success) {
152
+ .then(({json}: {json: unknown}) => {
153
+ const data = json as {
154
+ success?: boolean
155
+ error?: string
156
+ }
157
+ if (data.success) {
89
158
  addAlert(
90
159
  "success",
91
160
  gettext(
@@ -95,7 +164,7 @@ export const headerbarModel = () => ({
95
164
  } else {
96
165
  addAlert(
97
166
  "error",
98
- json.error ||
167
+ data.error ||
99
168
  gettext(
100
169
  "Could not send access request."
101
170
  )
@@ -112,7 +181,9 @@ export const headerbarModel = () => ({
112
181
  })
113
182
  return
114
183
  }
115
- const onShareSuccess = async newAccessRights => {
184
+ const onShareSuccess = async (
185
+ newAccessRights: AccessRightLike[]
186
+ ) => {
116
187
  // Share the document password with newly-added user recipients.
117
188
  if (
118
189
  editor.e2ee?.password &&
@@ -123,20 +194,20 @@ export const headerbarModel = () => ({
123
194
  ar.holder?.type === "user" &&
124
195
  ar.rights !== "delete"
125
196
  )
126
- const noPassphraseUsers = []
197
+ const noPassphraseUsers: string[] = []
127
198
  for (const ar of userRecipients) {
128
199
  try {
129
200
  const hasKeys =
130
201
  await PassphraseManager.userHasEncryptionKeys(
131
- ar.holder.id
202
+ ar.holder?.id as number
132
203
  )
133
204
  if (hasKeys) {
134
205
  // Recipient has passphrase keys —
135
206
  // encrypt document password with their public key.
136
207
  await PassphraseManager.saveDocumentPassword(
137
- editor.docInfo.id,
208
+ editor.docInfo.id as number,
138
209
  editor.e2ee.password,
139
- ar.holder.id,
210
+ ar.holder?.id as number,
140
211
  "user",
141
212
  false
142
213
  )
@@ -153,7 +224,7 @@ export const headerbarModel = () => ({
153
224
  }
154
225
 
155
226
  if (noPassphraseUsers.length > 0) {
156
- const dialog = new Dialog({
227
+ const passwordDialog: Dialog = new Dialog({
157
228
  title: gettext(
158
229
  "Share Document Password"
159
230
  ),
@@ -164,35 +235,36 @@ export const headerbarModel = () => ({
164
235
  )}</p><ul>${noPassphraseUsers
165
236
  .map(
166
237
  name =>
167
- `<li><strong>${name}</strong>: <code>${editor.e2ee.password}</code></li>`
238
+ `<li><strong>${name}</strong>: <code>${editor.e2ee?.password}</code></li>`
168
239
  )
169
240
  .join("")}</ul>`,
170
241
  buttons: [
171
242
  {
172
243
  text: gettext("Close"),
173
244
  classes: "fw-dark",
174
- click: () => dialog.close()
245
+ click: () =>
246
+ passwordDialog.close()
175
247
  }
176
248
  ]
177
249
  })
178
- dialog.open()
250
+ passwordDialog.open()
179
251
  }
180
252
  }
181
253
  }
182
- const dialog = new DocumentAccessRightsDialog(
183
- [editor.docInfo.id],
184
- editor.docInfo.owner.contacts,
254
+ const shareDialog = new DocumentAccessRightsDialog(
255
+ [editor.docInfo.id as number],
256
+ editor.docInfo.owner?.contacts || [],
185
257
  contactData => {
186
- editor.docInfo.owner.contacts.push(contactData)
258
+ editor.docInfo.owner?.contacts.push(contactData)
187
259
  },
188
- editor.e2ee?.encrypted,
260
+ editor.e2ee?.encrypted || false,
189
261
  editor.e2ee?.password || "",
190
262
  onShareSuccess,
191
263
  editor.app.settings
192
264
  )
193
- dialog.init()
265
+ shareDialog.init()
194
266
  },
195
- disabled: editor => {
267
+ disabled: (editor: Editor) => {
196
268
  return (
197
269
  editor.app.isOffline() ||
198
270
  !editor.user.is_authenticated
@@ -200,20 +272,20 @@ export const headerbarModel = () => ({
200
272
  }
201
273
  },
202
274
  {
203
- title: editor =>
275
+ title: (editor: Editor) =>
204
276
  editor.user.is_authenticated
205
277
  ? gettext("Close")
206
278
  : gettext("Sign up / Log in"),
207
279
  type: "action",
208
280
  //icon: 'times-circle',
209
- tooltip: editor =>
281
+ tooltip: (editor: Editor) =>
210
282
  editor.user.is_authenticated
211
283
  ? gettext(
212
284
  "Close the document and return to the document overview menu."
213
285
  )
214
286
  : gettext("Sign up for an account or log in."),
215
287
  order: 1,
216
- action: editor => {
288
+ action: (editor: Editor) => {
217
289
  if (editor.user.is_authenticated) {
218
290
  const folderPath = editor.docInfo.path.slice(
219
291
  0,
@@ -239,7 +311,7 @@ export const headerbarModel = () => ({
239
311
  }
240
312
  return
241
313
  },
242
- disabled: editor => editor.app.isOffline()
314
+ disabled: (editor: Editor) => editor.app.isOffline()
243
315
  },
244
316
  {
245
317
  title: gettext("Save revision"),
@@ -248,20 +320,21 @@ export const headerbarModel = () => ({
248
320
  tooltip: gettext("Save a revision of the document."),
249
321
  order: 2,
250
322
  keys: "Ctrl-s",
251
- action: editor => {
323
+ action: (editor: Editor) => {
252
324
  const dialog = new RevisionDialog(editor.docInfo.dir)
253
325
  dialog.init().then(note => {
326
+ const db = getDB(editor)
254
327
  const saver = new SaveRevision(
255
- editor.getDoc(),
256
- editor.mod.db.imageDB,
257
- editor.mod.db.bibDB,
328
+ getExportDoc(editor),
329
+ db.imageDB,
330
+ db.bibDB,
258
331
  note,
259
332
  editor.app
260
333
  )
261
334
  return saver.init()
262
335
  })
263
336
  },
264
- disabled: editor =>
337
+ disabled: (editor: Editor) =>
265
338
  editor.docInfo.access_rights !== "write" ||
266
339
  editor.app.isOffline() ||
267
340
  !!editor.docInfo.token
@@ -272,11 +345,12 @@ export const headerbarModel = () => ({
272
345
  //icon: 'copy',
273
346
  tooltip: gettext("Create a copy of the document."),
274
347
  order: 3,
275
- action: editor => {
348
+ action: (editor: Editor) => {
349
+ const db = getDB(editor)
276
350
  const copier = new SaveCopy(
277
- editor.getDoc(),
278
- editor.mod.db.bibDB,
279
- editor.mod.db.imageDB,
351
+ getExportDoc(editor),
352
+ db.bibDB,
353
+ db.imageDB,
280
354
  editor.user
281
355
  )
282
356
  copier
@@ -286,7 +360,7 @@ export const headerbarModel = () => ({
286
360
  )
287
361
  .catch(() => false)
288
362
  },
289
- disabled: editor =>
363
+ disabled: (editor: Editor) =>
290
364
  editor.app.isOffline() ||
291
365
  (!!editor.docInfo.token &&
292
366
  !editor.user.is_authenticated)
@@ -299,16 +373,17 @@ export const headerbarModel = () => ({
299
373
  "Export the document as a FIDUS file including its template."
300
374
  ),
301
375
  order: 4,
302
- action: editor => {
376
+ action: (editor: Editor) => {
377
+ const db = getDB(editor)
303
378
  new ExportFidusFile(
304
- editor.getDoc(),
305
- editor.mod.db.bibDB,
306
- editor.mod.db.imageDB,
379
+ getExportDoc(editor),
380
+ db.bibDB,
381
+ db.imageDB,
307
382
  true,
308
383
  editor.docInfo.token
309
384
  )
310
385
  },
311
- disabled: editor => editor.app.isOffline()
386
+ disabled: (editor: Editor) => editor.app.isOffline()
312
387
  },
313
388
  {
314
389
  title: gettext("Print/PDF"),
@@ -319,31 +394,22 @@ export const headerbarModel = () => ({
319
394
  ),
320
395
  order: 5,
321
396
  keys: "Ctrl-p",
322
- action: editor => {
397
+ action: (editor: Editor) => {
323
398
  import(
324
399
  "@fiduswriter/document/exporter/print/index"
325
400
  ).then(({PrintExporter}) => {
326
- const doc = editor.getDoc({
401
+ const db = getDB(editor)
402
+ const doc = getExportDoc(editor, {
327
403
  changes: "acceptAllNoInsertions"
328
404
  })
329
- const title = shortFileTitle(
330
- doc.title,
331
- doc.path || ""
332
- )
333
- const task = addProgress(
334
- "info",
335
- `${title}: ${gettext("Preparing print view...")}`,
336
- {autoClose: 6000}
337
- )
338
405
  const exporter = new PrintExporter(
339
406
  doc,
340
- editor.mod.db.bibDB,
341
- editor.mod.db.imageDB,
407
+ db.bibDB,
408
+ db.imageDB,
342
409
  editor.app.csl,
343
410
  editor.docInfo.updated,
344
- editor.mod.documentTemplate.documentStyles,
345
- (message, percentage) =>
346
- task.update(percentage, message)
411
+ getDocumentTemplate(editor).documentStyles,
412
+ exportProgress(doc)
347
413
  )
348
414
  exporter.init()
349
415
  })
@@ -356,9 +422,9 @@ export const headerbarModel = () => ({
356
422
  "Change the password of this encrypted document."
357
423
  ),
358
424
  order: 6,
359
- available: editor => editor.docInfo.e2ee,
360
- action: async editor => {
361
- if (!editor.e2ee?.key) {
425
+ available: (editor: Editor) => editor.docInfo.e2ee,
426
+ action: async (editor: Editor) => {
427
+ if (!editor.e2ee || !editor.e2ee.key) {
362
428
  addAlert(
363
429
  "error",
364
430
  gettext(
@@ -367,8 +433,9 @@ export const headerbarModel = () => ({
367
433
  )
368
434
  return
369
435
  }
436
+ const e2ee = editor.e2ee
370
437
  const isPassphraseUser =
371
- editor.e2ee?.usesPassphrase &&
438
+ e2ee.usesPassphrase &&
372
439
  PassphraseManager.hasKeysInSession()
373
440
  const suggestedNewPassword = isPassphraseUser
374
441
  ? await PassphraseManager.generateDocumentPassword()
@@ -380,9 +447,9 @@ export const headerbarModel = () => ({
380
447
  // is auto-generated and shown in plaintext for sharing.
381
448
  changeOptions = {
382
449
  currentPassword:
383
- editor.e2ee.password ||
450
+ e2ee.password ||
384
451
  E2EEKeyManager.getPasswordFromSession(
385
- editor.docInfo.id
452
+ editor.docInfo.id as number
386
453
  ) ||
387
454
  "",
388
455
  suggestedNewPassword,
@@ -398,7 +465,7 @@ export const headerbarModel = () => ({
398
465
  // verification.
399
466
  const sessionPassword =
400
467
  E2EEKeyManager.getPasswordFromSession(
401
- editor.docInfo.id
468
+ editor.docInfo.id as number
402
469
  )
403
470
  changeOptions = {
404
471
  currentPassword: sessionPassword || "",
@@ -407,7 +474,13 @@ export const headerbarModel = () => ({
407
474
  }
408
475
 
409
476
  changePasswordDialog(
410
- async ({currentPassword, newPassword}) => {
477
+ async ({
478
+ currentPassword,
479
+ newPassword
480
+ }: {
481
+ currentPassword: string
482
+ newPassword: string
483
+ }) => {
411
484
  try {
412
485
  // Verify the current password.
413
486
  // If the entered password matches what is already cached
@@ -415,16 +488,16 @@ export const headerbarModel = () => ({
415
488
  // open with that key — skip the expensive PBKDF2
416
489
  // re-derivation used only to prove correctness.
417
490
  const cachedPassword =
418
- editor.e2ee.password ||
491
+ e2ee.password ||
419
492
  E2EEKeyManager.getPasswordFromSession(
420
- editor.docInfo.id
493
+ editor.docInfo.id as number
421
494
  )
422
495
  if (
423
496
  !cachedPassword ||
424
497
  currentPassword !== cachedPassword
425
498
  ) {
426
499
  const currentSaltBytes = new Uint8Array(
427
- atob(editor.e2ee.encryptionSalt)
500
+ atob(e2ee.encryptionSalt as string)
428
501
  .split("")
429
502
  .map(c => c.charCodeAt(0))
430
503
  )
@@ -432,7 +505,7 @@ export const headerbarModel = () => ({
432
505
  await E2EEKeyManager.resolvePasswordToKey(
433
506
  currentPassword,
434
507
  currentSaltBytes,
435
- editor.e2ee.encryptionIterations
508
+ e2ee.encryptionIterations as number
436
509
  )
437
510
  const {E2EEEncryptor} = await import(
438
511
  "fwtoolkit/e2ee/encryptor"
@@ -445,7 +518,7 @@ export const headerbarModel = () => ({
445
518
  )
446
519
  await E2EEEncryptor.decrypt(
447
520
  encryptedTest,
448
- editor.e2ee.key
521
+ e2ee.key as CryptoKey
449
522
  )
450
523
  }
451
524
 
@@ -464,26 +537,27 @@ export const headerbarModel = () => ({
464
537
  )
465
538
 
466
539
  // Re-encrypt the document with the new key
467
- await editor.e2ee.snapshotManager.reEncryptWithNewKey(
540
+ await (
541
+ e2ee.snapshotManager as SnapshotManagerLike
542
+ ).reEncryptWithNewKey(
468
543
  newKey,
469
544
  newSaltBase64,
470
545
  newIterations
471
546
  )
472
547
 
473
548
  // Update local E2EE state
474
- editor.e2ee.encryptionSalt = newSaltBase64
475
- editor.e2ee.encryptionIterations =
476
- newIterations
477
- editor.e2ee.key = newKey
478
- editor.e2ee.password = newPassword
549
+ e2ee.encryptionSalt = newSaltBase64
550
+ e2ee.encryptionIterations = newIterations
551
+ e2ee.key = newKey
552
+ e2ee.password = newPassword
479
553
 
480
554
  // Cache password and key in sessionStorage
481
555
  E2EEKeyManager.storePasswordInSession(
482
- editor.docInfo.id,
556
+ editor.docInfo.id as number,
483
557
  newPassword
484
558
  )
485
559
  await E2EEKeyManager.storeKeyInSession(
486
- editor.docInfo.id,
560
+ editor.docInfo.id as number,
487
561
  newKey
488
562
  )
489
563
 
@@ -491,9 +565,9 @@ export const headerbarModel = () => ({
491
565
  if (isPassphraseUser) {
492
566
  try {
493
567
  await PassphraseManager.saveDocumentPassword(
494
- editor.docInfo.id,
568
+ editor.docInfo.id as number,
495
569
  newPassword,
496
- null,
570
+ undefined,
497
571
  "user",
498
572
  true
499
573
  )
@@ -532,7 +606,7 @@ export const headerbarModel = () => ({
532
606
  changeOptions
533
607
  )
534
608
  },
535
- disabled: editor =>
609
+ disabled: (editor: Editor) =>
536
610
  !editor.e2ee?.encrypted ||
537
611
  editor.docInfo.access_rights !== "write"
538
612
  }
@@ -551,20 +625,21 @@ export const headerbarModel = () => ({
551
625
  type: "action",
552
626
  tooltip: gettext("Export the document to an HTML file."),
553
627
  order: 0,
554
- action: editor => {
628
+ action: (editor: Editor) => {
555
629
  import(
556
630
  "@fiduswriter/document/exporter/html/index"
557
631
  ).then(({HTMLExporter}) => {
558
- const doc = editor.getDoc({
632
+ const db = getDB(editor)
633
+ const doc = getExportDoc(editor, {
559
634
  changes: "acceptAllNoInsertions"
560
635
  })
561
636
  const exporter = new HTMLExporter(
562
637
  doc,
563
- editor.mod.db.bibDB,
564
- editor.mod.db.imageDB,
638
+ db.bibDB,
639
+ db.imageDB,
565
640
  editor.app.csl,
566
641
  editor.docInfo.updated,
567
- editor.mod.documentTemplate.documentStyles
642
+ getDocumentTemplate(editor).documentStyles
568
643
  )
569
644
  exporter.progressCallback = exportProgress(doc)
570
645
  exporter.init()
@@ -578,50 +653,52 @@ export const headerbarModel = () => ({
578
653
  "Export the document to an Epub electronic reader file."
579
654
  ),
580
655
  order: 1,
581
- action: editor => {
656
+ action: (editor: Editor) => {
582
657
  import(
583
658
  "@fiduswriter/document/exporter/epub/index"
584
659
  ).then(({EpubExporter}) => {
585
- const doc = editor.getDoc({
660
+ const db = getDB(editor)
661
+ const doc = getExportDoc(editor, {
586
662
  changes: "acceptAllNoInsertions"
587
663
  })
588
664
  const exporter = new EpubExporter(
589
665
  doc,
590
- editor.mod.db.bibDB,
591
- editor.mod.db.imageDB,
666
+ db.bibDB,
667
+ db.imageDB,
592
668
  editor.app.csl,
593
669
  editor.docInfo.updated,
594
- editor.mod.documentTemplate.documentStyles
670
+ getDocumentTemplate(editor).documentStyles
595
671
  )
596
672
  exporter.progressCallback = exportProgress(doc)
597
673
  exporter.init()
598
674
  })
599
675
  },
600
- disabled: editor => editor.app.isOffline()
676
+ disabled: (editor: Editor) => editor.app.isOffline()
601
677
  },
602
678
  {
603
679
  title: gettext("LaTeX"),
604
680
  type: "action",
605
681
  tooltip: gettext("Export the document to an LaTeX file."),
606
682
  order: 2,
607
- action: editor => {
683
+ action: (editor: Editor) => {
608
684
  import(
609
685
  "@fiduswriter/document/exporter/latex/index"
610
686
  ).then(({LatexExporter}) => {
611
- const doc = editor.getDoc({
687
+ const db = getDB(editor)
688
+ const doc = getExportDoc(editor, {
612
689
  changes: "acceptAllNoInsertions"
613
690
  })
614
691
  const exporter = new LatexExporter(
615
692
  doc,
616
- editor.mod.db.bibDB,
617
- editor.mod.db.imageDB,
693
+ db.bibDB,
694
+ db.imageDB,
618
695
  editor.docInfo.updated
619
696
  )
620
697
  exporter.progressCallback = exportProgress(doc)
621
698
  exporter.init()
622
699
  })
623
700
  },
624
- disabled: editor => editor.app.isOffline()
701
+ disabled: (editor: Editor) => editor.app.isOffline()
625
702
  },
626
703
  {
627
704
  title: gettext("JATS"),
@@ -630,17 +707,18 @@ export const headerbarModel = () => ({
630
707
  "Export the document to a Journal Archiving and Interchange Tag Library NISO JATS Version 1.2 file."
631
708
  ),
632
709
  order: 2,
633
- action: editor => {
710
+ action: (editor: Editor) => {
634
711
  import(
635
712
  "@fiduswriter/document/exporter/jats/index"
636
713
  ).then(({JATSExporter}) => {
637
- const doc = editor.getDoc({
714
+ const db = getDB(editor)
715
+ const doc = getExportDoc(editor, {
638
716
  changes: "acceptAllNoInsertions"
639
717
  })
640
718
  const exporter = new JATSExporter(
641
719
  doc,
642
- editor.mod.db.bibDB,
643
- editor.mod.db.imageDB,
720
+ db.bibDB,
721
+ db.imageDB,
644
722
  editor.app.csl,
645
723
  editor.docInfo.updated,
646
724
  "article"
@@ -649,7 +727,7 @@ export const headerbarModel = () => ({
649
727
  exporter.init()
650
728
  })
651
729
  },
652
- disabled: editor => editor.app.isOffline()
730
+ disabled: (editor: Editor) => editor.app.isOffline()
653
731
  },
654
732
  {
655
733
  title: gettext("BITS"),
@@ -658,17 +736,18 @@ export const headerbarModel = () => ({
658
736
  "Export the document to a Book Interchange Tag Set BITS Version 2.1 file."
659
737
  ),
660
738
  order: 2,
661
- action: editor => {
739
+ action: (editor: Editor) => {
662
740
  import(
663
741
  "@fiduswriter/document/exporter/jats/index"
664
742
  ).then(({JATSExporter}) => {
665
- const doc = editor.getDoc({
743
+ const db = getDB(editor)
744
+ const doc = getExportDoc(editor, {
666
745
  changes: "acceptAllNoInsertions"
667
746
  })
668
747
  const exporter = new JATSExporter(
669
748
  doc,
670
- editor.mod.db.bibDB,
671
- editor.mod.db.imageDB,
749
+ db.bibDB,
750
+ db.imageDB,
672
751
  editor.app.csl,
673
752
  editor.docInfo.updated,
674
753
  "book-part-wrapper"
@@ -677,7 +756,7 @@ export const headerbarModel = () => ({
677
756
  exporter.init()
678
757
  })
679
758
  },
680
- disabled: editor => editor.app.isOffline()
759
+ disabled: (editor: Editor) => editor.app.isOffline()
681
760
  },
682
761
  {
683
762
  title: gettext("Pandoc JSON"),
@@ -686,17 +765,18 @@ export const headerbarModel = () => ({
686
765
  "Export the document to a Pandoc JSON file."
687
766
  ),
688
767
  order: 3,
689
- action: editor => {
768
+ action: (editor: Editor) => {
690
769
  import(
691
770
  "@fiduswriter/document/exporter/pandoc/index"
692
771
  ).then(({PandocExporter}) => {
693
- const doc = editor.getDoc({
772
+ const db = getDB(editor)
773
+ const doc = getExportDoc(editor, {
694
774
  changes: "acceptAllNoInsertions"
695
775
  })
696
776
  const exporter = new PandocExporter(
697
777
  doc,
698
- editor.mod.db.bibDB,
699
- editor.mod.db.imageDB,
778
+ db.bibDB,
779
+ db.imageDB,
700
780
  editor.app.csl,
701
781
  editor.docInfo.updated
702
782
  )
@@ -704,7 +784,7 @@ export const headerbarModel = () => ({
704
784
  exporter.init()
705
785
  })
706
786
  },
707
- disabled: editor => editor.app.isOffline()
787
+ disabled: (editor: Editor) => editor.app.isOffline()
708
788
  },
709
789
  {
710
790
  title: gettext("Slim FIDUS"),
@@ -713,11 +793,12 @@ export const headerbarModel = () => ({
713
793
  "Export the document to a FIDUS file without its template."
714
794
  ),
715
795
  order: 4,
716
- action: editor => {
796
+ action: (editor: Editor) => {
797
+ const db = getDB(editor)
717
798
  new ExportFidusFile(
718
- editor.getDoc(),
719
- editor.mod.db.bibDB,
720
- editor.mod.db.imageDB,
799
+ getExportDoc(editor),
800
+ db.bibDB,
801
+ db.imageDB,
721
802
  false
722
803
  )
723
804
  }
@@ -738,7 +819,7 @@ export const headerbarModel = () => ({
738
819
  type: "menu",
739
820
  tooltip: gettext("Choose your preferred citation style."),
740
821
  order: 1,
741
- disabled: editor => {
822
+ disabled: (editor: Editor) => {
742
823
  return editor.docInfo.access_rights !== "write"
743
824
  },
744
825
  content: []
@@ -749,7 +830,7 @@ export const headerbarModel = () => ({
749
830
  type: "menu",
750
831
  tooltip: gettext("Choose your preferred document style."),
751
832
  order: 2,
752
- disabled: editor => {
833
+ disabled: (editor: Editor) => {
753
834
  return (
754
835
  editor.docInfo.access_rights !== "write" ||
755
836
  editor.app.isOffline()
@@ -763,7 +844,7 @@ export const headerbarModel = () => ({
763
844
  type: "menu",
764
845
  tooltip: gettext("Choose the language of the document."),
765
846
  order: 3,
766
- disabled: editor => {
847
+ disabled: (editor: Editor) => {
767
848
  return editor.docInfo.access_rights !== "write"
768
849
  },
769
850
  content: [
@@ -798,12 +879,12 @@ export const headerbarModel = () => ({
798
879
  {
799
880
  type: "separator",
800
881
  order: 12,
801
- available: editor => {
882
+ available: (editor: Editor) => {
802
883
  // There has to be at least one language of the default languages
803
884
  // among the default ones and one that is not among the default ones.
804
885
  return (
805
886
  !!editor.view.state.doc.attrs.languages.find(
806
- lang =>
887
+ (lang: string) =>
807
888
  [
808
889
  "en-US",
809
890
  "en-GB",
@@ -820,7 +901,7 @@ export const headerbarModel = () => ({
820
901
  ].includes(lang)
821
902
  ) &&
822
903
  !!editor.view.state.doc.attrs.languages.find(
823
- lang =>
904
+ (lang: string) =>
824
905
  ![
825
906
  "en-US",
826
907
  "en-GB",
@@ -843,7 +924,7 @@ export const headerbarModel = () => ({
843
924
  title: gettext("Other"),
844
925
  type: "setting",
845
926
  order: 13,
846
- action: editor => {
927
+ action: (editor: Editor) => {
847
928
  const language =
848
929
  editor.view.state.doc.attrs.language,
849
930
  dialog = new LanguageDialog(
@@ -852,7 +933,7 @@ export const headerbarModel = () => ({
852
933
  )
853
934
  dialog.init()
854
935
  },
855
- selected: editor => {
936
+ selected: (editor: Editor) => {
856
937
  return ![
857
938
  "en-US",
858
939
  "en-GB",
@@ -868,9 +949,9 @@ export const headerbarModel = () => ({
868
949
  "ru"
869
950
  ].includes(editor.view.state.doc.attrs.language)
870
951
  },
871
- available: editor =>
952
+ available: (editor: Editor) =>
872
953
  !!editor.view.state.doc.attrs.languages.find(
873
- lang =>
954
+ (lang: string) =>
874
955
  ![
875
956
  "en-US",
876
957
  "en-GB",
@@ -897,7 +978,7 @@ export const headerbarModel = () => ({
897
978
  "Choose a papersize for print and PDF generation."
898
979
  ),
899
980
  order: 4,
900
- disabled: editor => {
981
+ disabled: (editor: Editor) => {
901
982
  return editor.docInfo.access_rights !== "write"
902
983
  },
903
984
  content: [
@@ -908,20 +989,20 @@ export const headerbarModel = () => ({
908
989
  "A4 (DIN A4/ISO 216) which is used in most of the world."
909
990
  ),
910
991
  order: 0,
911
- action: editor => {
992
+ action: (editor: Editor) => {
912
993
  editor.view.dispatch(
913
994
  editor.view.state.tr
914
995
  .setDocAttribute("papersize", "A4")
915
996
  .setMeta("settings", true)
916
997
  )
917
998
  },
918
- selected: editor => {
999
+ selected: (editor: Editor) => {
919
1000
  return (
920
1001
  editor.view.state.doc.attrs.papersize ===
921
1002
  "A4"
922
1003
  )
923
1004
  },
924
- available: editor => {
1005
+ available: (editor: Editor) => {
925
1006
  return editor.view.state.doc.attrs.papersizes.includes(
926
1007
  "A4"
927
1008
  )
@@ -934,7 +1015,7 @@ export const headerbarModel = () => ({
934
1015
  "The format used by the USA and some other American countries."
935
1016
  ),
936
1017
  order: 1,
937
- action: editor => {
1018
+ action: (editor: Editor) => {
938
1019
  editor.view.dispatch(
939
1020
  editor.view.state.tr
940
1021
  .setDocAttribute(
@@ -944,13 +1025,13 @@ export const headerbarModel = () => ({
944
1025
  .setMeta("settings", true)
945
1026
  )
946
1027
  },
947
- selected: editor => {
1028
+ selected: (editor: Editor) => {
948
1029
  return (
949
1030
  editor.view.state.doc.attrs.papersize ===
950
1031
  "US Letter"
951
1032
  )
952
1033
  },
953
- available: editor => {
1034
+ available: (editor: Editor) => {
954
1035
  return editor.view.state.doc.attrs.papersizes.includes(
955
1036
  "US Letter"
956
1037
  )
@@ -962,7 +1043,7 @@ export const headerbarModel = () => ({
962
1043
  title: gettext("Copyright Information"),
963
1044
  type: "setting",
964
1045
  order: 5,
965
- action: editor => {
1046
+ action: (editor: Editor) => {
966
1047
  const dialog = new CopyrightDialog(
967
1048
  editor.view.state.doc.attrs.copyright
968
1049
  )
@@ -974,10 +1055,19 @@ export const headerbarModel = () => ({
974
1055
  .setMeta("settings", true)
975
1056
  )
976
1057
  }
977
- editor.currentView.focus()
978
1058
  })
979
1059
  },
980
- disabled: editor => editor.docInfo.access_rights !== "write"
1060
+ selected: (editor: Editor) => {
1061
+ return editor.view.state.doc.attrs.copyright
1062
+ ? true
1063
+ : false
1064
+ },
1065
+ available: (editor: Editor) => {
1066
+ return editor.view.state.doc.attrs.copyrights &&
1067
+ editor.view.state.doc.attrs.copyrights.length
1068
+ ? true
1069
+ : false
1070
+ }
981
1071
  }
982
1072
  ]
983
1073
  },
@@ -994,7 +1084,7 @@ export const headerbarModel = () => ({
994
1084
  type: "action",
995
1085
  tooltip: gettext("See document statistics."),
996
1086
  order: 0,
997
- action: editor => {
1087
+ action: (editor: Editor) => {
998
1088
  const dialog = new WordCountDialog(editor)
999
1089
  dialog.init()
1000
1090
  }
@@ -1005,7 +1095,7 @@ export const headerbarModel = () => ({
1005
1095
  tooltip: gettext("Show a search and replace dialog."),
1006
1096
  order: 1,
1007
1097
  keys: "Ctrl-h",
1008
- action: editor => {
1098
+ action: (editor: Editor) => {
1009
1099
  const dialog = new SearchReplaceDialog(editor)
1010
1100
  dialog.init()
1011
1101
  }
@@ -1018,7 +1108,7 @@ export const headerbarModel = () => ({
1018
1108
  ),
1019
1109
  order: 2,
1020
1110
  keys: "Shift-Ctrl-/",
1021
- action: editor => {
1111
+ action: (editor: Editor) => {
1022
1112
  const dialog = new KeyBindingsDialog(editor)
1023
1113
  dialog.init()
1024
1114
  }
@@ -1031,17 +1121,17 @@ export const headerbarModel = () => ({
1031
1121
  tooltip: gettext("Tracking changes to the document"),
1032
1122
  order: 4,
1033
1123
  keys: "Alt-c",
1034
- disabled: editor => editor.docInfo.access_rights !== "write",
1124
+ disabled: (editor: Editor) => editor.docInfo.access_rights !== "write",
1035
1125
  content: [
1036
1126
  {
1037
1127
  title: gettext("Record"),
1038
1128
  type: "setting",
1039
1129
  tooltip: gettext("Record document changes"),
1040
1130
  order: 0,
1041
- disabled: editor => {
1131
+ disabled: (editor: Editor) => {
1042
1132
  return editor.docInfo.access_rights !== "write"
1043
1133
  },
1044
- action: editor => {
1134
+ action: (editor: Editor) => {
1045
1135
  const tracked = !editor.view.state.doc.attrs.tracked
1046
1136
  editor.view.dispatch(
1047
1137
  editor.view.state.tr
@@ -1049,7 +1139,7 @@ export const headerbarModel = () => ({
1049
1139
  .setMeta("settings", true)
1050
1140
  )
1051
1141
  },
1052
- selected: editor => {
1142
+ selected: (editor: Editor) => {
1053
1143
  return editor.view.state.doc.attrs.tracked === true
1054
1144
  }
1055
1145
  },
@@ -1058,8 +1148,8 @@ export const headerbarModel = () => ({
1058
1148
  type: "action",
1059
1149
  tooltip: gettext("Accept all tracked changes."),
1060
1150
  order: 1,
1061
- action: editor => {
1062
- editor.mod.track.acceptAll()
1151
+ action: (editor: Editor) => {
1152
+ getTrack(editor).acceptAll()
1063
1153
  }
1064
1154
  },
1065
1155
  {
@@ -1067,8 +1157,8 @@ export const headerbarModel = () => ({
1067
1157
  type: "action",
1068
1158
  tooltip: gettext("Reject all tracked changes."),
1069
1159
  order: 2,
1070
- action: editor => {
1071
- editor.mod.track.rejectAll()
1160
+ action: (editor: Editor) => {
1161
+ getTrack(editor).rejectAll()
1072
1162
  }
1073
1163
  }
1074
1164
  ]