@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,24 +1,30 @@
1
1
  import {BIBLIOGRAPHY_HEADERS} from "@fiduswriter/document/schema/i18n"
2
+ import type {Fragment, Schema} from "prosemirror-model"
2
3
  import {DOMSerializer} from "prosemirror-model"
4
+
3
5
  import {RenderCitations} from "../../citations/render.js"
4
6
  import {createDocCopySchema, fnCopySchema} from "./schema.js"
7
+ import type {Editor} from "../../types.js"
5
8
 
6
9
  // Wrap around DOMSerializer, allowing post processing.
7
10
  class ClipboardDOMSerializer {
8
- constructor(nodes, marks, editor) {
11
+ domSerializer: DOMSerializer
12
+ editor: Editor
13
+
14
+ constructor(nodes: Record<string, any>, marks: Record<string, any>, editor: Editor) {
9
15
  this.domSerializer = new DOMSerializer(nodes, marks)
10
16
  this.editor = editor
11
17
  }
12
18
 
13
- serializeFragment(fragment, options) {
19
+ serializeFragment(fragment: Fragment, options?: {document?: Document}): DocumentFragment {
14
20
  const domFragment = this.domSerializer.serializeFragment(
15
21
  fragment,
16
22
  options
17
23
  )
18
- return this.postProcessFragment(domFragment)
24
+ return this.postProcessFragment(domFragment as DocumentFragment)
19
25
  }
20
26
 
21
- postProcessFragment(domFragment) {
27
+ postProcessFragment(domFragment: DocumentFragment): DocumentFragment {
22
28
  const citationFormatter = this.renderCitations(domFragment)
23
29
  this.renderFootnotes(domFragment, citationFormatter)
24
30
  this.removeTrackingData(domFragment)
@@ -27,34 +33,37 @@ class ClipboardDOMSerializer {
27
33
  return domFragment
28
34
  }
29
35
 
30
- renderCitations(domFragment) {
31
- const settings = this.editor.view.state.doc.attrs,
36
+ renderCitations(domFragment: DocumentFragment): any {
37
+ const settings = this.editor.view.state.doc.attrs as Record<string, any>,
32
38
  bibliographyHeader =
33
39
  settings.bibliography_header[settings.language] ||
34
- BIBLIOGRAPHY_HEADERS[settings.language]
40
+ (BIBLIOGRAPHY_HEADERS as any)[settings.language]
35
41
  const citRenderer = new RenderCitations(
36
- domFragment,
42
+ domFragment as any,
37
43
  settings.citationstyle,
38
44
  bibliographyHeader,
39
- this.editor.mod.db.bibDB,
40
- this.editor.app.csl,
45
+ (this.editor.mod.db as any).bibDB,
46
+ (this.editor.app as any).csl,
41
47
  true // synchronous. Should work as the editor has used the same style previously.
42
48
  )
49
+ const fm = citRenderer.fm as any
43
50
  if (citRenderer.init()) {
44
- if (citRenderer.fm.bibHTML.length) {
51
+ if (fm.bibHTML.length) {
45
52
  const bibDiv = document.createElement("div")
46
53
  bibDiv.classList.add("fiduswriter-clipboard-bibliography")
47
- bibDiv.innerHTML = citRenderer.fm.bibHTML
48
- bibDiv.firstElementChild.innerHTML = gettext("Bibliography")
54
+ bibDiv.innerHTML = fm.bibHTML
55
+ ;(bibDiv.firstElementChild as HTMLElement).innerHTML = gettext(
56
+ "Bibliography"
57
+ )
49
58
  domFragment.appendChild(bibDiv)
50
59
  }
51
- return citRenderer.fm
60
+ return fm
52
61
  } else {
53
62
  return false
54
63
  }
55
64
  }
56
65
 
57
- renderFootnotes(domFragment, citationFormatter) {
66
+ renderFootnotes(domFragment: DocumentFragment, citationFormatter: any): void {
58
67
  const footnoteSelector =
59
68
  citationFormatter && citationFormatter.citationType === "note"
60
69
  ? ".footnote-marker, .citation"
@@ -76,13 +85,13 @@ class ClipboardDOMSerializer {
76
85
  const newFootnote = document.createElement("h6") // We use H6 as Wordpress Gutenberg only allows IDs on H1-6 elements.
77
86
  newFootnote.setAttribute("role", "doc-footnote")
78
87
  newFootnote.innerHTML = footnote.matches(".footnote-marker")
79
- ? footnote.dataset.footnote
88
+ ? (footnote as HTMLElement).dataset.footnote || ""
80
89
  : `<p>${citationFormatter.citationTexts[citationCount++] || " "}</p>`
81
90
  if (
82
91
  newFootnote.firstElementChild &&
83
92
  newFootnote.firstElementChild.matches("p")
84
93
  ) {
85
- newFootnote.firstElementChild.insertAdjacentHTML(
94
+ ;(newFootnote.firstElementChild as HTMLElement).insertAdjacentHTML(
86
95
  "afterbegin",
87
96
  `${counter}. `
88
97
  )
@@ -100,13 +109,14 @@ class ClipboardDOMSerializer {
100
109
  }
101
110
  }
102
111
 
103
- addFigureNumbers(domFragment) {
112
+ addFigureNumbers(domFragment: DocumentFragment): void {
104
113
  domFragment
105
114
  .querySelectorAll(
106
115
  "figure[data-category='figure'] figcaption span.label"
107
116
  )
108
117
  .forEach((el, index) => {
109
- el.innerHTML += " " + (index + 1) + ": "
118
+ ;(el as HTMLElement).innerHTML +=
119
+ " " + (index + 1) + ": "
110
120
  })
111
121
 
112
122
  domFragment
@@ -114,7 +124,8 @@ class ClipboardDOMSerializer {
114
124
  "figure[data-category='photo'] figcaption span.label"
115
125
  )
116
126
  .forEach((el, index) => {
117
- el.innerHTML += " " + (index + 1) + ": "
127
+ ;(el as HTMLElement).innerHTML +=
128
+ " " + (index + 1) + ": "
118
129
  })
119
130
 
120
131
  domFragment
@@ -122,21 +133,22 @@ class ClipboardDOMSerializer {
122
133
  "figure[data-category='table'] figcaption span.label"
123
134
  )
124
135
  .forEach((el, index) => {
125
- el.innerHTML += " " + (index + 1) + ": "
136
+ ;(el as HTMLElement).innerHTML +=
137
+ " " + (index + 1) + ": "
126
138
  })
127
139
  }
128
140
 
129
- addBaseUrlToImages(domFragment) {
141
+ addBaseUrlToImages(domFragment: DocumentFragment): void {
130
142
  domFragment
131
143
  .querySelectorAll("img")
132
144
  .forEach(el => el.setAttribute("src", el.src))
133
145
  }
134
146
 
135
- getRandomID() {
147
+ getRandomID(): string {
136
148
  return (0 | (Math.random() * 9e6)).toString(36)
137
149
  }
138
150
 
139
- getFootnoteAnchor(counter, id) {
151
+ getFootnoteAnchor(counter: number, id: string): HTMLElement {
140
152
  const footnoteAnchor = document.createElement("a")
141
153
  footnoteAnchor.setAttribute("href", `#fn-${id}`)
142
154
  footnoteAnchor.classList.add("fn")
@@ -145,11 +157,11 @@ class ClipboardDOMSerializer {
145
157
  return footnoteAnchor
146
158
  }
147
159
 
148
- removeTrackingData(domFragment) {
160
+ removeTrackingData(domFragment: DocumentFragment): void {
149
161
  domFragment
150
162
  .querySelectorAll(".approved-insertion, .insertion")
151
163
  .forEach(el => {
152
- const parent = el.parentNode
164
+ const parent = el.parentNode as any
153
165
  const fragment = document.createDocumentFragment()
154
166
  while (el.firstChild) {
155
167
  fragment.appendChild(el.firstChild)
@@ -158,10 +170,10 @@ class ClipboardDOMSerializer {
158
170
  })
159
171
  domFragment
160
172
  .querySelectorAll(".deletion")
161
- .forEach(el => el.parentElement.removeChild(el))
173
+ .forEach(el => el.parentElement!.removeChild(el))
162
174
  }
163
175
 
164
- static fromSchema(schema, editor) {
176
+ static fromSchema(schema: Schema, editor: Editor): ClipboardDOMSerializer {
165
177
  return new ClipboardDOMSerializer(
166
178
  DOMSerializer.nodesFromSchema(schema),
167
179
  DOMSerializer.marksFromSchema(schema),
@@ -170,10 +182,10 @@ class ClipboardDOMSerializer {
170
182
  }
171
183
  }
172
184
 
173
- export const docClipboardSerializer = editor =>
185
+ export const docClipboardSerializer = (editor: Editor): ClipboardDOMSerializer =>
174
186
  ClipboardDOMSerializer.fromSchema(
175
- createDocCopySchema(editor.schema),
187
+ createDocCopySchema(editor.schema) as Schema,
176
188
  editor
177
189
  )
178
- export const fnClipboardSerializer = editor =>
179
- ClipboardDOMSerializer.fromSchema(fnCopySchema, editor)
190
+ export const fnClipboardSerializer = (editor: Editor): ClipboardDOMSerializer =>
191
+ ClipboardDOMSerializer.fromSchema(fnCopySchema as Schema, editor)
@@ -1,9 +1,11 @@
1
+ import type {Editor} from "../../types.js"
2
+
1
3
  import {GeneralPasteHandler} from "./general.js"
2
4
 
3
5
  // Fidus Writer paste handler
4
6
  export class FidusWriterPasteHandler extends GeneralPasteHandler {
5
7
  // Convert an existing node to a different node, if needed.
6
- convertNode(node) {
8
+ convertNode(node: HTMLElement): HTMLElement {
7
9
  node = super.convertNode(node)
8
10
  // Replace nodes with other nodes to not change the number of child nodes
9
11
  // <b style="font-weight:normal;">...</b> => <span>...</span>
@@ -13,12 +15,30 @@ export class FidusWriterPasteHandler extends GeneralPasteHandler {
13
15
  return node
14
16
  }
15
17
 
16
- verifyCitationNode(node) {
18
+ verifyCitationNode(node: HTMLElement): HTMLElement {
17
19
  try {
18
- const bibs = JSON.parse(node.dataset.bibs),
19
- references = JSON.parse(node.dataset.references),
20
- bibDB = this.editor.mod.db.bibDB,
21
- idTranslations = {}
20
+ const bibs = JSON.parse(node.dataset.bibs || "{}") as Record<
21
+ string,
22
+ Record<string, unknown>
23
+ >,
24
+ references = JSON.parse(node.dataset.references || "[]") as Array<{
25
+ id: number | string
26
+ }>,
27
+ bibDB = (this.editor as Editor).mod.db?.bibDB as
28
+ | {
29
+ findReference: (
30
+ reference: Record<string, unknown>
31
+ ) => string | undefined
32
+ addReference: (
33
+ reference: Record<string, unknown>,
34
+ id: string | number
35
+ ) => string | number
36
+ }
37
+ | undefined,
38
+ idTranslations: Record<string, number | string> = {}
39
+ if (!bibDB) {
40
+ return node
41
+ }
22
42
  Object.keys(bibs).forEach(bibKey => {
23
43
  const reference = bibs[bibKey]
24
44
  const oldKey = bibDB.findReference(reference)
@@ -45,11 +65,11 @@ export class FidusWriterPasteHandler extends GeneralPasteHandler {
45
65
  }
46
66
  }
47
67
 
48
- cleanDOM() {
68
+ cleanDOM(): void {
49
69
  // Remove the bibliography that was added by the copy serializer
50
70
  const clipboardArtifacts = this.dom.querySelectorAll(
51
71
  ".fiduswriter-clipboard-bibliography, .fiduswriter-clipboard-footnotes"
52
72
  )
53
- clipboardArtifacts.forEach(el => el.parentElement.removeChild(el))
73
+ clipboardArtifacts.forEach(el => el.parentElement?.removeChild(el))
54
74
  }
55
75
  }
@@ -1,15 +1,29 @@
1
+ import type {Editor} from "../../types.js"
2
+
1
3
  // General Fallback handler for paste
2
4
  export class GeneralPasteHandler {
3
- constructor(editor, htmlDoc, pmType) {
5
+ editor: Editor
6
+ htmlDoc: HTMLElement
7
+ pmType: string
8
+ footnoteMarkers: HTMLElement[]
9
+ footnotes: HTMLElement[]
10
+ dom: HTMLElement
11
+ inHTML: string
12
+ outHTML: string
13
+
14
+ constructor(editor: Editor, htmlDoc: HTMLElement, pmType: string) {
4
15
  this.editor = editor
5
16
  this.htmlDoc = htmlDoc
6
17
  this.pmType = pmType
7
18
  this.footnoteMarkers = []
8
19
  this.footnotes = []
20
+ this.dom = document.createElement("body")
21
+ this.inHTML = ""
22
+ this.outHTML = ""
9
23
  }
10
24
 
11
25
  // Iterate over each node in the body of the pasted content.
12
- getOutput() {
26
+ getOutput(): string {
13
27
  this.dom = this.htmlDoc.getElementsByTagName("body")[0]
14
28
  this.inHTML = this.dom.innerHTML
15
29
  this.iterateNode(this.dom)
@@ -20,17 +34,17 @@ export class GeneralPasteHandler {
20
34
  }
21
35
 
22
36
  // Remove unused content
23
- cleanDOM() {}
37
+ cleanDOM(): void {}
24
38
 
25
39
  // Iterate over pasted nodes and their children
26
- iterateNode(node) {
27
- if ((node.tagName === "P") & !node.firstChild) {
28
- node.parentNode.removeChild(node)
29
- return
40
+ iterateNode(node: ChildNode): boolean {
41
+ if ((node as HTMLElement).tagName === "P" && !node.firstChild) {
42
+ node.parentNode?.removeChild(node)
43
+ return true
30
44
  } else if (node.nodeType === 8) {
31
45
  // comment node
32
- node.parentNode.removeChild(node)
33
- return
46
+ node.parentNode?.removeChild(node)
47
+ return true
34
48
  } else if (node.nodeType === 1) {
35
49
  // element node
36
50
  let childNode = node.firstChild
@@ -39,12 +53,13 @@ export class GeneralPasteHandler {
39
53
  this.iterateNode(childNode)
40
54
  childNode = nextChildNode
41
55
  }
42
- node = this.convertNode(node)
56
+ node = this.convertNode(node as HTMLElement)
43
57
  }
58
+ return true
44
59
  }
45
60
 
46
61
  // Convert an existing node to a different node, if needed.
47
- convertNode(node) {
62
+ convertNode(node: HTMLElement): HTMLElement {
48
63
  if (
49
64
  node.tagName === "TABLE" &&
50
65
  node.firstElementChild?.tagName !== "CAPTION"
@@ -58,7 +73,7 @@ export class GeneralPasteHandler {
58
73
 
59
74
  // Move footnotes into their markers and turn footnote markers into the
60
75
  // required format.
61
- convertFootnotes() {
76
+ convertFootnotes(): void {
62
77
  this.footnoteMarkers.forEach((fnM, index) => {
63
78
  const footnote = this.footnotes[index]
64
79
  const newFnM = document.createElement("span")
@@ -67,7 +82,7 @@ export class GeneralPasteHandler {
67
82
  // Remove linebreaks in string (not <BR>)
68
83
  // Turn multiple white spaces into single space
69
84
  newFnM.dataset.footnote = footnoteContents
70
- fnM.parentNode.replaceChild(newFnM, fnM)
85
+ fnM.parentNode?.replaceChild(newFnM, fnM)
71
86
  })
72
87
  // Remove all footnotes from document. Some footnotes may have several
73
88
  // markers, so only remove each footnote once.
@@ -3,23 +3,26 @@ import {GeneralPasteHandler} from "./general.js"
3
3
  // Google Docs (the writing component) paste handler
4
4
  export class GoogleDocsPasteHandler extends GeneralPasteHandler {
5
5
  // Convert an existing node to a different node, if needed.
6
- convertNode(node) {
6
+ convertNode(node: HTMLElement) {
7
7
  node = super.convertNode(node)
8
8
  // Replace nodes with other nodes to not change the number of child nodes
9
9
  // <b style="font-weight:normal;">...</b> => <span>...</span>
10
- if (node.tagName === "B" && node.style.fontWeight === "normal") {
10
+ if (
11
+ node.tagName === "B" &&
12
+ node.style.fontWeight === "normal"
13
+ ) {
11
14
  node = this.neutralizeInlineNode(node)
12
15
  }
13
16
  return node
14
17
  }
15
18
 
16
19
  // Replace any type of inline node with a span node.
17
- neutralizeInlineNode(node) {
20
+ neutralizeInlineNode(node: HTMLElement): HTMLElement {
18
21
  const newNode = document.createElement("span")
19
22
  while (node.firstChild) {
20
23
  newNode.appendChild(node.firstChild)
21
24
  }
22
- node.parentNode.replaceChild(newNode, node)
25
+ node.parentNode?.replaceChild(newNode, node)
23
26
 
24
27
  return newNode
25
28
  }
@@ -5,25 +5,49 @@ import {LibreOfficeWriterPasteHandler} from "./libreoffice_writer.js"
5
5
  import {MicrosoftWordPasteHandler} from "./microsoft_word.js"
6
6
 
7
7
  import {resetPasteRange} from "../../state_plugins/clipboard.js"
8
+ import type {Editor} from "../../types.js"
8
9
 
9
10
  // Some pasted HTML will need slight conversions to work correctly.
10
11
  // We try to sniff whether paste comes from MsWord, LibreOffice or Google Docs
11
12
  // and use specialized handlers for these and a general handler everything else.
12
13
 
13
14
  export class HTMLPaste {
14
- constructor(editor, inHTML, pmType, view) {
15
+ editor: Editor
16
+ inHTML: string
17
+ pmType: string
18
+ view: import("prosemirror-view").EditorView
19
+ htmlDoc: HTMLElement | undefined
20
+ handler:
21
+ | typeof FidusWriterPasteHandler
22
+ | typeof GeneralPasteHandler
23
+ | typeof GoogleDocsPasteHandler
24
+ | typeof LibreOfficeWriterPasteHandler
25
+ | typeof MicrosoftWordPasteHandler
26
+ handlerInstance: GeneralPasteHandler
27
+ outHTML: string
28
+
29
+ constructor(
30
+ editor: Editor,
31
+ inHTML: string,
32
+ pmType: string,
33
+ view: import("prosemirror-view").EditorView
34
+ ) {
15
35
  this.editor = editor
16
36
  this.inHTML = inHTML
17
37
  this.pmType = pmType
18
38
  this.view = view
39
+ this.htmlDoc = undefined
40
+ this.handler = GeneralPasteHandler
41
+ this.handlerInstance = new GeneralPasteHandler(editor, document.createElement("html"), pmType)
42
+ this.outHTML = ""
19
43
  }
20
44
 
21
- getOutput() {
45
+ getOutput(): string {
22
46
  this.parseHTML()
23
47
  this.selectHandler()
24
48
  this.handlerInstance = new this.handler(
25
49
  this.editor,
26
- this.htmlDoc,
50
+ this.htmlDoc as HTMLElement,
27
51
  this.pmType
28
52
  )
29
53
  this.outHTML = this.handlerInstance.getOutput()
@@ -33,7 +57,7 @@ export class HTMLPaste {
33
57
  return this.outHTML
34
58
  }
35
59
 
36
- parseHTML() {
60
+ parseHTML(): void {
37
61
  const parser = new window.DOMParser()
38
62
  this.htmlDoc = parser
39
63
  .parseFromString(this.inHTML, "text/html")
@@ -42,13 +66,16 @@ export class HTMLPaste {
42
66
 
43
67
  // Find out what the source of the paste is and choose a corresponding
44
68
  // handler.
45
- selectHandler() {
69
+ selectHandler(): void {
70
+ if (!this.htmlDoc) {
71
+ return
72
+ }
46
73
  // For LibreOffice
47
74
  const head = this.htmlDoc.getElementsByTagName("head")[0]
48
- const generatorMetaTag = head.querySelector("meta[name=generator]")
75
+ const generatorMetaTag = head.querySelector("meta[name=generator]") as HTMLMetaElement | null
49
76
  // For Google Docs
50
77
  const body = this.htmlDoc.getElementsByTagName("body")[0]
51
- const firstB = body.querySelector("b")
78
+ const firstB = body.querySelector("b") as HTMLElement | null
52
79
  // For Fidus Writer
53
80
  const pmSlice = this.htmlDoc.querySelector("[data-pm-slice]")
54
81
  if (
@@ -68,7 +95,7 @@ export class HTMLPaste {
68
95
  }
69
96
  }
70
97
 
71
- resetPasteRange() {
98
+ resetPasteRange(): void {
72
99
  const tr = this.view.state.tr
73
100
  resetPasteRange(tr)
74
101
  this.view.dispatch(tr)
@@ -3,7 +3,7 @@ import {GeneralPasteHandler} from "./general.js"
3
3
  // LibreOffice Writer paste handler
4
4
  export class LibreOfficeWriterPasteHandler extends GeneralPasteHandler {
5
5
  // Convert an existing node to a different node, if needed.
6
- convertNode(node) {
6
+ convertNode(node: HTMLElement) {
7
7
  node = super.convertNode(node)
8
8
  // Footnote markers (only in main pm instance):
9
9
  if (
@@ -12,15 +12,15 @@ export class LibreOfficeWriterPasteHandler extends GeneralPasteHandler {
12
12
  this.pmType === "main"
13
13
  ) {
14
14
  // Remove "sym" at the end of the selector
15
- const href = node.getAttribute("href")
15
+ const href = node.getAttribute("href") || ""
16
16
  const fnSelector =
17
17
  href.length > 3 ? href.substring(0, href.length - 3) : href
18
- const footnote = this.dom.querySelector(fnSelector)
18
+ const footnote = this.dom.querySelector(fnSelector) as HTMLElement | null
19
19
  if (footnote) {
20
20
  const footnoteCounter =
21
21
  footnote.querySelector("a.sdfootnotesym")
22
22
  if (footnoteCounter) {
23
- footnoteCounter.parentNode.removeChild(footnoteCounter)
23
+ footnoteCounter.parentNode?.removeChild(footnoteCounter)
24
24
  }
25
25
  this.footnoteMarkers.push(node)
26
26
  this.footnotes.push(footnote)
@@ -3,32 +3,32 @@ import {GeneralPasteHandler} from "./general.js"
3
3
  // Microsoft Word 2016 paste handler
4
4
  export class MicrosoftWordPasteHandler extends GeneralPasteHandler {
5
5
  // Remove unused content
6
- cleanDOM() {
6
+ cleanDOM(): void {
7
7
  // Remove footnote list container with separator line
8
8
  const removableElements = this.dom.querySelectorAll(
9
9
  'div[style*="mso-element:footnote-list"]'
10
10
  )
11
11
 
12
- removableElements.forEach(el => el.parentNode.removeChild(el))
12
+ removableElements.forEach(el => el.parentNode?.removeChild(el))
13
13
  }
14
14
 
15
15
  // Iterate over pasted nodes and their children
16
- iterateNode(node) {
17
- node = super.convertNode(node)
18
- if ((node.tagName === "P") & !node.firstChild) {
19
- node.parentNode.removeChild(node)
16
+ iterateNode(node: ChildNode): boolean {
17
+ node = super.convertNode(node as HTMLElement)
18
+ if ((node as HTMLElement).tagName === "P" && !node.firstChild) {
19
+ node.parentNode?.removeChild(node)
20
20
  return true
21
21
  } else if (node.nodeType === 8) {
22
22
  if (node.textContent === "EndFragment") {
23
23
  // End of paste content. Remove all remaining sibling nodes.
24
24
  while (node) {
25
25
  const nextSibling = node.nextSibling
26
- node.parentNode.removeChild(node)
27
- node = nextSibling
26
+ node.parentNode?.removeChild(node)
27
+ node = nextSibling as ChildNode
28
28
  }
29
29
  return false
30
30
  } else {
31
- node.parentNode.removeChild(node)
31
+ node.parentNode?.removeChild(node)
32
32
  return true
33
33
  }
34
34
  }
@@ -39,46 +39,47 @@ export class MicrosoftWordPasteHandler extends GeneralPasteHandler {
39
39
  if (this.iterateNode(childNode)) {
40
40
  childNode = nextChildNode
41
41
  } else {
42
- childNode = false
42
+ childNode = null
43
43
  }
44
44
  }
45
- node = this.convertNode(node)
45
+ node = this.convertNode(node as HTMLElement)
46
46
  }
47
47
 
48
48
  return true
49
49
  }
50
50
 
51
51
  // Convert an existing node to a different node, if needed.
52
- convertNode(node) {
52
+ convertNode(node: HTMLElement): HTMLElement {
53
53
  // Footnote markers (only in main pm instance):
54
54
  if (
55
55
  node.tagName === "A" &&
56
- node.firstChild?.tagName === "SPAN" &&
57
- node.firstChild?.classList.contains("MsoFootnoteReference") &&
56
+ node.firstChild?.nodeType === 1 &&
57
+ (node.firstChild as HTMLElement).tagName === "SPAN" &&
58
+ (node.firstChild as HTMLElement).classList.contains(
59
+ "MsoFootnoteReference"
60
+ ) &&
58
61
  this.pmType === "main"
59
62
  ) {
60
63
  // Remove "#_ftn" from the selector (#_ftn1)
61
- const fnSelector = node.getAttribute("href")
62
- const fnNumber = node
63
- .getAttribute("href")
64
- .substring(5, fnSelector.length)
64
+ const fnSelector = node.getAttribute("href") || ""
65
+ const fnNumber = fnSelector.substring(5, fnSelector.length)
65
66
  const footnote = this.dom.querySelector("#ftn" + fnNumber)
66
67
  if (footnote) {
67
68
  const footnoteCounter = footnote.querySelector(
68
69
  'a[href="#_ftnref' + fnNumber + '"]'
69
70
  )
70
71
  if (footnoteCounter) {
72
+ footnoteCounter.parentNode?.removeChild(footnoteCounter)
71
73
  const followingNode = footnoteCounter.nextSibling
72
- footnoteCounter.parentNode.removeChild(footnoteCounter)
73
74
  if (followingNode?.nodeType === 3) {
74
75
  // If there is a text string right after the footnote
75
76
  // marker, remove any leading spaces.
76
77
  followingNode.nodeValue =
77
- followingNode.nodeValue.replace(/^\s+/, "")
78
+ followingNode.nodeValue?.replace(/^\s+/, "") || ""
78
79
  }
79
80
  }
80
81
  this.footnoteMarkers.push(node)
81
- this.footnotes.push(footnote)
82
+ this.footnotes.push(footnote as HTMLElement)
82
83
  }
83
84
  }
84
85
 
@@ -1,23 +1,27 @@
1
- import {TextSelection} from "prosemirror-state"
2
- import {__parseFromClipboard} from "prosemirror-view"
3
-
4
1
  import {getPasteRange, resetPasteRange} from "../../state_plugins/clipboard.js"
2
+ import type {Editor} from "../../types.js"
3
+ import type {EditorView} from "prosemirror-view"
5
4
 
6
5
  export class TextPaste {
7
- constructor(editor, text, view) {
6
+ editor: Editor
7
+ text: string
8
+ view: EditorView
9
+ foundBibEntries: boolean
10
+
11
+ constructor(editor: Editor, text: string, view: EditorView) {
8
12
  this.editor = editor
9
13
  this.text = text
10
14
  this.view = view
11
15
  this.foundBibEntries = false
12
16
  }
13
17
 
14
- init() {
18
+ init(): void {
15
19
  import("@fiduswriter/bibliography-manager/import").then(
16
20
  ({BibliographyImporter}) => {
17
21
  const importer = new BibliographyImporter(
18
22
  this.text,
19
- this.editor.mod.db.bibDB,
20
- newIds => {
23
+ this.editor.mod.db?.bibDB,
24
+ (newIds: string[]) => {
21
25
  this.foundBibEntries = true
22
26
  const format = "autocite",
23
27
  references = newIds.map(id => ({id}))