@fiduswriter/editor 0.1.19 → 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 +48 -25
  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 +88 -60
  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} +191 -107
  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} +194 -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,5 +1,8 @@
1
1
  import {Plugin, PluginKey} from "prosemirror-state"
2
2
  import {Decoration, DecorationSet} from "prosemirror-view"
3
+ import type {Node} from "prosemirror-model"
4
+
5
+ import type {Editor} from "../../types.js"
3
6
 
4
7
  import {findSelectedChanges} from "./find_selected_changes.js"
5
8
 
@@ -9,7 +12,7 @@ export const selectedDeletionSpec = {}
9
12
  export const selectedChangeFormatSpec = {}
10
13
  export const selectedChangeBlockSpec = {}
11
14
 
12
- export function trackPlugin(options) {
15
+ export function trackPlugin(options: {editor: Editor}) {
13
16
  return new Plugin({
14
17
  key,
15
18
  state: {
@@ -17,11 +20,15 @@ export function trackPlugin(options) {
17
20
  // Make sure there are colors for all users who have left marks
18
21
  // in the document and that they are registered as past
19
22
  // participants for the marginbox filter.
20
- const users = {}
21
- users[options.editor.user.id] = options.editor.user.name
22
- state.doc.descendants(node => {
23
+ const users: Record<number, string> = {}
24
+ users[(options.editor.user as unknown as {id: number}).id] =
25
+ options.editor.user.name || ""
26
+ state.doc.descendants((node: Node) => {
23
27
  if (node.attrs.track) {
24
- node.attrs.track.forEach(track => {
28
+ ;(node.attrs.track as Array<{
29
+ user: number
30
+ username: string
31
+ }>).forEach(track => {
25
32
  if (!users[track.user] && track.user !== 0) {
26
33
  users[track.user] = track.username
27
34
  }
@@ -46,13 +53,26 @@ export function trackPlugin(options) {
46
53
  if (options.editor.mod.collab) {
47
54
  Object.entries(users).forEach(([id, userName]) => {
48
55
  const userId = Number.parseInt(id)
49
- options.editor.mod.collab.colors.ensureUserColor(userId)
56
+ ;(
57
+ options.editor.mod.collab as {
58
+ colors: {ensureUserColor: (id: number) => void}
59
+ pastParticipants: {id: number; name: string}[]
60
+ }
61
+ ).colors.ensureUserColor(userId)
50
62
  if (
51
- !options.editor.mod.collab.pastParticipants.find(
63
+ !(
64
+ options.editor.mod.collab as {
65
+ pastParticipants: {id: number; name: string}[]
66
+ }
67
+ ).pastParticipants.find(
52
68
  participant => participant.id === userId
53
69
  )
54
70
  ) {
55
- options.editor.mod.collab.pastParticipants.push({
71
+ ;(
72
+ options.editor.mod.collab as {
73
+ pastParticipants: {id: number; name: string}[]
74
+ }
75
+ ).pastParticipants.push({
56
76
  id: userId,
57
77
  name: userName
58
78
  })
@@ -64,7 +84,7 @@ export function trackPlugin(options) {
64
84
  decos: DecorationSet.empty
65
85
  }
66
86
  },
67
- apply(tr, _prev, oldState, state) {
87
+ apply(tr, _prev, _oldState, state) {
68
88
  const meta = tr.getMeta(key)
69
89
  if (meta) {
70
90
  // There has been an update, return values from meta instead
@@ -72,13 +92,13 @@ export function trackPlugin(options) {
72
92
  return meta
73
93
  }
74
94
 
75
- let {decos} = this.getState(oldState)
95
+ let {decos} = key.getState(state) as {decos: DecorationSet}
76
96
 
77
97
  if (tr.selectionSet) {
78
98
  const {insertion, deletion, formatChange} =
79
99
  findSelectedChanges(state)
80
100
  decos = DecorationSet.empty
81
- const decoType = tr.selection.node
101
+ const decoType = (tr.selection as {node?: Node}).node
82
102
  ? Decoration.node
83
103
  : Decoration.inline
84
104
  if (insertion) {
@@ -127,12 +147,16 @@ export function trackPlugin(options) {
127
147
  },
128
148
  props: {
129
149
  decorations(state) {
130
- const {decos} = this.getState(state)
131
- return decos
150
+ const pluginState = this.getState(state) as {decos: DecorationSet}
151
+ return pluginState.decos
132
152
  },
133
153
  handleDOMEvents: {
134
154
  focus: (_view, _event) => {
135
- options.editor.mod.comments.interactions.deactivateSelectedChanges()
155
+ ;(
156
+ options.editor.mod.comments as {
157
+ interactions: {deactivateSelectedChanges: () => void}
158
+ }
159
+ ).interactions.deactivateSelectedChanges()
136
160
  }
137
161
  }
138
162
  }
@@ -4,17 +4,21 @@ import {keyBindingsTemplate} from "./templates.js"
4
4
  * originally by Gabriel Lopez <gabriel.marcos.lopez@gmail.com>
5
5
  */
6
6
 
7
+ import type {Editor} from "../../types.js"
8
+
7
9
  export class KeyBindingsDialog {
8
- constructor(editor) {
10
+ editor: Editor
11
+
12
+ constructor(editor: Editor) {
9
13
  this.editor = editor
10
14
  }
11
15
 
12
- init() {
16
+ init(): void {
13
17
  const dialog = new Dialog({
14
18
  title: gettext("Keyboard Shortcuts"),
15
19
  body: keyBindingsTemplate(),
16
20
  width: 850,
17
- buttons: [{type: "close"}]
21
+ buttons: [{type: "close" as const}]
18
22
  })
19
23
  dialog.open()
20
24
  }
@@ -1,4 +1,4 @@
1
- export const keyBindingsTemplate = () =>
1
+ export const keyBindingsTemplate = (): string =>
2
2
  `<div id="helpListWrap" class="help-list-wrap">
3
3
  <ul class="help-list">
4
4
  <li class="help-key-unit">
@@ -1,5 +1,7 @@
1
1
  import {Dialog, addAlert} from "fwtoolkit"
2
+
2
3
  import {COMMENT_ONLY_ROLES, READ_ONLY_ROLES} from "../../index.js"
4
+ import type {Editor} from "../../types.js"
3
5
  import {
4
6
  deselectSearchMatch,
5
7
  endSearch,
@@ -7,25 +9,50 @@ import {
7
9
  getSearchMatches,
8
10
  selectNextSearchMatch,
9
11
  selectPreviousSearchMatch,
10
- setSearchTerm
12
+ setSearchTerm,
13
+ type Match
11
14
  } from "../../state_plugins/index.js"
15
+
12
16
  import {searchDialogTemplate} from "./templates.js"
13
17
 
18
+ interface SearchMatches {
19
+ matches: Match[]
20
+ selected: number | false
21
+ }
22
+
23
+ interface DialogButtonSpec {
24
+ text?: string
25
+ classes?: string
26
+ click?: () => void
27
+ type?: "cancel" | "close" | "ok"
28
+ icon?: string
29
+ dropdown?: boolean
30
+ }
31
+
14
32
  export class SearchReplaceDialog {
15
- constructor(editor) {
33
+ editor: Editor
34
+ dialog: InstanceType<typeof Dialog> | false
35
+ matches: SearchMatches
36
+ fnMatches: SearchMatches
37
+ canWrite: boolean
38
+ searchInput!: HTMLInputElement
39
+ replaceInput!: HTMLInputElement
40
+ resultCountEl!: HTMLElement
41
+
42
+ constructor(editor: Editor) {
16
43
  this.editor = editor
17
44
  this.dialog = false
18
45
  this.matches = {matches: [], selected: false}
19
46
  this.fnMatches = {matches: [], selected: false}
20
47
  this.canWrite =
21
- READ_ONLY_ROLES.includes(this.editor.docInfo.access_rights) ||
22
- COMMENT_ONLY_ROLES.includes(this.editor.docInfo.access_rights)
48
+ READ_ONLY_ROLES.includes(this.editor.docInfo.access_rights as string) ||
49
+ COMMENT_ONLY_ROLES.includes(this.editor.docInfo.access_rights as string)
23
50
  ? false
24
51
  : true
25
52
  }
26
53
 
27
- init() {
28
- let buttons = [
54
+ init(): void {
55
+ let buttons: DialogButtonSpec[] = [
29
56
  {
30
57
  text: gettext("Previous"),
31
58
  classes: "fw-light disabled",
@@ -44,10 +71,10 @@ export class SearchReplaceDialog {
44
71
  this.editor.view.dispatch(
45
72
  deselectSearchMatch(this.editor.view.state)
46
73
  )
47
- this.editor.mod.footnotes.fnEditor.view.dispatch(
74
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
48
75
  selectPreviousSearchMatch(
49
- this.editor.mod.footnotes.fnEditor.view
50
- .state
76
+ (this.editor.mod as any).footnotes.fnEditor
77
+ .view.state
51
78
  )
52
79
  )
53
80
  }
@@ -56,17 +83,17 @@ export class SearchReplaceDialog {
56
83
  this.fnMatches.selected > 0 ||
57
84
  !this.matches.matches.length
58
85
  ) {
59
- this.editor.mod.footnotes.fnEditor.view.dispatch(
86
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
60
87
  selectPreviousSearchMatch(
61
- this.editor.mod.footnotes.fnEditor.view
62
- .state
88
+ (this.editor.mod as any).footnotes.fnEditor
89
+ .view.state
63
90
  )
64
91
  )
65
92
  } else {
66
- this.editor.mod.footnotes.fnEditor.view.dispatch(
93
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
67
94
  deselectSearchMatch(
68
- this.editor.mod.footnotes.fnEditor.view
69
- .state
95
+ (this.editor.mod as any).footnotes.fnEditor
96
+ .view.state
70
97
  )
71
98
  )
72
99
  this.editor.view.dispatch(
@@ -95,10 +122,10 @@ export class SearchReplaceDialog {
95
122
  this.editor.view.dispatch(
96
123
  deselectSearchMatch(this.editor.view.state)
97
124
  )
98
- this.editor.mod.footnotes.fnEditor.view.dispatch(
125
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
99
126
  selectNextSearchMatch(
100
- this.editor.mod.footnotes.fnEditor.view
101
- .state
127
+ (this.editor.mod as any).footnotes.fnEditor
128
+ .view.state
102
129
  )
103
130
  )
104
131
  }
@@ -108,17 +135,17 @@ export class SearchReplaceDialog {
108
135
  this.fnMatches.matches.length - 1 ||
109
136
  !this.matches.matches.length
110
137
  ) {
111
- this.editor.mod.footnotes.fnEditor.view.dispatch(
138
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
112
139
  selectNextSearchMatch(
113
- this.editor.mod.footnotes.fnEditor.view
114
- .state
140
+ (this.editor.mod as any).footnotes.fnEditor
141
+ .view.state
115
142
  )
116
143
  )
117
144
  } else {
118
- this.editor.mod.footnotes.fnEditor.view.dispatch(
145
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
119
146
  deselectSearchMatch(
120
- this.editor.mod.footnotes.fnEditor.view
121
- .state
147
+ (this.editor.mod as any).footnotes.fnEditor
148
+ .view.state
122
149
  )
123
150
  )
124
151
  this.editor.view.dispatch(
@@ -157,20 +184,20 @@ export class SearchReplaceDialog {
157
184
  } else if (this.fnMatches.selected !== false) {
158
185
  const match =
159
186
  this.fnMatches.matches[this.fnMatches.selected]
160
- const originalDoc =
161
- this.editor.mod.footnotes.fnEditor.view.state
162
- .doc
163
- const tr =
164
- this.editor.mod.footnotes.fnEditor.view.state.tr.insertText(
165
- this.replaceInput.value,
166
- match.from,
167
- match.to
168
- )
169
- this.editor.mod.footnotes.fnEditor.view.dispatch(tr)
187
+ const originalDoc = (this.editor.mod as any)
188
+ .footnotes.fnEditor.view.state.doc
189
+ const tr = (this.editor.mod as any).footnotes.fnEditor.view.state.tr.insertText(
190
+ this.replaceInput.value,
191
+ match.from,
192
+ match.to
193
+ )
194
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
195
+ tr
196
+ )
170
197
  // In case there was a match within protected range , the change
171
198
  // would be rejected. Show alert when replace is successfull.
172
199
  if (
173
- !this.editor.mod.footnotes.fnEditor.view.state.doc.eq(
200
+ !(this.editor.mod as any).footnotes.fnEditor.view.state.doc.eq(
174
201
  originalDoc
175
202
  )
176
203
  ) {
@@ -189,13 +216,14 @@ export class SearchReplaceDialog {
189
216
  if (this.matches.matches.length) {
190
217
  const tr = this.editor.view.state.tr
191
218
  const originalDoc = this.editor.view.state.doc
192
- const protectedRanges = getProtectedRanges(
219
+ const protectedRanges: Array<{from: number; to: number}> = getProtectedRanges(
193
220
  this.editor.view.state
194
221
  )
195
222
  const matches = this.matches.matches.slice()
196
223
  while (matches.length) {
197
224
  const match = matches.pop() // We take them backward so that there is no need for mapping steps
198
225
  if (
226
+ match &&
199
227
  !protectedRanges.find(
200
228
  ({from, to}) =>
201
229
  !(
@@ -225,25 +253,28 @@ export class SearchReplaceDialog {
225
253
  }
226
254
  }
227
255
  if (this.fnMatches.matches.length) {
228
- const tr =
229
- this.editor.mod.footnotes.fnEditor.view.state.tr
230
- const originalDoc =
231
- this.editor.mod.footnotes.fnEditor.view.state
232
- .doc
256
+ const tr = (this.editor.mod as any).footnotes
257
+ .fnEditor.view.state.tr
258
+ const originalDoc = (this.editor.mod as any)
259
+ .footnotes.fnEditor.view.state.doc
233
260
  const matches = this.fnMatches.matches.slice()
234
261
  while (matches.length) {
235
262
  const match = matches.pop() // We take them backward so that there is no need for mapping steps
236
- tr.insertText(
237
- this.replaceInput.value,
238
- match.from,
239
- match.to
240
- )
263
+ if (match) {
264
+ tr.insertText(
265
+ this.replaceInput.value,
266
+ match.from,
267
+ match.to
268
+ )
269
+ }
241
270
  }
242
- this.editor.mod.footnotes.fnEditor.view.dispatch(tr)
271
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
272
+ tr
273
+ )
243
274
  // In case there was a match within protected range , the change
244
275
  // would be rejected. Show alert when replace is successfull.
245
276
  if (
246
- !this.editor.mod.footnotes.fnEditor.view.state.doc.eq(
277
+ !(this.editor.mod as any).footnotes.fnEditor.view.state.doc.eq(
247
278
  originalDoc
248
279
  )
249
280
  ) {
@@ -277,21 +308,30 @@ export class SearchReplaceDialog {
277
308
  "Please note that there are match(es) within non-editable parts of the document, these match(es) won't be replaced when using 'replace' or 'replace all'"
278
309
  )
279
310
  }
280
- })
311
+ }) as InstanceType<typeof Dialog>
281
312
 
282
313
  this.dialog.open()
283
314
 
284
- this.searchInput = this.dialog.dialogEl.querySelector(".fw-search")
285
- this.replaceInput = this.dialog.dialogEl.querySelector(".replace")
315
+ this.searchInput = this.dialog.dialogEl.querySelector(
316
+ ".fw-search"
317
+ ) as HTMLInputElement
318
+ this.replaceInput = this.dialog.dialogEl.querySelector(
319
+ ".replace"
320
+ ) as HTMLInputElement
286
321
  this.resultCountEl = this.dialog.dialogEl.querySelector(
287
322
  ".search-result-count"
288
- )
289
- this.dialog.dialogEl.querySelector("input[type=text]").focus()
323
+ ) as HTMLElement
324
+ ;(this.dialog.dialogEl.querySelector("input[type=text]") as
325
+ | HTMLInputElement
326
+ | null)?.focus()
290
327
 
291
328
  this.bind()
292
329
  }
293
330
 
294
- setButtonState() {
331
+ setButtonState(): void {
332
+ if (!this.dialog) {
333
+ return
334
+ }
295
335
  if (this.matches.matches.length + this.fnMatches.matches.length > 1) {
296
336
  this.dialog.buttons[0].classes = "fw-light"
297
337
  this.dialog.buttons[1].classes = "fw-light"
@@ -312,13 +352,17 @@ export class SearchReplaceDialog {
312
352
  this.dialog.refreshButtons()
313
353
  }
314
354
 
315
- setNoteState() {
316
- const protectedRanges = getProtectedRanges(this.editor.view.state)
355
+ setNoteState(): void {
356
+ if (!this.dialog) {
357
+ return
358
+ }
359
+ const protectedRanges: Array<{from: number; to: number}> = getProtectedRanges(this.editor.view.state)
317
360
  const matches = this.matches.matches.slice()
318
361
  let matchWithinPR = false
319
362
  while (matches.length && !matchWithinPR) {
320
363
  const match = matches.pop()
321
364
  if (
365
+ match &&
322
366
  protectedRanges.find(
323
367
  ({from, to}) =>
324
368
  !(
@@ -339,13 +383,13 @@ export class SearchReplaceDialog {
339
383
  this.dialog.refreshNote()
340
384
  }
341
385
 
342
- updateResultCount() {
386
+ updateResultCount(): void {
343
387
  const totalMatches =
344
388
  this.matches.matches.length + this.fnMatches.matches.length
345
389
  this.resultCountEl.textContent = `(${totalMatches})`
346
390
  }
347
391
 
348
- bind() {
392
+ bind(): void {
349
393
  this.searchInput.addEventListener("input", () => {
350
394
  this.search(this.searchInput.value)
351
395
  this.setNoteState()
@@ -357,10 +401,10 @@ export class SearchReplaceDialog {
357
401
  }
358
402
  }
359
403
 
360
- onUpdate() {
404
+ onUpdate(): void {
361
405
  this.matches = getSearchMatches(this.editor.view.state)
362
406
  this.fnMatches = getSearchMatches(
363
- this.editor.mod.footnotes.fnEditor.view.state
407
+ (this.editor.mod as any).footnotes.fnEditor.view.state
364
408
  )
365
409
  const selectedSearch = document.querySelector(
366
410
  "#paper-editable .fw-search.fw-selected"
@@ -374,7 +418,7 @@ export class SearchReplaceDialog {
374
418
  this.updateResultCount()
375
419
  }
376
420
 
377
- search(term) {
421
+ search(term: string): void {
378
422
  const setSearchTermResult = setSearchTerm(
379
423
  this.editor.view.state,
380
424
  term,
@@ -384,11 +428,13 @@ export class SearchReplaceDialog {
384
428
  let {tr} = setSearchTermResult
385
429
  const {matches, selected} = setSearchTermResult
386
430
  const setSearchTermResultFn = setSearchTerm(
387
- this.editor.mod.footnotes.fnEditor.view.state,
431
+ (this.editor.mod as any).footnotes.fnEditor.view.state,
388
432
  term,
389
- this.editor.mod.footnotes.fnEditor.view === this.editor.currentView
433
+ (this.editor.mod as any).footnotes.fnEditor.view ===
434
+ this.editor.currentView
390
435
  ? 0
391
- : false
436
+ : false,
437
+ this
392
438
  )
393
439
  let {tr: fnTr} = setSearchTermResultFn
394
440
  const {matches: fnMatches, selected: fnSelected} = setSearchTermResultFn
@@ -401,21 +447,21 @@ export class SearchReplaceDialog {
401
447
  tr = setSearchTerm(this.editor.view.state, term, 0, this).tr
402
448
  } else {
403
449
  fnTr = setSearchTerm(
404
- this.editor.mod.footnotes.fnEditor.view.state,
450
+ (this.editor.mod as any).footnotes.fnEditor.view.state,
405
451
  term,
406
452
  0
407
453
  ).tr
408
454
  }
409
455
  }
410
- this.editor.mod.footnotes.fnEditor.view.dispatch(fnTr)
456
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(fnTr)
411
457
  this.editor.view.dispatch(tr)
412
458
  this.updateResultCount()
413
459
  }
414
460
 
415
- endSearch() {
461
+ endSearch(): void {
416
462
  this.editor.view.dispatch(endSearch(this.editor.view.state))
417
- this.editor.mod.footnotes.fnEditor.view.dispatch(
418
- endSearch(this.editor.mod.footnotes.fnEditor.view.state)
463
+ ;(this.editor.mod as any).footnotes.fnEditor.view.dispatch(
464
+ endSearch((this.editor.mod as any).footnotes.fnEditor.view.state)
419
465
  )
420
466
  }
421
467
  }
@@ -1,4 +1,9 @@
1
- export const searchDialogTemplate = ({canWrite}) => `<table class="fw-dialog-table">
1
+ interface SearchDialogParams {
2
+ canWrite: boolean
3
+ }
4
+
5
+ export const searchDialogTemplate = ({canWrite}: SearchDialogParams) =>
6
+ `<table class="fw-dialog-table">
2
7
  <tbody>
3
8
  <tr>
4
9
  <th><h4 class="fw-tablerow-title">${gettext("Find")}</h4></th>
@@ -2,30 +2,40 @@ import {getNonDeletedTextContent} from "@fiduswriter/document/schema/text"
2
2
  import {Dialog} from "fwtoolkit"
3
3
 
4
4
  import {wordCounterDialogTemplate} from "./templates.js"
5
+ import type {Editor} from "../../types.js"
5
6
 
6
7
  export class WordCountDialog {
7
- constructor(editor) {
8
+ editor: Editor
9
+
10
+ constructor(editor: Editor) {
8
11
  this.editor = editor
9
12
  }
10
13
 
11
- init() {
14
+ init(): void {
12
15
  const dialog = new Dialog({
13
16
  title: gettext("Word counter"),
14
17
  body: wordCounterDialogTemplate(this.countWords()),
15
- buttons: [{type: "close"}]
18
+ buttons: [{type: "close" as const}]
16
19
  })
17
20
  dialog.open()
18
21
  }
19
22
 
20
- countWords() {
23
+ countWords(): {
24
+ docNumWords: number
25
+ docNumNoSpace: number
26
+ docNumChars: number
27
+ selectionNumWords: number
28
+ selectionNumNoSpace: number
29
+ selectionNumChars: number
30
+ } {
21
31
  const textContent = getNonDeletedTextContent(
22
32
  this.editor.view.state.doc
23
33
  ),
24
34
  footnoteContent = getNonDeletedTextContent(
25
- this.editor.mod.footnotes.fnEditor.view.state.doc
35
+ (this.editor.mod.footnotes as {fnEditor: {view: {state: {doc: import("prosemirror-model").Node}}}}).fnEditor.view.state.doc
26
36
  ),
27
37
  bibliographyContent =
28
- document.querySelector(".doc-bibliography").textContent
38
+ document.querySelector(".doc-bibliography")?.textContent || ""
29
39
  const docContent =
30
40
  textContent + " " + footnoteContent + " " + bibliographyContent
31
41
  const docNumChars = docContent.split("\n").join("").length - 2 // Subtract two for added spaces
@@ -1,3 +1,12 @@
1
+ interface WordCountParams {
2
+ docNumWords: number
3
+ docNumNoSpace: number
4
+ docNumChars: number
5
+ selectionNumWords: number
6
+ selectionNumNoSpace: number
7
+ selectionNumChars: number
8
+ }
9
+
1
10
  export const wordCounterDialogTemplate = ({
2
11
  docNumWords,
3
12
  docNumNoSpace,
@@ -5,7 +14,7 @@ export const wordCounterDialogTemplate = ({
5
14
  selectionNumWords,
6
15
  selectionNumNoSpace,
7
16
  selectionNumChars
8
- }) =>
17
+ }: WordCountParams) =>
9
18
  `<table class="fw-data-table">
10
19
  <thead class="fw-data-table-header">
11
20
  <tr>
@@ -1,20 +1,31 @@
1
1
  import {AddMarkStep, Mapping, RemoveMarkStep} from "prosemirror-transform"
2
+ import type {Node} from "prosemirror-model"
3
+ import type {EditorView} from "prosemirror-view"
2
4
 
3
- import {deactivateAllSelectedChanges} from "../state_plugins/index.js"
5
+ import {deactivateAllSelectedChanges} from "../state_plugins/track/index.js"
4
6
 
5
7
  import {deleteNode} from "./delete.js"
6
8
 
7
- export const accept = (type, pos, view) => {
9
+ export const accept = (
10
+ type: string,
11
+ pos: number,
12
+ view: EditorView
13
+ ): void => {
8
14
  const tr = view.state.tr.setMeta("track", true),
9
15
  map = new Mapping()
10
16
  let reachedEnd = false
11
- const trackMark = view.state.doc
12
- .nodeAt(pos)
13
- .marks.find(mark => mark.type.name === type)
17
+ const nodeAtPos = view.state.doc.nodeAt(pos)
18
+ if (!nodeAtPos) {
19
+ return
20
+ }
21
+ const trackMark = nodeAtPos.marks.find(mark => mark.type.name === type)
22
+ if (!trackMark) {
23
+ return
24
+ }
14
25
  view.state.doc.nodesBetween(
15
26
  pos,
16
27
  view.state.doc.nodeSize - 2,
17
- (node, nodePos) => {
28
+ (node: Node, nodePos: number) => {
18
29
  if (nodePos < pos) {
19
30
  return true
20
31
  }
@@ -36,10 +47,10 @@ export const accept = (type, pos, view) => {
36
47
  deleteNode(tr, node, nodePos, map, true)
37
48
  } else if (type === "insertion") {
38
49
  if (node.attrs.track) {
39
- const track = node.attrs.track.filter(
50
+ const track = (node.attrs.track as Array<{type: string}>).filter(
40
51
  track => track.type !== "insertion"
41
52
  )
42
- if (node.attrs.track.length === track) {
53
+ if ((node.attrs.track as Array<{type: string}>).length === track.length) {
43
54
  return true
44
55
  }
45
56
  tr.setNodeMarkup(
@@ -78,7 +89,7 @@ export const accept = (type, pos, view) => {
78
89
  )
79
90
  )
80
91
  } else if (type === "block_change") {
81
- const track = node.attrs.track.filter(
92
+ const track = (node.attrs.track as Array<{type: string}>).filter(
82
93
  track => track.type !== "block_change"
83
94
  )
84
95
  tr.setNodeMarkup(