@fiduswriter/editor 0.1.20 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/dist/bibliography/tools.d.ts +14 -0
  2. package/dist/bibliography/tools.d.ts.map +1 -0
  3. package/dist/bibliography/tools.js +1 -1
  4. package/dist/bibliography/tools.js.map +1 -1
  5. package/dist/citations/index.d.ts +17 -0
  6. package/dist/citations/index.d.ts.map +1 -0
  7. package/dist/citations/index.js +22 -13
  8. package/dist/citations/index.js.map +1 -1
  9. package/dist/citations/render.d.ts +29 -0
  10. package/dist/citations/render.d.ts.map +1 -0
  11. package/dist/citations/render.js +25 -8
  12. package/dist/citations/render.js.map +1 -1
  13. package/dist/clipboard/copy/index.d.ts +2 -0
  14. package/dist/clipboard/copy/index.d.ts.map +1 -0
  15. package/dist/clipboard/copy/index.js.map +1 -1
  16. package/dist/clipboard/copy/schema.d.ts +4 -0
  17. package/dist/clipboard/copy/schema.d.ts.map +1 -0
  18. package/dist/clipboard/copy/schema.js +6 -5
  19. package/dist/clipboard/copy/schema.js.map +1 -1
  20. package/dist/clipboard/copy/serializers.d.ts +24 -0
  21. package/dist/clipboard/copy/serializers.d.ts.map +1 -0
  22. package/dist/clipboard/copy/serializers.js +19 -9
  23. package/dist/clipboard/copy/serializers.js.map +1 -1
  24. package/dist/clipboard/paste/fidus_writer.d.ts +7 -0
  25. package/dist/clipboard/paste/fidus_writer.d.ts.map +1 -0
  26. package/dist/clipboard/paste/fidus_writer.js +5 -2
  27. package/dist/clipboard/paste/fidus_writer.js.map +1 -1
  28. package/dist/clipboard/paste/general.d.ts +18 -0
  29. package/dist/clipboard/paste/general.d.ts.map +1 -0
  30. package/dist/clipboard/paste/general.js +18 -6
  31. package/dist/clipboard/paste/general.js.map +1 -1
  32. package/dist/clipboard/paste/google_docs.d.ts +6 -0
  33. package/dist/clipboard/paste/google_docs.d.ts.map +1 -0
  34. package/dist/clipboard/paste/google_docs.js +3 -2
  35. package/dist/clipboard/paste/google_docs.js.map +1 -1
  36. package/dist/clipboard/paste/html.d.ts +22 -0
  37. package/dist/clipboard/paste/html.d.ts.map +1 -0
  38. package/dist/clipboard/paste/html.js +15 -0
  39. package/dist/clipboard/paste/html.js.map +1 -1
  40. package/dist/clipboard/paste/index.d.ts +3 -0
  41. package/dist/clipboard/paste/index.d.ts.map +1 -0
  42. package/dist/clipboard/paste/index.js.map +1 -1
  43. package/dist/clipboard/paste/libreoffice_writer.d.ts +5 -0
  44. package/dist/clipboard/paste/libreoffice_writer.d.ts.map +1 -0
  45. package/dist/clipboard/paste/libreoffice_writer.js +2 -2
  46. package/dist/clipboard/paste/libreoffice_writer.js.map +1 -1
  47. package/dist/clipboard/paste/microsoft_word.d.ts +7 -0
  48. package/dist/clipboard/paste/microsoft_word.d.ts.map +1 -0
  49. package/dist/clipboard/paste/microsoft_word.js +13 -14
  50. package/dist/clipboard/paste/microsoft_word.js.map +1 -1
  51. package/dist/clipboard/paste/text.d.ts +11 -0
  52. package/dist/clipboard/paste/text.d.ts.map +1 -0
  53. package/dist/clipboard/paste/text.js +5 -3
  54. package/dist/clipboard/paste/text.js.map +1 -1
  55. package/dist/collab/chat.d.ts +24 -0
  56. package/dist/collab/chat.d.ts.map +1 -0
  57. package/dist/collab/chat.js +46 -16
  58. package/dist/collab/chat.js.map +1 -1
  59. package/dist/collab/colors.d.ts +16 -0
  60. package/dist/collab/colors.d.ts.map +1 -0
  61. package/dist/collab/colors.js +6 -0
  62. package/dist/collab/colors.js.map +1 -1
  63. package/dist/collab/doc.d.ts +147 -0
  64. package/dist/collab/doc.d.ts.map +1 -0
  65. package/dist/collab/doc.js +77 -42
  66. package/dist/collab/doc.js.map +1 -1
  67. package/dist/collab/index.d.ts +23 -0
  68. package/dist/collab/index.d.ts.map +1 -0
  69. package/dist/collab/index.js +14 -3
  70. package/dist/collab/index.js.map +1 -1
  71. package/dist/collab/merge/changeset.d.ts +23 -0
  72. package/dist/collab/merge/changeset.d.ts.map +1 -0
  73. package/dist/collab/merge/changeset.js +5 -4
  74. package/dist/collab/merge/changeset.js.map +1 -1
  75. package/dist/collab/merge/editor.d.ts +53 -0
  76. package/dist/collab/merge/editor.d.ts.map +1 -0
  77. package/dist/collab/merge/editor.js +62 -35
  78. package/dist/collab/merge/editor.js.map +1 -1
  79. package/dist/collab/merge/footnotes.d.ts +26 -0
  80. package/dist/collab/merge/footnotes.d.ts.map +1 -0
  81. package/dist/collab/merge/footnotes.js +14 -5
  82. package/dist/collab/merge/footnotes.js.map +1 -1
  83. package/dist/collab/merge/index.d.ts +32 -0
  84. package/dist/collab/merge/index.d.ts.map +1 -0
  85. package/dist/collab/merge/index.js +38 -26
  86. package/dist/collab/merge/index.js.map +1 -1
  87. package/dist/collab/merge/recreate_transform.d.ts +4 -0
  88. package/dist/collab/merge/recreate_transform.d.ts.map +1 -0
  89. package/dist/collab/merge/recreate_transform.js +25 -5
  90. package/dist/collab/merge/recreate_transform.js.map +1 -1
  91. package/dist/collab/merge/schema.d.ts +4 -0
  92. package/dist/collab/merge/schema.d.ts.map +1 -0
  93. package/dist/collab/merge/schema.js +35 -26
  94. package/dist/collab/merge/schema.js.map +1 -1
  95. package/dist/collab/merge/state_plugins/action.d.ts +16 -0
  96. package/dist/collab/merge/state_plugins/action.d.ts.map +1 -0
  97. package/dist/collab/merge/state_plugins/action.js +4 -5
  98. package/dist/collab/merge/state_plugins/action.js.map +1 -1
  99. package/dist/collab/merge/state_plugins/clipboard.d.ts +6 -0
  100. package/dist/collab/merge/state_plugins/clipboard.d.ts.map +1 -0
  101. package/dist/collab/merge/state_plugins/clipboard.js +1 -1
  102. package/dist/collab/merge/state_plugins/clipboard.js.map +1 -1
  103. package/dist/collab/merge/state_plugins/diff.d.ts +32 -0
  104. package/dist/collab/merge/state_plugins/diff.d.ts.map +1 -0
  105. package/dist/collab/merge/state_plugins/diff.js +108 -84
  106. package/dist/collab/merge/state_plugins/diff.js.map +1 -1
  107. package/dist/collab/merge/state_plugins/index.d.ts +3 -0
  108. package/dist/collab/merge/state_plugins/index.d.ts.map +1 -0
  109. package/dist/collab/merge/state_plugins/index.js.map +1 -1
  110. package/dist/collab/merge/tools.d.ts +11 -0
  111. package/dist/collab/merge/tools.d.ts.map +1 -0
  112. package/dist/collab/merge/tools.js +16 -14
  113. package/dist/collab/merge/tools.js.map +1 -1
  114. package/dist/collab/templates.d.ts +14 -0
  115. package/dist/collab/templates.d.ts.map +1 -0
  116. package/dist/collab/templates.js +1 -1
  117. package/dist/collab/templates.js.map +1 -1
  118. package/dist/comments/comment.d.ts +29 -0
  119. package/dist/comments/comment.d.ts.map +1 -0
  120. package/dist/comments/comment.js +12 -0
  121. package/dist/comments/comment.js.map +1 -1
  122. package/dist/comments/editors/answer.d.ts +14 -0
  123. package/dist/comments/editors/answer.d.ts.map +1 -0
  124. package/dist/comments/editors/answer.js +5 -3
  125. package/dist/comments/editors/answer.js.map +1 -1
  126. package/dist/comments/editors/comment.d.ts +65 -0
  127. package/dist/comments/editors/comment.d.ts.map +1 -0
  128. package/dist/comments/editors/comment.js +43 -14
  129. package/dist/comments/editors/comment.js.map +1 -1
  130. package/dist/comments/editors/index.d.ts +4 -0
  131. package/dist/comments/editors/index.d.ts.map +1 -0
  132. package/dist/comments/editors/index.js.map +1 -1
  133. package/dist/comments/editors/notify.d.ts +3 -0
  134. package/dist/comments/editors/notify.d.ts.map +1 -0
  135. package/dist/comments/editors/notify.js.map +1 -1
  136. package/dist/comments/editors/schema.d.ts +12 -0
  137. package/dist/comments/editors/schema.d.ts.map +1 -0
  138. package/dist/comments/editors/schema.js +5 -5
  139. package/dist/comments/editors/schema.js.map +1 -1
  140. package/dist/comments/index.d.ts +10 -0
  141. package/dist/comments/index.d.ts.map +1 -0
  142. package/dist/comments/index.js +5 -2
  143. package/dist/comments/index.js.map +1 -1
  144. package/dist/comments/interactions.d.ts +49 -0
  145. package/dist/comments/interactions.d.ts.map +1 -0
  146. package/dist/comments/interactions.js +33 -18
  147. package/dist/comments/interactions.js.map +1 -1
  148. package/dist/comments/store.d.ts +59 -0
  149. package/dist/comments/store.d.ts.map +1 -0
  150. package/dist/comments/store.js +36 -16
  151. package/dist/comments/store.js.map +1 -1
  152. package/dist/contacts/add_dialog.d.ts +7 -0
  153. package/dist/contacts/add_dialog.d.ts.map +1 -0
  154. package/dist/contacts/add_dialog.js +25 -26
  155. package/dist/contacts/add_dialog.js.map +1 -1
  156. package/dist/contacts/templates.d.ts +12 -0
  157. package/dist/contacts/templates.d.ts.map +1 -0
  158. package/dist/contacts/templates.js +3 -2
  159. package/dist/contacts/templates.js.map +1 -1
  160. package/dist/copyright_dialog/index.d.ts +25 -0
  161. package/dist/copyright_dialog/index.d.ts.map +1 -0
  162. package/dist/copyright_dialog/index.js +34 -26
  163. package/dist/copyright_dialog/index.js.map +1 -1
  164. package/dist/copyright_dialog/templates.d.ts +17 -0
  165. package/dist/copyright_dialog/templates.d.ts.map +1 -0
  166. package/dist/copyright_dialog/templates.js.map +1 -1
  167. package/dist/databases/bibliography.d.ts +42 -0
  168. package/dist/databases/bibliography.d.ts.map +1 -0
  169. package/dist/databases/bibliography.js +24 -9
  170. package/dist/databases/bibliography.js.map +1 -1
  171. package/dist/databases/images.d.ts +66 -0
  172. package/dist/databases/images.d.ts.map +1 -0
  173. package/dist/databases/images.js +19 -9
  174. package/dist/databases/images.js.map +1 -1
  175. package/dist/databases/index.d.ts +26 -0
  176. package/dist/databases/index.d.ts.map +1 -0
  177. package/dist/databases/index.js +9 -8
  178. package/dist/databases/index.js.map +1 -1
  179. package/dist/dialogs/citation.d.ts +58 -0
  180. package/dist/dialogs/citation.d.ts.map +1 -0
  181. package/dist/dialogs/citation.js +43 -22
  182. package/dist/dialogs/citation.js.map +1 -1
  183. package/dist/dialogs/code_block.d.ts +25 -0
  184. package/dist/dialogs/code_block.d.ts.map +1 -0
  185. package/dist/dialogs/code_block.js +32 -11
  186. package/dist/dialogs/code_block.js.map +1 -1
  187. package/dist/dialogs/contributor.d.ts +13 -0
  188. package/dist/dialogs/contributor.d.ts.map +1 -0
  189. package/dist/dialogs/contributor.js +17 -20
  190. package/dist/dialogs/contributor.js.map +1 -1
  191. package/dist/dialogs/figure.d.ts +51 -0
  192. package/dist/dialogs/figure.d.ts.map +1 -0
  193. package/dist/dialogs/figure.js +123 -81
  194. package/dist/dialogs/figure.js.map +1 -1
  195. package/dist/dialogs/index.d.ts +11 -0
  196. package/dist/dialogs/index.d.ts.map +1 -0
  197. package/dist/dialogs/index.js.map +1 -1
  198. package/dist/dialogs/language.d.ts +10 -0
  199. package/dist/dialogs/language.d.ts.map +1 -0
  200. package/dist/dialogs/language.js +4 -1
  201. package/dist/dialogs/language.js.map +1 -1
  202. package/dist/dialogs/link.d.ts +30 -0
  203. package/dist/dialogs/link.d.ts.map +1 -0
  204. package/dist/dialogs/link.js +27 -15
  205. package/dist/dialogs/link.js.map +1 -1
  206. package/dist/dialogs/math.d.ts +22 -0
  207. package/dist/dialogs/math.d.ts.map +1 -0
  208. package/dist/dialogs/math.js +27 -14
  209. package/dist/dialogs/math.js.map +1 -1
  210. package/dist/dialogs/ordered_list.d.ts +22 -0
  211. package/dist/dialogs/ordered_list.d.ts.map +1 -0
  212. package/dist/dialogs/ordered_list.js +12 -5
  213. package/dist/dialogs/ordered_list.js.map +1 -1
  214. package/dist/dialogs/revision.d.ts +8 -0
  215. package/dist/dialogs/revision.d.ts.map +1 -0
  216. package/dist/dialogs/revision.js +2 -0
  217. package/dist/dialogs/revision.js.map +1 -1
  218. package/dist/dialogs/subsup.d.ts +5 -0
  219. package/dist/dialogs/subsup.d.ts.map +1 -0
  220. package/dist/dialogs/subsup.js +3 -3
  221. package/dist/dialogs/subsup.js.map +1 -1
  222. package/dist/dialogs/table.d.ts +33 -0
  223. package/dist/dialogs/table.d.ts.map +1 -0
  224. package/dist/dialogs/table.js +43 -21
  225. package/dist/dialogs/table.js.map +1 -1
  226. package/dist/dialogs/templates.d.ts +85 -0
  227. package/dist/dialogs/templates.d.ts.map +1 -0
  228. package/dist/dialogs/templates.js +8 -8
  229. package/dist/dialogs/templates.js.map +1 -1
  230. package/dist/document_template/exporter.d.ts +23 -0
  231. package/dist/document_template/exporter.d.ts.map +1 -0
  232. package/dist/document_template/exporter.js +14 -5
  233. package/dist/document_template/exporter.js.map +1 -1
  234. package/dist/document_template/index.d.ts +35 -0
  235. package/dist/document_template/index.d.ts.map +1 -0
  236. package/dist/document_template/index.js +61 -53
  237. package/dist/document_template/index.js.map +1 -1
  238. package/dist/document_template/schema.d.ts +13 -0
  239. package/dist/document_template/schema.d.ts.map +1 -0
  240. package/dist/document_template/schema.js +2 -2
  241. package/dist/document_template/schema.js.map +1 -1
  242. package/dist/documents/access_rights/index.d.ts +85 -0
  243. package/dist/documents/access_rights/index.d.ts.map +1 -0
  244. package/dist/documents/access_rights/index.js +96 -60
  245. package/dist/documents/access_rights/index.js.map +1 -1
  246. package/dist/documents/access_rights/templates.d.ts +47 -0
  247. package/dist/documents/access_rights/templates.d.ts.map +1 -0
  248. package/dist/documents/access_rights/templates.js.map +1 -1
  249. package/dist/e2ee/snapshot-manager.d.ts +120 -0
  250. package/dist/e2ee/snapshot-manager.d.ts.map +1 -0
  251. package/dist/e2ee/snapshot-manager.js +27 -38
  252. package/dist/e2ee/snapshot-manager.js.map +1 -1
  253. package/dist/exporter/native/copy.d.ts +16 -0
  254. package/dist/exporter/native/copy.d.ts.map +1 -0
  255. package/dist/exporter/native/copy.js +51 -35
  256. package/dist/exporter/native/copy.js.map +1 -1
  257. package/dist/exporter/native/file.d.ts +6 -0
  258. package/dist/exporter/native/file.d.ts.map +1 -0
  259. package/dist/exporter/native/file.js +1 -1
  260. package/dist/exporter/native/file.js.map +1 -1
  261. package/dist/exporter/native/index.d.ts +4 -0
  262. package/dist/exporter/native/index.d.ts.map +1 -0
  263. package/dist/exporter/native/index.js.map +1 -1
  264. package/dist/exporter/native/revision.d.ts +8 -0
  265. package/dist/exporter/native/revision.d.ts.map +1 -0
  266. package/dist/exporter/native/revision.js +2 -2
  267. package/dist/exporter/native/revision.js.map +1 -1
  268. package/dist/exporter/native/zip.d.ts +2 -0
  269. package/dist/exporter/native/zip.d.ts.map +1 -0
  270. package/dist/exporter/native/zip.js.map +1 -1
  271. package/dist/footnotes/editor.d.ts +25 -0
  272. package/dist/footnotes/editor.d.ts.map +1 -0
  273. package/dist/footnotes/editor.js +5 -3
  274. package/dist/footnotes/editor.js.map +1 -1
  275. package/dist/footnotes/index.d.ts +11 -0
  276. package/dist/footnotes/index.d.ts.map +1 -0
  277. package/dist/footnotes/index.js +5 -2
  278. package/dist/footnotes/index.js.map +1 -1
  279. package/dist/footnotes/layout.d.ts +15 -0
  280. package/dist/footnotes/layout.d.ts.map +1 -0
  281. package/dist/footnotes/layout.js +26 -17
  282. package/dist/footnotes/layout.js.map +1 -1
  283. package/dist/footnotes/state_plugins/access_rights.d.ts +6 -0
  284. package/dist/footnotes/state_plugins/access_rights.d.ts.map +1 -0
  285. package/dist/footnotes/state_plugins/access_rights.js +1 -1
  286. package/dist/footnotes/state_plugins/access_rights.js.map +1 -1
  287. package/dist/footnotes/state_plugins/index.d.ts +2 -0
  288. package/dist/footnotes/state_plugins/index.d.ts.map +1 -0
  289. package/dist/footnotes/state_plugins/index.js.map +1 -1
  290. package/dist/images/edit_dialog/model.d.ts +4 -0
  291. package/dist/images/edit_dialog/model.d.ts.map +1 -0
  292. package/dist/images/edit_dialog/model.js.map +1 -1
  293. package/dist/index.d.ts +74 -0
  294. package/dist/index.d.ts.map +1 -0
  295. package/dist/index.js +86 -59
  296. package/dist/index.js.map +1 -1
  297. package/dist/keymap.d.ts +5 -0
  298. package/dist/keymap.d.ts.map +1 -0
  299. package/dist/keymap.js +1 -1
  300. package/dist/keymap.js.map +1 -1
  301. package/dist/marginboxes/index.d.ts +107 -0
  302. package/dist/marginboxes/index.d.ts.map +1 -0
  303. package/dist/marginboxes/index.js +165 -88
  304. package/dist/marginboxes/index.js.map +1 -1
  305. package/dist/marginboxes/templates.d.ts +118 -0
  306. package/dist/marginboxes/templates.d.ts.map +1 -0
  307. package/dist/marginboxes/templates.js +25 -24
  308. package/dist/marginboxes/templates.js.map +1 -1
  309. package/dist/menus/code_block/index.d.ts +2 -0
  310. package/dist/menus/code_block/index.d.ts.map +1 -0
  311. package/dist/menus/code_block/index.js.map +1 -1
  312. package/dist/menus/code_block/model.d.ts +14 -0
  313. package/dist/menus/code_block/model.d.ts.map +1 -0
  314. package/dist/menus/code_block/model.js +5 -4
  315. package/dist/menus/code_block/model.js.map +1 -1
  316. package/dist/menus/figure/index.d.ts +3 -0
  317. package/dist/menus/figure/index.d.ts.map +1 -0
  318. package/dist/menus/figure/index.js.map +1 -1
  319. package/dist/menus/figure/model.d.ts +32 -0
  320. package/dist/menus/figure/model.d.ts.map +1 -0
  321. package/dist/menus/figure/model.js +11 -12
  322. package/dist/menus/figure/model.js.map +1 -1
  323. package/dist/menus/figure/utils.d.ts +3 -0
  324. package/dist/menus/figure/utils.d.ts.map +1 -0
  325. package/dist/menus/figure/utils.js +4 -1
  326. package/dist/menus/figure/utils.js.map +1 -1
  327. package/dist/menus/headerbar/index.d.ts +3 -0
  328. package/dist/menus/headerbar/index.d.ts.map +1 -0
  329. package/dist/menus/headerbar/index.js.map +1 -1
  330. package/dist/menus/headerbar/model.d.ts +192 -0
  331. package/dist/menus/headerbar/model.d.ts.map +1 -0
  332. package/dist/menus/headerbar/model.js +141 -110
  333. package/dist/menus/headerbar/model.js.map +1 -1
  334. package/dist/menus/headerbar/view.d.ts +89 -0
  335. package/dist/menus/headerbar/view.d.ts.map +1 -0
  336. package/dist/menus/headerbar/view.js +76 -45
  337. package/dist/menus/headerbar/view.js.map +1 -1
  338. package/dist/menus/image/index.d.ts +2 -0
  339. package/dist/menus/image/index.d.ts.map +1 -0
  340. package/dist/menus/image/index.js.map +1 -1
  341. package/dist/menus/image/model.d.ts +18 -0
  342. package/dist/menus/image/model.d.ts.map +1 -0
  343. package/dist/menus/image/model.js +2 -2
  344. package/dist/menus/image/model.js.map +1 -1
  345. package/dist/menus/index.d.ts +10 -0
  346. package/dist/menus/index.d.ts.map +1 -0
  347. package/dist/menus/index.js.map +1 -1
  348. package/dist/menus/navigator/index.d.ts +2 -0
  349. package/dist/menus/navigator/index.d.ts.map +1 -0
  350. package/dist/menus/navigator/index.js.map +1 -1
  351. package/dist/menus/navigator/model.d.ts +9 -0
  352. package/dist/menus/navigator/model.d.ts.map +1 -0
  353. package/dist/menus/navigator/model.js.map +1 -1
  354. package/dist/menus/ordered_list/index.d.ts +2 -0
  355. package/dist/menus/ordered_list/index.d.ts.map +1 -0
  356. package/dist/menus/ordered_list/index.js.map +1 -1
  357. package/dist/menus/ordered_list/model.d.ts +11 -0
  358. package/dist/menus/ordered_list/model.d.ts.map +1 -0
  359. package/dist/menus/ordered_list/model.js +1 -1
  360. package/dist/menus/ordered_list/model.js.map +1 -1
  361. package/dist/menus/selection/index.d.ts +3 -0
  362. package/dist/menus/selection/index.d.ts.map +1 -0
  363. package/dist/menus/selection/index.js.map +1 -1
  364. package/dist/menus/selection/model.d.ts +16 -0
  365. package/dist/menus/selection/model.d.ts.map +1 -0
  366. package/dist/menus/selection/model.js +18 -16
  367. package/dist/menus/selection/model.js.map +1 -1
  368. package/dist/menus/selection/view.d.ts +49 -0
  369. package/dist/menus/selection/view.d.ts.map +1 -0
  370. package/dist/menus/selection/view.js +33 -18
  371. package/dist/menus/selection/view.js.map +1 -1
  372. package/dist/menus/table/index.d.ts +2 -0
  373. package/dist/menus/table/index.d.ts.map +1 -0
  374. package/dist/menus/table/index.js.map +1 -1
  375. package/dist/menus/table/model.d.ts +39 -0
  376. package/dist/menus/table/model.d.ts.map +1 -0
  377. package/dist/menus/table/model.js +53 -50
  378. package/dist/menus/table/model.js.map +1 -1
  379. package/dist/menus/toolbar/index.d.ts +3 -0
  380. package/dist/menus/toolbar/index.d.ts.map +1 -0
  381. package/dist/menus/toolbar/index.js.map +1 -1
  382. package/dist/menus/toolbar/model.d.ts +125 -0
  383. package/dist/menus/toolbar/model.d.ts.map +1 -0
  384. package/dist/menus/toolbar/model.js +160 -140
  385. package/dist/menus/toolbar/model.js.map +1 -1
  386. package/dist/menus/toolbar/view.d.ts +72 -0
  387. package/dist/menus/toolbar/view.d.ts.map +1 -0
  388. package/dist/menus/toolbar/view.js +61 -36
  389. package/dist/menus/toolbar/view.js.map +1 -1
  390. package/dist/navigator/index.d.ts +38 -0
  391. package/dist/navigator/index.d.ts.map +1 -0
  392. package/dist/navigator/index.js +42 -21
  393. package/dist/navigator/index.js.map +1 -1
  394. package/dist/no_collab_save/index.d.ts +20 -0
  395. package/dist/no_collab_save/index.d.ts.map +1 -0
  396. package/dist/no_collab_save/index.js +20 -11
  397. package/dist/no_collab_save/index.js.map +1 -1
  398. package/dist/plugins/citation_dialog/index.d.ts +2 -0
  399. package/dist/plugins/citation_dialog/index.d.ts.map +1 -0
  400. package/dist/plugins/citation_dialog/index.js.map +1 -1
  401. package/dist/plugins/editor/index.d.ts +2 -0
  402. package/dist/plugins/editor/index.d.ts.map +1 -0
  403. package/dist/plugins/editor/index.js.map +1 -1
  404. package/dist/state_plugins/access_rights.d.ts +6 -0
  405. package/dist/state_plugins/access_rights.d.ts.map +1 -0
  406. package/dist/state_plugins/access_rights.js +5 -3
  407. package/dist/state_plugins/access_rights.js.map +1 -1
  408. package/dist/state_plugins/citation_render.d.ts +9 -0
  409. package/dist/state_plugins/citation_render.d.ts.map +1 -0
  410. package/dist/state_plugins/citation_render.js +12 -43
  411. package/dist/state_plugins/citation_render.js.map +1 -1
  412. package/dist/state_plugins/clipboard.d.ts +12 -0
  413. package/dist/state_plugins/clipboard.d.ts.map +1 -0
  414. package/dist/state_plugins/clipboard.js +13 -11
  415. package/dist/state_plugins/clipboard.js.map +1 -1
  416. package/dist/state_plugins/code_block.d.ts +6 -0
  417. package/dist/state_plugins/code_block.d.ts.map +1 -0
  418. package/dist/state_plugins/code_block.js +23 -9
  419. package/dist/state_plugins/code_block.js.map +1 -1
  420. package/dist/state_plugins/collab_carets.d.ts +26 -0
  421. package/dist/state_plugins/collab_carets.d.ts.map +1 -0
  422. package/dist/state_plugins/collab_carets.js +24 -16
  423. package/dist/state_plugins/collab_carets.js.map +1 -1
  424. package/dist/state_plugins/comments.d.ts +15 -0
  425. package/dist/state_plugins/comments.d.ts.map +1 -0
  426. package/dist/state_plugins/comments.js +26 -21
  427. package/dist/state_plugins/comments.js.map +1 -1
  428. package/dist/state_plugins/contributor_input/dropup.d.ts +17 -0
  429. package/dist/state_plugins/contributor_input/dropup.d.ts.map +1 -0
  430. package/dist/state_plugins/contributor_input/dropup.js +19 -20
  431. package/dist/state_plugins/contributor_input/dropup.js.map +1 -1
  432. package/dist/state_plugins/contributor_input/index.d.ts +3 -0
  433. package/dist/state_plugins/contributor_input/index.d.ts.map +1 -0
  434. package/dist/state_plugins/contributor_input/index.js.map +1 -1
  435. package/dist/state_plugins/contributor_input/node_view.d.ts +7 -0
  436. package/dist/state_plugins/contributor_input/node_view.d.ts.map +1 -0
  437. package/dist/state_plugins/contributor_input/node_view.js.map +1 -1
  438. package/dist/state_plugins/contributor_input/plugin.d.ts +19 -0
  439. package/dist/state_plugins/contributor_input/plugin.d.ts.map +1 -0
  440. package/dist/state_plugins/contributor_input/plugin.js +14 -45
  441. package/dist/state_plugins/contributor_input/plugin.js.map +1 -1
  442. package/dist/state_plugins/document_template.d.ts +33 -0
  443. package/dist/state_plugins/document_template.d.ts.map +1 -0
  444. package/dist/state_plugins/document_template.js +34 -15
  445. package/dist/state_plugins/document_template.js.map +1 -1
  446. package/dist/state_plugins/figure.d.ts +6 -0
  447. package/dist/state_plugins/figure.d.ts.map +1 -0
  448. package/dist/state_plugins/figure.js +26 -8
  449. package/dist/state_plugins/figure.js.map +1 -1
  450. package/dist/state_plugins/footnote_markers.d.ts +15 -0
  451. package/dist/state_plugins/footnote_markers.d.ts.map +1 -0
  452. package/dist/state_plugins/footnote_markers.js +72 -153
  453. package/dist/state_plugins/footnote_markers.js.map +1 -1
  454. package/dist/state_plugins/headerbar.d.ts +6 -0
  455. package/dist/state_plugins/headerbar.d.ts.map +1 -0
  456. package/dist/state_plugins/headerbar.js +1 -1
  457. package/dist/state_plugins/headerbar.js.map +1 -1
  458. package/dist/state_plugins/index.d.ts +28 -0
  459. package/dist/state_plugins/index.d.ts.map +1 -0
  460. package/dist/state_plugins/index.js +13 -12
  461. package/dist/state_plugins/index.js.map +1 -1
  462. package/dist/state_plugins/inline_math.d.ts +6 -0
  463. package/dist/state_plugins/inline_math.d.ts.map +1 -0
  464. package/dist/state_plugins/inline_math.js +28 -19
  465. package/dist/state_plugins/inline_math.js.map +1 -1
  466. package/dist/state_plugins/inline_reference/dropup.d.ts +62 -0
  467. package/dist/state_plugins/inline_reference/dropup.d.ts.map +1 -0
  468. package/dist/state_plugins/inline_reference/dropup.js +17 -17
  469. package/dist/state_plugins/inline_reference/dropup.js.map +1 -1
  470. package/dist/state_plugins/inline_reference/index.d.ts +2 -0
  471. package/dist/state_plugins/inline_reference/index.d.ts.map +1 -0
  472. package/dist/state_plugins/inline_reference/index.js.map +1 -1
  473. package/dist/state_plugins/inline_reference/plugin.d.ts +35 -0
  474. package/dist/state_plugins/inline_reference/plugin.d.ts.map +1 -0
  475. package/dist/state_plugins/inline_reference/plugin.js +68 -55
  476. package/dist/state_plugins/inline_reference/plugin.js.map +1 -1
  477. package/dist/state_plugins/jump_hidden_nodes.d.ts +5 -0
  478. package/dist/state_plugins/jump_hidden_nodes.d.ts.map +1 -0
  479. package/dist/state_plugins/jump_hidden_nodes.js +35 -22
  480. package/dist/state_plugins/jump_hidden_nodes.js.map +1 -1
  481. package/dist/state_plugins/links.d.ts +11 -0
  482. package/dist/state_plugins/links.d.ts.map +1 -0
  483. package/dist/state_plugins/links.js +39 -25
  484. package/dist/state_plugins/links.js.map +1 -1
  485. package/dist/state_plugins/marginboxes.d.ts +6 -0
  486. package/dist/state_plugins/marginboxes.d.ts.map +1 -0
  487. package/dist/state_plugins/marginboxes.js +2 -1
  488. package/dist/state_plugins/marginboxes.js.map +1 -1
  489. package/dist/state_plugins/ordered_list_menu.d.ts +6 -0
  490. package/dist/state_plugins/ordered_list_menu.d.ts.map +1 -0
  491. package/dist/state_plugins/ordered_list_menu.js +20 -6
  492. package/dist/state_plugins/ordered_list_menu.js.map +1 -1
  493. package/dist/state_plugins/placeholders.d.ts +6 -0
  494. package/dist/state_plugins/placeholders.d.ts.map +1 -0
  495. package/dist/state_plugins/placeholders.js +18 -54
  496. package/dist/state_plugins/placeholders.js.map +1 -1
  497. package/dist/state_plugins/search.d.ts +34 -0
  498. package/dist/state_plugins/search.d.ts.map +1 -0
  499. package/dist/state_plugins/search.js +31 -27
  500. package/dist/state_plugins/search.js.map +1 -1
  501. package/dist/state_plugins/selection_menu.d.ts +6 -0
  502. package/dist/state_plugins/selection_menu.d.ts.map +1 -0
  503. package/dist/state_plugins/selection_menu.js +1 -1
  504. package/dist/state_plugins/selection_menu.js.map +1 -1
  505. package/dist/state_plugins/settings.d.ts +8 -0
  506. package/dist/state_plugins/settings.d.ts.map +1 -0
  507. package/dist/state_plugins/settings.js +31 -21
  508. package/dist/state_plugins/settings.js.map +1 -1
  509. package/dist/state_plugins/table.d.ts +6 -0
  510. package/dist/state_plugins/table.d.ts.map +1 -0
  511. package/dist/state_plugins/table.js +33 -13
  512. package/dist/state_plugins/table.js.map +1 -1
  513. package/dist/state_plugins/tag_input/index.d.ts +3 -0
  514. package/dist/state_plugins/tag_input/index.d.ts.map +1 -0
  515. package/dist/state_plugins/tag_input/index.js.map +1 -1
  516. package/dist/state_plugins/tag_input/node_view.d.ts +7 -0
  517. package/dist/state_plugins/tag_input/node_view.d.ts.map +1 -0
  518. package/dist/state_plugins/tag_input/node_view.js.map +1 -1
  519. package/dist/state_plugins/tag_input/plugin.d.ts +14 -0
  520. package/dist/state_plugins/tag_input/plugin.d.ts.map +1 -0
  521. package/dist/state_plugins/tag_input/plugin.js +7 -6
  522. package/dist/state_plugins/tag_input/plugin.js.map +1 -1
  523. package/dist/state_plugins/toc_render.d.ts +6 -0
  524. package/dist/state_plugins/toc_render.d.ts.map +1 -0
  525. package/dist/state_plugins/toc_render.js +59 -96
  526. package/dist/state_plugins/toc_render.js.map +1 -1
  527. package/dist/state_plugins/toolbar.d.ts +6 -0
  528. package/dist/state_plugins/toolbar.d.ts.map +1 -0
  529. package/dist/state_plugins/toolbar.js +1 -1
  530. package/dist/state_plugins/toolbar.js.map +1 -1
  531. package/dist/state_plugins/track/find_selected_changes.d.ts +13 -0
  532. package/dist/state_plugins/track/find_selected_changes.d.ts.map +1 -0
  533. package/dist/state_plugins/track/find_selected_changes.js +4 -3
  534. package/dist/state_plugins/track/find_selected_changes.js.map +1 -1
  535. package/dist/state_plugins/track/helpers.d.ts +29 -0
  536. package/dist/state_plugins/track/helpers.d.ts.map +1 -0
  537. package/dist/state_plugins/track/helpers.js +9 -3
  538. package/dist/state_plugins/track/helpers.js.map +1 -1
  539. package/dist/state_plugins/track/index.d.ts +3 -0
  540. package/dist/state_plugins/track/index.d.ts.map +1 -0
  541. package/dist/state_plugins/track/index.js.map +1 -1
  542. package/dist/state_plugins/track/plugin.d.ts +14 -0
  543. package/dist/state_plugins/track/plugin.d.ts.map +1 -0
  544. package/dist/state_plugins/track/plugin.js +10 -6
  545. package/dist/state_plugins/track/plugin.js.map +1 -1
  546. package/dist/tools/index.d.ts +4 -0
  547. package/dist/tools/index.d.ts.map +1 -0
  548. package/dist/tools/index.js.map +1 -1
  549. package/dist/tools/key_bindings/index.d.ts +7 -0
  550. package/dist/tools/key_bindings/index.d.ts.map +1 -0
  551. package/dist/tools/key_bindings/index.js +1 -3
  552. package/dist/tools/key_bindings/index.js.map +1 -1
  553. package/dist/tools/key_bindings/templates.d.ts +2 -0
  554. package/dist/tools/key_bindings/templates.d.ts.map +1 -0
  555. package/dist/tools/key_bindings/templates.js.map +1 -1
  556. package/dist/tools/search_replace/index.d.ts +28 -0
  557. package/dist/tools/search_replace/index.d.ts.map +1 -0
  558. package/dist/tools/search_replace/index.js +53 -27
  559. package/dist/tools/search_replace/index.js.map +1 -1
  560. package/dist/tools/search_replace/templates.d.ts +6 -0
  561. package/dist/tools/search_replace/templates.d.ts.map +1 -0
  562. package/dist/tools/search_replace/templates.js.map +1 -1
  563. package/dist/tools/word_count/index.d.ts +15 -0
  564. package/dist/tools/word_count/index.d.ts.map +1 -0
  565. package/dist/tools/word_count/index.js +2 -1
  566. package/dist/tools/word_count/index.js.map +1 -1
  567. package/dist/tools/word_count/templates.d.ts +11 -0
  568. package/dist/tools/word_count/templates.d.ts.map +1 -0
  569. package/dist/tools/word_count/templates.js.map +1 -1
  570. package/dist/track/accept.d.ts +3 -0
  571. package/dist/track/accept.d.ts.map +1 -0
  572. package/dist/track/accept.js +10 -5
  573. package/dist/track/accept.js.map +1 -1
  574. package/dist/track/accept_all.d.ts +3 -0
  575. package/dist/track/accept_all.d.ts.map +1 -0
  576. package/dist/track/accept_all.js +2 -2
  577. package/dist/track/accept_all.js.map +1 -1
  578. package/dist/track/accept_all_no_insertions.d.ts +3 -0
  579. package/dist/track/accept_all_no_insertions.d.ts.map +1 -0
  580. package/dist/track/accept_all_no_insertions.js +2 -2
  581. package/dist/track/accept_all_no_insertions.js.map +1 -1
  582. package/dist/track/amend_transaction.d.ts +5 -0
  583. package/dist/track/amend_transaction.d.ts.map +1 -0
  584. package/dist/track/amend_transaction.js +55 -32
  585. package/dist/track/amend_transaction.js.map +1 -1
  586. package/dist/track/delete.d.ts +3 -0
  587. package/dist/track/delete.d.ts.map +1 -0
  588. package/dist/track/delete.js +4 -3
  589. package/dist/track/delete.js.map +1 -1
  590. package/dist/track/index.d.ts +6 -0
  591. package/dist/track/index.d.ts.map +1 -0
  592. package/dist/track/index.js.map +1 -1
  593. package/dist/track/mod.d.ts +10 -0
  594. package/dist/track/mod.d.ts.map +1 -0
  595. package/dist/track/mod.js +9 -5
  596. package/dist/track/mod.js.map +1 -1
  597. package/dist/track/reject.d.ts +3 -0
  598. package/dist/track/reject.d.ts.map +1 -0
  599. package/dist/track/reject.js +14 -5
  600. package/dist/track/reject.js.map +1 -1
  601. package/dist/track/reject_all.d.ts +3 -0
  602. package/dist/track/reject_all.d.ts.map +1 -0
  603. package/dist/track/reject_all.js +6 -2
  604. package/dist/track/reject_all.js.map +1 -1
  605. package/dist/types.d.ts +182 -0
  606. package/dist/types.d.ts.map +1 -0
  607. package/dist/types.js +17 -0
  608. package/dist/types.js.map +1 -0
  609. package/package.json +38 -3
  610. package/src/bibliography/{tools.js → tools.ts} +16 -5
  611. package/src/citations/{index.js → index.ts} +100 -80
  612. package/src/citations/{render.js → render.ts} +43 -15
  613. package/src/clipboard/copy/{schema.js → schema.ts} +19 -8
  614. package/src/clipboard/copy/{serializers.js → serializers.ts} +44 -32
  615. package/src/clipboard/paste/{fidus_writer.js → fidus_writer.ts} +28 -8
  616. package/src/clipboard/paste/{general.js → general.ts} +28 -13
  617. package/src/clipboard/paste/{google_docs.js → google_docs.ts} +7 -4
  618. package/src/clipboard/paste/{html.js → html.ts} +35 -8
  619. package/src/clipboard/paste/{libreoffice_writer.js → libreoffice_writer.ts} +4 -4
  620. package/src/clipboard/paste/{microsoft_word.js → microsoft_word.ts} +22 -21
  621. package/src/clipboard/paste/{text.js → text.ts} +11 -7
  622. package/src/collab/{chat.js → chat.ts} +78 -27
  623. package/src/collab/{colors.js → colors.ts} +21 -5
  624. package/src/collab/{doc.js → doc.ts} +290 -184
  625. package/src/collab/{index.js → index.ts} +47 -13
  626. package/src/collab/merge/{changeset.js → changeset.ts} +33 -20
  627. package/src/collab/merge/{editor.js → editor.ts} +211 -107
  628. package/src/collab/merge/{footnotes.js → footnotes.ts} +43 -22
  629. package/src/collab/merge/{index.js → index.ts} +147 -70
  630. package/src/collab/merge/{recreate_transform.js → recreate_transform.ts} +60 -29
  631. package/src/collab/merge/{schema.js → schema.ts} +55 -35
  632. package/src/collab/merge/state_plugins/{action.js → action.ts} +65 -27
  633. package/src/collab/merge/state_plugins/{clipboard.js → clipboard.ts} +13 -3
  634. package/src/collab/merge/state_plugins/{diff.js → diff.ts} +279 -168
  635. package/src/collab/merge/{tools.js → tools.ts} +57 -27
  636. package/src/collab/{templates.js → templates.ts} +17 -2
  637. package/src/comments/{comment.js → comment.ts} +26 -0
  638. package/src/comments/editors/{answer.js → answer.ts} +27 -12
  639. package/src/comments/editors/{comment.js → comment.ts} +112 -36
  640. package/src/comments/editors/{notify.js → notify.ts} +6 -1
  641. package/src/comments/editors/{schema.js → schema.ts} +9 -8
  642. package/src/comments/index.ts +16 -0
  643. package/src/comments/{interactions.js → interactions.ts} +150 -89
  644. package/src/comments/{store.js → store.ts} +149 -73
  645. package/src/contacts/{add_dialog.js → add_dialog.ts} +50 -37
  646. package/src/contacts/{templates.js → templates.ts} +9 -3
  647. package/src/copyright_dialog/{index.js → index.ts} +92 -57
  648. package/src/copyright_dialog/{templates.js → templates.ts} +18 -3
  649. package/src/databases/{bibliography.js → bibliography.ts} +62 -36
  650. package/src/databases/{images.js → images.ts} +146 -96
  651. package/src/databases/index.ts +116 -0
  652. package/src/dialogs/{citation.js → citation.ts} +187 -106
  653. package/src/dialogs/{code_block.js → code_block.ts} +75 -33
  654. package/src/dialogs/{contributor.js → contributor.ts} +74 -49
  655. package/src/dialogs/{figure.js → figure.ts} +250 -149
  656. package/src/dialogs/{language.js → language.ts} +11 -6
  657. package/src/dialogs/{link.js → link.ts} +105 -60
  658. package/src/dialogs/{math.js → math.ts} +56 -28
  659. package/src/dialogs/{ordered_list.js → ordered_list.ts} +25 -12
  660. package/src/dialogs/{revision.js → revision.ts} +13 -9
  661. package/src/dialogs/{subsup.js → subsup.ts} +9 -7
  662. package/src/dialogs/{table.js → table.ts} +129 -70
  663. package/src/dialogs/{templates.js → templates.ts} +102 -22
  664. package/src/document_template/exporter.ts +158 -0
  665. package/src/document_template/{index.js → index.ts} +158 -117
  666. package/src/document_template/{schema.js → schema.ts} +31 -28
  667. package/src/documents/access_rights/{index.js → index.ts} +240 -123
  668. package/src/documents/access_rights/{templates.js → templates.ts} +41 -5
  669. package/src/e2ee/{snapshot-manager.js → snapshot-manager.ts} +80 -49
  670. package/src/exporter/native/copy.ts +302 -0
  671. package/src/exporter/native/{file.js → file.ts} +12 -5
  672. package/src/exporter/native/{revision.js → revision.ts} +17 -9
  673. package/src/footnotes/{editor.js → editor.ts} +37 -18
  674. package/src/footnotes/index.ts +21 -0
  675. package/src/footnotes/{layout.js → layout.ts} +53 -36
  676. package/src/footnotes/state_plugins/{access_rights.js → access_rights.ts} +6 -4
  677. package/src/global.d.ts +29 -0
  678. package/src/images/edit_dialog/{model.js → model.ts} +1 -1
  679. package/src/{index.js → index.ts} +193 -132
  680. package/src/{keymap.js → keymap.ts} +36 -16
  681. package/src/marginboxes/{index.js → index.ts} +341 -171
  682. package/src/marginboxes/{templates.js → templates.ts} +236 -38
  683. package/src/menus/code_block/{model.js → model.ts} +16 -5
  684. package/src/menus/figure/{model.js → model.ts} +21 -16
  685. package/src/menus/figure/utils.ts +13 -0
  686. package/src/menus/headerbar/{model.js → model.ts} +243 -153
  687. package/src/menus/headerbar/{view.js → view.ts} +189 -92
  688. package/src/menus/image/{model.js → model.ts} +13 -4
  689. package/src/menus/navigator/{model.js → model.ts} +6 -1
  690. package/src/menus/ordered_list/{model.js → model.ts} +2 -1
  691. package/src/menus/selection/{model.js → model.ts} +38 -20
  692. package/src/menus/selection/{view.js → view.ts} +88 -35
  693. package/src/menus/table/{model.js → model.ts} +84 -63
  694. package/src/menus/toolbar/{model.js → model.ts} +267 -215
  695. package/src/menus/toolbar/{view.js → view.ts} +135 -65
  696. package/src/modules.d.ts +84 -0
  697. package/src/navigator/{index.js → index.ts} +90 -56
  698. package/src/no_collab_save/{index.js → index.ts} +54 -31
  699. package/src/state_plugins/{access_rights.js → access_rights.ts} +12 -7
  700. package/src/state_plugins/citation_render.ts +63 -0
  701. package/src/state_plugins/{clipboard.js → clipboard.ts} +38 -23
  702. package/src/state_plugins/{code_block.js → code_block.ts} +62 -28
  703. package/src/state_plugins/{collab_carets.js → collab_carets.ts} +56 -25
  704. package/src/state_plugins/{comments.js → comments.ts} +70 -40
  705. package/src/state_plugins/contributor_input/{dropup.js → dropup.ts} +70 -38
  706. package/src/state_plugins/contributor_input/{node_view.js → node_view.ts} +13 -4
  707. package/src/state_plugins/contributor_input/{plugin.js → plugin.ts} +74 -75
  708. package/src/state_plugins/{document_template.js → document_template.ts} +108 -49
  709. package/src/state_plugins/{figure.js → figure.ts} +61 -23
  710. package/src/state_plugins/footnote_markers.ts +142 -0
  711. package/src/state_plugins/{headerbar.js → headerbar.ts} +4 -2
  712. package/src/state_plugins/{index.js → index.ts} +23 -56
  713. package/src/state_plugins/{inline_math.js → inline_math.ts} +151 -65
  714. package/src/state_plugins/inline_reference/{dropup.js → dropup.ts} +68 -34
  715. package/src/state_plugins/inline_reference/{plugin.js → plugin.ts} +221 -101
  716. package/src/state_plugins/jump_hidden_nodes.ts +67 -0
  717. package/src/state_plugins/{links.js → links.ts} +153 -99
  718. package/src/state_plugins/marginboxes.ts +17 -0
  719. package/src/state_plugins/{ordered_list_menu.js → ordered_list_menu.ts} +43 -17
  720. package/src/state_plugins/placeholders.ts +78 -0
  721. package/src/state_plugins/{search.js → search.ts} +110 -48
  722. package/src/state_plugins/{selection_menu.js → selection_menu.ts} +4 -2
  723. package/src/state_plugins/{settings.js → settings.ts} +68 -39
  724. package/src/state_plugins/table.ts +169 -0
  725. package/src/state_plugins/tag_input/{node_view.js → node_view.ts} +12 -3
  726. package/src/state_plugins/tag_input/plugin.ts +292 -0
  727. package/src/state_plugins/toc_render.ts +133 -0
  728. package/src/state_plugins/{toolbar.js → toolbar.ts} +4 -2
  729. package/src/state_plugins/track/{find_selected_changes.js → find_selected_changes.ts} +34 -19
  730. package/src/state_plugins/track/{helpers.js → helpers.ts} +36 -10
  731. package/src/state_plugins/track/{plugin.js → plugin.ts} +38 -14
  732. package/src/tools/key_bindings/{index.js → index.ts} +7 -3
  733. package/src/tools/key_bindings/{templates.js → templates.ts} +1 -1
  734. package/src/tools/search_replace/{index.js → index.ts} +115 -69
  735. package/src/tools/search_replace/{templates.js → templates.ts} +6 -1
  736. package/src/tools/word_count/{index.js → index.ts} +16 -6
  737. package/src/tools/word_count/{templates.js → templates.ts} +10 -1
  738. package/src/track/{accept.js → accept.ts} +20 -9
  739. package/src/track/{accept_all.js → accept_all.ts} +27 -17
  740. package/src/track/{accept_all_no_insertions.js → accept_all_no_insertions.ts} +16 -10
  741. package/src/track/{amend_transaction.js → amend_transaction.ts} +130 -70
  742. package/src/track/{delete.js → delete.ts} +15 -12
  743. package/src/track/{mod.js → mod.ts} +51 -32
  744. package/src/track/{reject.js → reject.ts} +34 -19
  745. package/src/track/{reject_all.js → reject_all.ts} +44 -24
  746. package/src/types.ts +214 -0
  747. package/src/comments/index.js +0 -11
  748. package/src/databases/index.js +0 -69
  749. package/src/document_template/exporter.js +0 -97
  750. package/src/exporter/native/copy.js +0 -191
  751. package/src/footnotes/index.js +0 -16
  752. package/src/menus/figure/utils.js +0 -5
  753. package/src/state_plugins/citation_render.js +0 -88
  754. package/src/state_plugins/footnote_markers.js +0 -238
  755. package/src/state_plugins/jump_hidden_nodes.js +0 -58
  756. package/src/state_plugins/marginboxes.js +0 -14
  757. package/src/state_plugins/placeholders.js +0 -123
  758. package/src/state_plugins/table.js +0 -127
  759. package/src/state_plugins/tag_input/plugin.js +0 -278
  760. package/src/state_plugins/toc_render.js +0 -160
  761. /package/src/clipboard/copy/{index.js → index.ts} +0 -0
  762. /package/src/clipboard/paste/{index.js → index.ts} +0 -0
  763. /package/src/collab/merge/state_plugins/{index.js → index.ts} +0 -0
  764. /package/src/comments/editors/{index.js → index.ts} +0 -0
  765. /package/src/dialogs/{index.js → index.ts} +0 -0
  766. /package/src/exporter/native/{index.js → index.ts} +0 -0
  767. /package/src/exporter/native/{zip.js → zip.ts} +0 -0
  768. /package/src/footnotes/state_plugins/{index.js → index.ts} +0 -0
  769. /package/src/menus/code_block/{index.js → index.ts} +0 -0
  770. /package/src/menus/figure/{index.js → index.ts} +0 -0
  771. /package/src/menus/headerbar/{index.js → index.ts} +0 -0
  772. /package/src/menus/image/{index.js → index.ts} +0 -0
  773. /package/src/menus/{index.js → index.ts} +0 -0
  774. /package/src/menus/navigator/{index.js → index.ts} +0 -0
  775. /package/src/menus/ordered_list/{index.js → index.ts} +0 -0
  776. /package/src/menus/selection/{index.js → index.ts} +0 -0
  777. /package/src/menus/table/{index.js → index.ts} +0 -0
  778. /package/src/menus/toolbar/{index.js → index.ts} +0 -0
  779. /package/src/plugins/citation_dialog/{index.js → index.ts} +0 -0
  780. /package/src/plugins/editor/{index.js → index.ts} +0 -0
  781. /package/src/state_plugins/contributor_input/{index.js → index.ts} +0 -0
  782. /package/src/state_plugins/inline_reference/{index.js → index.ts} +0 -0
  783. /package/src/state_plugins/tag_input/{index.js → index.ts} +0 -0
  784. /package/src/state_plugins/track/{index.js → index.ts} +0 -0
  785. /package/src/tools/{index.js → index.ts} +0 -0
  786. /package/src/track/{index.js → index.ts} +0 -0
@@ -1,6 +1,8 @@
1
1
  import {toggleMark, wrapIn} from "prosemirror-commands"
2
2
  import {redo, redoDepth, undo, undoDepth} from "prosemirror-history"
3
3
  import {wrapInList} from "prosemirror-schema-list"
4
+ import type {Mark, Node} from "prosemirror-model"
5
+ import type {Selection, Transaction} from "prosemirror-state"
4
6
 
5
7
  import {COMMENT_ONLY_ROLES, READ_ONLY_ROLES} from "../../index.js"
6
8
  import {
@@ -11,13 +13,18 @@ import {
11
13
  TableDialog
12
14
  } from "../../dialogs/index.js"
13
15
  import {setBlockType} from "../../keymap.js"
16
+ import {checkProtectedInSelection} from "../../state_plugins/document_template.js"
14
17
  import {
15
- checkProtectedInSelection,
16
18
  getInlineReferenceState,
17
19
  setInlineReferenceState
18
- } from "../../state_plugins/index.js"
20
+ } from "../../state_plugins/inline_reference/index.js"
21
+ import type {Editor} from "../../types.js"
19
22
 
20
- const BLOCK_LABELS = {
23
+ interface BlockLabels {
24
+ [key: string]: string
25
+ }
26
+
27
+ const BLOCK_LABELS: BlockLabels = {
21
28
  paragraph: gettext("Normal Text"),
22
29
  heading1: gettext("1st Heading"),
23
30
  heading2: gettext("2nd Heading"),
@@ -29,34 +36,61 @@ const BLOCK_LABELS = {
29
36
  figure: gettext("Figure")
30
37
  }
31
38
 
39
+ /** Minimal shape of the headerbar model used by the toolbar toggle button. */
40
+ interface HeaderbarModelLike {
41
+ open: boolean
42
+ }
43
+
44
+ /** Minimal shape of the headerbar view used to refresh the header menu. */
45
+ interface HeaderbarViewLike {
46
+ update(): void
47
+ }
48
+
49
+ /**
50
+ * ProseMirror's base Selection type does not expose the instance `jsonID` and
51
+ * `node` properties that concrete subclasses such as NodeSelection provide.
52
+ * The toolbar model only reads these values, so we cast through this small
53
+ * local interface rather than using `any`.
54
+ */
55
+ interface SelectionExtras {
56
+ jsonID: string
57
+ node?: Node
58
+ }
59
+
60
+ function currentSelection(editor: Editor): Selection & SelectionExtras {
61
+ return editor.currentView.state.selection as Selection & SelectionExtras
62
+ }
63
+
32
64
  // from https://github.com/ProseMirror/prosemirror-tables/blob/master/src/util.js
33
- const findTable = state => {
65
+ const findTable = (state: {selection: {$head: {depth: number; node(d: number): Node}}}) => {
34
66
  const $head = state.selection.$head
35
67
  for (let d = $head.depth; d > 0; d--) {
36
- if ($head.node(d).type.spec.tableRole == "table") {
68
+ if (($head.node(d).type.spec as {tableRole?: string}).tableRole == "table") {
37
69
  return $head.node(d)
38
70
  }
39
71
  }
40
- return false
72
+ return null
41
73
  }
42
74
 
43
- function elementAvailable(editor, elementName) {
75
+ function elementAvailable(editor: Editor, elementName: string): boolean {
44
76
  let elementInDocParts = false
45
77
  editor.view.state.doc.forEach(docPart => {
46
78
  if (
47
- docPart.attrs.elements &&
48
- docPart.attrs.elements.includes(elementName)
79
+ (docPart.attrs.elements as string[] | undefined)?.includes(elementName)
49
80
  ) {
50
81
  elementInDocParts = true
51
82
  }
52
83
  })
53
84
  return (
54
- editor.view.state.doc.attrs.footnote_elements.includes(elementName) ||
85
+ (editor.view.state.doc.attrs.footnote_elements as string[]).includes(elementName) ||
55
86
  elementInDocParts
56
87
  )
57
88
  }
58
89
 
59
- export function elementDisabled(editor, elementName) {
90
+ export function elementDisabled(
91
+ editor: Editor,
92
+ elementName: string
93
+ ): boolean {
60
94
  if (editor.currentView === editor.view) {
61
95
  // main editor
62
96
  const anchorDocPart =
@@ -66,8 +100,7 @@ export function elementDisabled(editor, elementName) {
66
100
  return (
67
101
  !anchorDocPart ||
68
102
  headDocPart !== anchorDocPart ||
69
- !anchorDocPart.attrs.elements ||
70
- !anchorDocPart.attrs.elements.includes(elementName) ||
103
+ !(anchorDocPart.attrs.elements as string[] | undefined)?.includes(elementName) ||
71
104
  checkProtectedInSelection(editor.view.state)
72
105
  )
73
106
  } else {
@@ -79,25 +112,25 @@ export function elementDisabled(editor, elementName) {
79
112
  return (
80
113
  !anchorFootnote ||
81
114
  headFootnote !== anchorFootnote ||
82
- !editor.view.state.doc.attrs.footnote_elements.includes(elementName)
115
+ !(editor.view.state.doc.attrs.footnote_elements as string[]).includes(elementName)
83
116
  )
84
117
  }
85
118
  }
86
119
 
87
- function markAvailable(editor, markName) {
120
+ function markAvailable(editor: Editor, markName: string): boolean {
88
121
  let markInDocParts = false
89
122
  editor.view.state.doc.forEach(docPart => {
90
- if (docPart.attrs.elements && docPart.attrs.marks.includes(markName)) {
123
+ if ((docPart.attrs.marks as string[] | undefined)?.includes(markName)) {
91
124
  markInDocParts = true
92
125
  }
93
126
  })
94
127
  return (
95
- editor.view.state.doc.attrs.footnote_marks.includes(markName) ||
128
+ (editor.view.state.doc.attrs.footnote_marks as string[]).includes(markName) ||
96
129
  markInDocParts
97
130
  )
98
131
  }
99
132
 
100
- function markDisabled(editor, markName) {
133
+ function markDisabled(editor: Editor, markName: string): boolean {
101
134
  if (editor.currentView === editor.view) {
102
135
  // main editor
103
136
  const anchorDocPart =
@@ -107,8 +140,7 @@ function markDisabled(editor, markName) {
107
140
  return (
108
141
  !anchorDocPart ||
109
142
  headDocPart !== anchorDocPart ||
110
- !anchorDocPart.attrs.marks ||
111
- !anchorDocPart.attrs.marks.includes(markName) ||
143
+ !(anchorDocPart.attrs.marks as string[] | undefined)?.includes(markName) ||
112
144
  checkProtectedInSelection(editor.view.state)
113
145
  )
114
146
  } else {
@@ -120,7 +152,7 @@ function markDisabled(editor, markName) {
120
152
  return (
121
153
  !anchorFootnote ||
122
154
  headFootnote !== anchorFootnote ||
123
- !editor.view.state.doc.attrs.footnote_marks.includes(markName)
155
+ !(editor.view.state.doc.attrs.footnote_marks as string[]).includes(markName)
124
156
  )
125
157
  }
126
158
  }
@@ -131,22 +163,22 @@ export const toolbarModel = () => ({
131
163
  {
132
164
  type: "button",
133
165
  title: gettext("Open/close header menu"),
134
- icon: editor => {
135
- if (editor.menu.headerbarModel.open) {
166
+ icon: (editor: Editor) => {
167
+ if ((editor.menu.headerbarModel as HeaderbarModelLike).open) {
136
168
  return "angle-double-up"
137
169
  } else {
138
170
  return "angle-double-down"
139
171
  }
140
172
  },
141
- action: editor => {
142
- editor.menu.headerbarModel.open =
143
- !editor.menu.headerbarModel.open
173
+ action: (editor: Editor) => {
174
+ ;(editor.menu.headerbarModel as HeaderbarModelLike).open =
175
+ !(editor.menu.headerbarModel as HeaderbarModelLike).open
144
176
  if (editor.menu.headerView) {
145
- editor.menu.headerView.update()
177
+ ;(editor.menu.headerView as HeaderbarViewLike).update()
146
178
  }
147
179
  },
148
- class: editor => {
149
- if (editor.menu.headerbarModel.open) {
180
+ class: (editor: Editor) => {
181
+ if ((editor.menu.headerbarModel as HeaderbarModelLike).open) {
150
182
  return "no-border"
151
183
  } else {
152
184
  return "no-border header-closed"
@@ -156,8 +188,9 @@ export const toolbarModel = () => ({
156
188
  },
157
189
  {
158
190
  type: "info",
159
- show: editor => {
191
+ show: (editor: Editor) => {
160
192
  let title = ""
193
+ const selection = currentSelection(editor)
161
194
  if (editor.currentView !== editor.view) {
162
195
  return gettext("Footnote")
163
196
  } else if (
@@ -178,16 +211,16 @@ export const toolbarModel = () => ({
178
211
  ) {
179
212
  title =
180
213
  editor.currentView.state.selection.$anchor.nodeAfter
181
- .attrs.title
214
+ ?.attrs.title ?? ""
182
215
  return title.length > 20
183
216
  ? title.slice(0, 20) + "..."
184
217
  : title
185
218
  } else if (
186
- editor.currentView.state.selection.jsonID === "node" &&
187
- editor.currentView.state.selection.node.isBlock &&
188
- editor.currentView.state.selection.node.attrs.title
219
+ selection.jsonID === "node" &&
220
+ selection.node?.isBlock &&
221
+ selection.node.attrs.title
189
222
  ) {
190
- title = editor.currentView.state.selection.node.attrs.title
223
+ title = selection.node.attrs.title
191
224
  return title.length > 20
192
225
  ? title.slice(0, 20) + "..."
193
226
  : title
@@ -199,7 +232,8 @@ export const toolbarModel = () => ({
199
232
  },
200
233
  {
201
234
  type: "menu",
202
- show: editor => {
235
+ show: (editor: Editor) => {
236
+ const selection = currentSelection(editor)
203
237
  if (
204
238
  editor.currentView.state.selection.$anchor.node(1) &&
205
239
  !editor.view.state.selection.$anchor.node(1).attrs.elements
@@ -207,10 +241,10 @@ export const toolbarModel = () => ({
207
241
  return ""
208
242
  }
209
243
  if (
210
- editor.currentView.state.selection.jsonID === "node" &&
211
- editor.currentView.state.selection.node.isBlock
244
+ selection.jsonID === "node" &&
245
+ selection.node?.isBlock
212
246
  ) {
213
- const selectedNode = editor.currentView.state.selection.node
247
+ const selectedNode = selection.node
214
248
  return BLOCK_LABELS[selectedNode.type.name]
215
249
  ? BLOCK_LABELS[selectedNode.type.name]
216
250
  : ""
@@ -226,7 +260,7 @@ export const toolbarModel = () => ({
226
260
  ? BLOCK_LABELS[blockNodeType]
227
261
  : ""
228
262
  } else {
229
- let blockNodeType = true
263
+ let blockNodeType: string | boolean = true
230
264
  editor.currentView.state.doc.nodesBetween(
231
265
  editor.currentView.state.selection.from,
232
266
  editor.currentView.state.selection.to,
@@ -243,7 +277,7 @@ export const toolbarModel = () => ({
243
277
  }
244
278
  )
245
279
 
246
- if (blockNodeType) {
280
+ if (blockNodeType && typeof blockNodeType === "string") {
247
281
  return BLOCK_LABELS[blockNodeType]
248
282
  ? BLOCK_LABELS[blockNodeType]
249
283
  : ""
@@ -252,119 +286,119 @@ export const toolbarModel = () => ({
252
286
  }
253
287
  }
254
288
  },
255
- disabled: editor =>
256
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
257
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
289
+ disabled: (editor: Editor) =>
290
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
291
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
258
292
  !editor.currentView.state.selection.$anchor.node(1) ||
259
293
  !editor.currentView.state.selection.$anchor.node(1).attrs
260
294
  .elements ||
261
- (editor.currentView.state.selection.jsonID === "node" &&
262
- editor.currentView.state.selection.node.isBlock &&
263
- !editor.currentView.state.selection.node.isTextblock) ||
264
- editor.currentView.state.selection.jsonID === "gapcursor",
295
+ (currentSelection(editor).jsonID === "node" &&
296
+ currentSelection(editor).node?.isBlock &&
297
+ !currentSelection(editor).node?.isTextblock) ||
298
+ currentSelection(editor).jsonID === "gapcursor",
265
299
  content: [
266
300
  {
267
301
  title: BLOCK_LABELS["paragraph"],
268
- action: editor => {
302
+ action: (editor: Editor) => {
269
303
  const view = editor.currentView
270
- setBlockType(view.state.schema.nodes.paragraph)(
304
+ setBlockType(view.state.schema.nodes.paragraph!)(
271
305
  view.state,
272
306
  view.dispatch
273
307
  )
274
308
  },
275
- available: editor => elementAvailable(editor, "paragraph"),
276
- disabled: editor => elementDisabled(editor, "paragraph"),
309
+ available: (editor: Editor) => elementAvailable(editor, "paragraph"),
310
+ disabled: (editor: Editor) => elementDisabled(editor, "paragraph"),
277
311
  order: 0
278
312
  },
279
313
  {
280
314
  title: BLOCK_LABELS["heading1"],
281
- action: editor => {
315
+ action: (editor: Editor) => {
282
316
  const view = editor.currentView
283
- setBlockType(view.state.schema.nodes.heading1)(
317
+ setBlockType(view.state.schema.nodes.heading1!)(
284
318
  view.state,
285
319
  view.dispatch
286
320
  )
287
321
  },
288
- available: editor => elementAvailable(editor, "heading1"),
289
- disabled: editor => elementDisabled(editor, "heading1"),
322
+ available: (editor: Editor) => elementAvailable(editor, "heading1"),
323
+ disabled: (editor: Editor) => elementDisabled(editor, "heading1"),
290
324
  order: 1
291
325
  },
292
326
  {
293
327
  title: BLOCK_LABELS["heading2"],
294
- action: editor => {
328
+ action: (editor: Editor) => {
295
329
  const view = editor.currentView
296
- setBlockType(view.state.schema.nodes.heading2)(
330
+ setBlockType(view.state.schema.nodes.heading2!)(
297
331
  view.state,
298
332
  view.dispatch
299
333
  )
300
334
  },
301
- available: editor => elementAvailable(editor, "heading2"),
302
- disabled: editor => elementDisabled(editor, "heading2"),
335
+ available: (editor: Editor) => elementAvailable(editor, "heading2"),
336
+ disabled: (editor: Editor) => elementDisabled(editor, "heading2"),
303
337
  order: 2
304
338
  },
305
339
  {
306
340
  title: BLOCK_LABELS["heading3"],
307
- action: editor => {
341
+ action: (editor: Editor) => {
308
342
  const view = editor.currentView
309
- setBlockType(view.state.schema.nodes.heading3)(
343
+ setBlockType(view.state.schema.nodes.heading3!)(
310
344
  view.state,
311
345
  view.dispatch
312
346
  )
313
347
  },
314
- available: editor => elementAvailable(editor, "heading3"),
315
- disabled: editor => elementDisabled(editor, "heading3"),
348
+ available: (editor: Editor) => elementAvailable(editor, "heading3"),
349
+ disabled: (editor: Editor) => elementDisabled(editor, "heading3"),
316
350
  order: 3
317
351
  },
318
352
  {
319
353
  title: BLOCK_LABELS["heading4"],
320
- action: editor => {
354
+ action: (editor: Editor) => {
321
355
  const view = editor.currentView
322
- setBlockType(view.state.schema.nodes.heading4)(
356
+ setBlockType(view.state.schema.nodes.heading4!)(
323
357
  view.state,
324
358
  view.dispatch
325
359
  )
326
360
  },
327
- available: editor => elementAvailable(editor, "heading4"),
328
- disabled: editor => elementDisabled(editor, "heading4"),
361
+ available: (editor: Editor) => elementAvailable(editor, "heading4"),
362
+ disabled: (editor: Editor) => elementDisabled(editor, "heading4"),
329
363
  order: 4
330
364
  },
331
365
  {
332
366
  title: BLOCK_LABELS["heading5"],
333
- action: editor => {
367
+ action: (editor: Editor) => {
334
368
  const view = editor.currentView
335
- setBlockType(view.state.schema.nodes.heading5)(
369
+ setBlockType(view.state.schema.nodes.heading5!)(
336
370
  view.state,
337
371
  view.dispatch
338
372
  )
339
373
  },
340
- available: editor => elementAvailable(editor, "heading5"),
341
- disabled: editor => elementDisabled(editor, "heading5"),
374
+ available: (editor: Editor) => elementAvailable(editor, "heading5"),
375
+ disabled: (editor: Editor) => elementDisabled(editor, "heading5"),
342
376
  order: 5
343
377
  },
344
378
  {
345
379
  title: BLOCK_LABELS["heading6"],
346
- action: editor => {
380
+ action: (editor: Editor) => {
347
381
  const view = editor.currentView
348
- setBlockType(view.state.schema.nodes.heading6)(
382
+ setBlockType(view.state.schema.nodes.heading6!)(
349
383
  view.state,
350
384
  view.dispatch
351
385
  )
352
386
  },
353
- available: editor => elementAvailable(editor, "heading6"),
354
- disabled: editor => elementDisabled(editor, "heading6"),
387
+ available: (editor: Editor) => elementAvailable(editor, "heading6"),
388
+ disabled: (editor: Editor) => elementDisabled(editor, "heading6"),
355
389
  order: 6
356
390
  },
357
391
  {
358
392
  title: BLOCK_LABELS["code_block"],
359
- action: editor => {
393
+ action: (editor: Editor) => {
360
394
  const view = editor.currentView
361
- setBlockType(view.state.schema.nodes.code_block)(
395
+ setBlockType(view.state.schema.nodes.code_block!)(
362
396
  view.state,
363
397
  view.dispatch
364
398
  )
365
399
  },
366
- available: editor => elementAvailable(editor, "code_block"),
367
- disabled: editor => elementDisabled(editor, "code_block"),
400
+ available: (editor: Editor) => elementAvailable(editor, "code_block"),
401
+ disabled: (editor: Editor) => elementDisabled(editor, "code_block"),
368
402
  order: 7
369
403
  }
370
404
  ],
@@ -374,31 +408,32 @@ export const toolbarModel = () => ({
374
408
  type: "button",
375
409
  title: gettext("Strong"),
376
410
  icon: "bold",
377
- action: editor => {
378
- const mark = editor.currentView.state.schema.marks["strong"]
411
+ action: (editor: Editor) => {
412
+ const mark = editor.currentView.state.schema.marks["strong"]!
379
413
  const command = toggleMark(mark)
380
414
  command(editor.currentView.state, tr =>
381
415
  editor.currentView.dispatch(tr)
382
416
  )
383
417
  },
384
- available: editor => markAvailable(editor, "strong"),
385
- disabled: editor => {
418
+ available: (editor: Editor) => markAvailable(editor, "strong"),
419
+ disabled: (editor: Editor) => {
386
420
  if (
387
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
388
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
389
- editor.currentView.state.selection.jsonID === "gapcursor" ||
421
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
422
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
423
+ currentSelection(editor).jsonID === "gapcursor" ||
390
424
  markDisabled(editor, "strong")
391
425
  ) {
392
426
  return true
393
427
  }
428
+ return false
394
429
  },
395
- selected: editor => {
430
+ selected: (editor: Editor) => {
396
431
  const storedMarks = editor.currentView.state.storedMarks
397
432
  if (
398
- storedMarks?.some(mark => mark.type.name === "strong") ||
433
+ storedMarks?.some((mark: Mark) => mark.type.name === "strong") ||
399
434
  editor.currentView.state.selection.$head
400
435
  .marks()
401
- .some(mark => mark.type.name === "strong")
436
+ .some((mark: Mark) => mark.type.name === "strong")
402
437
  ) {
403
438
  return true
404
439
  } else {
@@ -411,26 +446,26 @@ export const toolbarModel = () => ({
411
446
  type: "button",
412
447
  title: gettext("Emphasis"),
413
448
  icon: "italic",
414
- action: editor => {
415
- const mark = editor.currentView.state.schema.marks["em"]
449
+ action: (editor: Editor) => {
450
+ const mark = editor.currentView.state.schema.marks["em"]!
416
451
  const command = toggleMark(mark)
417
452
  command(editor.currentView.state, tr =>
418
453
  editor.currentView.dispatch(tr)
419
454
  )
420
455
  },
421
- available: editor => markAvailable(editor, "em"),
422
- disabled: editor =>
423
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
424
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
425
- editor.currentView.state.selection.jsonID === "gapcursor" ||
456
+ available: (editor: Editor) => markAvailable(editor, "em"),
457
+ disabled: (editor: Editor) =>
458
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
459
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
460
+ currentSelection(editor).jsonID === "gapcursor" ||
426
461
  markDisabled(editor, "em"),
427
- selected: editor => {
462
+ selected: (editor: Editor) => {
428
463
  const storedMarks = editor.currentView.state.storedMarks
429
464
  if (
430
- storedMarks?.some(mark => mark.type.name === "em") ||
465
+ storedMarks?.some((mark: Mark) => mark.type.name === "em") ||
431
466
  editor.currentView.state.selection.$head
432
467
  .marks()
433
- .some(mark => mark.type.name === "em")
468
+ .some((mark: Mark) => mark.type.name === "em")
434
469
  ) {
435
470
  return true
436
471
  } else {
@@ -443,31 +478,32 @@ export const toolbarModel = () => ({
443
478
  type: "button",
444
479
  title: gettext("Underline"),
445
480
  icon: "underline",
446
- action: editor => {
447
- const mark = editor.currentView.state.schema.marks["underline"]
481
+ action: (editor: Editor) => {
482
+ const mark = editor.currentView.state.schema.marks["underline"]!
448
483
  const command = toggleMark(mark)
449
484
  command(editor.currentView.state, tr =>
450
485
  editor.currentView.dispatch(tr)
451
486
  )
452
487
  },
453
- available: editor => markAvailable(editor, "underline"),
454
- disabled: editor => {
488
+ available: (editor: Editor) => markAvailable(editor, "underline"),
489
+ disabled: (editor: Editor) => {
455
490
  if (
456
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
457
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
458
- editor.currentView.state.selection.jsonID === "gapcursor" ||
491
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
492
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
493
+ currentSelection(editor).jsonID === "gapcursor" ||
459
494
  markDisabled(editor, "underline")
460
495
  ) {
461
496
  return true
462
497
  }
498
+ return false
463
499
  },
464
- selected: editor => {
500
+ selected: (editor: Editor) => {
465
501
  const storedMarks = editor.currentView.state.storedMarks
466
502
  if (
467
- storedMarks?.some(mark => mark.type.name === "underline") ||
503
+ storedMarks?.some((mark: Mark) => mark.type.name === "underline") ||
468
504
  editor.currentView.state.selection.$head
469
505
  .marks()
470
- .some(mark => mark.type.name === "underline")
506
+ .some((mark: Mark) => mark.type.name === "underline")
471
507
  ) {
472
508
  return true
473
509
  } else {
@@ -480,31 +516,32 @@ export const toolbarModel = () => ({
480
516
  type: "button",
481
517
  title: gettext("Superscript"),
482
518
  icon: "superscript",
483
- action: editor => {
484
- const mark = editor.currentView.state.schema.marks["sup"]
519
+ action: (editor: Editor) => {
520
+ const mark = editor.currentView.state.schema.marks["sup"]!
485
521
  const command = toggleMark(mark)
486
522
  command(editor.currentView.state, tr =>
487
523
  editor.currentView.dispatch(tr)
488
524
  )
489
525
  },
490
- available: editor => markAvailable(editor, "sup"),
491
- disabled: editor => {
526
+ available: (editor: Editor) => markAvailable(editor, "sup"),
527
+ disabled: (editor: Editor) => {
492
528
  if (
493
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
494
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
495
- editor.currentView.state.selection.jsonID === "gapcursor" ||
529
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
530
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
531
+ currentSelection(editor).jsonID === "gapcursor" ||
496
532
  markDisabled(editor, "sup")
497
533
  ) {
498
534
  return true
499
535
  }
536
+ return false
500
537
  },
501
- selected: editor => {
538
+ selected: (editor: Editor) => {
502
539
  const storedMarks = editor.currentView.state.storedMarks
503
540
  if (
504
- storedMarks?.some(mark => mark.type.name === "sup") ||
541
+ storedMarks?.some((mark: Mark) => mark.type.name === "sup") ||
505
542
  editor.currentView.state.selection.$head
506
543
  .marks()
507
- .some(mark => mark.type.name === "sup")
544
+ .some((mark: Mark) => mark.type.name === "sup")
508
545
  ) {
509
546
  return true
510
547
  } else {
@@ -517,31 +554,32 @@ export const toolbarModel = () => ({
517
554
  type: "button",
518
555
  title: gettext("Subscript"),
519
556
  icon: "subscript",
520
- action: editor => {
521
- const mark = editor.currentView.state.schema.marks["sub"]
557
+ action: (editor: Editor) => {
558
+ const mark = editor.currentView.state.schema.marks["sub"]!
522
559
  const command = toggleMark(mark)
523
560
  command(editor.currentView.state, tr =>
524
561
  editor.currentView.dispatch(tr)
525
562
  )
526
563
  },
527
- available: editor => markAvailable(editor, "sub"),
528
- disabled: editor => {
564
+ available: (editor: Editor) => markAvailable(editor, "sub"),
565
+ disabled: (editor: Editor) => {
529
566
  if (
530
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
531
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
532
- editor.currentView.state.selection.jsonID === "gapcursor" ||
567
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
568
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
569
+ currentSelection(editor).jsonID === "gapcursor" ||
533
570
  markDisabled(editor, "sub")
534
571
  ) {
535
572
  return true
536
573
  }
574
+ return false
537
575
  },
538
- selected: editor => {
576
+ selected: (editor: Editor) => {
539
577
  const storedMarks = editor.currentView.state.storedMarks
540
578
  if (
541
- storedMarks?.some(mark => mark.type.name === "sub") ||
579
+ storedMarks?.some((mark: Mark) => mark.type.name === "sub") ||
542
580
  editor.currentView.state.selection.$head
543
581
  .marks()
544
- .some(mark => mark.type.name === "sub")
582
+ .some((mark: Mark) => mark.type.name === "sub")
545
583
  ) {
546
584
  return true
547
585
  } else {
@@ -554,31 +592,32 @@ export const toolbarModel = () => ({
554
592
  type: "button",
555
593
  title: gettext("Code"),
556
594
  icon: "code",
557
- action: editor => {
558
- const mark = editor.currentView.state.schema.marks["code"]
595
+ action: (editor: Editor) => {
596
+ const mark = editor.currentView.state.schema.marks["code"]!
559
597
  const command = toggleMark(mark)
560
598
  command(editor.currentView.state, tr =>
561
599
  editor.currentView.dispatch(tr)
562
600
  )
563
601
  },
564
- available: editor => markAvailable(editor, "code"),
565
- disabled: editor => {
602
+ available: (editor: Editor) => markAvailable(editor, "code"),
603
+ disabled: (editor: Editor) => {
566
604
  if (
567
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
568
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
569
- editor.currentView.state.selection.jsonID === "gapcursor" ||
605
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
606
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
607
+ currentSelection(editor).jsonID === "gapcursor" ||
570
608
  markDisabled(editor, "code")
571
609
  ) {
572
610
  return true
573
611
  }
612
+ return false
574
613
  },
575
- selected: editor => {
614
+ selected: (editor: Editor) => {
576
615
  const storedMarks = editor.currentView.state.storedMarks
577
616
  if (
578
- storedMarks?.some(mark => mark.type.name === "code") ||
617
+ storedMarks?.some((mark: Mark) => mark.type.name === "code") ||
579
618
  editor.currentView.state.selection.$head
580
619
  .marks()
581
- .some(mark => mark.type.name === "code")
620
+ .some((mark: Mark) => mark.type.name === "code")
582
621
  ) {
583
622
  return true
584
623
  } else {
@@ -591,31 +630,32 @@ export const toolbarModel = () => ({
591
630
  type: "button",
592
631
  title: gettext("Numbered list"),
593
632
  icon: "list-ol",
594
- action: editor => {
633
+ action: (editor: Editor) => {
595
634
  const node =
596
- editor.currentView.state.schema.nodes["ordered_list"]
635
+ editor.currentView.state.schema.nodes["ordered_list"]!
597
636
  const command = wrapInList(node)
598
637
  command(editor.currentView.state, tr =>
599
638
  editor.currentView.dispatch(tr)
600
639
  )
601
640
  },
602
- available: editor => elementAvailable(editor, "ordered_list"),
603
- disabled: editor => {
641
+ available: (editor: Editor) => elementAvailable(editor, "ordered_list"),
642
+ disabled: (editor: Editor) => {
604
643
  if (
605
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
606
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
644
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
645
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
607
646
  elementDisabled(editor, "ordered_list")
608
647
  ) {
609
648
  return true
610
649
  }
650
+ return false
611
651
  },
612
- selected: editor => {
652
+ selected: (editor: Editor) => {
613
653
  const depth =
614
654
  editor.currentView.state.selection.$head.sharedDepth(
615
655
  editor.currentView.state.selection.anchor
616
656
  )
617
657
  const nodeType =
618
- editor.currentView.state.schema.nodes["ordered_list"]
658
+ editor.currentView.state.schema.nodes["ordered_list"]!
619
659
  for (let i = 0; i < depth; i++) {
620
660
  const node =
621
661
  editor.currentView.state.selection.$head.node(i)
@@ -631,31 +671,32 @@ export const toolbarModel = () => ({
631
671
  type: "button",
632
672
  title: gettext("Bullet list"),
633
673
  icon: "list-ul",
634
- action: editor => {
674
+ action: (editor: Editor) => {
635
675
  const node =
636
- editor.currentView.state.schema.nodes["bullet_list"]
676
+ editor.currentView.state.schema.nodes["bullet_list"]!
637
677
  const command = wrapInList(node)
638
678
  command(editor.currentView.state, tr =>
639
679
  editor.currentView.dispatch(tr)
640
680
  )
641
681
  },
642
- available: editor => elementAvailable(editor, "bullet_list"),
643
- disabled: editor => {
682
+ available: (editor: Editor) => elementAvailable(editor, "bullet_list"),
683
+ disabled: (editor: Editor) => {
644
684
  if (
645
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
646
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
685
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
686
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
647
687
  elementDisabled(editor, "bullet_list")
648
688
  ) {
649
689
  return true
650
690
  }
691
+ return false
651
692
  },
652
- selected: editor => {
693
+ selected: (editor: Editor) => {
653
694
  const depth =
654
695
  editor.currentView.state.selection.$head.sharedDepth(
655
696
  editor.currentView.state.selection.anchor
656
697
  )
657
698
  const nodeType =
658
- editor.currentView.state.schema.nodes["bullet_list"]
699
+ editor.currentView.state.schema.nodes["bullet_list"]!
659
700
  for (let i = 0; i < depth; i++) {
660
701
  const node =
661
702
  editor.currentView.state.selection.$head.node(i)
@@ -671,30 +712,31 @@ export const toolbarModel = () => ({
671
712
  type: "button",
672
713
  title: gettext("Blockquote"),
673
714
  icon: "quote-right",
674
- action: editor => {
675
- const node = editor.currentView.state.schema.nodes["blockquote"]
715
+ action: (editor: Editor) => {
716
+ const node = editor.currentView.state.schema.nodes["blockquote"]!
676
717
  const command = wrapIn(node)
677
718
  command(editor.currentView.state, tr =>
678
719
  editor.currentView.dispatch(tr)
679
720
  )
680
721
  },
681
- available: editor => elementAvailable(editor, "blockquote"),
682
- disabled: editor => {
722
+ available: (editor: Editor) => elementAvailable(editor, "blockquote"),
723
+ disabled: (editor: Editor) => {
683
724
  if (
684
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
685
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
725
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
726
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
686
727
  elementDisabled(editor, "blockquote")
687
728
  ) {
688
729
  return true
689
730
  }
731
+ return false
690
732
  },
691
- selected: editor => {
733
+ selected: (editor: Editor) => {
692
734
  const depth =
693
735
  editor.currentView.state.selection.$head.sharedDepth(
694
736
  editor.currentView.state.selection.anchor
695
737
  )
696
738
  const nodeType =
697
- editor.currentView.state.schema.nodes["blockquote"]
739
+ editor.currentView.state.schema.nodes["blockquote"]!
698
740
  for (let i = 0; i < depth; i++) {
699
741
  const node =
700
742
  editor.currentView.state.selection.$head.node(i)
@@ -711,50 +753,52 @@ export const toolbarModel = () => ({
711
753
  type: "button",
712
754
  title: gettext("Link"),
713
755
  icon: "link",
714
- action: editor => {
756
+ action: (editor: Editor) => {
715
757
  const dialog = new LinkDialog(editor)
716
758
  dialog.init()
717
759
  },
718
- available: editor => markAvailable(editor, "link"),
719
- disabled: editor => {
760
+ available: (editor: Editor) => markAvailable(editor, "link"),
761
+ disabled: (editor: Editor) => {
720
762
  if (
721
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
722
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
763
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
764
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
723
765
  (markDisabled(editor, "link") &&
724
766
  elementDisabled(editor, "cross_reference"))
725
767
  ) {
726
768
  return true
727
769
  }
770
+ return false
728
771
  },
729
- selected: editor =>
772
+ selected: (editor: Editor) =>
730
773
  editor.currentView.state.selection.$head
731
774
  .marks()
732
- .some(mark => mark.type.name === "link"),
775
+ .some((mark: Mark) => mark.type.name === "link"),
733
776
  order: 12
734
777
  },
735
778
  {
736
779
  type: "button",
737
780
  title: gettext("Footnote"),
738
781
  icon: "asterisk",
739
- action: editor => {
740
- const node = editor.view.state.schema.nodes["footnote"]
782
+ action: (editor: Editor) => {
783
+ const node = editor.view.state.schema.nodes["footnote"]!
741
784
  const tr = editor.view.state.tr.replaceSelectionWith(
742
- node.createAndFill(),
785
+ node.createAndFill()!,
743
786
  false
744
787
  )
745
788
  editor.view.dispatch(tr)
746
789
  return false
747
790
  },
748
- available: editor => elementAvailable(editor, "footnote"),
749
- disabled: editor => {
791
+ available: (editor: Editor) => elementAvailable(editor, "footnote"),
792
+ disabled: (editor: Editor) => {
750
793
  if (
751
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
752
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
794
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
795
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
753
796
  editor.view !== editor.currentView || // we don't allow footnotes in footnotes
754
797
  elementDisabled(editor, "footnote")
755
798
  ) {
756
799
  return true
757
800
  }
801
+ return false
758
802
  },
759
803
  order: 13
760
804
  },
@@ -762,36 +806,40 @@ export const toolbarModel = () => ({
762
806
  type: "button",
763
807
  title: gettext("Cite"),
764
808
  icon: "book",
765
- action: editor => {
809
+ action: (editor: Editor) => {
766
810
  const inlineState = getInlineReferenceState(
767
811
  editor.currentView.state
768
- )
812
+ ) as {active?: boolean; isEdit?: boolean} | undefined
769
813
  if (inlineState?.active && inlineState.isEdit) {
770
814
  editor.currentView.dispatch(
771
815
  setInlineReferenceState(editor.currentView.state.tr, {
772
816
  action: "openDialog"
773
- })
817
+ } as Partial<{
818
+ active?: boolean
819
+ isEdit?: boolean
820
+ }>) as Transaction
774
821
  )
775
822
  }
776
823
  const dialog = new CitationDialog(editor)
777
824
  dialog.init()
778
825
  return false
779
826
  },
780
- available: editor => elementAvailable(editor, "citation"),
781
- disabled: editor => {
827
+ available: (editor: Editor) => elementAvailable(editor, "citation"),
828
+ disabled: (editor: Editor) => {
782
829
  if (
783
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
784
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
830
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
831
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
785
832
  elementDisabled(editor, "citation") ||
786
833
  !["text", "node"].includes(
787
- editor.currentView.state.selection.jsonID
834
+ currentSelection(editor).jsonID
788
835
  ) ||
789
- (editor.currentView.state.selection.jsonID === "node" &&
790
- editor.currentView.state.selection.node.type.name !==
836
+ (currentSelection(editor).jsonID === "node" &&
837
+ currentSelection(editor).node?.type.name !==
791
838
  "citation")
792
839
  ) {
793
840
  return true
794
841
  }
842
+ return false
795
843
  },
796
844
  order: 14
797
845
  },
@@ -799,7 +847,7 @@ export const toolbarModel = () => ({
799
847
  type: "button",
800
848
  title: gettext("Horizontal line"),
801
849
  icon: "minus",
802
- action: editor => {
850
+ action: (editor: Editor) => {
803
851
  const view = editor.currentView,
804
852
  state = view.state
805
853
  view.dispatch(
@@ -808,15 +856,16 @@ export const toolbarModel = () => ({
808
856
  )
809
857
  )
810
858
  },
811
- available: editor => elementAvailable(editor, "horizontal_rule"),
812
- disabled: editor => {
859
+ available: (editor: Editor) => elementAvailable(editor, "horizontal_rule"),
860
+ disabled: (editor: Editor) => {
813
861
  if (
814
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
815
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
862
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
863
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
816
864
  elementDisabled(editor, "horizontal_rule")
817
865
  ) {
818
866
  return true
819
867
  }
868
+ return false
820
869
  },
821
870
  order: 15
822
871
  },
@@ -824,25 +873,26 @@ export const toolbarModel = () => ({
824
873
  type: "button",
825
874
  title: gettext("Math"),
826
875
  icon: "percent",
827
- action: editor => {
876
+ action: (editor: Editor) => {
828
877
  const dialog = new MathDialog(editor)
829
878
  dialog.init()
830
879
  },
831
- available: editor => elementAvailable(editor, "equation"),
832
- disabled: editor => {
880
+ available: (editor: Editor) => elementAvailable(editor, "equation"),
881
+ disabled: (editor: Editor) => {
833
882
  if (
834
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
835
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
883
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
884
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
836
885
  elementDisabled(editor, "equation") ||
837
886
  !["text", "node"].includes(
838
- editor.currentView.state.selection.jsonID
887
+ currentSelection(editor).jsonID
839
888
  ) ||
840
- (editor.currentView.state.selection.jsonID === "node" &&
841
- editor.currentView.state.selection.node.type.name !==
889
+ (currentSelection(editor).jsonID === "node" &&
890
+ currentSelection(editor).node?.type.name !==
842
891
  "equation")
843
892
  ) {
844
893
  return true
845
894
  }
895
+ return false
846
896
  },
847
897
  order: 16
848
898
  },
@@ -850,20 +900,21 @@ export const toolbarModel = () => ({
850
900
  type: "button",
851
901
  title: gettext("Figure"),
852
902
  icon: "image",
853
- action: editor => {
903
+ action: (editor: Editor) => {
854
904
  const dialog = new FigureDialog(editor)
855
905
  dialog.init()
856
906
  return false
857
907
  },
858
- available: editor => elementAvailable(editor, "figure"),
859
- disabled: editor => {
908
+ available: (editor: Editor) => elementAvailable(editor, "figure"),
909
+ disabled: (editor: Editor) => {
860
910
  if (
861
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
862
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
911
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
912
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
863
913
  elementDisabled(editor, "figure")
864
914
  ) {
865
915
  return true
866
916
  }
917
+ return false
867
918
  },
868
919
  order: 17
869
920
  },
@@ -872,21 +923,22 @@ export const toolbarModel = () => ({
872
923
  title: gettext("Table"),
873
924
  tooltip: gettext("Insert a table into the document."),
874
925
  icon: "table",
875
- action: editor => {
926
+ action: (editor: Editor) => {
876
927
  const dialog = new TableDialog(editor)
877
928
  dialog.init()
878
929
  return false
879
930
  },
880
- available: editor => elementAvailable(editor, "table"),
881
- disabled: editor => {
931
+ available: (editor: Editor) => elementAvailable(editor, "table"),
932
+ disabled: (editor: Editor) => {
882
933
  if (
883
- READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
884
- COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
934
+ READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
935
+ COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
885
936
  elementDisabled(editor, "table") ||
886
937
  findTable(editor.currentView.state)
887
938
  ) {
888
939
  return true
889
940
  }
941
+ return false
890
942
  },
891
943
  order: 15
892
944
  },
@@ -894,26 +946,26 @@ export const toolbarModel = () => ({
894
946
  type: "button",
895
947
  title: gettext("Undo"),
896
948
  icon: "undo",
897
- action: editor =>
949
+ action: (editor: Editor) =>
898
950
  undo(editor.currentView.state, tr =>
899
951
  editor.currentView.dispatch(
900
952
  tr.setMeta("inputType", "historyUndo")
901
953
  )
902
954
  ),
903
- disabled: editor => undoDepth(editor.currentView.state) === 0,
955
+ disabled: (editor: Editor) => undoDepth(editor.currentView.state) === 0,
904
956
  order: 16
905
957
  },
906
958
  {
907
959
  type: "button",
908
960
  title: gettext("Redo"),
909
961
  icon: "redo",
910
- action: editor =>
962
+ action: (editor: Editor) =>
911
963
  redo(editor.currentView.state, tr =>
912
964
  editor.currentView.dispatch(
913
965
  tr.setMeta("inputType", "historyRedo")
914
966
  )
915
967
  ),
916
- disabled: editor => redoDepth(editor.currentView.state) === 0,
968
+ disabled: (editor: Editor) => redoDepth(editor.currentView.state) === 0,
917
969
  order: 17
918
970
  }
919
971
  ]