@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
@@ -8,26 +8,38 @@ import { E2EEKeyManager } from "fwtoolkit/e2ee/key-manager";
8
8
  import { PassphraseManager } from "fwtoolkit/e2ee/passphrase-manager";
9
9
  import { changePasswordDialog } from "fwtoolkit/e2ee/password-dialog";
10
10
  import { KeyBindingsDialog, SearchReplaceDialog, WordCountDialog } from "../../tools/index.js";
11
- const exportProgress = doc => {
11
+ function getDB(editor) {
12
+ return editor.mod.db;
13
+ }
14
+ function getDocumentTemplate(editor) {
15
+ return editor.mod.documentTemplate;
16
+ }
17
+ function getTrack(editor) {
18
+ return editor.mod.track;
19
+ }
20
+ function getExportDoc(editor, options) {
21
+ return editor.getDoc(options);
22
+ }
23
+ const exportProgress = (doc) => {
12
24
  const title = shortFileTitle(doc.title, doc.path || "");
13
25
  const task = addProgress("info", `${title}: ${gettext("Exporting...")}`, {
14
26
  autoClose: 6000
15
27
  });
16
- return (message, percentage) => task.update(percentage, message);
28
+ return (message, percentage) => task.update(percentage ?? null, message);
17
29
  };
18
30
  const languageItem = (language, name, order) => ({
19
31
  title: name,
20
32
  type: "setting",
21
33
  order,
22
- action: editor => {
34
+ action: (editor) => {
23
35
  editor.view.dispatch(editor.view.state.tr
24
36
  .setDocAttribute("language", language)
25
37
  .setMeta("settings", true));
26
38
  },
27
- selected: editor => {
39
+ selected: (editor) => {
28
40
  return editor.view.state.doc.attrs.language === language;
29
41
  },
30
- available: editor => {
42
+ available: (editor) => {
31
43
  return editor.view.state.doc.attrs.languages.includes(language);
32
44
  }
33
45
  });
@@ -43,20 +55,20 @@ export const headerbarModel = () => ({
43
55
  order: 0,
44
56
  content: [
45
57
  {
46
- title: editor => editor.user.is_authenticated &&
58
+ title: (editor) => editor.user.is_authenticated &&
47
59
  editor.docInfo.token &&
48
60
  !editor.docInfo.is_owner
49
61
  ? gettext("Request Access")
50
62
  : gettext("Share"),
51
63
  type: "action",
52
64
  //icon: 'share',
53
- tooltip: editor => editor.user.is_authenticated &&
65
+ tooltip: (editor) => editor.user.is_authenticated &&
54
66
  editor.docInfo.token &&
55
67
  !editor.docInfo.is_owner
56
68
  ? gettext("Request to be added as a collaborator.")
57
69
  : gettext("Share the document with other users."),
58
70
  order: 0,
59
- action: editor => {
71
+ action: (editor) => {
60
72
  if (editor.user.is_authenticated &&
61
73
  editor.docInfo.token &&
62
74
  !editor.docInfo.is_owner) {
@@ -66,11 +78,12 @@ export const headerbarModel = () => ({
66
78
  rights: "write"
67
79
  })
68
80
  .then(({ json }) => {
69
- if (json.success) {
81
+ const data = json;
82
+ if (data.success) {
70
83
  addAlert("success", gettext("Your access request has been sent to the document owner."));
71
84
  }
72
85
  else {
73
- addAlert("error", json.error ||
86
+ addAlert("error", data.error ||
74
87
  gettext("Could not send access request."));
75
88
  }
76
89
  })
@@ -88,11 +101,11 @@ export const headerbarModel = () => ({
88
101
  const noPassphraseUsers = [];
89
102
  for (const ar of userRecipients) {
90
103
  try {
91
- const hasKeys = await PassphraseManager.userHasEncryptionKeys(ar.holder.id);
104
+ const hasKeys = await PassphraseManager.userHasEncryptionKeys(ar.holder?.id);
92
105
  if (hasKeys) {
93
106
  // Recipient has passphrase keys —
94
107
  // encrypt document password with their public key.
95
- await PassphraseManager.saveDocumentPassword(editor.docInfo.id, editor.e2ee.password, ar.holder.id, "user", false);
108
+ await PassphraseManager.saveDocumentPassword(editor.docInfo.id, editor.e2ee.password, ar.holder?.id, "user", false);
96
109
  }
97
110
  else {
98
111
  noPassphraseUsers.push(ar.holder?.name || "user");
@@ -103,46 +116,46 @@ export const headerbarModel = () => ({
103
116
  }
104
117
  }
105
118
  if (noPassphraseUsers.length > 0) {
106
- const dialog = new Dialog({
119
+ const passwordDialog = new Dialog({
107
120
  title: gettext("Share Document Password"),
108
121
  id: "share-password-dialog",
109
122
  width: 500,
110
123
  body: `<p>${gettext("The following users don't have passphrase encryption. Please share the document password with them directly.")}</p><ul>${noPassphraseUsers
111
- .map(name => `<li><strong>${name}</strong>: <code>${editor.e2ee.password}</code></li>`)
124
+ .map(name => `<li><strong>${name}</strong>: <code>${editor.e2ee?.password}</code></li>`)
112
125
  .join("")}</ul>`,
113
126
  buttons: [
114
127
  {
115
128
  text: gettext("Close"),
116
129
  classes: "fw-dark",
117
- click: () => dialog.close()
130
+ click: () => passwordDialog.close()
118
131
  }
119
132
  ]
120
133
  });
121
- dialog.open();
134
+ passwordDialog.open();
122
135
  }
123
136
  }
124
137
  };
125
- const dialog = new DocumentAccessRightsDialog([editor.docInfo.id], editor.docInfo.owner.contacts, contactData => {
126
- editor.docInfo.owner.contacts.push(contactData);
127
- }, editor.e2ee?.encrypted, editor.e2ee?.password || "", onShareSuccess, editor.app.settings);
128
- dialog.init();
138
+ const shareDialog = new DocumentAccessRightsDialog([editor.docInfo.id], editor.docInfo.owner?.contacts || [], contactData => {
139
+ editor.docInfo.owner?.contacts.push(contactData);
140
+ }, editor.e2ee?.encrypted || false, editor.e2ee?.password || "", onShareSuccess, editor.app.settings);
141
+ shareDialog.init();
129
142
  },
130
- disabled: editor => {
143
+ disabled: (editor) => {
131
144
  return (editor.app.isOffline() ||
132
145
  !editor.user.is_authenticated);
133
146
  }
134
147
  },
135
148
  {
136
- title: editor => editor.user.is_authenticated
149
+ title: (editor) => editor.user.is_authenticated
137
150
  ? gettext("Close")
138
151
  : gettext("Sign up / Log in"),
139
152
  type: "action",
140
153
  //icon: 'times-circle',
141
- tooltip: editor => editor.user.is_authenticated
154
+ tooltip: (editor) => editor.user.is_authenticated
142
155
  ? gettext("Close the document and return to the document overview menu.")
143
156
  : gettext("Sign up for an account or log in."),
144
157
  order: 1,
145
- action: editor => {
158
+ action: (editor) => {
146
159
  if (editor.user.is_authenticated) {
147
160
  const folderPath = editor.docInfo.path.slice(0, editor.docInfo.path.lastIndexOf("/"));
148
161
  if (!folderPath.length &&
@@ -164,7 +177,7 @@ export const headerbarModel = () => ({
164
177
  }
165
178
  return;
166
179
  },
167
- disabled: editor => editor.app.isOffline()
180
+ disabled: (editor) => editor.app.isOffline()
168
181
  },
169
182
  {
170
183
  title: gettext("Save revision"),
@@ -173,14 +186,15 @@ export const headerbarModel = () => ({
173
186
  tooltip: gettext("Save a revision of the document."),
174
187
  order: 2,
175
188
  keys: "Ctrl-s",
176
- action: editor => {
189
+ action: (editor) => {
177
190
  const dialog = new RevisionDialog(editor.docInfo.dir);
178
191
  dialog.init().then(note => {
179
- const saver = new SaveRevision(editor.getDoc(), editor.mod.db.imageDB, editor.mod.db.bibDB, note, editor.app);
192
+ const db = getDB(editor);
193
+ const saver = new SaveRevision(getExportDoc(editor), db.imageDB, db.bibDB, note, editor.app);
180
194
  return saver.init();
181
195
  });
182
196
  },
183
- disabled: editor => editor.docInfo.access_rights !== "write" ||
197
+ disabled: (editor) => editor.docInfo.access_rights !== "write" ||
184
198
  editor.app.isOffline() ||
185
199
  !!editor.docInfo.token
186
200
  },
@@ -190,14 +204,15 @@ export const headerbarModel = () => ({
190
204
  //icon: 'copy',
191
205
  tooltip: gettext("Create a copy of the document."),
192
206
  order: 3,
193
- action: editor => {
194
- const copier = new SaveCopy(editor.getDoc(), editor.mod.db.bibDB, editor.mod.db.imageDB, editor.user);
207
+ action: (editor) => {
208
+ const db = getDB(editor);
209
+ const copier = new SaveCopy(getExportDoc(editor), db.bibDB, db.imageDB, editor.user);
195
210
  copier
196
211
  .init()
197
212
  .then(({ docInfo }) => editor.app.goTo(`/document/${docInfo.id}/`))
198
213
  .catch(() => false);
199
214
  },
200
- disabled: editor => editor.app.isOffline() ||
215
+ disabled: (editor) => editor.app.isOffline() ||
201
216
  (!!editor.docInfo.token &&
202
217
  !editor.user.is_authenticated)
203
218
  },
@@ -207,10 +222,11 @@ export const headerbarModel = () => ({
207
222
  //icon: 'download',
208
223
  tooltip: gettext("Export the document as a FIDUS file including its template."),
209
224
  order: 4,
210
- action: editor => {
211
- new ExportFidusFile(editor.getDoc(), editor.mod.db.bibDB, editor.mod.db.imageDB, true, editor.docInfo.token);
225
+ action: (editor) => {
226
+ const db = getDB(editor);
227
+ new ExportFidusFile(getExportDoc(editor), db.bibDB, db.imageDB, true, editor.docInfo.token);
212
228
  },
213
- disabled: editor => editor.app.isOffline()
229
+ disabled: (editor) => editor.app.isOffline()
214
230
  },
215
231
  {
216
232
  title: gettext("Print/PDF"),
@@ -219,14 +235,13 @@ export const headerbarModel = () => ({
219
235
  tooltip: gettext("Either print or create a PDF using your browser print dialog."),
220
236
  order: 5,
221
237
  keys: "Ctrl-p",
222
- action: editor => {
238
+ action: (editor) => {
223
239
  import("@fiduswriter/document/exporter/print/index").then(({ PrintExporter }) => {
224
- const doc = editor.getDoc({
240
+ const db = getDB(editor);
241
+ const doc = getExportDoc(editor, {
225
242
  changes: "acceptAllNoInsertions"
226
243
  });
227
- const title = shortFileTitle(doc.title, doc.path || "");
228
- const task = addProgress("info", `${title}: ${gettext("Preparing print view...")}`, { autoClose: 6000 });
229
- const exporter = new PrintExporter(doc, editor.mod.db.bibDB, editor.mod.db.imageDB, editor.app.csl, editor.docInfo.updated, editor.mod.documentTemplate.documentStyles, (message, percentage) => task.update(percentage, message));
244
+ const exporter = new PrintExporter(doc, db.bibDB, db.imageDB, editor.app.csl, editor.docInfo.updated, getDocumentTemplate(editor).documentStyles, exportProgress(doc));
230
245
  exporter.init();
231
246
  });
232
247
  }
@@ -236,13 +251,14 @@ export const headerbarModel = () => ({
236
251
  type: "action",
237
252
  tooltip: gettext("Change the password of this encrypted document."),
238
253
  order: 6,
239
- available: editor => editor.docInfo.e2ee,
254
+ available: (editor) => editor.docInfo.e2ee,
240
255
  action: async (editor) => {
241
- if (!editor.e2ee?.key) {
256
+ if (!editor.e2ee || !editor.e2ee.key) {
242
257
  addAlert("error", gettext("Document key is not available. Please reload the document."));
243
258
  return;
244
259
  }
245
- const isPassphraseUser = editor.e2ee?.usesPassphrase &&
260
+ const e2ee = editor.e2ee;
261
+ const isPassphraseUser = e2ee.usesPassphrase &&
246
262
  PassphraseManager.hasKeysInSession();
247
263
  const suggestedNewPassword = isPassphraseUser
248
264
  ? await PassphraseManager.generateDocumentPassword()
@@ -252,7 +268,7 @@ export const headerbarModel = () => ({
252
268
  // Passphrase users: current password is known, new password
253
269
  // is auto-generated and shown in plaintext for sharing.
254
270
  changeOptions = {
255
- currentPassword: editor.e2ee.password ||
271
+ currentPassword: e2ee.password ||
256
272
  E2EEKeyManager.getPasswordFromSession(editor.docInfo.id) ||
257
273
  "",
258
274
  suggestedNewPassword,
@@ -278,18 +294,18 @@ export const headerbarModel = () => ({
278
294
  // in memory or sessionStorage, the document is already
279
295
  // open with that key — skip the expensive PBKDF2
280
296
  // re-derivation used only to prove correctness.
281
- const cachedPassword = editor.e2ee.password ||
297
+ const cachedPassword = e2ee.password ||
282
298
  E2EEKeyManager.getPasswordFromSession(editor.docInfo.id);
283
299
  if (!cachedPassword ||
284
300
  currentPassword !== cachedPassword) {
285
- const currentSaltBytes = new Uint8Array(atob(editor.e2ee.encryptionSalt)
301
+ const currentSaltBytes = new Uint8Array(atob(e2ee.encryptionSalt)
286
302
  .split("")
287
303
  .map(c => c.charCodeAt(0)));
288
- const currentKey = await E2EEKeyManager.resolvePasswordToKey(currentPassword, currentSaltBytes, editor.e2ee.encryptionIterations);
304
+ const currentKey = await E2EEKeyManager.resolvePasswordToKey(currentPassword, currentSaltBytes, e2ee.encryptionIterations);
289
305
  const { E2EEEncryptor } = await import("fwtoolkit/e2ee/encryptor");
290
306
  const testValue = "test";
291
307
  const encryptedTest = await E2EEEncryptor.encrypt(testValue, currentKey);
292
- await E2EEEncryptor.decrypt(encryptedTest, editor.e2ee.key);
308
+ await E2EEEncryptor.decrypt(encryptedTest, e2ee.key);
293
309
  }
294
310
  // Current password verified — generate new salt and key
295
311
  const newSalt = E2EEKeyManager.generateSalt();
@@ -297,20 +313,19 @@ export const headerbarModel = () => ({
297
313
  const newIterations = 600000;
298
314
  const newKey = await E2EEKeyManager.resolvePasswordToKey(newPassword, newSalt, newIterations);
299
315
  // Re-encrypt the document with the new key
300
- await editor.e2ee.snapshotManager.reEncryptWithNewKey(newKey, newSaltBase64, newIterations);
316
+ await e2ee.snapshotManager.reEncryptWithNewKey(newKey, newSaltBase64, newIterations);
301
317
  // Update local E2EE state
302
- editor.e2ee.encryptionSalt = newSaltBase64;
303
- editor.e2ee.encryptionIterations =
304
- newIterations;
305
- editor.e2ee.key = newKey;
306
- editor.e2ee.password = newPassword;
318
+ e2ee.encryptionSalt = newSaltBase64;
319
+ e2ee.encryptionIterations = newIterations;
320
+ e2ee.key = newKey;
321
+ e2ee.password = newPassword;
307
322
  // Cache password and key in sessionStorage
308
323
  E2EEKeyManager.storePasswordInSession(editor.docInfo.id, newPassword);
309
324
  await E2EEKeyManager.storeKeyInSession(editor.docInfo.id, newKey);
310
325
  // If passphrase user, update encrypted password on server
311
326
  if (isPassphraseUser) {
312
327
  try {
313
- await PassphraseManager.saveDocumentPassword(editor.docInfo.id, newPassword, null, "user", true);
328
+ await PassphraseManager.saveDocumentPassword(editor.docInfo.id, newPassword, undefined, "user", true);
314
329
  }
315
330
  catch (_e) {
316
331
  console.error("Failed to update document password on server:", _e);
@@ -328,7 +343,7 @@ export const headerbarModel = () => ({
328
343
  }
329
344
  }, changeOptions);
330
345
  },
331
- disabled: editor => !editor.e2ee?.encrypted ||
346
+ disabled: (editor) => !editor.e2ee?.encrypted ||
332
347
  editor.docInfo.access_rights !== "write"
333
348
  }
334
349
  ]
@@ -346,12 +361,13 @@ export const headerbarModel = () => ({
346
361
  type: "action",
347
362
  tooltip: gettext("Export the document to an HTML file."),
348
363
  order: 0,
349
- action: editor => {
364
+ action: (editor) => {
350
365
  import("@fiduswriter/document/exporter/html/index").then(({ HTMLExporter }) => {
351
- const doc = editor.getDoc({
366
+ const db = getDB(editor);
367
+ const doc = getExportDoc(editor, {
352
368
  changes: "acceptAllNoInsertions"
353
369
  });
354
- const exporter = new HTMLExporter(doc, editor.mod.db.bibDB, editor.mod.db.imageDB, editor.app.csl, editor.docInfo.updated, editor.mod.documentTemplate.documentStyles);
370
+ const exporter = new HTMLExporter(doc, db.bibDB, db.imageDB, editor.app.csl, editor.docInfo.updated, getDocumentTemplate(editor).documentStyles);
355
371
  exporter.progressCallback = exportProgress(doc);
356
372
  exporter.init();
357
373
  });
@@ -362,93 +378,99 @@ export const headerbarModel = () => ({
362
378
  type: "action",
363
379
  tooltip: gettext("Export the document to an Epub electronic reader file."),
364
380
  order: 1,
365
- action: editor => {
381
+ action: (editor) => {
366
382
  import("@fiduswriter/document/exporter/epub/index").then(({ EpubExporter }) => {
367
- const doc = editor.getDoc({
383
+ const db = getDB(editor);
384
+ const doc = getExportDoc(editor, {
368
385
  changes: "acceptAllNoInsertions"
369
386
  });
370
- const exporter = new EpubExporter(doc, editor.mod.db.bibDB, editor.mod.db.imageDB, editor.app.csl, editor.docInfo.updated, editor.mod.documentTemplate.documentStyles);
387
+ const exporter = new EpubExporter(doc, db.bibDB, db.imageDB, editor.app.csl, editor.docInfo.updated, getDocumentTemplate(editor).documentStyles);
371
388
  exporter.progressCallback = exportProgress(doc);
372
389
  exporter.init();
373
390
  });
374
391
  },
375
- disabled: editor => editor.app.isOffline()
392
+ disabled: (editor) => editor.app.isOffline()
376
393
  },
377
394
  {
378
395
  title: gettext("LaTeX"),
379
396
  type: "action",
380
397
  tooltip: gettext("Export the document to an LaTeX file."),
381
398
  order: 2,
382
- action: editor => {
399
+ action: (editor) => {
383
400
  import("@fiduswriter/document/exporter/latex/index").then(({ LatexExporter }) => {
384
- const doc = editor.getDoc({
401
+ const db = getDB(editor);
402
+ const doc = getExportDoc(editor, {
385
403
  changes: "acceptAllNoInsertions"
386
404
  });
387
- const exporter = new LatexExporter(doc, editor.mod.db.bibDB, editor.mod.db.imageDB, editor.docInfo.updated);
405
+ const exporter = new LatexExporter(doc, db.bibDB, db.imageDB, editor.docInfo.updated);
388
406
  exporter.progressCallback = exportProgress(doc);
389
407
  exporter.init();
390
408
  });
391
409
  },
392
- disabled: editor => editor.app.isOffline()
410
+ disabled: (editor) => editor.app.isOffline()
393
411
  },
394
412
  {
395
413
  title: gettext("JATS"),
396
414
  type: "action",
397
415
  tooltip: gettext("Export the document to a Journal Archiving and Interchange Tag Library NISO JATS Version 1.2 file."),
398
416
  order: 2,
399
- action: editor => {
417
+ action: (editor) => {
400
418
  import("@fiduswriter/document/exporter/jats/index").then(({ JATSExporter }) => {
401
- const doc = editor.getDoc({
419
+ const db = getDB(editor);
420
+ const doc = getExportDoc(editor, {
402
421
  changes: "acceptAllNoInsertions"
403
422
  });
404
- const exporter = new JATSExporter(doc, editor.mod.db.bibDB, editor.mod.db.imageDB, editor.app.csl, editor.docInfo.updated, "article");
423
+ const exporter = new JATSExporter(doc, db.bibDB, db.imageDB, editor.app.csl, editor.docInfo.updated, "article");
405
424
  exporter.progressCallback = exportProgress(doc);
406
425
  exporter.init();
407
426
  });
408
427
  },
409
- disabled: editor => editor.app.isOffline()
428
+ disabled: (editor) => editor.app.isOffline()
410
429
  },
411
430
  {
412
431
  title: gettext("BITS"),
413
432
  type: "action",
414
433
  tooltip: gettext("Export the document to a Book Interchange Tag Set BITS Version 2.1 file."),
415
434
  order: 2,
416
- action: editor => {
435
+ action: (editor) => {
417
436
  import("@fiduswriter/document/exporter/jats/index").then(({ JATSExporter }) => {
418
- const doc = editor.getDoc({
437
+ const db = getDB(editor);
438
+ const doc = getExportDoc(editor, {
419
439
  changes: "acceptAllNoInsertions"
420
440
  });
421
- const exporter = new JATSExporter(doc, editor.mod.db.bibDB, editor.mod.db.imageDB, editor.app.csl, editor.docInfo.updated, "book-part-wrapper");
441
+ const exporter = new JATSExporter(doc, db.bibDB, db.imageDB, editor.app.csl, editor.docInfo.updated, "book-part-wrapper");
422
442
  exporter.progressCallback = exportProgress(doc);
423
443
  exporter.init();
424
444
  });
425
445
  },
426
- disabled: editor => editor.app.isOffline()
446
+ disabled: (editor) => editor.app.isOffline()
427
447
  },
428
448
  {
429
449
  title: gettext("Pandoc JSON"),
430
450
  type: "action",
431
451
  tooltip: gettext("Export the document to a Pandoc JSON file."),
432
452
  order: 3,
433
- action: editor => {
453
+ action: (editor) => {
434
454
  import("@fiduswriter/document/exporter/pandoc/index").then(({ PandocExporter }) => {
435
- const doc = editor.getDoc({
455
+ const db = getDB(editor);
456
+ const doc = getExportDoc(editor, {
436
457
  changes: "acceptAllNoInsertions"
437
458
  });
438
- const exporter = new PandocExporter(doc, editor.mod.db.bibDB, editor.mod.db.imageDB, editor.app.csl, editor.docInfo.updated);
459
+ const exporter = new PandocExporter(doc, db.bibDB, db.imageDB, editor.app.csl, editor.docInfo.updated);
439
460
  exporter.progressCallback = exportProgress(doc);
440
461
  exporter.init();
441
462
  });
442
463
  },
443
- disabled: editor => editor.app.isOffline()
464
+ disabled: (editor) => editor.app.isOffline()
444
465
  },
445
466
  {
446
467
  title: gettext("Slim FIDUS"),
447
468
  type: "action",
448
469
  tooltip: gettext("Export the document to a FIDUS file without its template."),
449
470
  order: 4,
450
- action: editor => {
451
- new ExportFidusFile(editor.getDoc(), editor.mod.db.bibDB, editor.mod.db.imageDB, false);
471
+ action: (editor) => {
472
+ const db = getDB(editor);
473
+ new ExportFidusFile(getExportDoc(editor), db.bibDB, db.imageDB, false);
452
474
  }
453
475
  }
454
476
  ]
@@ -467,7 +489,7 @@ export const headerbarModel = () => ({
467
489
  type: "menu",
468
490
  tooltip: gettext("Choose your preferred citation style."),
469
491
  order: 1,
470
- disabled: editor => {
492
+ disabled: (editor) => {
471
493
  return editor.docInfo.access_rights !== "write";
472
494
  },
473
495
  content: []
@@ -478,7 +500,7 @@ export const headerbarModel = () => ({
478
500
  type: "menu",
479
501
  tooltip: gettext("Choose your preferred document style."),
480
502
  order: 2,
481
- disabled: editor => {
503
+ disabled: (editor) => {
482
504
  return (editor.docInfo.access_rights !== "write" ||
483
505
  editor.app.isOffline());
484
506
  },
@@ -490,7 +512,7 @@ export const headerbarModel = () => ({
490
512
  type: "menu",
491
513
  tooltip: gettext("Choose the language of the document."),
492
514
  order: 3,
493
- disabled: editor => {
515
+ disabled: (editor) => {
494
516
  return editor.docInfo.access_rights !== "write";
495
517
  },
496
518
  content: [
@@ -509,10 +531,10 @@ export const headerbarModel = () => ({
509
531
  {
510
532
  type: "separator",
511
533
  order: 12,
512
- available: editor => {
534
+ available: (editor) => {
513
535
  // There has to be at least one language of the default languages
514
536
  // among the default ones and one that is not among the default ones.
515
- return (!!editor.view.state.doc.attrs.languages.find(lang => [
537
+ return (!!editor.view.state.doc.attrs.languages.find((lang) => [
516
538
  "en-US",
517
539
  "en-GB",
518
540
  "de-DE",
@@ -526,7 +548,7 @@ export const headerbarModel = () => ({
526
548
  "nl",
527
549
  "ru"
528
550
  ].includes(lang)) &&
529
- !!editor.view.state.doc.attrs.languages.find(lang => ![
551
+ !!editor.view.state.doc.attrs.languages.find((lang) => ![
530
552
  "en-US",
531
553
  "en-GB",
532
554
  "de-DE",
@@ -546,11 +568,11 @@ export const headerbarModel = () => ({
546
568
  title: gettext("Other"),
547
569
  type: "setting",
548
570
  order: 13,
549
- action: editor => {
571
+ action: (editor) => {
550
572
  const language = editor.view.state.doc.attrs.language, dialog = new LanguageDialog(editor, language);
551
573
  dialog.init();
552
574
  },
553
- selected: editor => {
575
+ selected: (editor) => {
554
576
  return ![
555
577
  "en-US",
556
578
  "en-GB",
@@ -566,7 +588,7 @@ export const headerbarModel = () => ({
566
588
  "ru"
567
589
  ].includes(editor.view.state.doc.attrs.language);
568
590
  },
569
- available: editor => !!editor.view.state.doc.attrs.languages.find(lang => ![
591
+ available: (editor) => !!editor.view.state.doc.attrs.languages.find((lang) => ![
570
592
  "en-US",
571
593
  "en-GB",
572
594
  "de-DE",
@@ -589,7 +611,7 @@ export const headerbarModel = () => ({
589
611
  type: "menu",
590
612
  tooltip: gettext("Choose a papersize for print and PDF generation."),
591
613
  order: 4,
592
- disabled: editor => {
614
+ disabled: (editor) => {
593
615
  return editor.docInfo.access_rights !== "write";
594
616
  },
595
617
  content: [
@@ -598,16 +620,16 @@ export const headerbarModel = () => ({
598
620
  type: "setting",
599
621
  tooltip: gettext("A4 (DIN A4/ISO 216) which is used in most of the world."),
600
622
  order: 0,
601
- action: editor => {
623
+ action: (editor) => {
602
624
  editor.view.dispatch(editor.view.state.tr
603
625
  .setDocAttribute("papersize", "A4")
604
626
  .setMeta("settings", true));
605
627
  },
606
- selected: editor => {
628
+ selected: (editor) => {
607
629
  return (editor.view.state.doc.attrs.papersize ===
608
630
  "A4");
609
631
  },
610
- available: editor => {
632
+ available: (editor) => {
611
633
  return editor.view.state.doc.attrs.papersizes.includes("A4");
612
634
  }
613
635
  },
@@ -616,16 +638,16 @@ export const headerbarModel = () => ({
616
638
  type: "setting",
617
639
  tooltip: gettext("The format used by the USA and some other American countries."),
618
640
  order: 1,
619
- action: editor => {
641
+ action: (editor) => {
620
642
  editor.view.dispatch(editor.view.state.tr
621
643
  .setDocAttribute("papersize", "US Letter")
622
644
  .setMeta("settings", true));
623
645
  },
624
- selected: editor => {
646
+ selected: (editor) => {
625
647
  return (editor.view.state.doc.attrs.papersize ===
626
648
  "US Letter");
627
649
  },
628
- available: editor => {
650
+ available: (editor) => {
629
651
  return editor.view.state.doc.attrs.papersizes.includes("US Letter");
630
652
  }
631
653
  }
@@ -635,7 +657,7 @@ export const headerbarModel = () => ({
635
657
  title: gettext("Copyright Information"),
636
658
  type: "setting",
637
659
  order: 5,
638
- action: editor => {
660
+ action: (editor) => {
639
661
  const dialog = new CopyrightDialog(editor.view.state.doc.attrs.copyright);
640
662
  dialog.init().then(copyright => {
641
663
  if (copyright) {
@@ -643,10 +665,19 @@ export const headerbarModel = () => ({
643
665
  .setDocAttribute("copyright", copyright)
644
666
  .setMeta("settings", true));
645
667
  }
646
- editor.currentView.focus();
647
668
  });
648
669
  },
649
- disabled: editor => editor.docInfo.access_rights !== "write"
670
+ selected: (editor) => {
671
+ return editor.view.state.doc.attrs.copyright
672
+ ? true
673
+ : false;
674
+ },
675
+ available: (editor) => {
676
+ return editor.view.state.doc.attrs.copyrights &&
677
+ editor.view.state.doc.attrs.copyrights.length
678
+ ? true
679
+ : false;
680
+ }
650
681
  }
651
682
  ]
652
683
  },
@@ -663,7 +694,7 @@ export const headerbarModel = () => ({
663
694
  type: "action",
664
695
  tooltip: gettext("See document statistics."),
665
696
  order: 0,
666
- action: editor => {
697
+ action: (editor) => {
667
698
  const dialog = new WordCountDialog(editor);
668
699
  dialog.init();
669
700
  }
@@ -674,7 +705,7 @@ export const headerbarModel = () => ({
674
705
  tooltip: gettext("Show a search and replace dialog."),
675
706
  order: 1,
676
707
  keys: "Ctrl-h",
677
- action: editor => {
708
+ action: (editor) => {
678
709
  const dialog = new SearchReplaceDialog(editor);
679
710
  dialog.init();
680
711
  }
@@ -685,7 +716,7 @@ export const headerbarModel = () => ({
685
716
  tooltip: gettext("Show an overview of available keyboard shortcuts."),
686
717
  order: 2,
687
718
  keys: "Shift-Ctrl-/",
688
- action: editor => {
719
+ action: (editor) => {
689
720
  const dialog = new KeyBindingsDialog(editor);
690
721
  dialog.init();
691
722
  }
@@ -698,23 +729,23 @@ export const headerbarModel = () => ({
698
729
  tooltip: gettext("Tracking changes to the document"),
699
730
  order: 4,
700
731
  keys: "Alt-c",
701
- disabled: editor => editor.docInfo.access_rights !== "write",
732
+ disabled: (editor) => editor.docInfo.access_rights !== "write",
702
733
  content: [
703
734
  {
704
735
  title: gettext("Record"),
705
736
  type: "setting",
706
737
  tooltip: gettext("Record document changes"),
707
738
  order: 0,
708
- disabled: editor => {
739
+ disabled: (editor) => {
709
740
  return editor.docInfo.access_rights !== "write";
710
741
  },
711
- action: editor => {
742
+ action: (editor) => {
712
743
  const tracked = !editor.view.state.doc.attrs.tracked;
713
744
  editor.view.dispatch(editor.view.state.tr
714
745
  .setDocAttribute("tracked", tracked)
715
746
  .setMeta("settings", true));
716
747
  },
717
- selected: editor => {
748
+ selected: (editor) => {
718
749
  return editor.view.state.doc.attrs.tracked === true;
719
750
  }
720
751
  },
@@ -723,8 +754,8 @@ export const headerbarModel = () => ({
723
754
  type: "action",
724
755
  tooltip: gettext("Accept all tracked changes."),
725
756
  order: 1,
726
- action: editor => {
727
- editor.mod.track.acceptAll();
757
+ action: (editor) => {
758
+ getTrack(editor).acceptAll();
728
759
  }
729
760
  },
730
761
  {
@@ -732,8 +763,8 @@ export const headerbarModel = () => ({
732
763
  type: "action",
733
764
  tooltip: gettext("Reject all tracked changes."),
734
765
  order: 2,
735
- action: editor => {
736
- editor.mod.track.rejectAll();
766
+ action: (editor) => {
767
+ getTrack(editor).rejectAll();
737
768
  }
738
769
  }
739
770
  ]