@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
@@ -2,21 +2,34 @@ import {
2
2
  NodeSelection,
3
3
  Plugin,
4
4
  PluginKey,
5
- TextSelection
5
+ TextSelection,
6
+ type EditorState
6
7
  } from "prosemirror-state"
7
- import {Decoration, DecorationSet} from "prosemirror-view"
8
+ import {Decoration, DecorationSet, type EditorView} from "prosemirror-view"
9
+ import type {Node as ProseMirrorNode} from "prosemirror-model"
8
10
 
9
11
  import {COMMENT_ONLY_ROLES, READ_ONLY_ROLES} from "../index.js"
10
12
  import {MathDialog} from "../dialogs/index.js"
11
13
  import {elementDisabled} from "../menus/toolbar/model.js"
14
+ import type {Editor} from "../types.js"
12
15
 
13
16
  const key = new PluginKey("inlineMath")
14
17
 
18
+ interface MathDialogLike {
19
+ new (editor: Editor): {init(): void}
20
+ }
21
+
22
+ const MathDialogCtor = MathDialog as MathDialogLike
23
+
15
24
  /**
16
25
  * Check if an inline equation can be activated at the current position.
17
26
  * Mirrors the toolbar equation-button disabled check.
18
27
  */
19
- function canActivateInlineMath(_state, _$pos, editor) {
28
+ function canActivateInlineMath(
29
+ _state: EditorState,
30
+ _$pos: unknown,
31
+ editor: Editor
32
+ ): boolean {
20
33
  if (editor && elementDisabled(editor, "equation")) {
21
34
  return false
22
35
  }
@@ -27,7 +40,7 @@ function canActivateInlineMath(_state, _$pos, editor) {
27
40
  /* Helpers shared by the inline-editor widget */
28
41
  /* ────────────────────────────────────────────────────────── */
29
42
 
30
- function getInputCursorPos(input) {
43
+ function getInputCursorPos(input: HTMLElement): number {
31
44
  const sel = window.getSelection()
32
45
  if (!sel || sel.rangeCount === 0) {
33
46
  return (input.textContent || "").length
@@ -35,7 +48,7 @@ function getInputCursorPos(input) {
35
48
  return sel.getRangeAt(0).startOffset
36
49
  }
37
50
 
38
- function setInputCursorPos(input, pos) {
51
+ function setInputCursorPos(input: HTMLElement, pos: number): void {
39
52
  const textNode = input.firstChild
40
53
  if (!textNode) {
41
54
  return
@@ -51,12 +64,27 @@ function setInputCursorPos(input, pos) {
51
64
  }
52
65
  }
53
66
 
67
+ interface InlineEditorState {
68
+ active: boolean
69
+ from: number
70
+ query: string
71
+ isEdit: boolean
72
+ mathNodePos: number
73
+ widgetId: string | undefined
74
+ cursorAtStart: boolean | undefined
75
+ decos: DecorationSet
76
+ }
77
+
54
78
  /**
55
79
  * Build the contenteditable widget that lets the user type raw LaTeX.
56
80
  * The query includes the leading "$", which is shown in the widget so the
57
- * user always sees "$…latex…".
81
+ * user always sees "$…latex…”.
58
82
  */
59
- function createInlineMathWidget(editor, pluginState, pluginKey) {
83
+ function createInlineMathWidget(
84
+ editor: Editor,
85
+ pluginState: InlineEditorState,
86
+ pluginKey: PluginKey
87
+ ): HTMLElement {
60
88
  const view = editor.currentView || editor.view
61
89
  const container = document.createElement("span")
62
90
  container.className = "inline-math-widget"
@@ -67,8 +95,7 @@ function createInlineMathWidget(editor, pluginState, pluginKey) {
67
95
  input.className = "inline-math-input"
68
96
  input.textContent = pluginState.query
69
97
 
70
- input.addEventListener("input", event => {
71
- event.stopPropagation()
98
+ input.addEventListener("input", () => {
72
99
  const text = input.textContent || ""
73
100
  if (!text) {
74
101
  // Everything including `$` was deleted — remove the node.
@@ -99,7 +126,9 @@ function createInlineMathWidget(editor, pluginState, pluginKey) {
99
126
 
100
127
  input.addEventListener("keydown", event => {
101
128
  event.stopPropagation()
102
- const currentState = pluginKey.getState(view.state)
129
+ const currentState = pluginKey.getState(view.state) as
130
+ | InlineEditorState
131
+ | undefined
103
132
  if (!currentState?.active) {
104
133
  return
105
134
  }
@@ -173,14 +202,16 @@ function createInlineMathWidget(editor, pluginState, pluginKey) {
173
202
 
174
203
  input.addEventListener("focusout", event => {
175
204
  const related = event.relatedTarget
176
- if (container.contains(related)) {
205
+ if (container.contains(related as globalThis.Node | null)) {
177
206
  return
178
207
  }
179
208
  const myWidgetId = pluginState.widgetId
180
209
  // Use a tiny timeout so that a click on the container itself
181
210
  // (e.g. scrollbar) does not accidentally commit.
182
211
  setTimeout(() => {
183
- const currentState = pluginKey.getState(view.state)
212
+ const currentState = pluginKey.getState(view.state) as
213
+ | InlineEditorState
214
+ | undefined
184
215
  if (currentState?.active && currentState.widgetId === myWidgetId) {
185
216
  view.dispatch(
186
217
  view.state.tr.setMeta(pluginKey, {action: "commit"})
@@ -212,26 +243,35 @@ function createInlineMathWidget(editor, pluginState, pluginKey) {
212
243
  /* Dropup plugin (inline_math preference OFF) */
213
244
  /* ────────────────────────────────────────────────────────── */
214
245
 
215
- function dropupPlugin(options) {
246
+ interface DropupState {
247
+ equationNode: ProseMirrorNode | undefined
248
+ decos: DecorationSet
249
+ selectedIndex: number
250
+ }
251
+
252
+ function dropupPlugin(options: {editor: Editor}): Plugin {
216
253
  const editor = options.editor
217
- let currentDropUpActions = []
254
+ let currentDropUpActions: Array<() => void> = []
218
255
 
219
256
  const editAccess = ["write", "write-tracked", "review-tracked"].includes(
220
- editor.docInfo.access_rights
257
+ editor.docInfo.access_rights as string
221
258
  )
222
259
 
223
- function getEquationNode(state) {
260
+ function getEquationNode(state: EditorState): ProseMirrorNode | undefined {
224
261
  return state.selection instanceof NodeSelection &&
225
262
  state.selection.node.type.name === "equation"
226
263
  ? state.selection.node
227
264
  : undefined
228
265
  }
229
266
 
230
- function createEquationDropUp(equationNode, selectedIndex = -1) {
267
+ function createEquationDropUp(
268
+ equationNode: ProseMirrorNode,
269
+ selectedIndex = -1
270
+ ): HTMLElement {
231
271
  const dropUp = document.createElement("span")
232
272
  dropUp.classList.add("drop-up-outer")
233
273
 
234
- const _latex = equationNode.attrs.equation || ""
274
+ const _latex = equationNode.attrs.equation as string
235
275
  const requiredPx = editAccess ? 92 : 50
236
276
 
237
277
  dropUp.innerHTML = `
@@ -254,7 +294,10 @@ function dropupPlugin(options) {
254
294
  </div>`
255
295
 
256
296
  currentDropUpActions = []
257
- const setupAction = (selector, action) => {
297
+ const setupAction = (
298
+ selector: string,
299
+ action: () => void
300
+ ): void => {
258
301
  const el = dropUp.querySelector(selector)
259
302
  if (!el) {
260
303
  return
@@ -271,7 +314,7 @@ function dropupPlugin(options) {
271
314
  // MathDialog reads the NodeSelection from the view, so we rely on
272
315
  // the equation node already being NodeSelected when the button is
273
316
  // activated.
274
- const dialog = new MathDialog(editor)
317
+ const dialog = new MathDialogCtor(editor)
275
318
  dialog.init()
276
319
  })
277
320
 
@@ -295,7 +338,7 @@ function dropupPlugin(options) {
295
338
  return dropUp
296
339
  }
297
340
 
298
- function getDecos(state, selectedIndex = -1) {
341
+ function getDecos(state: EditorState, selectedIndex = -1): DecorationSet {
299
342
  const equationNode = getEquationNode(state)
300
343
  if (!equationNode) {
301
344
  return DecorationSet.empty
@@ -311,20 +354,20 @@ function dropupPlugin(options) {
311
354
  return new Plugin({
312
355
  key,
313
356
  state: {
314
- init() {
357
+ init(): DropupState {
315
358
  return {
316
359
  equationNode: undefined,
317
360
  decos: DecorationSet.empty,
318
361
  selectedIndex: -1
319
362
  }
320
363
  },
321
- apply(tr, prev, _oldState, state) {
364
+ apply(tr, prev, _oldState, state): DropupState {
322
365
  const newEquationNode = getEquationNode(state)
323
366
  const meta = tr.getMeta(key)
324
- let {selectedIndex} = prev
367
+ let {selectedIndex} = prev as DropupState
325
368
 
326
369
  if (meta?.action === "navigate") {
327
- selectedIndex = meta.index
370
+ selectedIndex = meta.index as number
328
371
  return {
329
372
  equationNode: newEquationNode,
330
373
  decos: getDecos(state, selectedIndex),
@@ -332,10 +375,13 @@ function dropupPlugin(options) {
332
375
  }
333
376
  }
334
377
 
335
- if (newEquationNode === prev.equationNode) {
378
+ if (newEquationNode === (prev as DropupState).equationNode) {
336
379
  return {
337
380
  equationNode: newEquationNode,
338
- decos: prev.decos.map(tr.mapping, tr.doc),
381
+ decos: (prev as DropupState).decos.map(
382
+ tr.mapping,
383
+ tr.doc
384
+ ),
339
385
  selectedIndex
340
386
  }
341
387
  }
@@ -350,8 +396,10 @@ function dropupPlugin(options) {
350
396
  }
351
397
  },
352
398
  props: {
353
- handleKeyDown(view, event) {
354
- const pluginState = key.getState(view.state)
399
+ handleKeyDown(view: EditorView, event: KeyboardEvent) {
400
+ const pluginState = key.getState(view.state) as
401
+ | DropupState
402
+ | undefined
355
403
  if (!pluginState?.equationNode) {
356
404
  return false
357
405
  }
@@ -396,8 +444,10 @@ function dropupPlugin(options) {
396
444
  }
397
445
  return false
398
446
  },
399
- decorations(state) {
400
- const pluginState = key.getState(state)
447
+ decorations(state: EditorState) {
448
+ const pluginState = key.getState(state) as
449
+ | DropupState
450
+ | undefined
401
451
  return pluginState?.decos || DecorationSet.empty
402
452
  }
403
453
  }
@@ -408,13 +458,13 @@ function dropupPlugin(options) {
408
458
  /* Inline editor plugin (inline_math preference ON) */
409
459
  /* ────────────────────────────────────────────────────────── */
410
460
 
411
- function inlineEditorPlugin(options) {
461
+ function inlineEditorPlugin(options: {editor: Editor}): Plugin {
412
462
  const editor = options.editor
413
463
 
414
464
  return new Plugin({
415
465
  key,
416
466
  state: {
417
- init() {
467
+ init(): InlineEditorState {
418
468
  return {
419
469
  active: false,
420
470
  from: 0,
@@ -426,19 +476,21 @@ function inlineEditorPlugin(options) {
426
476
  decos: DecorationSet.empty
427
477
  }
428
478
  },
429
- apply(tr, prev, _oldState, _newState) {
430
- let next = {...prev}
479
+ apply(tr, prev, _oldState, _newState): InlineEditorState {
480
+ let next = {...prev} as InlineEditorState
431
481
  const meta = tr.getMeta(key)
432
482
 
433
483
  if (meta?.action === "activate") {
434
484
  next = {
435
485
  active: true,
436
- from: meta.from,
437
- query: meta.query || "$",
438
- isEdit: meta.isEdit || false,
439
- mathNodePos: meta.mathNodePos || 0,
486
+ from: meta.from as number,
487
+ query: (meta.query as string) || "$",
488
+ isEdit: (meta.isEdit as boolean) || false,
489
+ mathNodePos: (meta.mathNodePos as number) || 0,
440
490
  widgetId: Math.random().toString(36).slice(2),
441
- cursorAtStart: meta.cursorAtStart,
491
+ cursorAtStart: meta.cursorAtStart as
492
+ | boolean
493
+ | undefined,
442
494
  decos: DecorationSet.empty
443
495
  }
444
496
  } else if (meta?.action === "deactivate") {
@@ -453,7 +505,7 @@ function inlineEditorPlugin(options) {
453
505
  decos: DecorationSet.empty
454
506
  }
455
507
  } else if (meta?.action === "updateQuery") {
456
- next.query = meta.query
508
+ next.query = meta.query as string
457
509
  }
458
510
 
459
511
  if (next.active) {
@@ -494,7 +546,9 @@ function inlineEditorPlugin(options) {
494
546
  },
495
547
 
496
548
  appendTransaction: (trs, oldState, newState) => {
497
- const oldPluginState = key.getState(oldState)
549
+ const oldPluginState = key.getState(oldState) as
550
+ | InlineEditorState
551
+ | undefined
498
552
  const meta = trs.find(tr => tr.getMeta(key))?.getMeta(key)
499
553
 
500
554
  /* ── commit / commitAndRight ── */
@@ -502,7 +556,7 @@ function inlineEditorPlugin(options) {
502
556
  meta?.action === "commit" ||
503
557
  meta?.action === "commitAndRight"
504
558
  ) {
505
- if (!oldPluginState.active) {
559
+ if (!oldPluginState?.active) {
506
560
  return null
507
561
  }
508
562
  const query = oldPluginState.query
@@ -580,7 +634,10 @@ function inlineEditorPlugin(options) {
580
634
 
581
635
  /* ── cancel ── */
582
636
  if (meta?.action === "cancel") {
583
- if (oldPluginState.isEdit) {
637
+ if (!oldPluginState) {
638
+ return null
639
+ }
640
+ if (oldPluginState?.isEdit) {
584
641
  // Leave the equation node unchanged; move cursor after it.
585
642
  const node = newState.doc.nodeAt(oldPluginState.mathNodePos)
586
643
  const tr = newState.tr.setSelection(
@@ -602,7 +659,10 @@ function inlineEditorPlugin(options) {
602
659
 
603
660
  /* ── cancelDelete ── */
604
661
  if (meta?.action === "cancelDelete") {
605
- if (oldPluginState.isEdit) {
662
+ if (!oldPluginState) {
663
+ return null
664
+ }
665
+ if (oldPluginState?.isEdit) {
606
666
  // Delete the equation node entirely.
607
667
  const existingNode = newState.doc.nodeAt(
608
668
  oldPluginState.mathNodePos
@@ -624,7 +684,10 @@ function inlineEditorPlugin(options) {
624
684
 
625
685
  /* ── cancelLeft ── */
626
686
  if (meta?.action === "cancelLeft") {
627
- if (oldPluginState.isEdit) {
687
+ if (!oldPluginState) {
688
+ return null
689
+ }
690
+ if (oldPluginState?.isEdit) {
628
691
  const tr = newState.tr.setSelection(
629
692
  TextSelection.create(
630
693
  newState.doc,
@@ -633,7 +696,10 @@ function inlineEditorPlugin(options) {
633
696
  )
634
697
  return tr.setMeta(key, {action: "deactivate"})
635
698
  } else {
636
- const tr = newState.tr.insertText("$", oldPluginState.from)
699
+ const tr = newState.tr.insertText(
700
+ "$",
701
+ oldPluginState.from
702
+ )
637
703
  tr.setSelection(
638
704
  TextSelection.create(tr.doc, oldPluginState.from)
639
705
  )
@@ -642,7 +708,7 @@ function inlineEditorPlugin(options) {
642
708
  }
643
709
 
644
710
  /* ── implicit commit when selection moves away ── */
645
- if (oldPluginState.active) {
711
+ if (oldPluginState?.active) {
646
712
  if (
647
713
  trs.some(tr => tr.selectionSet) &&
648
714
  (newState.selection.from !== oldPluginState.from ||
@@ -724,12 +790,21 @@ function inlineEditorPlugin(options) {
724
790
  },
725
791
 
726
792
  props: {
727
- decorations(state) {
728
- const pluginState = key.getState(state)
793
+ decorations(state: EditorState) {
794
+ const pluginState = key.getState(state) as
795
+ | InlineEditorState
796
+ | undefined
729
797
  return pluginState?.decos || DecorationSet.empty
730
798
  },
731
799
 
732
- handleClickOn(_view, _pos, node, nodePos, _event, _direct) {
800
+ handleClickOn(
801
+ _view: EditorView,
802
+ _pos: number,
803
+ node: ProseMirrorNode,
804
+ nodePos: number,
805
+ _event: MouseEvent,
806
+ _direct: boolean
807
+ ) {
733
808
  if (node.type.name === "equation") {
734
809
  const tr = _view.state.tr.setSelection(
735
810
  TextSelection.create(
@@ -751,24 +826,27 @@ function inlineEditorPlugin(options) {
751
826
  },
752
827
 
753
828
  handleDOMEvents: {
754
- mousedown(view, event) {
829
+ mousedown(view: EditorView, event: MouseEvent) {
755
830
  if (event.ctrlKey || event.metaKey || event.shiftKey) {
756
831
  return false
757
832
  }
758
833
  if (event.button !== 0) {
759
834
  return false
760
835
  }
761
- const target = event.target.closest(".equation")
762
- if (!target) {
836
+ const target = event.target as HTMLElement | null
837
+ const closest = target?.closest(".equation")
838
+ if (!closest) {
763
839
  return false
764
840
  }
765
- let pos = view.posAtDOM(target, 0)
841
+ let pos = view.posAtDOM(closest, 0)
766
842
  let node = view.state.doc.nodeAt(pos)
767
843
  if (!node || node.type.name !== "equation") {
768
844
  return false
769
845
  }
770
846
 
771
- const pluginState = key.getState(view.state)
847
+ const pluginState = key.getState(view.state) as
848
+ | InlineEditorState
849
+ | undefined
772
850
  if (pluginState?.active) {
773
851
  // Commit the current widget before opening a new one.
774
852
  const commitTr = view.state.tr.setMeta(key, {
@@ -801,10 +879,13 @@ function inlineEditorPlugin(options) {
801
879
  return true
802
880
  },
803
881
 
804
- click(view, event) {
805
- const pluginState = key.getState(view.state)
882
+ click(view: EditorView, event: MouseEvent) {
883
+ const pluginState = key.getState(view.state) as
884
+ | InlineEditorState
885
+ | undefined
806
886
  if (pluginState?.active) {
807
- if (event.target.closest(".inline-math-widget")) {
887
+ const target = event.target as HTMLElement | null
888
+ if (target?.closest(".inline-math-widget")) {
808
889
  // Click inside the widget: let the widget handle it.
809
890
  return false
810
891
  }
@@ -819,8 +900,10 @@ function inlineEditorPlugin(options) {
819
900
  }
820
901
  },
821
902
 
822
- handleKeyDown(view, event) {
823
- const pluginState = key.getState(view.state)
903
+ handleKeyDown(view: EditorView, event: KeyboardEvent) {
904
+ const pluginState = key.getState(view.state) as
905
+ | InlineEditorState
906
+ | undefined
824
907
  if (!pluginState?.active) {
825
908
  /* ── "$" keypress → activate inline editor ── */
826
909
  if (event.key === "$") {
@@ -906,13 +989,16 @@ function inlineEditorPlugin(options) {
906
989
  /* Public plugin factory */
907
990
  /* ────────────────────────────────────────────────────────── */
908
991
 
909
- export const inlineMathPlugin = options => {
992
+ export const inlineMathPlugin = (options: {editor: Editor}): Plugin => {
910
993
  const editor = options.editor
911
994
 
995
+ const appConfig = editor.app as {
996
+ config?: {user?: {preferences?: {inline_math?: boolean}}}
997
+ }
912
998
  const enabled =
913
- editor.app.config.user?.preferences?.inline_math === true &&
914
- !READ_ONLY_ROLES.includes(editor.docInfo.access_rights) &&
915
- !COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights)
999
+ appConfig.config?.user?.preferences?.inline_math === true &&
1000
+ !READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) &&
1001
+ !COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string)
916
1002
 
917
1003
  return enabled ? inlineEditorPlugin(options) : dropupPlugin(options)
918
1004
  }
@@ -1,21 +1,47 @@
1
1
  import {escapeText} from "fwtoolkit"
2
2
  import {dateToYear, litToText, nameToText} from "@fiduswriter/bibliography-manager/tools"
3
+ import type {EditorState} from "prosemirror-state"
4
+
3
5
  import {getInternalTargets} from "../links.js"
6
+ import type {Editor} from "../../types.js"
7
+
8
+ interface CitationMatch {
9
+ id: number
10
+ entry_key: string
11
+ author?: string
12
+ title?: string
13
+ year?: string
14
+ }
15
+
16
+ interface CrossRefTarget {
17
+ id: string
18
+ text: string
19
+ }
20
+
21
+ interface BibliographyEntry {
22
+ id: number
23
+ entry_key: string
24
+ author: string
25
+ title: string
26
+ year: string
27
+ source: string
28
+ entry: any
29
+ }
4
30
 
5
31
  /**
6
32
  * Create a drop-up widget for the inline reference editor.
7
- * @param {Array} citationMatches - Array of {id, entry_key, author, title, year} objects
8
- * @param {number} selectedIndex - Currently selected index
9
- * @param {Function} onSelect - Callback when an item is selected
10
- * @param {Array} crossRefMatches - Array of {id, text} cross-reference objects
11
- * @returns {HTMLElement} The drop-up DOM element
33
+ * @param citationMatches - Array of {id, entry_key, author, title, year} objects
34
+ * @param selectedIndex - Currently selected index
35
+ * @param onSelect - Callback when an item is selected
36
+ * @param crossRefMatches - Array of {id, text} cross-reference objects
37
+ * @returns The drop-up DOM element
12
38
  */
13
39
  export function createInlineReferenceDropUp(
14
- citationMatches,
15
- selectedIndex,
16
- onSelect,
17
- crossRefMatches = []
18
- ) {
40
+ citationMatches: CitationMatch[],
41
+ selectedIndex: number,
42
+ onSelect: (index: number) => void,
43
+ crossRefMatches: CrossRefTarget[] = []
44
+ ): HTMLElement {
19
45
  const container = document.createElement("span")
20
46
  container.classList.add("drop-up-outer", "inline-reference-drop-up")
21
47
 
@@ -91,16 +117,16 @@ export function createInlineReferenceDropUp(
91
117
  /**
92
118
  * Build a flat list of bibliography entries for matching.
93
119
  * Searches both document bibDB and user bibDB.
94
- * @param {Object} editor - The Editor instance
95
- * @returns {Array} Array of {id, entry_key, author, title, year, source, entry}
120
+ * @param editor - The Editor instance
121
+ * @returns Array of {id, entry_key, author, title, year, source, entry}
96
122
  * where `entry` is the raw DB object (needed when importing a user entry
97
123
  * into the document bibDB via addReference).
98
124
  */
99
- export function buildBibliographyList(editor) {
100
- const entries = []
101
- const seenKeys = new Set()
125
+ export function buildBibliographyList(editor: Editor): BibliographyEntry[] {
126
+ const entries: BibliographyEntry[] = []
127
+ const seenKeys = new Set<string>()
102
128
 
103
- const addEntries = (db, source) => {
129
+ const addEntries = (db: Record<number, any>, source: string): void => {
104
130
  if (!db) {
105
131
  return
106
132
  }
@@ -128,10 +154,10 @@ export function buildBibliographyList(editor) {
128
154
  }
129
155
 
130
156
  if (editor.mod?.db?.bibDB?.db) {
131
- addEntries(editor.mod.db.bibDB.db, "doc")
157
+ addEntries(editor.mod.db.bibDB.db as Record<number, any>, "doc")
132
158
  }
133
- if (editor.app?.bibDB?.db) {
134
- addEntries(editor.app.bibDB.db, "user")
159
+ if ((editor.app as any).bibDB?.db) {
160
+ addEntries((editor.app as any).bibDB.db as Record<number, any>, "user")
135
161
  }
136
162
 
137
163
  return entries
@@ -139,11 +165,14 @@ export function buildBibliographyList(editor) {
139
165
 
140
166
  /**
141
167
  * Filter bibliography entries by query string (prefix match on entry_key).
142
- * @param {Array} entries - Full bibliography list
143
- * @param {string} query - Search query
144
- * @returns {Array} Filtered entries
168
+ * @param entries - Full bibliography list
169
+ * @param query - Search query
170
+ * @returns Filtered entries
145
171
  */
146
- export function filterBibliography(entries, query) {
172
+ export function filterBibliography(
173
+ entries: BibliographyEntry[],
174
+ query: string
175
+ ): BibliographyEntry[] {
147
176
  if (!query) {
148
177
  return entries.slice(0, 50)
149
178
  }
@@ -168,17 +197,19 @@ export function filterBibliography(entries, query) {
168
197
  /**
169
198
  * Build a list of cross-reference targets (headings, figures, tables,
170
199
  * code blocks, anchors) from the main document and footnotes.
171
- * @param {Object} editor - The Editor instance
172
- * @returns {Array} Array of {id, text} objects
200
+ * @param editor - The Editor instance
201
+ * @returns Array of {id, text} objects
173
202
  */
174
- export function buildCrossRefList(editor) {
175
- const mainState = editor.view.state
176
- const language = mainState.doc.attrs.language
203
+ export function buildCrossRefList(editor: Editor): CrossRefTarget[] {
204
+ const mainState = editor.view.state as EditorState
205
+ const language = mainState.doc.attrs.language as string
177
206
  const targets = getInternalTargets(mainState, language, "main")
178
- if (editor.mod?.footnotes?.fnEditor?.view?.state) {
207
+ if (
208
+ (editor.mod as any).footnotes?.fnEditor?.view?.state
209
+ ) {
179
210
  targets.push(
180
211
  ...getInternalTargets(
181
- editor.mod.footnotes.fnEditor.view.state,
212
+ (editor.mod as any).footnotes.fnEditor.view.state,
182
213
  language,
183
214
  "foot"
184
215
  )
@@ -189,11 +220,14 @@ export function buildCrossRefList(editor) {
189
220
 
190
221
  /**
191
222
  * Filter cross-reference targets by query string (substring match on text).
192
- * @param {Array} targets - Full cross-reference list
193
- * @param {string} query - Search query (without leading @)
194
- * @returns {Array} Filtered targets (max 50)
223
+ * @param targets - Full cross-reference list
224
+ * @param query - Search query (without leading @)
225
+ * @returns Filtered targets (max 50)
195
226
  */
196
- export function filterCrossRefs(targets, query) {
227
+ export function filterCrossRefs(
228
+ targets: CrossRefTarget[],
229
+ query: string
230
+ ): CrossRefTarget[] {
197
231
  if (!query) {
198
232
  return targets.slice(0, 50)
199
233
  }