@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
@@ -0,0 +1,67 @@
1
+ import {GapCursor} from "prosemirror-gapcursor"
2
+ import {Plugin, PluginKey, TextSelection} from "prosemirror-state"
3
+ import type {ResolvedPos} from "prosemirror-model"
4
+
5
+ const posHidden = ($pos: ResolvedPos) => {
6
+ let hidden = false
7
+ for (let i = $pos.depth; i > 0; i--) {
8
+ const node = $pos.node(i)
9
+ if (
10
+ node.attrs.hidden ||
11
+ (["table_caption", "figure_caption"].includes(node.type.name) &&
12
+ $pos.node(i - 1).attrs.caption === false)
13
+ ) {
14
+ hidden = true
15
+ }
16
+ }
17
+ return hidden
18
+ }
19
+
20
+ const key = new PluginKey("jump-hidden-nodes")
21
+ export const jumpHiddenNodesPlugin = (_options: {editor: unknown}) =>
22
+ new Plugin({
23
+ key,
24
+ appendTransaction: (trs, oldState, state) => {
25
+ if (state.selection.from !== state.selection.to) {
26
+ // Only applies to collapsed selection
27
+ return
28
+ }
29
+ const selection = state.selection
30
+ let $pos = selection.$from
31
+ if (!posHidden($pos)) {
32
+ return
33
+ }
34
+ let movedRight = false,
35
+ movedLeft = false
36
+ const startPos = $pos.pos
37
+ while ($pos.depth > 1 && posHidden($pos)) {
38
+ $pos = state.doc.resolve($pos.after())
39
+ movedRight = true
40
+ }
41
+ if (!movedRight) {
42
+ $pos = selection.$from
43
+ while ($pos.depth > 1 && posHidden($pos)) {
44
+ $pos = state.doc.resolve($pos.before())
45
+ movedLeft = true
46
+ }
47
+ }
48
+ if (!movedRight && !movedLeft) {
49
+ return
50
+ }
51
+ let tr = state.tr
52
+ if (
53
+ $pos.node().isTextblock &&
54
+ $pos.pos >= startPos &&
55
+ $pos.pos <= startPos
56
+ ) {
57
+ // Try to set text selection
58
+ tr = tr.setSelection(TextSelection.near($pos))
59
+ } else if ($pos.pos !== startPos) {
60
+ tr = tr.setSelection(new GapCursor($pos))
61
+ }
62
+ if (trs[trs.length - 1].doc.eq(tr.doc)) {
63
+ return tr
64
+ }
65
+ return
66
+ }
67
+ })
@@ -1,6 +1,9 @@
1
1
  import {NodeSelection, Plugin, PluginKey} from "prosemirror-state"
2
2
  import {RemoveMarkStep} from "prosemirror-transform"
3
3
  import {Decoration, DecorationSet} from "prosemirror-view"
4
+ import type {Node, Mark, NodeType, ResolvedPos} from "prosemirror-model"
5
+ import type {EditorState} from "prosemirror-state"
6
+ import type {EditorView} from "prosemirror-view"
4
7
 
5
8
  import {
6
9
  randomFigureId,
@@ -9,12 +12,17 @@ import {
9
12
  randomTableId
10
13
  } from "@fiduswriter/document/schema/common/index"
11
14
  import {CATS} from "@fiduswriter/document/schema/i18n"
15
+ import type {Track} from "@fiduswriter/document"
12
16
  import {addAlert, noSpaceTmp} from "fwtoolkit"
13
17
  import {CitationDialog, LinkDialog} from "../dialogs/index.js"
14
18
 
19
+ import type {Editor} from "../types.js"
20
+
21
+ type NodeTypeWithGroups = NodeType & {groups: string[]}
22
+
15
23
  const key = new PluginKey("links")
16
24
 
17
- const copyLink = href => {
25
+ const copyLink = (href: string): void => {
18
26
  const textarea = document.createElement("textarea")
19
27
  textarea.textContent = href
20
28
  textarea.style.position = "fixed" // Prevent scrolling to bottom of page in MS Edge.
@@ -32,7 +40,7 @@ const copyLink = href => {
32
40
  }
33
41
  }
34
42
 
35
- const nonDeletedTextContent = node => {
43
+ const nonDeletedTextContent = (node: Node): string => {
36
44
  let text = ""
37
45
  node.descendants(subNode => {
38
46
  if (
@@ -45,20 +53,25 @@ const nonDeletedTextContent = node => {
45
53
  return text
46
54
  }
47
55
 
48
- export const getInternalTargets = (state, language, editor) => {
49
- const internalTargets = []
50
- const anchors = {}
51
- const categories = {}
56
+ export const getInternalTargets = (
57
+ state: EditorState,
58
+ language: string,
59
+ editor: "main" | "foot"
60
+ ): Array<{id: string; text: string}> => {
61
+ const internalTargets: Array<{id: string; text: string}> = []
62
+ const anchors: Record<string, string> = {}
63
+ const categories: Record<string, number> = {}
52
64
 
53
65
  state.doc.descendants(node => {
54
- if (node.attrs.track?.find(track => track.type === "deletion")) {
66
+ const track = node.attrs.track as Track[] | undefined
67
+ if (track?.find(trackAttr => trackAttr.type === "deletion")) {
55
68
  return true
56
69
  }
57
- if (node.type.groups.includes("heading")) {
70
+ if ((node.type as NodeTypeWithGroups).groups.includes("heading")) {
58
71
  const textContent = nonDeletedTextContent(node)
59
72
  if (textContent.length) {
60
73
  internalTargets.push({
61
- id: node.attrs.id,
74
+ id: node.attrs.id as string,
62
75
  text: textContent
63
76
  })
64
77
  }
@@ -70,17 +83,17 @@ export const getInternalTargets = (state, language, editor) => {
70
83
  node.attrs.category &&
71
84
  node.attrs.category !== "none"
72
85
  ) {
73
- if (!categories[node.attrs.category]) {
74
- categories[node.attrs.category] = 0
86
+ if (!categories[node.attrs.category as string]) {
87
+ categories[node.attrs.category as string] = 0
75
88
  }
76
- categories[node.attrs.category]++
89
+ categories[node.attrs.category as string]++
77
90
 
78
91
  internalTargets.push({
79
- id: node.attrs.id,
92
+ id: node.attrs.id as string,
80
93
  text:
81
94
  editor === "main"
82
- ? `${CATS[node.attrs.category][language]} ${categories[node.attrs.category]}`
83
- : `${CATS[node.attrs.category][language]} ${categories[node.attrs.category]}A`
95
+ ? `${CATS[node.attrs.category as string][language]} ${categories[node.attrs.category as string]}`
96
+ : `${CATS[node.attrs.category as string][language]} ${categories[node.attrs.category as string]}A`
84
97
  })
85
98
  return true
86
99
  }
@@ -90,19 +103,20 @@ export const getInternalTargets = (state, language, editor) => {
90
103
  node.attrs.category &&
91
104
  node.attrs.id
92
105
  ) {
93
- if (!categories[node.attrs.category]) {
94
- categories[node.attrs.category] = 0
106
+ if (!categories[node.attrs.category as string]) {
107
+ categories[node.attrs.category as string] = 0
95
108
  }
96
- categories[node.attrs.category]++
109
+ categories[node.attrs.category as string]++
97
110
 
98
111
  const categoryLabel =
99
- CATS[node.attrs.category]?.[language] || node.attrs.category
112
+ CATS[node.attrs.category as string]?.[language] ||
113
+ (node.attrs.category as string)
100
114
  const text = node.attrs.title
101
- ? `${categoryLabel} ${categories[node.attrs.category]}: ${node.attrs.title}`
102
- : `${categoryLabel} ${categories[node.attrs.category]}`
115
+ ? `${categoryLabel} ${categories[node.attrs.category as string]}: ${node.attrs.title}`
116
+ : `${categoryLabel} ${categories[node.attrs.category as string]}`
103
117
 
104
118
  internalTargets.push({
105
- id: node.attrs.id,
119
+ id: node.attrs.id as string,
106
120
  text: editor === "main" ? text : `${text}A`
107
121
  })
108
122
  return true
@@ -111,10 +125,11 @@ export const getInternalTargets = (state, language, editor) => {
111
125
  if (node.type.name === "text") {
112
126
  const anchor = node.marks.find(mark => mark.type.name === "anchor")
113
127
  if (anchor) {
114
- anchors[anchor.attrs.id] =
115
- (anchors[anchor.attrs.id] || "") + node.text
128
+ anchors[anchor.attrs.id as string] =
129
+ (anchors[anchor.attrs.id as string] || "") + node.text
116
130
  }
117
131
  }
132
+ return true
118
133
  })
119
134
  Object.entries(anchors).forEach(([id, text]) =>
120
135
  internalTargets.push({id, text})
@@ -123,14 +138,26 @@ export const getInternalTargets = (state, language, editor) => {
123
138
  return internalTargets
124
139
  }
125
140
 
126
- export const linksPlugin = options => {
141
+ interface LinksPluginState {
142
+ url: string
143
+ decos: DecorationSet
144
+ linkMark: Mark | false
145
+ anchorMark: Mark | false
146
+ crossReference: Node | undefined
147
+ citation: Node | undefined
148
+ selectedIndex: number
149
+ }
150
+
151
+ export const linksPlugin = (options: {editor: Editor}): Plugin => {
127
152
  // Holds the action functions for every visible <li> in the current dropup,
128
153
  // ordered exactly as they appear in the DOM. Populated by createDropUp()
129
154
  // and consumed by the handleKeyDown prop.
130
- let currentDropUpActions = []
155
+ let currentDropUpActions: Array<() => void> = []
131
156
 
132
- function getUrl(state, oldState, oldUrl) {
133
- const id = state.selection.$head.parent.attrs.id,
157
+ const editor = options.editor
158
+
159
+ function getUrl(state: EditorState, oldState: EditorState, oldUrl: string) {
160
+ const id = state.selection.$head.parent.attrs.id as string | undefined,
134
161
  mark = state.selection.$head
135
162
  .marks()
136
163
  .find(mark => mark.type.name === "anchor")
@@ -149,24 +176,26 @@ export const linksPlugin = options => {
149
176
  return newUrl
150
177
  }
151
178
 
152
- function getLinkMark(state) {
179
+ function getLinkMark(state: EditorState): Mark | undefined {
153
180
  return state.selection.$head
154
181
  .marks()
155
182
  .find(mark => mark.type.name === "link")
156
183
  }
157
184
 
158
- function getAnchorMark(state) {
185
+ function getAnchorMark(state: EditorState): Mark | undefined {
159
186
  return state.selection.$head
160
187
  .marks()
161
188
  .find(mark => mark.type.name === "anchor")
162
189
  }
163
190
 
164
- function getCrossReference(state) {
191
+ function getCrossReference(state: EditorState): Node | undefined {
165
192
  // When inline_references is enabled the inline reference editor
166
193
  // handles cross-references; don't show the links dropup for them.
194
+ const appConfig = editor.app as {
195
+ config?: {user?: {preferences?: {inline_references?: boolean}}}
196
+ }
167
197
  if (
168
- options.editor?.app?.config?.user?.preferences
169
- ?.inline_references === true
198
+ appConfig.config?.user?.preferences?.inline_references === true
170
199
  ) {
171
200
  return undefined
172
201
  }
@@ -177,12 +206,14 @@ export const linksPlugin = options => {
177
206
  : undefined
178
207
  }
179
208
 
180
- function getCitation(state) {
209
+ function getCitation(state: EditorState): Node | undefined {
181
210
  // Only surface a citation in the links dropup when inline_references
182
211
  // is disabled (otherwise the inline reference editor handles it).
212
+ const appConfig = editor.app as {
213
+ config?: {user?: {preferences?: {inline_references?: boolean}}}
214
+ }
183
215
  if (
184
- options.editor?.app?.config?.user?.preferences
185
- ?.inline_references === true
216
+ appConfig.config?.user?.preferences?.inline_references === true
186
217
  ) {
187
218
  return undefined
188
219
  }
@@ -193,11 +224,13 @@ export const linksPlugin = options => {
193
224
  : undefined
194
225
  }
195
226
 
196
- function getDecos(state, selectedIndex = -1) {
227
+ function getDecos(state: EditorState, selectedIndex = -1): DecorationSet {
197
228
  const $head = state.selection.$head
198
- const currentMarks = [],
199
- linkMark = $head.marks().find(mark => mark.type.name === "link"),
200
- anchorMark = $head.marks().find(mark => mark.type.name === "anchor")
229
+ const linkMark = $head.marks().find(mark => mark.type.name === "link")
230
+ const anchorMark = $head
231
+ .marks()
232
+ .find(mark => mark.type.name === "anchor")
233
+ const currentMarks: Array<Mark | Node> = []
201
234
  const crossRef = getCrossReference(state)
202
235
  const citation = getCitation(state)
203
236
 
@@ -208,25 +241,30 @@ export const linksPlugin = options => {
208
241
  currentMarks.push(anchorMark)
209
242
  }
210
243
  if (crossRef) {
211
- currentMarks.push(crossRef)
244
+ currentMarks.push(crossRef as Node)
212
245
  }
213
246
  if (citation) {
214
- currentMarks.push(citation)
247
+ currentMarks.push(citation as Node)
215
248
  }
216
249
  if (!currentMarks.length) {
217
250
  return DecorationSet.empty
218
251
  }
219
252
 
220
253
  let startPos = $head.start() // position of block start.
221
- if (crossRef || citation) {
254
+ const inlineNode = crossRef || citation
255
+ if (inlineNode) {
222
256
  // For inline nodes, place dropup after the node
223
- startPos = state.selection.from + (crossRef || citation).nodeSize
257
+ startPos = state.selection.from + inlineNode.nodeSize
224
258
  } else {
225
259
  let index = $head.index()
226
260
  while (
227
261
  index < $head.parent.childCount - 1 &&
228
262
  currentMarks.some(mark =>
229
- mark.isInSet($head.parent.child(index + 1).marks)
263
+ (mark as Mark).isInSet
264
+ ? (mark as Mark).isInSet(
265
+ $head.parent.child(index + 1).marks
266
+ )
267
+ : false
230
268
  )
231
269
  ) {
232
270
  index++
@@ -248,33 +286,32 @@ export const linksPlugin = options => {
248
286
  }
249
287
 
250
288
  function createDropUp(
251
- linkMark,
252
- anchorMark,
253
- crossRef,
254
- $head,
255
- citation = null,
289
+ linkMark: Mark | undefined,
290
+ anchorMark: Mark | undefined,
291
+ crossRef: Node | undefined,
292
+ $head: ResolvedPos,
293
+ citation: Node | undefined,
256
294
  selectedIndex = -1
257
- ) {
295
+ ): HTMLElement {
258
296
  const dropUp = document.createElement("span"),
259
- editor = options.editor,
260
297
  writeAccess =
261
298
  editor.docInfo.access_rights === "write" ? true : false,
262
299
  editAccess = ["write", "write-tracked", "review-tracked"].includes(
263
- editor.docInfo.access_rights
300
+ editor.docInfo.access_rights as string
264
301
  )
265
302
  ? true
266
303
  : false
267
- let linkType,
268
- linkHref,
269
- anchorHref,
304
+ let linkType: "internal" | "external" | undefined,
305
+ linkHref: string | undefined,
306
+ anchorHref: string | undefined,
270
307
  requiredPx = 10
271
308
 
272
309
  if (linkMark) {
273
- linkType = linkMark.attrs.href[0] === "#" ? "internal" : "external"
310
+ linkType = (linkMark.attrs.href as string)[0] === "#" ? "internal" : "external"
274
311
  linkHref =
275
312
  linkType === "internal"
276
313
  ? window.location.href.split("#")[0] + linkMark.attrs.href
277
- : linkMark.attrs.href
314
+ : (linkMark.attrs.href as string)
278
315
  requiredPx += 120
279
316
  }
280
317
 
@@ -297,7 +334,7 @@ export const linksPlugin = options => {
297
334
  ? `<div class="drop-up-head">
298
335
  ${
299
336
  linkMark.attrs.title
300
- ? `<div class="link-title">${gettext("Title")}:&nbsp;${linkMark.attrs.title}</div>`
337
+ ? `<div class="link-title">${gettext("Title")}:&amp;nbsp;${linkMark.attrs.title}</div>`
301
338
  : ""
302
339
  }
303
340
  <div class="link-href">
@@ -399,17 +436,22 @@ ${
399
436
 
400
437
  if (linkType === "internal") {
401
438
  const el = dropUp.querySelector("a.internal")
402
- el.addEventListener("click", event => {
439
+ el?.addEventListener("click", event => {
403
440
  event.preventDefault()
404
441
  event.stopImmediatePropagation()
405
- options.editor.scrollIdIntoView(linkMark.attrs.href.slice(1))
442
+ options.editor.scrollIdIntoView(
443
+ (linkMark!.attrs.href as string).slice(1)
444
+ )
406
445
  })
407
446
  }
408
447
 
409
448
  // Rebuild the actions array so handleKeyDown always has the current
410
449
  // set of handlers in the same order the <li> items appear in the DOM.
411
450
  currentDropUpActions = []
412
- const setupAction = (selector, action) => {
451
+ const setupAction = (
452
+ selector: string,
453
+ action: () => void
454
+ ): void => {
413
455
  const el = dropUp.querySelector(selector)
414
456
  if (!el) {
415
457
  return
@@ -424,7 +466,7 @@ ${
424
466
 
425
467
  // Actions must be registered in the same order they appear in the HTML
426
468
  // template so that selectedIndex maps to the correct <li> element.
427
- setupAction(".copy-link", () => copyLink(linkHref))
469
+ setupAction(".copy-link", () => copyLink(linkHref || ""))
428
470
  setupAction(".edit-link", () => {
429
471
  const dialog = new LinkDialog(editor)
430
472
  dialog.init()
@@ -434,17 +476,17 @@ ${
434
476
  editor.view.state.tr.removeMark(
435
477
  $head.start(),
436
478
  $head.end(),
437
- linkMark
479
+ linkMark!
438
480
  )
439
481
  )
440
482
  })
441
- setupAction(".copy-anchor", () => copyLink(anchorHref))
483
+ setupAction(".copy-anchor", () => copyLink(anchorHref || ""))
442
484
  setupAction(".remove-anchor", () => {
443
485
  editor.view.dispatch(
444
486
  editor.view.state.tr.removeMark(
445
487
  $head.start(),
446
488
  $head.end(),
447
- anchorMark
489
+ anchorMark!
448
490
  )
449
491
  )
450
492
  })
@@ -483,16 +525,18 @@ ${
483
525
  return new Plugin({
484
526
  key,
485
527
  state: {
486
- init() {
528
+ init(): LinksPluginState {
487
529
  return {
488
530
  url: window.location.href,
489
531
  decos: DecorationSet.empty,
490
532
  linkMark: false,
533
+ anchorMark: false,
534
+ crossReference: undefined,
491
535
  citation: undefined,
492
536
  selectedIndex: -1
493
537
  }
494
538
  },
495
- apply(tr, _prev, oldState, state) {
539
+ apply(tr, _prev, oldState, state): LinksPluginState {
496
540
  let {
497
541
  url,
498
542
  decos,
@@ -501,7 +545,7 @@ ${
501
545
  crossReference,
502
546
  citation,
503
547
  selectedIndex
504
- } = this.getState(oldState)
548
+ } = key.getState(oldState) as LinksPluginState
505
549
  url = getUrl(state, oldState, url)
506
550
  const newLinkMark = getLinkMark(state)
507
551
  const newAnchorMark = getAnchorMark(state)
@@ -511,7 +555,7 @@ ${
511
555
  if (meta?.action === "navigate") {
512
556
  // Keyboard navigation: only selectedIndex changes; rebuild
513
557
  // the decoration so the focused class is applied correctly.
514
- selectedIndex = meta.index
558
+ selectedIndex = meta.index as number
515
559
  decos = getDecos(state, selectedIndex)
516
560
  } else if (
517
561
  newLinkMark === linkMark &&
@@ -524,23 +568,27 @@ ${
524
568
  // The cursor moved to a different mark — reset selection.
525
569
  selectedIndex = -1
526
570
  decos = getDecos(state, selectedIndex)
527
- linkMark = newLinkMark
528
- anchorMark = newAnchorMark
571
+ linkMark = newLinkMark || false
572
+ anchorMark = newAnchorMark || false
529
573
  crossReference = newCrossReference
530
574
  citation = newCitation
531
575
  }
532
576
  if (!tr.getMeta("remote")) {
533
577
  // We look for changes to figures or headings.
534
578
  let foundIdElement = false // found heading or figure
535
- let ranges = []
579
+ let ranges: Array<[number, number]> = []
536
580
  tr.steps.forEach((step, index) => {
537
- ranges.push([step.from, step.to])
581
+ const stepWithRange = step as unknown as {
582
+ from: number
583
+ to: number
584
+ }
585
+ ranges.push([stepWithRange.from, stepWithRange.to])
538
586
  tr.docs[index].nodesBetween(
539
- step.from,
540
- step.to,
587
+ stepWithRange.from,
588
+ stepWithRange.to,
541
589
  node => {
542
590
  if (
543
- node.type.groups.includes("heading") ||
591
+ (node.type as NodeTypeWithGroups).groups.includes("heading") ||
544
592
  node.type.name === "figure"
545
593
  ) {
546
594
  foundIdElement = true
@@ -559,7 +607,7 @@ ${
559
607
  state.doc.nodesBetween(range[0], range[1], node => {
560
608
  if (
561
609
  !foundIdElement &&
562
- (node.type.groups.includes("heading") ||
610
+ ((node.type as NodeTypeWithGroups).groups.includes("heading") ||
563
611
  [
564
612
  "figure",
565
613
  "table",
@@ -619,13 +667,16 @@ ${
619
667
  })
620
668
  // ID should not be found in the other pm either. So we look through
621
669
  // those as well.
622
- let otherState, language
670
+ let otherState: EditorState,
671
+ language: string
623
672
  if (oldState.schema === options.editor.view.state.schema) {
624
- otherState = options.editor.mod.footnotes.fnEditor.view.state
625
- language = newState.doc.attrs.language
673
+ otherState = (options.editor.mod.footnotes as {
674
+ fnEditor: {view: EditorView}
675
+ }).fnEditor.view.state
676
+ language = newState.doc.attrs.language as string
626
677
  } else {
627
678
  otherState = options.editor.view.state
628
- language = options.editor.view.state.doc.attrs.language
679
+ language = options.editor.view.state.doc.attrs.language as string
629
680
  }
630
681
 
631
682
  const internalTargets = getInternalTargets(
@@ -652,16 +703,16 @@ ${
652
703
  //
653
704
  // If an ID is used more than once, add steps to change the ID of all
654
705
  // but the first occurence.
655
- const ids = []
706
+ const ids: string[] = []
656
707
 
657
708
  otherState.doc.descendants(node => {
658
709
  if (
659
- node.type.groups.includes("heading") ||
710
+ (node.type as NodeTypeWithGroups).groups.includes("heading") ||
660
711
  ["figure", "table", "bullet_list", "ordered_list"].includes(
661
712
  node.type.name
662
713
  )
663
714
  ) {
664
- ids.push(node.attrs.id)
715
+ ids.push(node.attrs.id as string)
665
716
  }
666
717
  })
667
718
 
@@ -669,14 +720,14 @@ ${
669
720
 
670
721
  newState.doc.descendants((node, pos) => {
671
722
  if (
672
- node.type.groups.includes("heading") ||
723
+ (node.type as NodeTypeWithGroups).groups.includes("heading") ||
673
724
  ["figure", "table", "bullet_list", "ordered_list"].includes(
674
725
  node.type.name
675
726
  )
676
727
  ) {
677
- if (ids.includes(node.attrs.id) || !node.attrs.id) {
728
+ if (ids.includes(node.attrs.id as string) || !node.attrs.id) {
678
729
  // Add node if the id is false (default) or it is present twice
679
- const randomIdGenerator = node.type.groups.includes(
730
+ const randomIdGenerator = (node.type as NodeTypeWithGroups).groups.includes(
680
731
  "heading"
681
732
  )
682
733
  ? randomHeadingId
@@ -685,7 +736,7 @@ ${
685
736
  : node.type.name === "table"
686
737
  ? randomTableId
687
738
  : randomListId
688
- let id
739
+ let id: string | undefined
689
740
 
690
741
  while (!id || ids.includes(id)) {
691
742
  id = randomIdGenerator()
@@ -700,7 +751,7 @@ ${
700
751
 
701
752
  ids.push(id)
702
753
  } else {
703
- ids.push(node.attrs.id)
754
+ ids.push(node.attrs.id as string)
704
755
  }
705
756
  } else if (
706
757
  node.type.name === "cross_reference" &&
@@ -721,15 +772,16 @@ ${
721
772
  node.marks.forEach(mark => {
722
773
  if (
723
774
  mark.type.name === "link" &&
724
- mark.attrs.href[0] === "#" &&
775
+ (mark.attrs.href as string)[0] === "#" &&
725
776
  !internalTargets.find(
726
777
  it =>
727
- it.id === mark.attrs.href.slice(1) &&
778
+ it.id === (mark.attrs.href as string).slice(1) &&
728
779
  it.text === node.attrs.title
729
780
  )
730
781
  ) {
731
782
  const iTarget = internalTargets.find(
732
- it => it.id === mark.attrs.href.slice(1)
783
+ it =>
784
+ it.id === (mark.attrs.href as string).slice(1)
733
785
  )
734
786
  const attrs = Object.assign({}, mark.attrs, {
735
787
  title: iTarget ? iTarget.text : null
@@ -757,13 +809,15 @@ ${
757
809
  },
758
810
  props: {
759
811
  handleDOMEvents: {
760
- focus: (view, _event) => {
761
- const {url} = key.getState(view.state)
812
+ focus: (view: EditorView, _event: FocusEvent) => {
813
+ const {url} = key.getState(view.state) as LinksPluginState
762
814
  window.history.replaceState("", "", url)
763
815
  }
764
816
  },
765
- handleKeyDown(view, event) {
766
- const pluginState = key.getState(view.state)
817
+ handleKeyDown(view: EditorView, event: KeyboardEvent) {
818
+ const pluginState = key.getState(view.state) as
819
+ | LinksPluginState
820
+ | undefined
767
821
  if (!pluginState) {
768
822
  return false
769
823
  }
@@ -821,8 +875,8 @@ ${
821
875
 
822
876
  return false
823
877
  },
824
- decorations(state) {
825
- const {decos} = this.getState(state)
878
+ decorations(state: EditorState) {
879
+ const {decos} = key.getState(state) as LinksPluginState
826
880
  return decos
827
881
  }
828
882
  }
@@ -0,0 +1,17 @@
1
+ import {Plugin, PluginKey} from "prosemirror-state"
2
+ import type {EditorView} from "prosemirror-view"
3
+
4
+ import type {Editor} from "../types.js"
5
+
6
+ const key = new PluginKey("marginboxes")
7
+ export const marginboxesPlugin = (options: {editor: Editor}) =>
8
+ new Plugin({
9
+ key,
10
+ view(_editorState) {
11
+ return {
12
+ update: (view: EditorView, _prevState) => {
13
+ ;(options.editor.mod.marginboxes as {view(v: EditorView): void}).view(view)
14
+ }
15
+ }
16
+ }
17
+ })