@fiduswriter/editor 0.1.19 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/dist/bibliography/tools.d.ts +14 -0
  2. package/dist/bibliography/tools.d.ts.map +1 -0
  3. package/dist/bibliography/tools.js +1 -1
  4. package/dist/bibliography/tools.js.map +1 -1
  5. package/dist/citations/index.d.ts +17 -0
  6. package/dist/citations/index.d.ts.map +1 -0
  7. package/dist/citations/index.js +22 -13
  8. package/dist/citations/index.js.map +1 -1
  9. package/dist/citations/render.d.ts +29 -0
  10. package/dist/citations/render.d.ts.map +1 -0
  11. package/dist/citations/render.js +25 -8
  12. package/dist/citations/render.js.map +1 -1
  13. package/dist/clipboard/copy/index.d.ts +2 -0
  14. package/dist/clipboard/copy/index.d.ts.map +1 -0
  15. package/dist/clipboard/copy/index.js.map +1 -1
  16. package/dist/clipboard/copy/schema.d.ts +4 -0
  17. package/dist/clipboard/copy/schema.d.ts.map +1 -0
  18. package/dist/clipboard/copy/schema.js +6 -5
  19. package/dist/clipboard/copy/schema.js.map +1 -1
  20. package/dist/clipboard/copy/serializers.d.ts +24 -0
  21. package/dist/clipboard/copy/serializers.d.ts.map +1 -0
  22. package/dist/clipboard/copy/serializers.js +19 -9
  23. package/dist/clipboard/copy/serializers.js.map +1 -1
  24. package/dist/clipboard/paste/fidus_writer.d.ts +7 -0
  25. package/dist/clipboard/paste/fidus_writer.d.ts.map +1 -0
  26. package/dist/clipboard/paste/fidus_writer.js +5 -2
  27. package/dist/clipboard/paste/fidus_writer.js.map +1 -1
  28. package/dist/clipboard/paste/general.d.ts +18 -0
  29. package/dist/clipboard/paste/general.d.ts.map +1 -0
  30. package/dist/clipboard/paste/general.js +18 -6
  31. package/dist/clipboard/paste/general.js.map +1 -1
  32. package/dist/clipboard/paste/google_docs.d.ts +6 -0
  33. package/dist/clipboard/paste/google_docs.d.ts.map +1 -0
  34. package/dist/clipboard/paste/google_docs.js +3 -2
  35. package/dist/clipboard/paste/google_docs.js.map +1 -1
  36. package/dist/clipboard/paste/html.d.ts +22 -0
  37. package/dist/clipboard/paste/html.d.ts.map +1 -0
  38. package/dist/clipboard/paste/html.js +15 -0
  39. package/dist/clipboard/paste/html.js.map +1 -1
  40. package/dist/clipboard/paste/index.d.ts +3 -0
  41. package/dist/clipboard/paste/index.d.ts.map +1 -0
  42. package/dist/clipboard/paste/index.js.map +1 -1
  43. package/dist/clipboard/paste/libreoffice_writer.d.ts +5 -0
  44. package/dist/clipboard/paste/libreoffice_writer.d.ts.map +1 -0
  45. package/dist/clipboard/paste/libreoffice_writer.js +2 -2
  46. package/dist/clipboard/paste/libreoffice_writer.js.map +1 -1
  47. package/dist/clipboard/paste/microsoft_word.d.ts +7 -0
  48. package/dist/clipboard/paste/microsoft_word.d.ts.map +1 -0
  49. package/dist/clipboard/paste/microsoft_word.js +13 -14
  50. package/dist/clipboard/paste/microsoft_word.js.map +1 -1
  51. package/dist/clipboard/paste/text.d.ts +11 -0
  52. package/dist/clipboard/paste/text.d.ts.map +1 -0
  53. package/dist/clipboard/paste/text.js +5 -3
  54. package/dist/clipboard/paste/text.js.map +1 -1
  55. package/dist/collab/chat.d.ts +24 -0
  56. package/dist/collab/chat.d.ts.map +1 -0
  57. package/dist/collab/chat.js +46 -16
  58. package/dist/collab/chat.js.map +1 -1
  59. package/dist/collab/colors.d.ts +16 -0
  60. package/dist/collab/colors.d.ts.map +1 -0
  61. package/dist/collab/colors.js +6 -0
  62. package/dist/collab/colors.js.map +1 -1
  63. package/dist/collab/doc.d.ts +147 -0
  64. package/dist/collab/doc.d.ts.map +1 -0
  65. package/dist/collab/doc.js +77 -42
  66. package/dist/collab/doc.js.map +1 -1
  67. package/dist/collab/index.d.ts +23 -0
  68. package/dist/collab/index.d.ts.map +1 -0
  69. package/dist/collab/index.js +14 -3
  70. package/dist/collab/index.js.map +1 -1
  71. package/dist/collab/merge/changeset.d.ts +23 -0
  72. package/dist/collab/merge/changeset.d.ts.map +1 -0
  73. package/dist/collab/merge/changeset.js +5 -4
  74. package/dist/collab/merge/changeset.js.map +1 -1
  75. package/dist/collab/merge/editor.d.ts +53 -0
  76. package/dist/collab/merge/editor.d.ts.map +1 -0
  77. package/dist/collab/merge/editor.js +62 -35
  78. package/dist/collab/merge/editor.js.map +1 -1
  79. package/dist/collab/merge/footnotes.d.ts +26 -0
  80. package/dist/collab/merge/footnotes.d.ts.map +1 -0
  81. package/dist/collab/merge/footnotes.js +14 -5
  82. package/dist/collab/merge/footnotes.js.map +1 -1
  83. package/dist/collab/merge/index.d.ts +32 -0
  84. package/dist/collab/merge/index.d.ts.map +1 -0
  85. package/dist/collab/merge/index.js +38 -26
  86. package/dist/collab/merge/index.js.map +1 -1
  87. package/dist/collab/merge/recreate_transform.d.ts +4 -0
  88. package/dist/collab/merge/recreate_transform.d.ts.map +1 -0
  89. package/dist/collab/merge/recreate_transform.js +25 -5
  90. package/dist/collab/merge/recreate_transform.js.map +1 -1
  91. package/dist/collab/merge/schema.d.ts +4 -0
  92. package/dist/collab/merge/schema.d.ts.map +1 -0
  93. package/dist/collab/merge/schema.js +35 -26
  94. package/dist/collab/merge/schema.js.map +1 -1
  95. package/dist/collab/merge/state_plugins/action.d.ts +16 -0
  96. package/dist/collab/merge/state_plugins/action.d.ts.map +1 -0
  97. package/dist/collab/merge/state_plugins/action.js +4 -5
  98. package/dist/collab/merge/state_plugins/action.js.map +1 -1
  99. package/dist/collab/merge/state_plugins/clipboard.d.ts +6 -0
  100. package/dist/collab/merge/state_plugins/clipboard.d.ts.map +1 -0
  101. package/dist/collab/merge/state_plugins/clipboard.js +1 -1
  102. package/dist/collab/merge/state_plugins/clipboard.js.map +1 -1
  103. package/dist/collab/merge/state_plugins/diff.d.ts +32 -0
  104. package/dist/collab/merge/state_plugins/diff.d.ts.map +1 -0
  105. package/dist/collab/merge/state_plugins/diff.js +108 -84
  106. package/dist/collab/merge/state_plugins/diff.js.map +1 -1
  107. package/dist/collab/merge/state_plugins/index.d.ts +3 -0
  108. package/dist/collab/merge/state_plugins/index.d.ts.map +1 -0
  109. package/dist/collab/merge/state_plugins/index.js.map +1 -1
  110. package/dist/collab/merge/tools.d.ts +11 -0
  111. package/dist/collab/merge/tools.d.ts.map +1 -0
  112. package/dist/collab/merge/tools.js +16 -14
  113. package/dist/collab/merge/tools.js.map +1 -1
  114. package/dist/collab/templates.d.ts +14 -0
  115. package/dist/collab/templates.d.ts.map +1 -0
  116. package/dist/collab/templates.js +1 -1
  117. package/dist/collab/templates.js.map +1 -1
  118. package/dist/comments/comment.d.ts +29 -0
  119. package/dist/comments/comment.d.ts.map +1 -0
  120. package/dist/comments/comment.js +12 -0
  121. package/dist/comments/comment.js.map +1 -1
  122. package/dist/comments/editors/answer.d.ts +14 -0
  123. package/dist/comments/editors/answer.d.ts.map +1 -0
  124. package/dist/comments/editors/answer.js +5 -3
  125. package/dist/comments/editors/answer.js.map +1 -1
  126. package/dist/comments/editors/comment.d.ts +65 -0
  127. package/dist/comments/editors/comment.d.ts.map +1 -0
  128. package/dist/comments/editors/comment.js +43 -14
  129. package/dist/comments/editors/comment.js.map +1 -1
  130. package/dist/comments/editors/index.d.ts +4 -0
  131. package/dist/comments/editors/index.d.ts.map +1 -0
  132. package/dist/comments/editors/index.js.map +1 -1
  133. package/dist/comments/editors/notify.d.ts +3 -0
  134. package/dist/comments/editors/notify.d.ts.map +1 -0
  135. package/dist/comments/editors/notify.js.map +1 -1
  136. package/dist/comments/editors/schema.d.ts +12 -0
  137. package/dist/comments/editors/schema.d.ts.map +1 -0
  138. package/dist/comments/editors/schema.js +5 -5
  139. package/dist/comments/editors/schema.js.map +1 -1
  140. package/dist/comments/index.d.ts +10 -0
  141. package/dist/comments/index.d.ts.map +1 -0
  142. package/dist/comments/index.js +5 -2
  143. package/dist/comments/index.js.map +1 -1
  144. package/dist/comments/interactions.d.ts +49 -0
  145. package/dist/comments/interactions.d.ts.map +1 -0
  146. package/dist/comments/interactions.js +33 -18
  147. package/dist/comments/interactions.js.map +1 -1
  148. package/dist/comments/store.d.ts +59 -0
  149. package/dist/comments/store.d.ts.map +1 -0
  150. package/dist/comments/store.js +36 -16
  151. package/dist/comments/store.js.map +1 -1
  152. package/dist/contacts/add_dialog.d.ts +7 -0
  153. package/dist/contacts/add_dialog.d.ts.map +1 -0
  154. package/dist/contacts/add_dialog.js +25 -26
  155. package/dist/contacts/add_dialog.js.map +1 -1
  156. package/dist/contacts/templates.d.ts +12 -0
  157. package/dist/contacts/templates.d.ts.map +1 -0
  158. package/dist/contacts/templates.js +3 -2
  159. package/dist/contacts/templates.js.map +1 -1
  160. package/dist/copyright_dialog/index.d.ts +25 -0
  161. package/dist/copyright_dialog/index.d.ts.map +1 -0
  162. package/dist/copyright_dialog/index.js +34 -26
  163. package/dist/copyright_dialog/index.js.map +1 -1
  164. package/dist/copyright_dialog/templates.d.ts +17 -0
  165. package/dist/copyright_dialog/templates.d.ts.map +1 -0
  166. package/dist/copyright_dialog/templates.js.map +1 -1
  167. package/dist/databases/bibliography.d.ts +42 -0
  168. package/dist/databases/bibliography.d.ts.map +1 -0
  169. package/dist/databases/bibliography.js +24 -9
  170. package/dist/databases/bibliography.js.map +1 -1
  171. package/dist/databases/images.d.ts +66 -0
  172. package/dist/databases/images.d.ts.map +1 -0
  173. package/dist/databases/images.js +19 -9
  174. package/dist/databases/images.js.map +1 -1
  175. package/dist/databases/index.d.ts +26 -0
  176. package/dist/databases/index.d.ts.map +1 -0
  177. package/dist/databases/index.js +9 -8
  178. package/dist/databases/index.js.map +1 -1
  179. package/dist/dialogs/citation.d.ts +58 -0
  180. package/dist/dialogs/citation.d.ts.map +1 -0
  181. package/dist/dialogs/citation.js +48 -25
  182. package/dist/dialogs/citation.js.map +1 -1
  183. package/dist/dialogs/code_block.d.ts +25 -0
  184. package/dist/dialogs/code_block.d.ts.map +1 -0
  185. package/dist/dialogs/code_block.js +32 -11
  186. package/dist/dialogs/code_block.js.map +1 -1
  187. package/dist/dialogs/contributor.d.ts +13 -0
  188. package/dist/dialogs/contributor.d.ts.map +1 -0
  189. package/dist/dialogs/contributor.js +17 -20
  190. package/dist/dialogs/contributor.js.map +1 -1
  191. package/dist/dialogs/figure.d.ts +51 -0
  192. package/dist/dialogs/figure.d.ts.map +1 -0
  193. package/dist/dialogs/figure.js +123 -81
  194. package/dist/dialogs/figure.js.map +1 -1
  195. package/dist/dialogs/index.d.ts +11 -0
  196. package/dist/dialogs/index.d.ts.map +1 -0
  197. package/dist/dialogs/index.js.map +1 -1
  198. package/dist/dialogs/language.d.ts +10 -0
  199. package/dist/dialogs/language.d.ts.map +1 -0
  200. package/dist/dialogs/language.js +4 -1
  201. package/dist/dialogs/language.js.map +1 -1
  202. package/dist/dialogs/link.d.ts +30 -0
  203. package/dist/dialogs/link.d.ts.map +1 -0
  204. package/dist/dialogs/link.js +27 -15
  205. package/dist/dialogs/link.js.map +1 -1
  206. package/dist/dialogs/math.d.ts +22 -0
  207. package/dist/dialogs/math.d.ts.map +1 -0
  208. package/dist/dialogs/math.js +27 -14
  209. package/dist/dialogs/math.js.map +1 -1
  210. package/dist/dialogs/ordered_list.d.ts +22 -0
  211. package/dist/dialogs/ordered_list.d.ts.map +1 -0
  212. package/dist/dialogs/ordered_list.js +12 -5
  213. package/dist/dialogs/ordered_list.js.map +1 -1
  214. package/dist/dialogs/revision.d.ts +8 -0
  215. package/dist/dialogs/revision.d.ts.map +1 -0
  216. package/dist/dialogs/revision.js +2 -0
  217. package/dist/dialogs/revision.js.map +1 -1
  218. package/dist/dialogs/subsup.d.ts +5 -0
  219. package/dist/dialogs/subsup.d.ts.map +1 -0
  220. package/dist/dialogs/subsup.js +3 -3
  221. package/dist/dialogs/subsup.js.map +1 -1
  222. package/dist/dialogs/table.d.ts +33 -0
  223. package/dist/dialogs/table.d.ts.map +1 -0
  224. package/dist/dialogs/table.js +43 -21
  225. package/dist/dialogs/table.js.map +1 -1
  226. package/dist/dialogs/templates.d.ts +85 -0
  227. package/dist/dialogs/templates.d.ts.map +1 -0
  228. package/dist/dialogs/templates.js +8 -8
  229. package/dist/dialogs/templates.js.map +1 -1
  230. package/dist/document_template/exporter.d.ts +23 -0
  231. package/dist/document_template/exporter.d.ts.map +1 -0
  232. package/dist/document_template/exporter.js +14 -5
  233. package/dist/document_template/exporter.js.map +1 -1
  234. package/dist/document_template/index.d.ts +35 -0
  235. package/dist/document_template/index.d.ts.map +1 -0
  236. package/dist/document_template/index.js +61 -53
  237. package/dist/document_template/index.js.map +1 -1
  238. package/dist/document_template/schema.d.ts +13 -0
  239. package/dist/document_template/schema.d.ts.map +1 -0
  240. package/dist/document_template/schema.js +2 -2
  241. package/dist/document_template/schema.js.map +1 -1
  242. package/dist/documents/access_rights/index.d.ts +85 -0
  243. package/dist/documents/access_rights/index.d.ts.map +1 -0
  244. package/dist/documents/access_rights/index.js +96 -60
  245. package/dist/documents/access_rights/index.js.map +1 -1
  246. package/dist/documents/access_rights/templates.d.ts +47 -0
  247. package/dist/documents/access_rights/templates.d.ts.map +1 -0
  248. package/dist/documents/access_rights/templates.js.map +1 -1
  249. package/dist/e2ee/snapshot-manager.d.ts +120 -0
  250. package/dist/e2ee/snapshot-manager.d.ts.map +1 -0
  251. package/dist/e2ee/snapshot-manager.js +27 -38
  252. package/dist/e2ee/snapshot-manager.js.map +1 -1
  253. package/dist/exporter/native/copy.d.ts +16 -0
  254. package/dist/exporter/native/copy.d.ts.map +1 -0
  255. package/dist/exporter/native/copy.js +51 -35
  256. package/dist/exporter/native/copy.js.map +1 -1
  257. package/dist/exporter/native/file.d.ts +6 -0
  258. package/dist/exporter/native/file.d.ts.map +1 -0
  259. package/dist/exporter/native/file.js +1 -1
  260. package/dist/exporter/native/file.js.map +1 -1
  261. package/dist/exporter/native/index.d.ts +4 -0
  262. package/dist/exporter/native/index.d.ts.map +1 -0
  263. package/dist/exporter/native/index.js.map +1 -1
  264. package/dist/exporter/native/revision.d.ts +8 -0
  265. package/dist/exporter/native/revision.d.ts.map +1 -0
  266. package/dist/exporter/native/revision.js +2 -2
  267. package/dist/exporter/native/revision.js.map +1 -1
  268. package/dist/exporter/native/zip.d.ts +2 -0
  269. package/dist/exporter/native/zip.d.ts.map +1 -0
  270. package/dist/exporter/native/zip.js.map +1 -1
  271. package/dist/footnotes/editor.d.ts +25 -0
  272. package/dist/footnotes/editor.d.ts.map +1 -0
  273. package/dist/footnotes/editor.js +5 -3
  274. package/dist/footnotes/editor.js.map +1 -1
  275. package/dist/footnotes/index.d.ts +11 -0
  276. package/dist/footnotes/index.d.ts.map +1 -0
  277. package/dist/footnotes/index.js +5 -2
  278. package/dist/footnotes/index.js.map +1 -1
  279. package/dist/footnotes/layout.d.ts +15 -0
  280. package/dist/footnotes/layout.d.ts.map +1 -0
  281. package/dist/footnotes/layout.js +26 -17
  282. package/dist/footnotes/layout.js.map +1 -1
  283. package/dist/footnotes/state_plugins/access_rights.d.ts +6 -0
  284. package/dist/footnotes/state_plugins/access_rights.d.ts.map +1 -0
  285. package/dist/footnotes/state_plugins/access_rights.js +1 -1
  286. package/dist/footnotes/state_plugins/access_rights.js.map +1 -1
  287. package/dist/footnotes/state_plugins/index.d.ts +2 -0
  288. package/dist/footnotes/state_plugins/index.d.ts.map +1 -0
  289. package/dist/footnotes/state_plugins/index.js.map +1 -1
  290. package/dist/images/edit_dialog/model.d.ts +4 -0
  291. package/dist/images/edit_dialog/model.d.ts.map +1 -0
  292. package/dist/images/edit_dialog/model.js.map +1 -1
  293. package/dist/index.d.ts +74 -0
  294. package/dist/index.d.ts.map +1 -0
  295. package/dist/index.js +88 -60
  296. package/dist/index.js.map +1 -1
  297. package/dist/keymap.d.ts +5 -0
  298. package/dist/keymap.d.ts.map +1 -0
  299. package/dist/keymap.js +1 -1
  300. package/dist/keymap.js.map +1 -1
  301. package/dist/marginboxes/index.d.ts +107 -0
  302. package/dist/marginboxes/index.d.ts.map +1 -0
  303. package/dist/marginboxes/index.js +165 -88
  304. package/dist/marginboxes/index.js.map +1 -1
  305. package/dist/marginboxes/templates.d.ts +118 -0
  306. package/dist/marginboxes/templates.d.ts.map +1 -0
  307. package/dist/marginboxes/templates.js +25 -24
  308. package/dist/marginboxes/templates.js.map +1 -1
  309. package/dist/menus/code_block/index.d.ts +2 -0
  310. package/dist/menus/code_block/index.d.ts.map +1 -0
  311. package/dist/menus/code_block/index.js.map +1 -1
  312. package/dist/menus/code_block/model.d.ts +14 -0
  313. package/dist/menus/code_block/model.d.ts.map +1 -0
  314. package/dist/menus/code_block/model.js +5 -4
  315. package/dist/menus/code_block/model.js.map +1 -1
  316. package/dist/menus/figure/index.d.ts +3 -0
  317. package/dist/menus/figure/index.d.ts.map +1 -0
  318. package/dist/menus/figure/index.js.map +1 -1
  319. package/dist/menus/figure/model.d.ts +32 -0
  320. package/dist/menus/figure/model.d.ts.map +1 -0
  321. package/dist/menus/figure/model.js +11 -12
  322. package/dist/menus/figure/model.js.map +1 -1
  323. package/dist/menus/figure/utils.d.ts +3 -0
  324. package/dist/menus/figure/utils.d.ts.map +1 -0
  325. package/dist/menus/figure/utils.js +4 -1
  326. package/dist/menus/figure/utils.js.map +1 -1
  327. package/dist/menus/headerbar/index.d.ts +3 -0
  328. package/dist/menus/headerbar/index.d.ts.map +1 -0
  329. package/dist/menus/headerbar/index.js.map +1 -1
  330. package/dist/menus/headerbar/model.d.ts +192 -0
  331. package/dist/menus/headerbar/model.d.ts.map +1 -0
  332. package/dist/menus/headerbar/model.js +141 -110
  333. package/dist/menus/headerbar/model.js.map +1 -1
  334. package/dist/menus/headerbar/view.d.ts +89 -0
  335. package/dist/menus/headerbar/view.d.ts.map +1 -0
  336. package/dist/menus/headerbar/view.js +76 -45
  337. package/dist/menus/headerbar/view.js.map +1 -1
  338. package/dist/menus/image/index.d.ts +2 -0
  339. package/dist/menus/image/index.d.ts.map +1 -0
  340. package/dist/menus/image/index.js.map +1 -1
  341. package/dist/menus/image/model.d.ts +18 -0
  342. package/dist/menus/image/model.d.ts.map +1 -0
  343. package/dist/menus/image/model.js +2 -2
  344. package/dist/menus/image/model.js.map +1 -1
  345. package/dist/menus/index.d.ts +10 -0
  346. package/dist/menus/index.d.ts.map +1 -0
  347. package/dist/menus/index.js.map +1 -1
  348. package/dist/menus/navigator/index.d.ts +2 -0
  349. package/dist/menus/navigator/index.d.ts.map +1 -0
  350. package/dist/menus/navigator/index.js.map +1 -1
  351. package/dist/menus/navigator/model.d.ts +9 -0
  352. package/dist/menus/navigator/model.d.ts.map +1 -0
  353. package/dist/menus/navigator/model.js.map +1 -1
  354. package/dist/menus/ordered_list/index.d.ts +2 -0
  355. package/dist/menus/ordered_list/index.d.ts.map +1 -0
  356. package/dist/menus/ordered_list/index.js.map +1 -1
  357. package/dist/menus/ordered_list/model.d.ts +11 -0
  358. package/dist/menus/ordered_list/model.d.ts.map +1 -0
  359. package/dist/menus/ordered_list/model.js +1 -1
  360. package/dist/menus/ordered_list/model.js.map +1 -1
  361. package/dist/menus/selection/index.d.ts +3 -0
  362. package/dist/menus/selection/index.d.ts.map +1 -0
  363. package/dist/menus/selection/index.js.map +1 -1
  364. package/dist/menus/selection/model.d.ts +16 -0
  365. package/dist/menus/selection/model.d.ts.map +1 -0
  366. package/dist/menus/selection/model.js +18 -16
  367. package/dist/menus/selection/model.js.map +1 -1
  368. package/dist/menus/selection/view.d.ts +49 -0
  369. package/dist/menus/selection/view.d.ts.map +1 -0
  370. package/dist/menus/selection/view.js +33 -18
  371. package/dist/menus/selection/view.js.map +1 -1
  372. package/dist/menus/table/index.d.ts +2 -0
  373. package/dist/menus/table/index.d.ts.map +1 -0
  374. package/dist/menus/table/index.js.map +1 -1
  375. package/dist/menus/table/model.d.ts +39 -0
  376. package/dist/menus/table/model.d.ts.map +1 -0
  377. package/dist/menus/table/model.js +53 -50
  378. package/dist/menus/table/model.js.map +1 -1
  379. package/dist/menus/toolbar/index.d.ts +3 -0
  380. package/dist/menus/toolbar/index.d.ts.map +1 -0
  381. package/dist/menus/toolbar/index.js.map +1 -1
  382. package/dist/menus/toolbar/model.d.ts +125 -0
  383. package/dist/menus/toolbar/model.d.ts.map +1 -0
  384. package/dist/menus/toolbar/model.js +160 -140
  385. package/dist/menus/toolbar/model.js.map +1 -1
  386. package/dist/menus/toolbar/view.d.ts +72 -0
  387. package/dist/menus/toolbar/view.d.ts.map +1 -0
  388. package/dist/menus/toolbar/view.js +61 -36
  389. package/dist/menus/toolbar/view.js.map +1 -1
  390. package/dist/navigator/index.d.ts +38 -0
  391. package/dist/navigator/index.d.ts.map +1 -0
  392. package/dist/navigator/index.js +42 -21
  393. package/dist/navigator/index.js.map +1 -1
  394. package/dist/no_collab_save/index.d.ts +20 -0
  395. package/dist/no_collab_save/index.d.ts.map +1 -0
  396. package/dist/no_collab_save/index.js +20 -11
  397. package/dist/no_collab_save/index.js.map +1 -1
  398. package/dist/plugins/citation_dialog/index.d.ts +2 -0
  399. package/dist/plugins/citation_dialog/index.d.ts.map +1 -0
  400. package/dist/plugins/citation_dialog/index.js.map +1 -1
  401. package/dist/plugins/editor/index.d.ts +2 -0
  402. package/dist/plugins/editor/index.d.ts.map +1 -0
  403. package/dist/plugins/editor/index.js.map +1 -1
  404. package/dist/state_plugins/access_rights.d.ts +6 -0
  405. package/dist/state_plugins/access_rights.d.ts.map +1 -0
  406. package/dist/state_plugins/access_rights.js +5 -3
  407. package/dist/state_plugins/access_rights.js.map +1 -1
  408. package/dist/state_plugins/citation_render.d.ts +9 -0
  409. package/dist/state_plugins/citation_render.d.ts.map +1 -0
  410. package/dist/state_plugins/citation_render.js +12 -43
  411. package/dist/state_plugins/citation_render.js.map +1 -1
  412. package/dist/state_plugins/clipboard.d.ts +12 -0
  413. package/dist/state_plugins/clipboard.d.ts.map +1 -0
  414. package/dist/state_plugins/clipboard.js +13 -11
  415. package/dist/state_plugins/clipboard.js.map +1 -1
  416. package/dist/state_plugins/code_block.d.ts +6 -0
  417. package/dist/state_plugins/code_block.d.ts.map +1 -0
  418. package/dist/state_plugins/code_block.js +23 -9
  419. package/dist/state_plugins/code_block.js.map +1 -1
  420. package/dist/state_plugins/collab_carets.d.ts +26 -0
  421. package/dist/state_plugins/collab_carets.d.ts.map +1 -0
  422. package/dist/state_plugins/collab_carets.js +24 -16
  423. package/dist/state_plugins/collab_carets.js.map +1 -1
  424. package/dist/state_plugins/comments.d.ts +15 -0
  425. package/dist/state_plugins/comments.d.ts.map +1 -0
  426. package/dist/state_plugins/comments.js +26 -21
  427. package/dist/state_plugins/comments.js.map +1 -1
  428. package/dist/state_plugins/contributor_input/dropup.d.ts +17 -0
  429. package/dist/state_plugins/contributor_input/dropup.d.ts.map +1 -0
  430. package/dist/state_plugins/contributor_input/dropup.js +19 -20
  431. package/dist/state_plugins/contributor_input/dropup.js.map +1 -1
  432. package/dist/state_plugins/contributor_input/index.d.ts +3 -0
  433. package/dist/state_plugins/contributor_input/index.d.ts.map +1 -0
  434. package/dist/state_plugins/contributor_input/index.js.map +1 -1
  435. package/dist/state_plugins/contributor_input/node_view.d.ts +7 -0
  436. package/dist/state_plugins/contributor_input/node_view.d.ts.map +1 -0
  437. package/dist/state_plugins/contributor_input/node_view.js.map +1 -1
  438. package/dist/state_plugins/contributor_input/plugin.d.ts +19 -0
  439. package/dist/state_plugins/contributor_input/plugin.d.ts.map +1 -0
  440. package/dist/state_plugins/contributor_input/plugin.js +14 -45
  441. package/dist/state_plugins/contributor_input/plugin.js.map +1 -1
  442. package/dist/state_plugins/document_template.d.ts +33 -0
  443. package/dist/state_plugins/document_template.d.ts.map +1 -0
  444. package/dist/state_plugins/document_template.js +34 -15
  445. package/dist/state_plugins/document_template.js.map +1 -1
  446. package/dist/state_plugins/figure.d.ts +6 -0
  447. package/dist/state_plugins/figure.d.ts.map +1 -0
  448. package/dist/state_plugins/figure.js +26 -8
  449. package/dist/state_plugins/figure.js.map +1 -1
  450. package/dist/state_plugins/footnote_markers.d.ts +15 -0
  451. package/dist/state_plugins/footnote_markers.d.ts.map +1 -0
  452. package/dist/state_plugins/footnote_markers.js +72 -153
  453. package/dist/state_plugins/footnote_markers.js.map +1 -1
  454. package/dist/state_plugins/headerbar.d.ts +6 -0
  455. package/dist/state_plugins/headerbar.d.ts.map +1 -0
  456. package/dist/state_plugins/headerbar.js +1 -1
  457. package/dist/state_plugins/headerbar.js.map +1 -1
  458. package/dist/state_plugins/index.d.ts +28 -0
  459. package/dist/state_plugins/index.d.ts.map +1 -0
  460. package/dist/state_plugins/index.js +13 -12
  461. package/dist/state_plugins/index.js.map +1 -1
  462. package/dist/state_plugins/inline_math.d.ts +6 -0
  463. package/dist/state_plugins/inline_math.d.ts.map +1 -0
  464. package/dist/state_plugins/inline_math.js +28 -19
  465. package/dist/state_plugins/inline_math.js.map +1 -1
  466. package/dist/state_plugins/inline_reference/dropup.d.ts +62 -0
  467. package/dist/state_plugins/inline_reference/dropup.d.ts.map +1 -0
  468. package/dist/state_plugins/inline_reference/dropup.js +17 -17
  469. package/dist/state_plugins/inline_reference/dropup.js.map +1 -1
  470. package/dist/state_plugins/inline_reference/index.d.ts +2 -0
  471. package/dist/state_plugins/inline_reference/index.d.ts.map +1 -0
  472. package/dist/state_plugins/inline_reference/index.js.map +1 -1
  473. package/dist/state_plugins/inline_reference/plugin.d.ts +35 -0
  474. package/dist/state_plugins/inline_reference/plugin.d.ts.map +1 -0
  475. package/dist/state_plugins/inline_reference/plugin.js +68 -55
  476. package/dist/state_plugins/inline_reference/plugin.js.map +1 -1
  477. package/dist/state_plugins/jump_hidden_nodes.d.ts +5 -0
  478. package/dist/state_plugins/jump_hidden_nodes.d.ts.map +1 -0
  479. package/dist/state_plugins/jump_hidden_nodes.js +35 -22
  480. package/dist/state_plugins/jump_hidden_nodes.js.map +1 -1
  481. package/dist/state_plugins/links.d.ts +11 -0
  482. package/dist/state_plugins/links.d.ts.map +1 -0
  483. package/dist/state_plugins/links.js +39 -25
  484. package/dist/state_plugins/links.js.map +1 -1
  485. package/dist/state_plugins/marginboxes.d.ts +6 -0
  486. package/dist/state_plugins/marginboxes.d.ts.map +1 -0
  487. package/dist/state_plugins/marginboxes.js +2 -1
  488. package/dist/state_plugins/marginboxes.js.map +1 -1
  489. package/dist/state_plugins/ordered_list_menu.d.ts +6 -0
  490. package/dist/state_plugins/ordered_list_menu.d.ts.map +1 -0
  491. package/dist/state_plugins/ordered_list_menu.js +20 -6
  492. package/dist/state_plugins/ordered_list_menu.js.map +1 -1
  493. package/dist/state_plugins/placeholders.d.ts +6 -0
  494. package/dist/state_plugins/placeholders.d.ts.map +1 -0
  495. package/dist/state_plugins/placeholders.js +18 -54
  496. package/dist/state_plugins/placeholders.js.map +1 -1
  497. package/dist/state_plugins/search.d.ts +34 -0
  498. package/dist/state_plugins/search.d.ts.map +1 -0
  499. package/dist/state_plugins/search.js +31 -27
  500. package/dist/state_plugins/search.js.map +1 -1
  501. package/dist/state_plugins/selection_menu.d.ts +6 -0
  502. package/dist/state_plugins/selection_menu.d.ts.map +1 -0
  503. package/dist/state_plugins/selection_menu.js +1 -1
  504. package/dist/state_plugins/selection_menu.js.map +1 -1
  505. package/dist/state_plugins/settings.d.ts +8 -0
  506. package/dist/state_plugins/settings.d.ts.map +1 -0
  507. package/dist/state_plugins/settings.js +31 -21
  508. package/dist/state_plugins/settings.js.map +1 -1
  509. package/dist/state_plugins/table.d.ts +6 -0
  510. package/dist/state_plugins/table.d.ts.map +1 -0
  511. package/dist/state_plugins/table.js +33 -13
  512. package/dist/state_plugins/table.js.map +1 -1
  513. package/dist/state_plugins/tag_input/index.d.ts +3 -0
  514. package/dist/state_plugins/tag_input/index.d.ts.map +1 -0
  515. package/dist/state_plugins/tag_input/index.js.map +1 -1
  516. package/dist/state_plugins/tag_input/node_view.d.ts +7 -0
  517. package/dist/state_plugins/tag_input/node_view.d.ts.map +1 -0
  518. package/dist/state_plugins/tag_input/node_view.js.map +1 -1
  519. package/dist/state_plugins/tag_input/plugin.d.ts +14 -0
  520. package/dist/state_plugins/tag_input/plugin.d.ts.map +1 -0
  521. package/dist/state_plugins/tag_input/plugin.js +7 -6
  522. package/dist/state_plugins/tag_input/plugin.js.map +1 -1
  523. package/dist/state_plugins/toc_render.d.ts +6 -0
  524. package/dist/state_plugins/toc_render.d.ts.map +1 -0
  525. package/dist/state_plugins/toc_render.js +59 -96
  526. package/dist/state_plugins/toc_render.js.map +1 -1
  527. package/dist/state_plugins/toolbar.d.ts +6 -0
  528. package/dist/state_plugins/toolbar.d.ts.map +1 -0
  529. package/dist/state_plugins/toolbar.js +1 -1
  530. package/dist/state_plugins/toolbar.js.map +1 -1
  531. package/dist/state_plugins/track/find_selected_changes.d.ts +13 -0
  532. package/dist/state_plugins/track/find_selected_changes.d.ts.map +1 -0
  533. package/dist/state_plugins/track/find_selected_changes.js +4 -3
  534. package/dist/state_plugins/track/find_selected_changes.js.map +1 -1
  535. package/dist/state_plugins/track/helpers.d.ts +29 -0
  536. package/dist/state_plugins/track/helpers.d.ts.map +1 -0
  537. package/dist/state_plugins/track/helpers.js +9 -3
  538. package/dist/state_plugins/track/helpers.js.map +1 -1
  539. package/dist/state_plugins/track/index.d.ts +3 -0
  540. package/dist/state_plugins/track/index.d.ts.map +1 -0
  541. package/dist/state_plugins/track/index.js.map +1 -1
  542. package/dist/state_plugins/track/plugin.d.ts +14 -0
  543. package/dist/state_plugins/track/plugin.d.ts.map +1 -0
  544. package/dist/state_plugins/track/plugin.js +10 -6
  545. package/dist/state_plugins/track/plugin.js.map +1 -1
  546. package/dist/tools/index.d.ts +4 -0
  547. package/dist/tools/index.d.ts.map +1 -0
  548. package/dist/tools/index.js.map +1 -1
  549. package/dist/tools/key_bindings/index.d.ts +7 -0
  550. package/dist/tools/key_bindings/index.d.ts.map +1 -0
  551. package/dist/tools/key_bindings/index.js +1 -3
  552. package/dist/tools/key_bindings/index.js.map +1 -1
  553. package/dist/tools/key_bindings/templates.d.ts +2 -0
  554. package/dist/tools/key_bindings/templates.d.ts.map +1 -0
  555. package/dist/tools/key_bindings/templates.js.map +1 -1
  556. package/dist/tools/search_replace/index.d.ts +28 -0
  557. package/dist/tools/search_replace/index.d.ts.map +1 -0
  558. package/dist/tools/search_replace/index.js +53 -27
  559. package/dist/tools/search_replace/index.js.map +1 -1
  560. package/dist/tools/search_replace/templates.d.ts +6 -0
  561. package/dist/tools/search_replace/templates.d.ts.map +1 -0
  562. package/dist/tools/search_replace/templates.js.map +1 -1
  563. package/dist/tools/word_count/index.d.ts +15 -0
  564. package/dist/tools/word_count/index.d.ts.map +1 -0
  565. package/dist/tools/word_count/index.js +2 -1
  566. package/dist/tools/word_count/index.js.map +1 -1
  567. package/dist/tools/word_count/templates.d.ts +11 -0
  568. package/dist/tools/word_count/templates.d.ts.map +1 -0
  569. package/dist/tools/word_count/templates.js.map +1 -1
  570. package/dist/track/accept.d.ts +3 -0
  571. package/dist/track/accept.d.ts.map +1 -0
  572. package/dist/track/accept.js +10 -5
  573. package/dist/track/accept.js.map +1 -1
  574. package/dist/track/accept_all.d.ts +3 -0
  575. package/dist/track/accept_all.d.ts.map +1 -0
  576. package/dist/track/accept_all.js +2 -2
  577. package/dist/track/accept_all.js.map +1 -1
  578. package/dist/track/accept_all_no_insertions.d.ts +3 -0
  579. package/dist/track/accept_all_no_insertions.d.ts.map +1 -0
  580. package/dist/track/accept_all_no_insertions.js +2 -2
  581. package/dist/track/accept_all_no_insertions.js.map +1 -1
  582. package/dist/track/amend_transaction.d.ts +5 -0
  583. package/dist/track/amend_transaction.d.ts.map +1 -0
  584. package/dist/track/amend_transaction.js +55 -32
  585. package/dist/track/amend_transaction.js.map +1 -1
  586. package/dist/track/delete.d.ts +3 -0
  587. package/dist/track/delete.d.ts.map +1 -0
  588. package/dist/track/delete.js +4 -3
  589. package/dist/track/delete.js.map +1 -1
  590. package/dist/track/index.d.ts +6 -0
  591. package/dist/track/index.d.ts.map +1 -0
  592. package/dist/track/index.js.map +1 -1
  593. package/dist/track/mod.d.ts +10 -0
  594. package/dist/track/mod.d.ts.map +1 -0
  595. package/dist/track/mod.js +9 -5
  596. package/dist/track/mod.js.map +1 -1
  597. package/dist/track/reject.d.ts +3 -0
  598. package/dist/track/reject.d.ts.map +1 -0
  599. package/dist/track/reject.js +14 -5
  600. package/dist/track/reject.js.map +1 -1
  601. package/dist/track/reject_all.d.ts +3 -0
  602. package/dist/track/reject_all.d.ts.map +1 -0
  603. package/dist/track/reject_all.js +6 -2
  604. package/dist/track/reject_all.js.map +1 -1
  605. package/dist/types.d.ts +182 -0
  606. package/dist/types.d.ts.map +1 -0
  607. package/dist/types.js +17 -0
  608. package/dist/types.js.map +1 -0
  609. package/package.json +38 -3
  610. package/src/bibliography/{tools.js → tools.ts} +16 -5
  611. package/src/citations/{index.js → index.ts} +100 -80
  612. package/src/citations/{render.js → render.ts} +43 -15
  613. package/src/clipboard/copy/{schema.js → schema.ts} +19 -8
  614. package/src/clipboard/copy/{serializers.js → serializers.ts} +44 -32
  615. package/src/clipboard/paste/{fidus_writer.js → fidus_writer.ts} +28 -8
  616. package/src/clipboard/paste/{general.js → general.ts} +28 -13
  617. package/src/clipboard/paste/{google_docs.js → google_docs.ts} +7 -4
  618. package/src/clipboard/paste/{html.js → html.ts} +35 -8
  619. package/src/clipboard/paste/{libreoffice_writer.js → libreoffice_writer.ts} +4 -4
  620. package/src/clipboard/paste/{microsoft_word.js → microsoft_word.ts} +22 -21
  621. package/src/clipboard/paste/{text.js → text.ts} +11 -7
  622. package/src/collab/{chat.js → chat.ts} +78 -27
  623. package/src/collab/{colors.js → colors.ts} +21 -5
  624. package/src/collab/{doc.js → doc.ts} +290 -184
  625. package/src/collab/{index.js → index.ts} +47 -13
  626. package/src/collab/merge/{changeset.js → changeset.ts} +33 -20
  627. package/src/collab/merge/{editor.js → editor.ts} +211 -107
  628. package/src/collab/merge/{footnotes.js → footnotes.ts} +43 -22
  629. package/src/collab/merge/{index.js → index.ts} +147 -70
  630. package/src/collab/merge/{recreate_transform.js → recreate_transform.ts} +60 -29
  631. package/src/collab/merge/{schema.js → schema.ts} +55 -35
  632. package/src/collab/merge/state_plugins/{action.js → action.ts} +65 -27
  633. package/src/collab/merge/state_plugins/{clipboard.js → clipboard.ts} +13 -3
  634. package/src/collab/merge/state_plugins/{diff.js → diff.ts} +279 -168
  635. package/src/collab/merge/{tools.js → tools.ts} +57 -27
  636. package/src/collab/{templates.js → templates.ts} +17 -2
  637. package/src/comments/{comment.js → comment.ts} +26 -0
  638. package/src/comments/editors/{answer.js → answer.ts} +27 -12
  639. package/src/comments/editors/{comment.js → comment.ts} +112 -36
  640. package/src/comments/editors/{notify.js → notify.ts} +6 -1
  641. package/src/comments/editors/{schema.js → schema.ts} +9 -8
  642. package/src/comments/index.ts +16 -0
  643. package/src/comments/{interactions.js → interactions.ts} +150 -89
  644. package/src/comments/{store.js → store.ts} +149 -73
  645. package/src/contacts/{add_dialog.js → add_dialog.ts} +50 -37
  646. package/src/contacts/{templates.js → templates.ts} +9 -3
  647. package/src/copyright_dialog/{index.js → index.ts} +92 -57
  648. package/src/copyright_dialog/{templates.js → templates.ts} +18 -3
  649. package/src/databases/{bibliography.js → bibliography.ts} +62 -36
  650. package/src/databases/{images.js → images.ts} +146 -96
  651. package/src/databases/index.ts +116 -0
  652. package/src/dialogs/{citation.js → citation.ts} +191 -107
  653. package/src/dialogs/{code_block.js → code_block.ts} +75 -33
  654. package/src/dialogs/{contributor.js → contributor.ts} +74 -49
  655. package/src/dialogs/{figure.js → figure.ts} +250 -149
  656. package/src/dialogs/{language.js → language.ts} +11 -6
  657. package/src/dialogs/{link.js → link.ts} +105 -60
  658. package/src/dialogs/{math.js → math.ts} +56 -28
  659. package/src/dialogs/{ordered_list.js → ordered_list.ts} +25 -12
  660. package/src/dialogs/{revision.js → revision.ts} +13 -9
  661. package/src/dialogs/{subsup.js → subsup.ts} +9 -7
  662. package/src/dialogs/{table.js → table.ts} +129 -70
  663. package/src/dialogs/{templates.js → templates.ts} +102 -22
  664. package/src/document_template/exporter.ts +158 -0
  665. package/src/document_template/{index.js → index.ts} +158 -117
  666. package/src/document_template/{schema.js → schema.ts} +31 -28
  667. package/src/documents/access_rights/{index.js → index.ts} +240 -123
  668. package/src/documents/access_rights/{templates.js → templates.ts} +41 -5
  669. package/src/e2ee/{snapshot-manager.js → snapshot-manager.ts} +80 -49
  670. package/src/exporter/native/copy.ts +302 -0
  671. package/src/exporter/native/{file.js → file.ts} +12 -5
  672. package/src/exporter/native/{revision.js → revision.ts} +17 -9
  673. package/src/footnotes/{editor.js → editor.ts} +37 -18
  674. package/src/footnotes/index.ts +21 -0
  675. package/src/footnotes/{layout.js → layout.ts} +53 -36
  676. package/src/footnotes/state_plugins/{access_rights.js → access_rights.ts} +6 -4
  677. package/src/global.d.ts +29 -0
  678. package/src/images/edit_dialog/{model.js → model.ts} +1 -1
  679. package/src/{index.js → index.ts} +194 -132
  680. package/src/{keymap.js → keymap.ts} +36 -16
  681. package/src/marginboxes/{index.js → index.ts} +341 -171
  682. package/src/marginboxes/{templates.js → templates.ts} +236 -38
  683. package/src/menus/code_block/{model.js → model.ts} +16 -5
  684. package/src/menus/figure/{model.js → model.ts} +21 -16
  685. package/src/menus/figure/utils.ts +13 -0
  686. package/src/menus/headerbar/{model.js → model.ts} +243 -153
  687. package/src/menus/headerbar/{view.js → view.ts} +189 -92
  688. package/src/menus/image/{model.js → model.ts} +13 -4
  689. package/src/menus/navigator/{model.js → model.ts} +6 -1
  690. package/src/menus/ordered_list/{model.js → model.ts} +2 -1
  691. package/src/menus/selection/{model.js → model.ts} +38 -20
  692. package/src/menus/selection/{view.js → view.ts} +88 -35
  693. package/src/menus/table/{model.js → model.ts} +84 -63
  694. package/src/menus/toolbar/{model.js → model.ts} +267 -215
  695. package/src/menus/toolbar/{view.js → view.ts} +135 -65
  696. package/src/modules.d.ts +84 -0
  697. package/src/navigator/{index.js → index.ts} +90 -56
  698. package/src/no_collab_save/{index.js → index.ts} +54 -31
  699. package/src/state_plugins/{access_rights.js → access_rights.ts} +12 -7
  700. package/src/state_plugins/citation_render.ts +63 -0
  701. package/src/state_plugins/{clipboard.js → clipboard.ts} +38 -23
  702. package/src/state_plugins/{code_block.js → code_block.ts} +62 -28
  703. package/src/state_plugins/{collab_carets.js → collab_carets.ts} +56 -25
  704. package/src/state_plugins/{comments.js → comments.ts} +70 -40
  705. package/src/state_plugins/contributor_input/{dropup.js → dropup.ts} +70 -38
  706. package/src/state_plugins/contributor_input/{node_view.js → node_view.ts} +13 -4
  707. package/src/state_plugins/contributor_input/{plugin.js → plugin.ts} +74 -75
  708. package/src/state_plugins/{document_template.js → document_template.ts} +108 -49
  709. package/src/state_plugins/{figure.js → figure.ts} +61 -23
  710. package/src/state_plugins/footnote_markers.ts +142 -0
  711. package/src/state_plugins/{headerbar.js → headerbar.ts} +4 -2
  712. package/src/state_plugins/{index.js → index.ts} +23 -56
  713. package/src/state_plugins/{inline_math.js → inline_math.ts} +151 -65
  714. package/src/state_plugins/inline_reference/{dropup.js → dropup.ts} +68 -34
  715. package/src/state_plugins/inline_reference/{plugin.js → plugin.ts} +221 -101
  716. package/src/state_plugins/jump_hidden_nodes.ts +67 -0
  717. package/src/state_plugins/{links.js → links.ts} +153 -99
  718. package/src/state_plugins/marginboxes.ts +17 -0
  719. package/src/state_plugins/{ordered_list_menu.js → ordered_list_menu.ts} +43 -17
  720. package/src/state_plugins/placeholders.ts +78 -0
  721. package/src/state_plugins/{search.js → search.ts} +110 -48
  722. package/src/state_plugins/{selection_menu.js → selection_menu.ts} +4 -2
  723. package/src/state_plugins/{settings.js → settings.ts} +68 -39
  724. package/src/state_plugins/table.ts +169 -0
  725. package/src/state_plugins/tag_input/{node_view.js → node_view.ts} +12 -3
  726. package/src/state_plugins/tag_input/plugin.ts +292 -0
  727. package/src/state_plugins/toc_render.ts +133 -0
  728. package/src/state_plugins/{toolbar.js → toolbar.ts} +4 -2
  729. package/src/state_plugins/track/{find_selected_changes.js → find_selected_changes.ts} +34 -19
  730. package/src/state_plugins/track/{helpers.js → helpers.ts} +36 -10
  731. package/src/state_plugins/track/{plugin.js → plugin.ts} +38 -14
  732. package/src/tools/key_bindings/{index.js → index.ts} +7 -3
  733. package/src/tools/key_bindings/{templates.js → templates.ts} +1 -1
  734. package/src/tools/search_replace/{index.js → index.ts} +115 -69
  735. package/src/tools/search_replace/{templates.js → templates.ts} +6 -1
  736. package/src/tools/word_count/{index.js → index.ts} +16 -6
  737. package/src/tools/word_count/{templates.js → templates.ts} +10 -1
  738. package/src/track/{accept.js → accept.ts} +20 -9
  739. package/src/track/{accept_all.js → accept_all.ts} +27 -17
  740. package/src/track/{accept_all_no_insertions.js → accept_all_no_insertions.ts} +16 -10
  741. package/src/track/{amend_transaction.js → amend_transaction.ts} +130 -70
  742. package/src/track/{delete.js → delete.ts} +15 -12
  743. package/src/track/{mod.js → mod.ts} +51 -32
  744. package/src/track/{reject.js → reject.ts} +34 -19
  745. package/src/track/{reject_all.js → reject_all.ts} +44 -24
  746. package/src/types.ts +214 -0
  747. package/src/comments/index.js +0 -11
  748. package/src/databases/index.js +0 -69
  749. package/src/document_template/exporter.js +0 -97
  750. package/src/exporter/native/copy.js +0 -191
  751. package/src/footnotes/index.js +0 -16
  752. package/src/menus/figure/utils.js +0 -5
  753. package/src/state_plugins/citation_render.js +0 -88
  754. package/src/state_plugins/footnote_markers.js +0 -238
  755. package/src/state_plugins/jump_hidden_nodes.js +0 -58
  756. package/src/state_plugins/marginboxes.js +0 -14
  757. package/src/state_plugins/placeholders.js +0 -123
  758. package/src/state_plugins/table.js +0 -127
  759. package/src/state_plugins/tag_input/plugin.js +0 -278
  760. package/src/state_plugins/toc_render.js +0 -160
  761. /package/src/clipboard/copy/{index.js → index.ts} +0 -0
  762. /package/src/clipboard/paste/{index.js → index.ts} +0 -0
  763. /package/src/collab/merge/state_plugins/{index.js → index.ts} +0 -0
  764. /package/src/comments/editors/{index.js → index.ts} +0 -0
  765. /package/src/dialogs/{index.js → index.ts} +0 -0
  766. /package/src/exporter/native/{index.js → index.ts} +0 -0
  767. /package/src/exporter/native/{zip.js → zip.ts} +0 -0
  768. /package/src/footnotes/state_plugins/{index.js → index.ts} +0 -0
  769. /package/src/menus/code_block/{index.js → index.ts} +0 -0
  770. /package/src/menus/figure/{index.js → index.ts} +0 -0
  771. /package/src/menus/headerbar/{index.js → index.ts} +0 -0
  772. /package/src/menus/image/{index.js → index.ts} +0 -0
  773. /package/src/menus/{index.js → index.ts} +0 -0
  774. /package/src/menus/navigator/{index.js → index.ts} +0 -0
  775. /package/src/menus/ordered_list/{index.js → index.ts} +0 -0
  776. /package/src/menus/selection/{index.js → index.ts} +0 -0
  777. /package/src/menus/table/{index.js → index.ts} +0 -0
  778. /package/src/menus/toolbar/{index.js → index.ts} +0 -0
  779. /package/src/plugins/citation_dialog/{index.js → index.ts} +0 -0
  780. /package/src/plugins/editor/{index.js → index.ts} +0 -0
  781. /package/src/state_plugins/contributor_input/{index.js → index.ts} +0 -0
  782. /package/src/state_plugins/inline_reference/{index.js → index.ts} +0 -0
  783. /package/src/state_plugins/tag_input/{index.js → index.ts} +0 -0
  784. /package/src/state_plugins/track/{index.js → index.ts} +0 -0
  785. /package/src/tools/{index.js → index.ts} +0 -0
  786. /package/src/track/{index.js → index.ts} +0 -0
@@ -1,47 +1,83 @@
1
1
  import deepEqual from "fast-deep-equal"
2
-
3
- import {randomFigureId} from "@fiduswriter/document/schema/common/index"
2
+ import type {Node} from "prosemirror-model"
3
+ import type {JSONValue} from "@fiduswriter/document"
4
+ import type {ContentMenuInit} from "fwtoolkit/content_menu"
4
5
  import {ContentMenu, Dialog, addAlert, dropdownSelect} from "fwtoolkit"
5
6
  import {ImageSelectionDialog} from "@fiduswriter/image-manager/selection_dialog"
6
7
  import {E2EEEncryptor} from "fwtoolkit/e2ee/encryptor"
8
+
7
9
  import {configureFigureTemplate} from "./templates.js"
10
+ import {randomFigureId} from "@fiduswriter/document/schema/common/index"
11
+ import type {Editor, EditorImageDB} from "../types.js"
12
+
13
+ interface MathfieldElementClass {
14
+ strings: Record<string, Record<string, string>>
15
+ locale: string
16
+ plonkSound: null
17
+ keypressSound: null
18
+ prototype: {
19
+ getValue: () => string
20
+ select: () => void
21
+ }
22
+ }
23
+
24
+ interface MathfieldElementInstance extends HTMLElement {
25
+ value: string
26
+ getValue(): string
27
+ select(): void
28
+ }
8
29
 
9
30
  export class FigureDialog {
10
- constructor(editor) {
31
+ editor: Editor
32
+ imageDB: EditorImageDB
33
+ userImageDB: EditorImageDB
34
+ imgId: number | false = false
35
+ imgDb: "document" | "user" | false = false
36
+ copyright: Record<string, JSONValue> | false = false
37
+ insideFigure = false
38
+ figureNode: Node | false = false
39
+ contentNode: Node | false = false
40
+ caption = true
41
+ category = "none"
42
+ aligned = "center"
43
+ width = "50"
44
+ equation = ""
45
+ node: Node | null = null
46
+ submitMessage = gettext("Insert")
47
+ dialog: Dialog | false = false
48
+ mathliveDOM!: HTMLElement
49
+ nonMathElements: HTMLElement[] = []
50
+ mathField: MathfieldElementInstance | false = false
51
+
52
+ constructor(editor: Editor) {
11
53
  this.editor = editor
12
- this.imageDB = this.editor.mod.db.imageDB
13
- this.userImageDB = this.editor.app.imageDB
14
- this.imgId = false
15
- this.imgDb = false
16
- this.copyright = false
17
- this.insideFigure = false
18
- this.figureNode = false
19
- this.contentNode = false
20
- this.caption = true
21
- this.category = "none"
22
- this.aligned = "center"
23
- this.width = "50"
24
- this.equation = ""
25
- this.node = false
26
- this.submitMessage = gettext("Insert")
27
- this.dialog = false
54
+ this.imageDB = this.editor.mod.db!
55
+ .imageDB as unknown as EditorImageDB
56
+ this.userImageDB = this.editor.app.imageDB as unknown as EditorImageDB
28
57
  }
29
58
 
30
- layoutMathEditor() {
31
- this.dialog.dialogEl.querySelector(".inner-figure-preview").innerHTML =
32
- `<div><span class="math-field" type="text" name="math" ></span></div>
59
+ layoutMathEditor(): void {
60
+ const dialogEl = (this.dialog as Dialog).dialogEl
61
+ const preview = dialogEl.querySelector(".inner-figure-preview")
62
+ if (!preview) {
63
+ return
64
+ }
65
+ preview.innerHTML = `<div><span class="math-field" type="text" name="math" ></span></div>
33
66
  <p class="formula-or-figure">${gettext("or")}</p>
34
67
  <p><button type="button" id="insert-figure-image" class="fw-button fw-light">
35
68
  ${gettext("Insert image")} <i class="fa-solid fa-image"></i>
36
69
  </button></p>`
37
70
 
38
- this.mathliveDOM = this.dialog.dialogEl.querySelector(".math-field")
71
+ this.mathliveDOM = dialogEl.querySelector(".math-field") as HTMLElement
39
72
  this.nonMathElements = [
40
- this.dialog.dialogEl.querySelector("#insert-figure-image"),
41
- this.dialog.dialogEl.querySelector(".formula-or-figure")
73
+ dialogEl.querySelector("#insert-figure-image") as HTMLElement,
74
+ dialogEl.querySelector(".formula-or-figure") as HTMLElement
42
75
  ]
43
76
  import("@fiduswriter/document/mathlive").then(MathLive => {
44
- MathLive.MathfieldElement.strings = {
77
+ const MathfieldElement = (
78
+ MathLive as unknown as {MathfieldElement: MathfieldElementClass}
79
+ ).MathfieldElement
80
+ MathfieldElement.strings = {
45
81
  int: {
46
82
  "keyboard.tooltip.functions": gettext("Functions"),
47
83
  "keyboard.tooltip.greek": gettext("Greek Letters"),
@@ -58,10 +94,12 @@ export class FigureDialog {
58
94
  "tooltip.undo": gettext("Undo")
59
95
  }
60
96
  }
61
- MathLive.MathfieldElement.locale = "int"
62
- MathLive.MathfieldElement.plonkSound = null
63
- MathLive.MathfieldElement.keypressSound = null
64
- this.mathField = new MathLive.MathfieldElement({
97
+ MathfieldElement.locale = "int"
98
+ MathfieldElement.plonkSound = null
99
+ MathfieldElement.keypressSound = null
100
+ this.mathField = new (MathfieldElement as unknown as new (
101
+ options: Record<string, unknown>
102
+ ) => MathfieldElementInstance)({
65
103
  mathVirtualKeyboardPolicy: "manual"
66
104
  })
67
105
  this.mathField.value = this.equation
@@ -74,21 +112,24 @@ export class FigureDialog {
74
112
  this.hidePlaceHolder()
75
113
  )
76
114
  this.mathField.addEventListener("input", () => {
77
- this.equation = this.mathField.getValue()
115
+ this.equation = this.mathField
116
+ ? this.mathField.getValue()
117
+ : ""
78
118
  this.showHideNonMathElements()
79
119
  })
80
120
  this.mathField.select()
81
121
  this.mathField.value = this.equation
82
122
 
83
123
  this.showHideNonMathElements()
84
- this.dialog.dialogEl
85
- .querySelector("#insert-figure-image")
124
+ dialogEl
125
+ .querySelector("#insert-figure-image")!
86
126
  .addEventListener("click", () => this.selectImage())
87
127
  })
88
128
  }
89
129
 
90
- showPlaceHolder() {
130
+ showPlaceHolder(): void {
91
131
  if (
132
+ this.mathField &&
92
133
  !this.mathField.getValue().length &&
93
134
  !this.mathliveDOM.querySelector(".fw-placeholder")
94
135
  ) {
@@ -99,14 +140,14 @@ export class FigureDialog {
99
140
  }
100
141
  }
101
142
 
102
- hidePlaceHolder() {
143
+ hidePlaceHolder(): void {
103
144
  const placeHolder = this.mathliveDOM.querySelector(".fw-placeholder")
104
145
  if (placeHolder) {
105
146
  this.mathliveDOM.removeChild(placeHolder)
106
147
  }
107
148
  }
108
149
 
109
- showHideNonMathElements() {
150
+ showHideNonMathElements(): void {
110
151
  if (this.equation.length) {
111
152
  this.nonMathElements.forEach(el => (el.style.display = "none"))
112
153
  } else {
@@ -114,37 +155,50 @@ export class FigureDialog {
114
155
  }
115
156
  }
116
157
 
117
- selectImage() {
158
+ selectImage(): void {
118
159
  const imageSelection = new ImageSelectionDialog(
119
160
  this.imageDB,
120
161
  this.userImageDB,
121
162
  this.imgId,
122
163
  this.editor
123
164
  )
124
- imageSelection.init().then(({id, db}) => {
125
- if (id) {
126
- this.imgId = id
127
- this.imgDb = db
128
- // We take a copy of the object in case of the image coming from the user db in order
129
- // not to overwrite the copyright info from the user's image db.
130
- this.copyright =
131
- db === "document"
132
- ? this.imageDB.db[this.imgId].copyright
133
- : JSON.parse(
134
- JSON.stringify(
135
- this.userImageDB.db[this.imgId].copyright
136
- )
137
- )
138
- this.layoutImagePreview()
139
- } else {
140
- this.imgId = false
141
- this.imgDb = false
142
- this.layoutMathEditor()
143
- }
144
- })
165
+ imageSelection
166
+ .init()
167
+ .then(
168
+ ({
169
+ id,
170
+ db
171
+ }: {
172
+ id: number | false
173
+ db: "document" | "user"
174
+ }) => {
175
+ if (id) {
176
+ this.imgId = id
177
+ this.imgDb = db
178
+ // We take a copy of the object in case of the image coming from the user db in order
179
+ // not to overwrite the copyright info from the user's image db.
180
+ this.copyright =
181
+ db === "document"
182
+ ? (this.imageDB.db[String(id)].copyright as
183
+ | Record<string, JSONValue>
184
+ | undefined) || false
185
+ : JSON.parse(
186
+ JSON.stringify(
187
+ this.userImageDB.db[String(id)]
188
+ .copyright
189
+ )
190
+ )
191
+ this.layoutImagePreview()
192
+ } else {
193
+ this.imgId = false
194
+ this.imgDb = false
195
+ this.layoutMathEditor()
196
+ }
197
+ }
198
+ )
145
199
  }
146
200
 
147
- async layoutImagePreview() {
201
+ async layoutImagePreview(): Promise<void> {
148
202
  if (this.imgId) {
149
203
  if (this.mathField) {
150
204
  this.mathField = false
@@ -154,17 +208,17 @@ export class FigureDialog {
154
208
  ? this.imageDB.db
155
209
  : this.userImageDB.db
156
210
 
157
- const imageEntry = db[this.imgId]
158
- let imgSrc = imageEntry?.image || ""
211
+ const imageEntry = db[String(this.imgId)]
212
+ let imgSrc = String(imageEntry?.image || "")
159
213
 
160
214
  if (imageEntry?.file_type === "application/octet-stream") {
161
215
  const key = this.editor.e2ee?.key
162
216
  if (key) {
163
217
  try {
164
218
  imgSrc = await E2EEEncryptor.decryptImageToUrl(
165
- imageEntry.image,
219
+ String(imageEntry.image),
166
220
  key,
167
- imageEntry.original_file_type || "image/png"
221
+ String(imageEntry.original_file_type || "image/png")
168
222
  )
169
223
  } catch (_e) {
170
224
  imgSrc = staticUrl("img/error.avif")
@@ -174,55 +228,63 @@ export class FigureDialog {
174
228
  }
175
229
  }
176
230
 
177
- this.dialog.dialogEl.querySelector(
231
+ const dialogEl = (this.dialog as Dialog).dialogEl
232
+ dialogEl.querySelector(
178
233
  ".inner-figure-preview"
179
- ).innerHTML = `<img src="${imgSrc}" style="max-width: 400px;max-height:220px">
234
+ )!.innerHTML = `<img src="${imgSrc}" style="max-width: 400px;max-height:220px">
180
235
  <span class="dot-menu-icon"><i class="fa-solid fa-ellipsis-v"></i></span>`
181
236
 
182
- this.dialog.dialogEl
183
- .querySelector(".dot-menu-icon")
237
+ dialogEl
238
+ .querySelector(".dot-menu-icon")!
184
239
  .addEventListener("click", event => {
185
240
  const contentMenu = new ContentMenu({
186
- menu: this.editor.menu.imageMenuModel,
241
+ menu: this.editor.menu.imageMenuModel as ContentMenuInit,
187
242
  page: this,
188
- menuPos: {X: event.pageX, Y: event.pageY}
243
+ menuPos: {
244
+ X: (event as MouseEvent).pageX,
245
+ Y: (event as MouseEvent).pageY
246
+ }
189
247
  })
190
248
  contentMenu.open()
191
249
  })
192
250
  }
193
251
  }
194
252
 
195
- async submitForm() {
253
+ async submitForm(): Promise<boolean> {
196
254
  if (new RegExp(/^\s*$/).test(this.equation) && !this.imgId) {
197
255
  // The math input is empty. Delete a math node if it exist. Then close the dialog.
198
256
  if (this.insideFigure) {
199
257
  const tr = this.editor.currentView.state.tr.deleteSelection()
200
258
  this.editor.currentView.dispatch(tr)
201
259
  }
202
- this.dialog.close()
260
+ ;(this.dialog as Dialog).close()
203
261
  return false
204
262
  }
205
263
 
206
264
  if (this.imgDb === "user") {
207
265
  if (this.editor.e2ee?.encrypted) {
208
266
  // For E2EE: encrypt the user image and upload it to the document
209
- const userImage = this.userImageDB.db[this.imgId]
267
+ const userImage = this.userImageDB.db[String(this.imgId)]
210
268
  try {
211
- const response = await fetch(userImage.image)
269
+ const response = await fetch(String(userImage.image))
212
270
  const blob = await response.blob()
213
271
  const file = new File(
214
272
  [blob],
215
- userImage.image.split("/").pop(),
273
+ String(userImage.image).split("/").pop() || "image",
216
274
  {type: blob.type}
217
275
  )
276
+ const key = this.editor.e2ee.key
277
+ if (!key) {
278
+ throw new Error("E2EE key missing")
279
+ }
218
280
  const encryptedFile = await E2EEEncryptor.encryptImage(
219
281
  file,
220
- this.editor.e2ee.key
282
+ key
221
283
  )
222
284
  const encryptedCopyright =
223
285
  await E2EEEncryptor.encryptObject(
224
286
  this.copyright,
225
- this.editor.e2ee.key
287
+ key
226
288
  )
227
289
  const newId = await this.imageDB.saveImage({
228
290
  image: encryptedFile,
@@ -242,45 +304,57 @@ export class FigureDialog {
242
304
  } else {
243
305
  // Add image to document db.
244
306
  const imageEntry = JSON.parse(
245
- JSON.stringify(this.userImageDB.db[this.imgId])
246
- )
307
+ JSON.stringify(this.userImageDB.db[String(this.imgId)])
308
+ ) as Record<string, unknown>
247
309
  imageEntry.copyright = this.copyright
248
- this.imageDB.setImage(this.imgId, imageEntry)
310
+ this.imageDB.setImage(this.imgId as number, imageEntry)
249
311
  this.imgDb = "document"
250
312
  }
251
313
  } else if (
252
314
  this.imgId &&
253
- this.imageDB.db[this.imgId] &&
254
- !deepEqual(this.copyright, this.imageDB.db[this.imgId].copyright)
315
+ this.imageDB.db[String(this.imgId)] &&
316
+ !deepEqual(
317
+ this.copyright,
318
+ this.imageDB.db[String(this.imgId)].copyright
319
+ )
255
320
  ) {
256
321
  const imageEntry = JSON.parse(
257
- JSON.stringify(this.imageDB.db[this.imgId])
258
- )
322
+ JSON.stringify(this.imageDB.db[String(this.imgId)])
323
+ ) as Record<string, unknown>
259
324
  imageEntry.copyright = this.copyright
260
- this.imageDB.setImage(this.imgId, imageEntry)
325
+ this.imageDB.setImage(this.imgId as number, imageEntry)
261
326
  }
262
327
 
328
+ const node = this.node
329
+ const currentEquationNode = node
330
+ ? node.content.content.find(
331
+ (node: Node) => node.type.name === "figure_equation"
332
+ )
333
+ : undefined
334
+ const currentImageNode = node
335
+ ? node.content.content.find(
336
+ (node: Node) => node.type.name === "image"
337
+ )
338
+ : undefined
339
+
263
340
  if (
341
+ node &&
264
342
  this.insideFigure &&
265
343
  this.equation ===
266
- (this.node.content.content.find(
267
- node => node.type.name === "figure_equation"
268
- )?.attrs.equation || "") &&
344
+ (currentEquationNode?.attrs.equation || "") &&
269
345
  this.imgId ===
270
- (this.node.content.content.find(
271
- node => node.type.name === "image"
272
- )?.attrs.image || false) &&
346
+ (currentImageNode?.attrs.image || false) &&
273
347
  this.imgDb === "document" &&
274
- this.caption === this.node.attrs.caption &&
275
- this.category === this.node.attrs.category &&
276
- this.aligned === this.node.attrs.aligned &&
277
- this.width === this.node.attrs.width
348
+ this.caption === node.attrs.caption &&
349
+ this.category === node.attrs.category &&
350
+ this.aligned === node.attrs.aligned &&
351
+ this.width === node.attrs.width
278
352
  ) {
279
353
  // The figure has not been changed, just close the dialog
280
- this.dialog.close()
354
+ ;(this.dialog as Dialog).close()
281
355
  return false
282
356
  }
283
- const content = []
357
+ const content: Node[] = []
284
358
  if (this.imgId) {
285
359
  content.push(
286
360
  this.editor.currentView.state.schema.nodes["image"].create({
@@ -297,12 +371,10 @@ export class FigureDialog {
297
371
  )
298
372
  }
299
373
  const captionNode =
300
- this.node.content?.content.find(
301
- node => node.type.name === "figure_caption"
374
+ node?.content?.content.find(
375
+ (node: Node) => node.type.name === "figure_caption"
302
376
  ) ||
303
- this.editor.currentView.state.schema.nodes[
304
- "figure_caption"
305
- ].create()
377
+ this.editor.currentView.state.schema.nodes["figure_caption"].create()
306
378
  if (this.category === "table") {
307
379
  content.unshift(captionNode)
308
380
  } else {
@@ -315,20 +387,21 @@ export class FigureDialog {
315
387
  width: this.width,
316
388
  category: this.category,
317
389
  caption: this.caption,
318
- id: this.insideFigure
319
- ? this.node.attrs.id
320
- : randomFigureId()
390
+ id: node ? node.attrs.id : randomFigureId()
321
391
  },
322
392
  content
323
- ),
393
+ )!,
324
394
  false
325
395
  )
326
396
  this.editor.currentView.dispatch(tr)
327
397
 
328
- this.dialog.close()
398
+ ;(this.dialog as Dialog).close()
399
+ return true
329
400
  }
330
401
 
331
- findFigure(state) {
402
+ findFigure(state: {
403
+ selection: {node?: Node; $head: {depth: number; node(d: number): Node}}
404
+ }): Node | null {
332
405
  if (
333
406
  state.selection.node &&
334
407
  state.selection.node.type.name == "figure"
@@ -341,35 +414,45 @@ export class FigureDialog {
341
414
  return $head.node(d)
342
415
  }
343
416
  }
344
- return false
417
+ return null
345
418
  }
346
419
 
347
- init() {
420
+ init(): boolean {
348
421
  this.node = this.findFigure(this.editor.currentView.state)
422
+ const node = this.node
349
423
 
350
- if (this.node?.attrs?.track?.find(track => track.type === "deletion")) {
424
+ if (
425
+ node?.attrs?.track?.find(
426
+ (track: {type: string}) => track.type === "deletion"
427
+ )
428
+ ) {
351
429
  // The figure is marked as deleted so we don't allow editing it.
352
430
  return true
353
431
  }
354
432
 
355
- const buttons = []
433
+ const buttons: {
434
+ text?: string
435
+ classes?: string
436
+ click?: () => void
437
+ type?: "cancel" | "close" | "ok"
438
+ }[] = []
356
439
 
357
- if (this.node?.type && this.node?.type.name === "figure") {
440
+ if (node?.type && node.type.name === "figure") {
358
441
  this.insideFigure = true
359
442
  this.submitMessage = gettext("Update")
360
443
  this.equation =
361
- this.node.content.content.find(
362
- node => node.type.name === "figure_equation"
444
+ node.content.content.find(
445
+ (childNode: Node) => childNode.type.name === "figure_equation"
363
446
  )?.attrs.equation || ""
364
447
  this.imgId =
365
- this.node.content.content.find(
366
- node => node.type.name === "image"
448
+ node.content.content.find(
449
+ (childNode: Node) => childNode.type.name === "image"
367
450
  )?.attrs.image || false
368
451
  this.imgDb = "document"
369
- this.category = this.node.attrs.category
370
- this.caption = this.node.attrs.caption
371
- this.aligned = this.node.attrs.aligned
372
- this.width = this.node.attrs.width
452
+ this.category = node.attrs.category
453
+ this.caption = node.attrs.caption
454
+ this.aligned = node.attrs.aligned
455
+ this.width = node.attrs.width
373
456
  buttons.push({
374
457
  text: gettext("Remove"),
375
458
  classes: "fw-orange",
@@ -377,7 +460,7 @@ export class FigureDialog {
377
460
  const tr =
378
461
  this.editor.currentView.state.tr.deleteSelection()
379
462
  this.editor.currentView.dispatch(tr)
380
- this.dialog.close()
463
+ ;(this.dialog as Dialog).close()
381
464
  }
382
465
  })
383
466
  }
@@ -415,10 +498,12 @@ export class FigureDialog {
415
498
  this.dialog.open()
416
499
 
417
500
  const alignmentSelector = dropdownSelect(
418
- this.dialog.dialogEl.querySelector(".figure-alignment"),
501
+ (this.dialog as Dialog).dialogEl.querySelector(
502
+ ".figure-alignment"
503
+ ) as HTMLSelectElement,
419
504
  {
420
505
  onChange: newValue => {
421
- this.aligned = newValue
506
+ this.aligned = String(newValue)
422
507
  },
423
508
  width: "80%",
424
509
  value: this.aligned
@@ -426,54 +511,70 @@ export class FigureDialog {
426
511
  )
427
512
 
428
513
  if (this.width === "100") {
429
- alignmentSelector.setValue("center")
430
- alignmentSelector.disable()
514
+ alignmentSelector?.setValue("center")
515
+ alignmentSelector?.disable()
431
516
  this.aligned = "center"
432
517
  }
433
518
 
434
- const figureWidthDOM =
435
- this.dialog.dialogEl.querySelector(".figure-width")
519
+ const dialogEl = (this.dialog as Dialog).dialogEl
520
+ const figureWidthDOM = dialogEl.querySelector(
521
+ ".figure-width"
522
+ ) as HTMLElement
436
523
  figureWidthDOM.style.width = "80%"
437
- figureWidthDOM.firstElementChild.innerText = `${this.width} %`
524
+ const widthLabel = figureWidthDOM.firstElementChild as HTMLElement
525
+ widthLabel.innerText = `${this.width} %`
438
526
  figureWidthDOM.addEventListener("click", event => {
439
527
  const contentMenu = new ContentMenu({
440
- menu: this.editor.menu.figureWidthMenuModel,
528
+ menu: this.editor.menu.figureWidthMenuModel as ContentMenuInit,
441
529
  page: this,
442
- menuPos: {X: event.pageX, Y: event.pageY},
530
+ menuPos: {
531
+ X: (event as MouseEvent).pageX,
532
+ Y: (event as MouseEvent).pageY
533
+ },
443
534
  onClose: () => {
444
535
  if (this.width == "100") {
445
- alignmentSelector.setValue("center")
446
- alignmentSelector.disable()
536
+ alignmentSelector?.setValue("center")
537
+ alignmentSelector?.disable()
447
538
  this.aligned = "center"
448
539
  } else {
449
- alignmentSelector.enable()
540
+ alignmentSelector?.enable()
450
541
  }
451
542
  }
452
543
  })
453
544
  contentMenu.open()
454
545
  })
455
546
 
456
- dropdownSelect(this.dialog.dialogEl.querySelector(".figure-category"), {
457
- onChange: newValue => {
458
- this.category = newValue
459
- },
460
- width: "80%",
461
- value: this.category
462
- })
547
+ dropdownSelect(
548
+ dialogEl.querySelector(".figure-category") as HTMLSelectElement,
549
+ {
550
+ onChange: newValue => {
551
+ this.category = String(newValue)
552
+ },
553
+ width: "80%",
554
+ value: this.category
555
+ }
556
+ )
463
557
 
464
- dropdownSelect(this.dialog.dialogEl.querySelector(".figure-caption"), {
465
- onChange: newValue => {
466
- this.caption = newValue === "true"
467
- },
468
- width: "80%",
469
- value: String(this.caption)
470
- })
558
+ dropdownSelect(
559
+ dialogEl.querySelector(".figure-caption") as HTMLSelectElement,
560
+ {
561
+ onChange: newValue => {
562
+ this.caption = newValue === "true"
563
+ },
564
+ width: "80%",
565
+ value: String(this.caption)
566
+ }
567
+ )
471
568
 
472
- if (this.imgId && this.imageDB.db[this.imgId]) {
473
- this.copyright = this.imageDB.db[this.imgId].copyright
569
+ if (this.imgId && this.imageDB.db[String(this.imgId)]) {
570
+ this.copyright = (this.imageDB.db[String(this.imgId)].copyright as
571
+ | Record<string, JSONValue>
572
+ | undefined) || false
474
573
  this.layoutImagePreview()
475
574
  } else {
476
575
  this.layoutMathEditor()
477
576
  }
577
+
578
+ return false
478
579
  }
479
580
  }