@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,7 +1,112 @@
1
1
  import {avatarTemplate, escapeText, localizeDate} from "fwtoolkit"
2
+ import type {Node} from "prosemirror-model"
3
+
2
4
  import {READ_ONLY_ROLES} from "../index.js"
3
5
  import {serializeHelp} from "../document_template/index.js"
4
6
  import {serializeComment} from "../comments/editors/index.js"
7
+ import type {DocInfo, EditorUser} from "../types.js"
8
+
9
+ export interface MarginBoxFilterOptions {
10
+ track?: boolean
11
+ comments?: boolean
12
+ info?: boolean
13
+ help?: boolean
14
+ warning?: boolean
15
+ commentsResolved?: boolean
16
+ commentsOnlyMajor?: boolean
17
+ commentsAuthor?: number
18
+ trackAuthor?: number
19
+ author?: number
20
+ assigned?: number
21
+ }
22
+
23
+ export interface CommentAnswer {
24
+ id: number | string
25
+ user: number
26
+ username: string
27
+ date: number
28
+ answer: unknown[]
29
+ }
30
+
31
+ export interface Comment {
32
+ id: number
33
+ user: number
34
+ username: string
35
+ date: number
36
+ comment: unknown[]
37
+ answers?: CommentAnswer[]
38
+ isMajor?: boolean
39
+ resolved?: boolean
40
+ hidden?: boolean
41
+ isGlobal?: boolean
42
+ assignedUser?: number
43
+ assignedUsername?: string
44
+ }
45
+
46
+ export interface TrackData {
47
+ user: number
48
+ username: string
49
+ date: number
50
+ before?:
51
+ | string[]
52
+ | {type: string; attrs?: {order?: number; level?: number}}
53
+ after?: string[]
54
+ }
55
+
56
+ export interface Participant {
57
+ id: number
58
+ name: string
59
+ }
60
+
61
+ interface ContactPerson {
62
+ id: number | string
63
+ type?: string
64
+ name?: string
65
+ avatar?: string
66
+ }
67
+
68
+ export interface CommentMarginBox {
69
+ type: "comment"
70
+ data: Comment
71
+ view: string
72
+ active: boolean
73
+ pos?: number
74
+ }
75
+
76
+ export interface TrackMarginBox {
77
+ type: "insertion" | "deletion" | "format_change" | "block_change"
78
+ data: TrackData
79
+ node: Node
80
+ view: string
81
+ active: boolean
82
+ pos?: number
83
+ }
84
+
85
+ export interface HelpMarginBox {
86
+ type: "help"
87
+ data: {active?: boolean; help: unknown}
88
+ active?: boolean
89
+ }
90
+
91
+ export interface WarningMarginBox {
92
+ type: "warning"
93
+ data: {active?: boolean; warning: string}
94
+ active?: boolean
95
+ }
96
+
97
+ export type MarginBox =
98
+ | CommentMarginBox
99
+ | TrackMarginBox
100
+ | HelpMarginBox
101
+ | WarningMarginBox
102
+
103
+ interface MarginBoxOptionComment {
104
+ answer?: boolean
105
+ id: number | string
106
+ commentId?: number | string
107
+ user: number
108
+ resolved?: boolean
109
+ }
5
110
 
6
111
  /** A template for an answer to a comment */
7
112
  const answerCommentTemplate = ({
@@ -11,11 +116,18 @@ const answerCommentTemplate = ({
11
116
  activeCommentAnswerId,
12
117
  active,
13
118
  user
119
+ }: {
120
+ answer: CommentAnswer
121
+ author: ContactPerson | undefined
122
+ commentId: number | string
123
+ activeCommentAnswerId: number | string | undefined
124
+ active: boolean
125
+ user: EditorUser
14
126
  }) =>
15
127
  `<div class="comment-item comment-answer collapse ${active ? "show" : ""}" id="comment-answer-${answer.id}">
16
128
  <div class="comment-user">
17
129
  ${author ? avatarTemplate({user: author}) : '<span class="fw-string-avatar"></span>'}
18
- <h5 class="comment-user-name">${escapeText(author ? author.name : answer.username)}</h5>
130
+ <h5 class="comment-user-name">${escapeText(author?.name || answer.username)}</h5>
19
131
  <p class="comment-date">${localizeDate(answer.date)}</p>
20
132
  </div>
21
133
  ${
@@ -43,12 +155,24 @@ const answerCommentTemplate = ({
43
155
  }
44
156
  </div>`
45
157
 
158
+ interface SingleCommentTemplateProps {
159
+ comment: Comment
160
+ author: ContactPerson | undefined
161
+ active: boolean
162
+ editComment: boolean
163
+ }
164
+
46
165
  /** A template to show one individual comment */
47
- const singleCommentTemplate = ({comment, author, active, editComment}) =>
166
+ const singleCommentTemplate = ({
167
+ comment,
168
+ author,
169
+ active,
170
+ editComment
171
+ }: SingleCommentTemplateProps) =>
48
172
  `<div class="comment-item">
49
173
  <div class="comment-user">
50
174
  ${author ? avatarTemplate({user: author}) : '<span class="fw-string-avatar"></span>'}
51
- <h5 class="comment-user-name">${escapeText(author ? author.name : comment.username)}</h5>
175
+ <h5 class="comment-user-name">${escapeText(author?.name || comment.username)}</h5>
52
176
  <p class="comment-date">${localizeDate(comment.date)}</p>
53
177
  </div>
54
178
  <div class="comment-text-wrapper">
@@ -66,19 +190,25 @@ const singleCommentTemplate = ({comment, author, active, editComment}) =>
66
190
  : ""
67
191
  }
68
192
  ${
69
- !active && comment.answers.length > 0
70
- ? `<a type="button" class="comment-expand-compress replies">+${comment.answers.length} ${gettext("replies")}</a>`
193
+ !active && (comment.answers?.length || 0) > 0
194
+ ? `<a type="button" class="comment-expand-compress replies">+${comment.answers!.length} ${gettext("replies")}</a>`
71
195
  : ""
72
196
  }
73
197
  </div>
74
198
  </div>`
75
199
 
76
200
  /** A template for the editor of a first comment before it has been saved (not an answer to a comment). */
77
- const firstCommentTemplate = ({comment, author}) =>
201
+ const firstCommentTemplate = ({
202
+ comment,
203
+ author
204
+ }: {
205
+ comment: Comment
206
+ author: ContactPerson | undefined
207
+ }) =>
78
208
  `<div class="comment-item">
79
209
  <div class="comment-user">
80
210
  ${author ? avatarTemplate({user: author}) : '<span class="fw-string-avatar"></span>'}
81
- <h5 class="comment-user-name">${escapeText(author ? author.name : comment.username)}</h5>
211
+ <h5 class="comment-user-name">${escapeText(author?.name || comment.username)}</h5>
82
212
  <p class="comment-date">${localizeDate(comment.date)}</p>
83
213
  </div>
84
214
  <div class="comment-text-wrapper">
@@ -86,7 +216,13 @@ const firstCommentTemplate = ({comment, author}) =>
86
216
  </div>
87
217
  </div>`
88
218
 
89
- const helpTemplate = ({help, filterOptions}) => {
219
+ const helpTemplate = ({
220
+ help,
221
+ filterOptions
222
+ }: {
223
+ help: {active?: boolean; help: unknown}
224
+ filterOptions: MarginBoxFilterOptions
225
+ }) => {
90
226
  if (!filterOptions.help || !filterOptions.info) {
91
227
  return '<div class="margin-box help hidden"></div>'
92
228
  } else {
@@ -94,7 +230,13 @@ const helpTemplate = ({help, filterOptions}) => {
94
230
  }
95
231
  }
96
232
 
97
- const warningTemplate = ({warning, filterOptions}) => {
233
+ const warningTemplate = ({
234
+ warning,
235
+ filterOptions
236
+ }: {
237
+ warning: {active?: boolean; warning: string}
238
+ filterOptions: MarginBoxFilterOptions
239
+ }) => {
98
240
  if (!filterOptions.warning || !filterOptions.info) {
99
241
  return '<div class="margin-box fw-warning hidden"></div>'
100
242
  } else {
@@ -111,6 +253,15 @@ const commentTemplate = ({
111
253
  user,
112
254
  docInfo,
113
255
  filterOptions
256
+ }: {
257
+ comment: Comment
258
+ view: string
259
+ active: boolean
260
+ editComment: boolean
261
+ activeCommentAnswerId: number | string | undefined
262
+ user: EditorUser
263
+ docInfo: DocInfo
264
+ filterOptions: MarginBoxFilterOptions
114
265
  }) => {
115
266
  if (
116
267
  !filterOptions.comments ||
@@ -125,16 +276,16 @@ const commentTemplate = ({
125
276
  return '<div class="margin-box comment hidden"></div>'
126
277
  }
127
278
  const author =
128
- comment.user === docInfo.owner.id
279
+ comment.user === docInfo.owner?.id
129
280
  ? docInfo.owner
130
- : docInfo.owner.contacts.find(
281
+ : docInfo.owner?.contacts.find(
131
282
  contact =>
132
283
  contact.id === comment.user && contact.type === "user"
133
284
  ),
134
285
  assignedUser = comment.assignedUser
135
- ? comment.assignedUser === docInfo.owner.id
286
+ ? comment.assignedUser === docInfo.owner?.id
136
287
  ? docInfo.owner
137
- : docInfo.owner.contacts.find(
288
+ : docInfo.owner?.contacts.find(
138
289
  contact =>
139
290
  contact.id === comment.assignedUser &&
140
291
  contact.type === "user"
@@ -155,11 +306,11 @@ ${
155
306
  ${
156
307
  comment.comment.length === 0
157
308
  ? firstCommentTemplate({comment, author})
158
- : singleCommentTemplate({comment, user, author, active, editComment})
309
+ : singleCommentTemplate({comment, author, active, editComment})
159
310
  }
160
311
  ${
161
312
  assignedUsername
162
- ? `<div class="assigned-user">${gettext("Assigned to")} <em>${escapeText(assignedUsername)}</em></div>`
313
+ ? `<div class="assigned-user">${gettext("Assigned to")} <em>${escapeText(assignedUsername || "")}</em></div>`
163
314
  : ""
164
315
  }
165
316
  ${
@@ -169,9 +320,9 @@ ${
169
320
  answerCommentTemplate({
170
321
  answer,
171
322
  author:
172
- answer.user === docInfo.owner.id
323
+ answer.user === docInfo.owner?.id
173
324
  ? docInfo.owner
174
- : docInfo.owner.contacts.find(
325
+ : docInfo.owner?.contacts.find(
175
326
  contact =>
176
327
  contact.id === answer.user &&
177
328
  contact.type === "user"
@@ -179,8 +330,7 @@ ${
179
330
  commentId: comment.id,
180
331
  active,
181
332
  activeCommentAnswerId,
182
- user,
183
- docInfo
333
+ user
184
334
  })
185
335
  )
186
336
  .join("")
@@ -189,7 +339,7 @@ ${
189
339
  ${
190
340
  comment.id > 0 &&
191
341
  ((comment.user === user.id &&
192
- !READ_ONLY_ROLES.includes(docInfo.access_rights)) ||
342
+ !READ_ONLY_ROLES.includes(docInfo.access_rights || "")) ||
193
343
  docInfo.access_rights === "write") &&
194
344
  !editComment
195
345
  ? `<span class="show-marginbox-options comment-option fa-solid fa-ellipsis-v" data-id="${comment.id}" data-commentUser="${comment.user}"
@@ -202,7 +352,7 @@ ${
202
352
  !activeCommentAnswerId &&
203
353
  !editComment &&
204
354
  0 < comment.comment.length &&
205
- !READ_ONLY_ROLES.includes(docInfo.access_rights)
355
+ !READ_ONLY_ROLES.includes(docInfo.access_rights || "")
206
356
  ? `<div class="comment-item comment-answer comment-answer-editor">
207
357
  <div id="answer-editor"></div>
208
358
  </div>`
@@ -212,7 +362,7 @@ ${
212
362
  `
213
363
  }
214
364
 
215
- const ACTIONS = {
365
+ const ACTIONS: Record<string, string> = {
216
366
  insertion: gettext("Insertion"),
217
367
  deletion: gettext("Deletion"),
218
368
  format_change: gettext("Format change"),
@@ -240,13 +390,19 @@ const ACTIONS = {
240
390
  block_change_code_block: gettext("Changed into code block")
241
391
  }
242
392
 
243
- const FORMAT_MARK_NAMES = {
393
+ const FORMAT_MARK_NAMES: Record<string, string> = {
244
394
  em: gettext("Emphasis"),
245
395
  strong: gettext("Strong"),
246
396
  underline: gettext("Underline")
247
397
  }
248
398
 
249
- const formatChangeTemplate = ({before, after}) => {
399
+ const formatChangeTemplate = ({
400
+ before,
401
+ after
402
+ }: {
403
+ before: string[]
404
+ after: string[]
405
+ }) => {
250
406
  let returnText = ""
251
407
  if (before.length) {
252
408
  returnText += `<div class="format-change-info"><b>${gettext("Removed")}:</b> ${before.map(markName => FORMAT_MARK_NAMES[markName]).join(", ")}</div>`
@@ -257,7 +413,7 @@ const formatChangeTemplate = ({before, after}) => {
257
413
  return returnText
258
414
  }
259
415
 
260
- const BLOCK_NAMES = {
416
+ const BLOCK_NAMES: Record<string, string> = {
261
417
  paragraph: gettext("Paragraph"),
262
418
  heading1: gettext("Heading 1"),
263
419
  heading2: gettext("Heading 2"),
@@ -270,10 +426,27 @@ const BLOCK_NAMES = {
270
426
  bullet_list: gettext("Bullet list")
271
427
  }
272
428
 
273
- const blockChangeTemplate = ({before}, node) =>
274
- `<div class="format-change-info"><b>${gettext("Was")}:</b> ${BLOCK_NAMES[before.type]}${before.type === "ordered_list" && node.type.name === "ordered_list" ? `, ${gettext("start")}: ${before.attrs.order}` : ""}</div>`
429
+ const blockChangeTemplate = (
430
+ {before}: {before: {type: string; attrs?: {order?: number}}},
431
+ node: Node
432
+ ) =>
433
+ `<div class="format-change-info"><b>${gettext("Was")}:</b> ${BLOCK_NAMES[before.type]}${before.type === "ordered_list" && node.type.name === "ordered_list" ? `, ${gettext("start")}: ${before.attrs?.order}` : ""}</div>`
275
434
 
276
- const trackTemplate = ({type, data, node, active, docInfo, filterOptions}) => {
435
+ const trackTemplate = ({
436
+ type,
437
+ data,
438
+ node,
439
+ active,
440
+ docInfo,
441
+ filterOptions
442
+ }: {
443
+ type: TrackMarginBox["type"]
444
+ data: TrackData
445
+ node: Node
446
+ active: boolean
447
+ docInfo: DocInfo
448
+ filterOptions: MarginBoxFilterOptions
449
+ }) => {
277
450
  if (
278
451
  !filterOptions.track ||
279
452
  (filterOptions.trackAuthor && data.user !== filterOptions.trackAuthor)
@@ -282,9 +455,9 @@ const trackTemplate = ({type, data, node, active, docInfo, filterOptions}) => {
282
455
  }
283
456
 
284
457
  const author =
285
- data.user === docInfo.owner.id
458
+ data.user === docInfo.owner?.id
286
459
  ? docInfo.owner
287
- : docInfo.owner.contacts.find(
460
+ : docInfo.owner?.contacts.find(
288
461
  contact =>
289
462
  contact.id === data.user && contact.type === "user"
290
463
  ),
@@ -295,13 +468,13 @@ const trackTemplate = ({type, data, node, active, docInfo, filterOptions}) => {
295
468
  <div class="track-${type}">
296
469
  <div class="comment-user">
297
470
  ${author ? avatarTemplate({user: author}) : '<span class="fw-string-avatar"></span>'}
298
- <h5 class="comment-user-name">${escapeText(author ? author.name : data.username)}</h5>
471
+ <h5 class="comment-user-name">${escapeText(author?.name || data.username)}</h5>
299
472
  <p class="comment-date">${node.type.name === "text" ? `${gettext("ca.")} ` : ""}${localizeDate(data.date * 60000, "minutes")}</p>
300
473
  </div>
301
474
  <div class="track-title">
302
- ${interpolate(ACTIONS[nodeActionType] ? ACTIONS[nodeActionType] : ACTIONS[type], node.attrs, true)}
475
+ ${interpolate(ACTIONS[nodeActionType] ? ACTIONS[nodeActionType] : ACTIONS[type], node.attrs as unknown as (string | number)[], true)}
303
476
  </div>
304
- ${type === "format_change" ? formatChangeTemplate(data) : type === "block_change" ? blockChangeTemplate(data, node) : ""}
477
+ ${type === "format_change" ? formatChangeTemplate({before: data.before as string[], after: data.after || []}) : type === "block_change" ? blockChangeTemplate({before: data.before as {type: string; attrs?: {order?: number}}}, node) : ""}
305
478
  </div>
306
479
  ${
307
480
  docInfo.access_rights === "write"
@@ -319,6 +492,10 @@ export const marginboxFilterTemplate = ({
319
492
  marginBoxes,
320
493
  filterOptions,
321
494
  pastParticipants
495
+ }: {
496
+ marginBoxes: MarginBox[]
497
+ filterOptions: MarginBoxFilterOptions
498
+ pastParticipants: Participant[]
322
499
  }) => {
323
500
  const comments = marginBoxes.find(box => box.type === "comment")
324
501
  const tracks = marginBoxes.find(box =>
@@ -447,6 +624,13 @@ export const globalCommentsTemplate = ({
447
624
  user,
448
625
  docInfo,
449
626
  filterOptions
627
+ }: {
628
+ globalComments: CommentMarginBox[]
629
+ editComment: boolean
630
+ activeCommentAnswerId: number | string | undefined
631
+ user: EditorUser
632
+ docInfo: DocInfo
633
+ filterOptions: MarginBoxFilterOptions
450
634
  }) =>
451
635
  `<div id="global-comment-container"><div>${globalComments
452
636
  .map(mBox =>
@@ -471,6 +655,13 @@ export const marginBoxesTemplate = ({
471
655
  user,
472
656
  docInfo,
473
657
  filterOptions
658
+ }: {
659
+ marginBoxes: MarginBox[]
660
+ editComment: boolean
661
+ activeCommentAnswerId: number | string | undefined
662
+ user: EditorUser
663
+ docInfo: DocInfo
664
+ filterOptions: MarginBoxFilterOptions
474
665
  }) =>
475
666
  `<div id="margin-box-container"><div>${marginBoxes
476
667
  .map(mBox => {
@@ -517,7 +708,15 @@ export const marginBoxesTemplate = ({
517
708
  })
518
709
  .join("")}</div></div>`
519
710
 
520
- export const marginBoxOptions = (comment, user, docInfo) => {
711
+ function getAssignees(docInfo: DocInfo): ContactPerson[] {
712
+ return docInfo.owner ? [docInfo.owner, ...docInfo.owner.contacts] : []
713
+ }
714
+
715
+ export const marginBoxOptions = (
716
+ comment: MarginBoxOptionComment,
717
+ user: EditorUser,
718
+ docInfo: DocInfo
719
+ ) => {
521
720
  return `<div class="comment-answer-options fw-marginbox-options fw-pulldown">
522
721
  ${
523
722
  !comment.answer
@@ -537,12 +736,11 @@ export const marginBoxOptions = (comment, user, docInfo) => {
537
736
  <div class="fw-pulldown marginbox-options-submenu">
538
737
  <ul>
539
738
  <li><span class="fw-pulldown-item unassign-comment" data-id="${comment.id}" title="${gettext("Remove user assignment from comment")}">${gettext("No-one")}</span></li>
540
- ${docInfo.owner.contacts
541
- .concat(docInfo.owner)
739
+ ${getAssignees(docInfo)
542
740
  .filter(contact => contact.type !== "userinvite")
543
741
  .map(
544
- user =>
545
- `<li><span class="fw-pulldown-item assign-comment" data-id="${comment.id}" data-user="${user.id}" data-username="${escapeText(user.name)}" title="${gettext("Assign comment to")} ${escapeText(user.name)}">${escapeText(user.name)}</span></li>`
742
+ contact =>
743
+ `<li><span class="fw-pulldown-item assign-comment" data-id="${comment.id}" data-user="${contact.id}" data-username="${escapeText(contact.name || "")}" title="${gettext("Assign comment to")} ${escapeText(contact.name || "")}">${escapeText(contact.name || "")}</span></li>`
546
744
  )
547
745
  .join("")}
548
746
  </ul>
@@ -1,4 +1,15 @@
1
1
  import {CodeBlockDialog} from "../../dialogs/index.js"
2
+ import {NodeSelection} from "prosemirror-state"
3
+ import type {Editor} from "../../types.js"
4
+
5
+ interface MenuModelItem {
6
+ title: string
7
+ type: string
8
+ tooltip: string
9
+ order: number
10
+ action: (editor: Editor) => boolean
11
+ disabled?: (editor: Editor) => boolean
12
+ }
2
13
 
3
14
  export const codeBlockMenuModel = () => ({
4
15
  content: [
@@ -7,19 +18,19 @@ export const codeBlockMenuModel = () => ({
7
18
  type: "action",
8
19
  tooltip: gettext("Configure the code block."),
9
20
  order: 1,
10
- action: editor => {
21
+ action: (editor: Editor) => {
11
22
  const dialog = new CodeBlockDialog(editor)
12
23
  dialog.init()
13
24
  return false
14
25
  },
15
- disabled: editor => {
26
+ disabled: (editor: Editor) => {
16
27
  const view = editor.currentView
17
28
  const {selection} = view.state
18
29
 
19
30
  // Check if we're in a code block
20
31
  let inCodeBlock = false
21
32
  if (
22
- selection.node &&
33
+ selection instanceof NodeSelection &&
23
34
  selection.node.type.name === "code_block"
24
35
  ) {
25
36
  inCodeBlock = true
@@ -41,12 +52,12 @@ export const codeBlockMenuModel = () => ({
41
52
  type: "action",
42
53
  tooltip: gettext("Remove the code block."),
43
54
  order: 2,
44
- action: editor => {
55
+ action: (editor: Editor) => {
45
56
  const view = editor.currentView
46
57
  const tr = view.state.tr.deleteSelection()
47
58
  view.dispatch(tr)
48
59
  return false
49
60
  }
50
61
  }
51
- ]
62
+ ] as MenuModelItem[]
52
63
  })
@@ -1,6 +1,13 @@
1
+ import type {NodeSelection} from "prosemirror-state"
2
+
3
+ import type {Editor} from "../../types.js"
4
+
1
5
  import {FigureDialog} from "../../dialogs/index.js"
2
6
  import {figureMenuAction} from "./utils.js"
3
7
 
8
+ const selectedNode = (editor: Editor) =>
9
+ (editor.currentView.state.selection as NodeSelection).node
10
+
4
11
  export const figureMenuModel = () => ({
5
12
  content: [
6
13
  {
@@ -8,18 +15,17 @@ export const figureMenuModel = () => ({
8
15
  type: "action",
9
16
  tooltip: gettext("Configure the figure."),
10
17
  order: 1,
11
- action: editor => {
18
+ action: (editor: Editor) => {
12
19
  const dialog = new FigureDialog(editor)
13
20
  dialog.init()
14
21
  return false
15
22
  },
16
- disabled: editor =>
23
+ disabled: (editor: Editor) =>
17
24
  !(
18
- editor.currentView.state.selection.node?.type.name ===
19
- "figure"
25
+ selectedNode(editor)?.type.name === "figure"
20
26
  ) ||
21
- editor.currentView.state.selection.node?.attrs.track?.find(
22
- track => track.type === "deletion"
27
+ selectedNode(editor)?.attrs.track?.find(
28
+ (track: {type: string}) => track.type === "deletion"
23
29
  )
24
30
  },
25
31
  {
@@ -28,18 +34,17 @@ export const figureMenuModel = () => ({
28
34
  icon: "trash-alt",
29
35
  tooltip: gettext("Delete the figure"),
30
36
  order: 2,
31
- action: editor => {
37
+ action: (editor: Editor) => {
32
38
  const tr = editor.currentView.state.tr
33
39
  tr.deleteSelection()
34
40
  editor.currentView.dispatch(tr)
35
41
  },
36
- disabled: editor =>
42
+ disabled: (editor: Editor) =>
37
43
  !(
38
- editor.currentView.state.selection.node?.type.name ===
39
- "figure"
44
+ selectedNode(editor)?.type.name === "figure"
40
45
  ) ||
41
- editor.currentView.state.selection.node?.attrs.track?.find(
42
- track => track.type === "deletion"
46
+ selectedNode(editor)?.attrs.track?.find(
47
+ (track: {type: string}) => track.type === "deletion"
43
48
  )
44
49
  }
45
50
  ]
@@ -52,7 +57,7 @@ export const figureWidthMenuModel = () => ({
52
57
  type: "action",
53
58
  order: 0,
54
59
  value: "100",
55
- action: figureDialog => {
60
+ action: (figureDialog: InstanceType<typeof FigureDialog>) => {
56
61
  figureMenuAction("100", figureDialog)
57
62
  },
58
63
  selected: false
@@ -62,7 +67,7 @@ export const figureWidthMenuModel = () => ({
62
67
  type: "action",
63
68
  order: 1,
64
69
  value: "75",
65
- action: figureDialog => {
70
+ action: (figureDialog: InstanceType<typeof FigureDialog>) => {
66
71
  figureMenuAction("75", figureDialog)
67
72
  },
68
73
  selected: false
@@ -72,7 +77,7 @@ export const figureWidthMenuModel = () => ({
72
77
  type: "action",
73
78
  order: 2,
74
79
  value: "50",
75
- action: figureDialog => {
80
+ action: (figureDialog: InstanceType<typeof FigureDialog>) => {
76
81
  figureMenuAction("50", figureDialog)
77
82
  },
78
83
  selected: false
@@ -82,7 +87,7 @@ export const figureWidthMenuModel = () => ({
82
87
  type: "action",
83
88
  order: 3,
84
89
  value: "25",
85
- action: figureDialog => {
90
+ action: (figureDialog: InstanceType<typeof FigureDialog>) => {
86
91
  figureMenuAction("25", figureDialog)
87
92
  },
88
93
  selected: false
@@ -0,0 +1,13 @@
1
+ import type {FigureDialog} from "../../dialogs/index.js"
2
+
3
+ export const figureMenuAction = (
4
+ value: string,
5
+ figureDialog: FigureDialog
6
+ ): void => {
7
+ const buttonDOM = document.querySelector(".figure-width")
8
+ if (!buttonDOM?.firstElementChild) {
9
+ return
10
+ }
11
+ buttonDOM.firstElementChild.innerHTML = `${value} %`
12
+ figureDialog.width = value
13
+ }