@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
@@ -10,8 +10,8 @@ import {
10
10
  postJson,
11
11
  setCheckableLabel
12
12
  } from "fwtoolkit"
13
+ import type {ContentMenuInit} from "fwtoolkit/content_menu"
13
14
 
14
- ensureCSS(staticUrl("css/checkable_list.css"))
15
15
  import {AddContactDialog} from "../../contacts/add_dialog.js"
16
16
  import {
17
17
  collaboratorsTemplate,
@@ -23,13 +23,71 @@ import {
23
23
  shareTokenRowTemplate
24
24
  } from "./templates.js"
25
25
 
26
+ ensureCSS(staticUrl("css/checkable_list.css"))
27
+
28
+ interface Contact {
29
+ id: number | string
30
+ type: string
31
+ name: string
32
+ avatar?: string
33
+ }
34
+
35
+ interface AccessRightHolder {
36
+ id: number
37
+ type: string
38
+ }
39
+
40
+ interface AccessRight {
41
+ document_id?: number
42
+ holder: AccessRightHolder
43
+ rights: string
44
+ }
45
+
46
+ interface Collaborator {
47
+ holder: Contact
48
+ rights: string
49
+ count: number
50
+ }
51
+
52
+ interface ShareToken {
53
+ id: number
54
+ share_url: string
55
+ expires_at?: string
56
+ note?: string
57
+ rights: string
58
+ }
59
+
60
+ interface AccessRightsTabOptions {
61
+ documentIds: number[]
62
+ contacts: Contact[]
63
+ newContactCall: (contactData: Contact) => void
64
+ e2ee: boolean
65
+ documentPassword?: string
66
+ onShareSuccess?: (accessRights: AccessRight[]) => void
67
+ settings: Record<string, unknown>
68
+ container?: HTMLElement | null
69
+ }
70
+
71
+ interface AccessRightMenuItem {
72
+ type?: "header" | "action" | "separator"
73
+ title: string
74
+ tooltip?: string
75
+ icon?: string
76
+ right?: string
77
+ action?: () => void
78
+ selected?: boolean
79
+ }
80
+
26
81
  /**
27
82
  * Build the collaborators list from raw access rights and document IDs.
28
83
  */
29
- function getCollaborators(accessRights, documentIds) {
30
- const docCollabs = {}
84
+ function getCollaborators(
85
+ accessRights: AccessRight[],
86
+ documentIds: number[]
87
+ ): Collaborator[] {
88
+ const docCollabs: Record<string, Collaborator> = {}
31
89
  accessRights.forEach(ar => {
32
- if (!documentIds.includes(ar.document_id)) {
90
+ if (!ar.document_id || !documentIds.includes(ar.document_id)) {
33
91
  return
34
92
  }
35
93
  const holderIdent = ar.holder.type + ar.holder.id
@@ -39,8 +97,10 @@ function getCollaborators(accessRights, documentIds) {
39
97
  }
40
98
  docCollabs[holderIdent].count += 1
41
99
  } else {
42
- docCollabs[holderIdent] = Object.assign({}, ar)
43
- docCollabs[holderIdent].count = 1
100
+ docCollabs[holderIdent] = Object.assign({}, ar, {
101
+ holder: {id: ar.holder.id, type: ar.holder.type},
102
+ count: 1
103
+ }) as unknown as Collaborator
44
104
  }
45
105
  })
46
106
  return Object.values(docCollabs).filter(
@@ -51,17 +111,18 @@ function getCollaborators(accessRights, documentIds) {
51
111
  /**
52
112
  * Collect access rights from the DOM inside a given container.
53
113
  */
54
- function collectAccessRights(container) {
55
- const accessRights = []
114
+ function collectAccessRights(container: HTMLElement): AccessRight[] {
115
+ const accessRights: AccessRight[] = []
56
116
  container
57
117
  .querySelectorAll("#share-contact .fw-collaborator-tr")
58
118
  .forEach(el => {
119
+ const htmlEl = el as HTMLElement
59
120
  accessRights.push({
60
121
  holder: {
61
- id: Number.parseInt(el.dataset.id),
62
- type: el.dataset.type
122
+ id: Number.parseInt(htmlEl.dataset.id || "0"),
123
+ type: htmlEl.dataset.type || ""
63
124
  },
64
- rights: el.dataset.rights
125
+ rights: htmlEl.dataset.rights || ""
65
126
  })
66
127
  })
67
128
  return accessRights
@@ -74,29 +135,42 @@ function collectAccessRights(container) {
74
135
  * or wrapped in its own Dialog via DocumentAccessRightsDialog.
75
136
  */
76
137
  export class AccessRightsTab {
138
+ documentIds: number[]
139
+ contacts: Contact[]
140
+ newContactCall: (contactData: Contact) => void
141
+ singleDocumentId: number | null
142
+ e2ee: boolean
143
+ documentPassword: string
144
+ onShareSuccess?: (accessRights: AccessRight[]) => void
145
+ settings: Record<string, unknown>
146
+ container: HTMLElement | null
147
+ accessRights: AccessRight[]
148
+ dialogTabs!: DialogTabs
149
+
77
150
  constructor({
78
151
  documentIds,
79
152
  contacts,
80
153
  newContactCall,
81
154
  e2ee,
82
- documentPassword,
155
+ documentPassword = "",
83
156
  onShareSuccess,
84
157
  settings,
85
158
  container = null
86
- }) {
159
+ }: AccessRightsTabOptions) {
87
160
  this.documentIds = documentIds
88
161
  this.contacts = contacts
89
162
  this.newContactCall = newContactCall
90
- this.singleDocumentId = documentIds.length === 1 ? documentIds[0] : null
163
+ this.singleDocumentId =
164
+ documentIds.length === 1 ? documentIds[0] : null
91
165
  this.e2ee = e2ee
92
166
  this.documentPassword = documentPassword
93
167
  this.onShareSuccess = onShareSuccess
94
168
  this.settings = settings
95
- this.container = container
169
+ this.container = container || null
96
170
  this.accessRights = []
97
171
  }
98
172
 
99
- load() {
173
+ load(): Promise<void> {
100
174
  return postJson("/api/document/get_access_rights/", {
101
175
  document_ids: this.documentIds
102
176
  })
@@ -104,12 +178,13 @@ export class AccessRightsTab {
104
178
  addAlert("error", gettext("Cannot load document access data."))
105
179
  throw error
106
180
  })
107
- .then(({json}) => {
108
- this.accessRights = json.access_rights
181
+ .then(({json}: {json: unknown}) => {
182
+ const data = json as {access_rights: AccessRight[]}
183
+ this.accessRights = data.access_rights
109
184
  })
110
185
  }
111
186
 
112
- render() {
187
+ render(): string {
113
188
  const collaborators = getCollaborators(
114
189
  this.accessRights,
115
190
  this.documentIds
@@ -156,7 +231,7 @@ export class AccessRightsTab {
156
231
  return html
157
232
  }
158
233
 
159
- bindEvents() {
234
+ bindEvents(): void {
160
235
  const container = this.container
161
236
  if (!container) {
162
237
  return
@@ -165,38 +240,38 @@ export class AccessRightsTab {
165
240
  // Add selected contacts to collaborators
166
241
  container
167
242
  .querySelector("#add-share-contact")
168
- .addEventListener("click", () => {
169
- const selectedData = []
243
+ ?.addEventListener("click", () => {
244
+ const selectedData: Collaborator[] = []
170
245
  container
171
246
  .querySelectorAll("#my-contacts .fw-checkable.fw-checked")
172
247
  .forEach(el => {
248
+ const htmlEl = el as HTMLElement
173
249
  const collaboratorEl = container.querySelector(
174
- `#collaborator-${el.dataset.type}-${el.dataset.id}`
250
+ `#collaborator-${htmlEl.dataset.type}-${htmlEl.dataset.id}`
175
251
  )
176
252
  if (collaboratorEl) {
177
- if (collaboratorEl.dataset.rights === "delete") {
178
- collaboratorEl.dataset.rights = "read"
253
+ const colRow = collaboratorEl as HTMLElement
254
+ if (colRow.dataset.rights === "delete") {
255
+ colRow.dataset.rights = "read"
179
256
  const accessRightIcon =
180
- collaboratorEl.querySelector(
181
- ".fw-icon-access-right"
182
- )
183
- accessRightIcon.classList.remove(
257
+ colRow.querySelector(".fw-icon-access-right")
258
+ accessRightIcon?.classList.remove(
184
259
  "icon-access-delete"
185
260
  )
186
- accessRightIcon.classList.add(
261
+ accessRightIcon?.classList.add(
187
262
  "icon-access-read"
188
263
  )
189
264
  }
190
265
  } else {
191
266
  const collaborator = this.contacts.find(
192
267
  contact =>
193
- contact.type === el.dataset.type &&
268
+ contact.type === htmlEl.dataset.type &&
194
269
  contact.id ===
195
- Number.parseInt(el.dataset.id)
270
+ Number.parseInt(htmlEl.dataset.id || "0")
196
271
  )
197
272
  if (!collaborator) {
198
273
  console.warn(
199
- `No contact found of type: ${el.dataset.type} id: ${el.dataset.id}.`
274
+ `No contact found of type: ${htmlEl.dataset.type} id: ${htmlEl.dataset.id}.`
200
275
  )
201
276
  return
202
277
  }
@@ -207,7 +282,8 @@ export class AccessRightsTab {
207
282
  name: collaborator.name,
208
283
  avatar: collaborator.avatar
209
284
  },
210
- rights: "read"
285
+ rights: "read",
286
+ count: 1
211
287
  })
212
288
  }
213
289
  })
@@ -219,7 +295,7 @@ export class AccessRightsTab {
219
295
  .forEach(el => el.classList.remove("fw-checked"))
220
296
  container
221
297
  .querySelector("#share-contact table tbody")
222
- .insertAdjacentHTML(
298
+ ?.insertAdjacentHTML(
223
299
  "beforeend",
224
300
  collaboratorsTemplate({
225
301
  collaborators: selectedData
@@ -232,69 +308,82 @@ export class AccessRightsTab {
232
308
 
233
309
  // Share-link actions
234
310
  container.addEventListener("click", event => {
235
- const el = {}
311
+ const el: {target?: Element | null} = {}
236
312
  if (findTarget(event, "#create-share-token-btn", el)) {
237
313
  this.openCreateShareTokenDialog()
238
314
  return
239
315
  }
240
316
  if (findTarget(event, ".copy-share-token-btn", el)) {
241
- const url = el.target.closest(".copy-share-token-btn").dataset
242
- .url
243
- navigator.clipboard.writeText(url).then(
244
- () =>
245
- addAlert(
246
- "success",
247
- gettext("Link copied to clipboard.")
248
- ),
249
- () => addAlert("error", gettext("Could not copy link."))
250
- )
317
+ const url = (
318
+ (el.target as HTMLElement).closest(
319
+ ".copy-share-token-btn"
320
+ ) as HTMLElement | null
321
+ )?.dataset.url
322
+ if (url) {
323
+ navigator.clipboard.writeText(url).then(
324
+ () =>
325
+ addAlert(
326
+ "success",
327
+ gettext("Link copied to clipboard.")
328
+ ),
329
+ () => addAlert("error", gettext("Could not copy link."))
330
+ )
331
+ }
251
332
  return
252
333
  }
253
334
  if (findTarget(event, ".revoke-share-token-btn", el)) {
254
- const btn = el.target.closest(".revoke-share-token-btn")
255
- const tokenId = Number.parseInt(btn.dataset.tokenId)
335
+ const btn = (el.target as HTMLElement).closest(
336
+ ".revoke-share-token-btn"
337
+ ) as HTMLElement
338
+ const tokenId = Number.parseInt(btn.dataset.tokenId || "0")
256
339
  const rowEl = btn.closest(".share-token-row")
257
- this.revokeShareToken(tokenId, rowEl)
340
+ if (rowEl) {
341
+ this.revokeShareToken(tokenId, rowEl as HTMLElement)
342
+ }
258
343
  return
259
344
  }
260
345
  })
261
346
 
262
347
  // Collaborator actions
263
348
  container.addEventListener("click", event => {
264
- const el = {}
349
+ const el: {target?: Element | null} = {}
265
350
  switch (true) {
266
351
  case findTarget(event, ".fw-checkable", el):
267
- setCheckableLabel(el.target)
352
+ setCheckableLabel(el.target as HTMLElement)
268
353
  break
269
354
  case findTarget(event, ".delete-collaborator", el): {
270
- const colRow = el.target.closest(".fw-collaborator-tr")
355
+ const colRow = (el.target as HTMLElement).closest(
356
+ ".fw-collaborator-tr"
357
+ ) as HTMLElement
271
358
  colRow.dataset.rights = "delete"
272
- colRow
273
- .querySelector(".fw-icon-access-right")
274
- .setAttribute(
275
- "class",
276
- "fw-icon-access-right icon-access-delete"
277
- )
359
+ const icon = colRow.querySelector(".fw-icon-access-right")
360
+ icon?.setAttribute(
361
+ "class",
362
+ "fw-icon-access-right icon-access-delete"
363
+ )
278
364
  break
279
365
  }
280
366
  case findTarget(event, ".edit-right", el): {
281
- const colRow = el.target.closest(".fw-collaborator-tr")
282
- const currentRight = colRow.dataset.rights
367
+ const colRow = (el.target as HTMLElement).closest(
368
+ ".fw-collaborator-tr"
369
+ ) as HTMLElement
370
+ const currentRight = colRow.dataset.rights || ""
283
371
  const menu = this.getDropdownMenu(
284
372
  currentRight,
285
373
  newRight => {
286
374
  colRow.dataset.rights = newRight
287
- colRow
288
- .querySelector(".fw-icon-access-right")
289
- .setAttribute(
290
- "class",
291
- `icon-access-right icon-access-${newRight}`
292
- )
375
+ const icon = colRow.querySelector(
376
+ ".fw-icon-access-right"
377
+ )
378
+ icon?.setAttribute(
379
+ "class",
380
+ `icon-access-right icon-access-${newRight}`
381
+ )
293
382
  }
294
383
  )
295
384
  const contentMenu = new ContentMenu({
296
- menu,
297
- menuPos: {X: event.pageX, Y: event.pageY},
385
+ menu: menu as ContentMenuInit,
386
+ menuPos: {X: (event as MouseEvent).pageX, Y: (event as MouseEvent).pageY},
298
387
  width: 200
299
388
  })
300
389
  contentMenu.open()
@@ -306,10 +395,13 @@ export class AccessRightsTab {
306
395
  })
307
396
  }
308
397
 
309
- getDropdownMenu(currentRight, onChange) {
398
+ getDropdownMenu(
399
+ currentRight: string,
400
+ onChange: (newRight: string) => void
401
+ ): {content: AccessRightMenuItem[]} {
310
402
  const E2EE_ALLOWED_RIGHTS = ["write", "read-without-comments", "read"]
311
403
 
312
- const allItems = [
404
+ const allItems: AccessRightMenuItem[] = [
313
405
  {
314
406
  type: "header",
315
407
  title: gettext("Basic"),
@@ -396,7 +488,7 @@ export class AccessRightsTab {
396
488
  if (item.type === "header") {
397
489
  return true
398
490
  }
399
- return E2EE_ALLOWED_RIGHTS.includes(item.right)
491
+ return item.right && E2EE_ALLOWED_RIGHTS.includes(item.right)
400
492
  })
401
493
  : allItems
402
494
 
@@ -404,7 +496,9 @@ export class AccessRightsTab {
404
496
  if (item.type === "header") {
405
497
  const nextItems = content.slice(index + 1)
406
498
  const nextAction = nextItems.find(i => i.type === "action")
407
- const nextHeader = nextItems.findIndex(i => i.type === "header")
499
+ const nextHeader = nextItems.findIndex(
500
+ i => i.type === "header"
501
+ )
408
502
  if (!nextAction) {
409
503
  return false
410
504
  }
@@ -421,8 +515,8 @@ export class AccessRightsTab {
421
515
  return {content: filteredContent}
422
516
  }
423
517
 
424
- loadShareTokens() {
425
- const listEl = this.container.querySelector("#share-token-list")
518
+ loadShareTokens(): void {
519
+ const listEl = this.container?.querySelector("#share-token-list")
426
520
  if (!listEl) {
427
521
  return
428
522
  }
@@ -430,9 +524,10 @@ export class AccessRightsTab {
430
524
  postJson("/api/document/share_token/list/", {
431
525
  document_id: this.singleDocumentId
432
526
  })
433
- .then(({json}) => {
527
+ .then(({json}: {json: unknown}) => {
528
+ const data = json as {tokens: ShareToken[]}
434
529
  listEl.innerHTML = shareTokenListTemplate({
435
- tokens: json.tokens
530
+ tokens: data.tokens
436
531
  })
437
532
  })
438
533
  .catch(() => {
@@ -440,7 +535,7 @@ export class AccessRightsTab {
440
535
  })
441
536
  }
442
537
 
443
- openCreateShareTokenDialog() {
538
+ openCreateShareTokenDialog(): void {
444
539
  const createDialog = new Dialog({
445
540
  title: gettext("Create share link"),
446
541
  id: "create-share-token-dialog",
@@ -454,28 +549,35 @@ export class AccessRightsTab {
454
549
  text: gettext("Create"),
455
550
  classes: "fw-dark",
456
551
  click: () => {
457
- const rights = createDialog.dialogEl.querySelector(
458
- "#share-token-rights"
552
+ const rights = (
553
+ createDialog.dialogEl.querySelector(
554
+ "#share-token-rights"
555
+ ) as HTMLSelectElement
459
556
  ).value
460
- const expiresRaw = createDialog.dialogEl.querySelector(
461
- "#share-token-expires"
557
+ const expiresRaw = (
558
+ createDialog.dialogEl.querySelector(
559
+ "#share-token-expires"
560
+ ) as HTMLInputElement
462
561
  ).value
463
- const note = createDialog.dialogEl
464
- .querySelector("#share-token-note")
465
- .value.trim()
562
+ const note = (
563
+ createDialog.dialogEl.querySelector(
564
+ "#share-token-note"
565
+ ) as HTMLInputElement
566
+ ).value.trim()
466
567
  postJson("/api/document/share_token/create/", {
467
568
  document_id: this.singleDocumentId,
468
569
  rights,
469
570
  expires_at: expiresRaw || "",
470
571
  note
471
572
  })
472
- .then(({json}) => {
473
- let shareUrl = json.share_url
573
+ .then(({json}: {json: unknown}) => {
574
+ const data = json as ShareToken
575
+ let shareUrl = data.share_url
474
576
  if (this.e2ee) {
475
577
  const passwordInput =
476
578
  createDialog.dialogEl.querySelector(
477
579
  "#share-token-password"
478
- )
580
+ ) as HTMLInputElement | null
479
581
  const password = passwordInput
480
582
  ? passwordInput.value.trim()
481
583
  : ""
@@ -483,19 +585,19 @@ export class AccessRightsTab {
483
585
  shareUrl = `${shareUrl}#?password=${encodeURIComponent(password)}`
484
586
  }
485
587
  }
486
- json.share_url = shareUrl
588
+ data.share_url = shareUrl
487
589
  const listEl =
488
- this.container.querySelector(
590
+ this.container?.querySelector(
489
591
  "#share-token-list"
490
592
  )
491
593
  const placeholder =
492
- listEl.querySelector(".fw-ar-no-tokens")
594
+ listEl?.querySelector(".fw-ar-no-tokens")
493
595
  if (placeholder) {
494
596
  placeholder.remove()
495
597
  }
496
- listEl.insertAdjacentHTML(
598
+ listEl?.insertAdjacentHTML(
497
599
  "beforeend",
498
- shareTokenRowTemplate({token: json})
600
+ shareTokenRowTemplate({token: data})
499
601
  )
500
602
  addAlert(
501
603
  "success",
@@ -517,19 +619,22 @@ export class AccessRightsTab {
517
619
  createDialog.open()
518
620
  const expiresInput = createDialog.dialogEl.querySelector(
519
621
  "#share-token-expires"
520
- )
622
+ ) as HTMLInputElement
521
623
  enableDatePicker(expiresInput, true)
522
624
  }
523
625
 
524
- revokeShareToken(tokenId, rowEl) {
626
+ revokeShareToken(tokenId: number, rowEl: HTMLElement): void {
525
627
  postJson("/api/document/share_token/revoke/", {token_id: tokenId})
526
- .then(({json}) => {
527
- if (json.success) {
628
+ .then(({json}: {json: unknown}) => {
629
+ const data = json as {success: boolean}
630
+ if (data.success) {
528
631
  rowEl.remove()
529
632
  const listEl =
530
- this.container.querySelector("#share-token-list")
531
- if (!listEl.querySelector(".share-token-row")) {
532
- listEl.innerHTML = shareTokenListTemplate({tokens: []})
633
+ this.container?.querySelector("#share-token-list")
634
+ if (!listEl?.querySelector(".share-token-row")) {
635
+ if (listEl) {
636
+ listEl.innerHTML = shareTokenListTemplate({tokens: []})
637
+ }
533
638
  }
534
639
  addAlert("success", gettext("Share link revoked."))
535
640
  } else {
@@ -541,8 +646,8 @@ export class AccessRightsTab {
541
646
  )
542
647
  }
543
648
 
544
- submit() {
545
- const accessRights = collectAccessRights(this.container)
649
+ submit(): Promise<void> {
650
+ const accessRights = collectAccessRights(this.container!)
546
651
  return post("/api/document/save_access_rights/", {
547
652
  document_ids: this.documentIds,
548
653
  access_rights: accessRights
@@ -564,14 +669,24 @@ export class AccessRightsTab {
564
669
  * Supports both single-document and bulk-document editing.
565
670
  */
566
671
  export class DocumentAccessRightsDialog {
672
+ documentIds: number[]
673
+ contacts: Contact[]
674
+ newContactCall: (contactData: Contact) => void
675
+ e2ee: boolean
676
+ documentPassword: string
677
+ onShareSuccess?: (accessRights: AccessRight[]) => void
678
+ settings: Record<string, unknown>
679
+ tab!: AccessRightsTab
680
+ dialog!: Dialog
681
+
567
682
  constructor(
568
- documentIds,
569
- contacts,
570
- newContactCall,
571
- e2ee,
572
- documentPassword,
573
- onShareSuccess,
574
- settings
683
+ documentIds: number[],
684
+ contacts: Contact[],
685
+ newContactCall: (contactData: Contact) => void,
686
+ e2ee: boolean,
687
+ documentPassword = "",
688
+ onShareSuccess?: (accessRights: AccessRight[]) => void,
689
+ settings: Record<string, unknown> = {}
575
690
  ) {
576
691
  this.documentIds = documentIds
577
692
  this.contacts = contacts
@@ -582,7 +697,7 @@ export class DocumentAccessRightsDialog {
582
697
  this.settings = settings
583
698
  }
584
699
 
585
- init() {
700
+ init(): void {
586
701
  this.tab = new AccessRightsTab({
587
702
  documentIds: this.documentIds,
588
703
  contacts: this.contacts,
@@ -595,41 +710,42 @@ export class DocumentAccessRightsDialog {
595
710
  this.tab.load().then(() => this.createDialog())
596
711
  }
597
712
 
598
- createDialog() {
713
+ createDialog(): void {
599
714
  const html = this.tab.render()
600
715
 
601
716
  const buttons = [
602
717
  {
603
718
  text:
604
- this.settings?.REGISTRATION_OPEN ||
605
- this.settings?.SOCIALACCOUNT_OPEN
719
+ (this.settings?.REGISTRATION_OPEN as boolean | undefined) ||
720
+ (this.settings?.SOCIALACCOUNT_OPEN as boolean | undefined)
606
721
  ? gettext("Add contact or invite new user")
607
722
  : gettext("Add contact"),
608
723
  classes: "fw-light fw-add-button",
609
724
  click: () => {
610
725
  const dialog = new AddContactDialog(this.settings)
611
726
  dialog.init().then(contactsData => {
612
- contactsData.forEach(contactData => {
727
+ ;(contactsData as Contact[]).forEach(contactData => {
613
728
  if (contactData.id) {
614
729
  this.tab.container
615
- .querySelector(
730
+ ?.querySelector(
616
731
  "#my-contacts .fw-data-table-body"
617
732
  )
618
- .insertAdjacentHTML(
733
+ ?.insertAdjacentHTML(
619
734
  "beforeend",
620
735
  contactsTemplate({
621
736
  contacts: [contactData]
622
737
  })
623
738
  )
624
739
  this.tab.container
625
- .querySelector("#share-contact table tbody")
626
- .insertAdjacentHTML(
740
+ ?.querySelector("#share-contact table tbody")
741
+ ?.insertAdjacentHTML(
627
742
  "beforeend",
628
743
  collaboratorsTemplate({
629
744
  collaborators: [
630
745
  {
631
746
  holder: contactData,
632
- rights: "read"
747
+ rights: "read",
748
+ count: 1
633
749
  }
634
750
  ]
635
751
  })
@@ -637,14 +753,15 @@ export class DocumentAccessRightsDialog {
637
753
  this.newContactCall(contactData)
638
754
  } else {
639
755
  this.tab.container
640
- .querySelector("#share-contact table tbody")
641
- .insertAdjacentHTML(
756
+ ?.querySelector("#share-contact table tbody")
757
+ ?.insertAdjacentHTML(
642
758
  "beforeend",
643
759
  collaboratorsTemplate({
644
760
  collaborators: [
645
761
  {
646
762
  holder: contactData,
647
- rights: "read"
763
+ rights: "read",
764
+ count: 1
648
765
  }
649
766
  ]
650
767
  })
@@ -662,7 +779,7 @@ export class DocumentAccessRightsDialog {
662
779
  }
663
780
  },
664
781
  {
665
- type: "cancel"
782
+ type: "cancel" as const
666
783
  }
667
784
  ]
668
785
 
@@ -686,7 +803,7 @@ export class DocumentAccessRightsDialog {
686
803
  ".fw-tabs-nav .fw-tab-link:last-child"
687
804
  )
688
805
  if (shareTab) {
689
- shareTab.style.display = "none"
806
+ ;(shareTab as HTMLElement).style.display = "none"
690
807
  }
691
808
  }
692
809
  }