@fiduswriter/editor 0.1.20 → 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 +43 -22
  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 +86 -59
  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} +187 -106
  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} +193 -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,97 +0,0 @@
1
- import download from "downloadjs"
2
-
3
- import {createSlug} from "@fiduswriter/document/exporter/tools/file"
4
- import {ZipFileCreator} from "fwtoolkit/file/zip"
5
- import {postJson} from "fwtoolkit"
6
-
7
- export class DocumentTemplateExporter {
8
- constructor(
9
- id,
10
- getUrl = "/api/document/admin/get_template/",
11
- download = true,
12
- token = false
13
- ) {
14
- this.id = id
15
- this.getUrl = getUrl
16
- this.download = download
17
- this.token = token
18
-
19
- this.zipFileName = false
20
- this.docVersion = false
21
- this.textFiles = []
22
- this.httpFiles = []
23
- }
24
-
25
- init() {
26
- const params = this.token
27
- ? {id: this.id, token: this.token}
28
- : {id: this.id}
29
- return postJson(this.getUrl, params).then(({json}) => {
30
- this.docVersion = json.doc_version
31
- this.zipFileName = `${createSlug(json.title)}.fidustemplate`
32
- this.textFiles.push({
33
- filename: "template.json",
34
- contents: JSON.stringify(json.content)
35
- })
36
- const exportTemplates = []
37
- json.export_templates.forEach(template => {
38
- const filename = `exporttemplates/${template.fields.template_file.split("/").slice(-1)[0]}`
39
- this.httpFiles.push({
40
- filename,
41
- url: template.fields.template_file
42
- })
43
- exportTemplates.push({
44
- file: filename,
45
- file_type: template.fields.file_type,
46
- title: template.fields.title
47
- })
48
- })
49
- this.textFiles.push({
50
- filename: "exporttemplates.json",
51
- contents: JSON.stringify(exportTemplates)
52
- })
53
- const documentStyles = []
54
- json.document_styles.forEach(docStyle => {
55
- const style = {
56
- contents: docStyle.fields.contents,
57
- slug: docStyle.fields.slug,
58
- title: docStyle.fields.title,
59
- files: []
60
- }
61
- docStyle.fields.documentstylefile_set.forEach(docstyleFile => {
62
- const filename = `documentstyles/${docstyleFile[1]}`
63
- this.httpFiles.push({
64
- filename,
65
- url: docstyleFile[0]
66
- })
67
- style.files.push(filename)
68
- })
69
- documentStyles.push(style)
70
- })
71
- this.textFiles.push({
72
- filename: "documentstyles.json",
73
- contents: JSON.stringify(documentStyles)
74
- })
75
- if (this.download) {
76
- return this.createZip()
77
- }
78
- return Promise.resolve()
79
- })
80
- }
81
-
82
- createZip() {
83
- this.textFiles.push({
84
- filename: "filetype-version",
85
- contents: this.docVersion
86
- })
87
- const zipper = new ZipFileCreator(
88
- this.textFiles,
89
- this.httpFiles,
90
- undefined,
91
- "application/fidustemplate+zip"
92
- )
93
- return zipper
94
- .init()
95
- .then(blob => download(blob, this.zipFileName, "application/zip"))
96
- }
97
- }
@@ -1,191 +0,0 @@
1
- import {SaveCopy as GenericSaveCopy} from "@fiduswriter/document/exporter/native"
2
- import {addAlert, addProgress, gettext, postJson, shortFileTitle} from "fwtoolkit"
3
- import {E2EEEncryptor} from "fwtoolkit/e2ee/encryptor"
4
- import {E2EEKeyManager} from "fwtoolkit/e2ee/key-manager"
5
- import {NativeImporter} from "@fiduswriter/document/importer/native"
6
-
7
- async function maybeDecryptImage(imageEntry, sourceKey) {
8
- if (!sourceKey || !imageEntry.file) {
9
- return
10
- }
11
- if (imageEntry.file_type !== "application/octet-stream") {
12
- return
13
- }
14
- const fileBuffer = await imageEntry.file.arrayBuffer()
15
- const bytes = new Uint8Array(fileBuffer)
16
- let binary = ""
17
- const chunkSize = 65536
18
- for (let i = 0; i < bytes.length; i += chunkSize) {
19
- const chunk = bytes.subarray(i, i + chunkSize)
20
- binary += String.fromCharCode.apply(null, chunk)
21
- }
22
- const base64 = btoa(binary)
23
- const decrypted = await E2EEEncryptor.decryptBufferToBase64(base64, sourceKey)
24
- const mime = imageEntry.original_file_type || "image/png"
25
- const byteCharacters = atob(decrypted)
26
- const byteNumbers = new Array(byteCharacters.length)
27
- for (let i = 0; i < byteCharacters.length; i++) {
28
- byteNumbers[i] = byteCharacters.charCodeAt(i)
29
- }
30
- const byteArray = new Uint8Array(byteNumbers)
31
- imageEntry.file = new Blob([byteArray], {type: mime})
32
- imageEntry.file_type = mime
33
- }
34
-
35
- function createNativeImporterBackend(user, e2eeOptions) {
36
- return {
37
- createDoc: (template, importId, path, e2ee, files) => {
38
- const jsonData = {
39
- template: template.content,
40
- export_templates: template.exportTemplates,
41
- document_styles: template.documentStyles,
42
- import_id: importId
43
- ? importId
44
- : template.content.attrs.import_id,
45
- template_title: template.content.attrs.template,
46
- path
47
- }
48
- if (e2ee?.enabled) {
49
- jsonData.e2ee = true
50
- if (e2ee.salt) {
51
- jsonData.e2ee_salt = e2ee.salt
52
- }
53
- if (e2ee.iterations) {
54
- jsonData.e2ee_iterations = e2ee.iterations
55
- }
56
- }
57
- return postJson("/api/document/import/create/", jsonData, files)
58
- .then(({json}) => ({
59
- id: json.id,
60
- path: json.path,
61
- e2ee: json.e2ee,
62
- template: json.template
63
- }))
64
- .catch(error => {
65
- addAlert("error", gettext("Could not create document"))
66
- throw error
67
- })
68
- },
69
- saveImages: async (images, docId, e2ee) => {
70
- const isE2EE = e2ee?.enabled
71
- const endpoint = isE2EE
72
- ? "/api/document/e2ee_image/"
73
- : "/api/document/import/image/"
74
- const imageTranslationTable = {}
75
- await Promise.all(
76
- Object.values(images.db).map(async imageEntry => {
77
- await maybeDecryptImage(imageEntry, e2ee?.sourceKey)
78
- const encryptedFile =
79
- e2ee?.enabled && e2ee.key
80
- ? await E2EEEncryptor.encryptImage(
81
- imageEntry.file,
82
- e2ee.key
83
- )
84
- : imageEntry.file
85
- const jsonData = {
86
- doc_id: docId,
87
- title: imageEntry.title,
88
- copyright: imageEntry.copyright,
89
- checksum: imageEntry.checksum
90
- }
91
- const files = {
92
- image: {
93
- file: encryptedFile,
94
- filename: imageEntry.image.split("/").pop()
95
- }
96
- }
97
- const {json} = await postJson(endpoint, jsonData, files)
98
- imageTranslationTable[imageEntry.id] = json.id
99
- })
100
- )
101
- return imageTranslationTable
102
- },
103
- saveDocument: async (saveData, e2ee) => {
104
- if (e2ee?.enabled && e2ee.key) {
105
- saveData.content = await E2EEEncryptor.encryptObject(
106
- saveData.content,
107
- e2ee.key
108
- )
109
- saveData.comments = await E2EEEncryptor.encryptObject(
110
- saveData.comments || {},
111
- e2ee.key
112
- )
113
- saveData.bibliography = await E2EEEncryptor.encryptObject(
114
- saveData.bibliography,
115
- e2ee.key
116
- )
117
- saveData.title = await E2EEEncryptor.encrypt(
118
- saveData.title,
119
- e2ee.key
120
- )
121
- }
122
- return postJson("/api/document/import/", saveData)
123
- .then(({json}) => ({added: json.added, updated: json.updated}))
124
- .catch(error => {
125
- addAlert(
126
- "error",
127
- `${gettext("Could not save ")} ${shortFileTitle(
128
- saveData.title,
129
- ""
130
- )}`
131
- )
132
- throw error
133
- })
134
- },
135
- encryptImage: E2EEEncryptor.encryptImage.bind(E2EEEncryptor),
136
- encryptObject: E2EEEncryptor.encryptObject.bind(E2EEEncryptor),
137
- encrypt: E2EEEncryptor.encrypt.bind(E2EEEncryptor),
138
- storeKeyInSession: E2EEKeyManager.storeKeyInSession.bind(E2EEKeyManager)
139
- }
140
- }
141
-
142
- export class SaveCopy extends GenericSaveCopy {
143
- constructor(
144
- doc,
145
- bibDB,
146
- imageDB,
147
- newUser,
148
- importId = null,
149
- e2eeOptions = null
150
- ) {
151
- const title = shortFileTitle(doc.title, doc.path || "")
152
- const task = addProgress(
153
- "info",
154
- `${title}: ${gettext("Creating copy...")}`,
155
- {autoClose: 6000}
156
- )
157
- const progressCallback = (message, percentage) =>
158
- task.update(percentage, message)
159
- const e2ee = {
160
- decryptObject: E2EEEncryptor.decryptObject.bind(E2EEEncryptor),
161
- encryptObject: E2EEEncryptor.encryptObject.bind(E2EEEncryptor),
162
- encrypt: E2EEEncryptor.encrypt.bind(E2EEEncryptor),
163
- encryptImage: E2EEEncryptor.encryptImage.bind(E2EEEncryptor),
164
- generateSalt: E2EEKeyManager.generateSalt.bind(E2EEKeyManager),
165
- deriveKey: E2EEKeyManager.deriveKey.bind(E2EEKeyManager)
166
- }
167
-
168
- const importDocument = (doc, bibDB, imageDB, httpIncludes, options) =>
169
- new NativeImporter(
170
- doc,
171
- bibDB,
172
- imageDB,
173
- httpIncludes,
174
- options.user,
175
- createNativeImporterBackend(options.user, options.e2eeOptions),
176
- {
177
- importId: options.importId,
178
- requestedPath: options.requestedPath,
179
- e2eeOptions: options.e2eeOptions
180
- }
181
- ).init()
182
-
183
- super(doc, bibDB, imageDB, newUser, {
184
- importId,
185
- e2eeOptions,
186
- e2ee,
187
- importDocument,
188
- progressCallback
189
- })
190
- }
191
- }
@@ -1,16 +0,0 @@
1
- import {ModFootnoteEditor} from "./editor.js"
2
- import {ModFootnoteLayout} from "./layout.js"
3
-
4
- export class ModFootnotes {
5
- constructor(editor) {
6
- editor.mod.footnotes = this
7
- this.editor = editor
8
- new ModFootnoteEditor(this)
9
- new ModFootnoteLayout(this)
10
- }
11
-
12
- init() {
13
- this.fnEditor.init()
14
- this.layout.init()
15
- }
16
- }
@@ -1,5 +0,0 @@
1
- export const figureMenuAction = (value, figureDialog) => {
2
- const buttonDOM = document.querySelector(".figure-width")
3
- buttonDOM.firstElementChild.innerText = `${value} %`
4
- figureDialog.width = value
5
- }
@@ -1,88 +0,0 @@
1
- import {Plugin, PluginKey} from "prosemirror-state"
2
- import {ReplaceAroundStep, ReplaceStep} from "prosemirror-transform"
3
-
4
- const key = new PluginKey("citationRender")
5
-
6
- export const citationRenderPlugin = options =>
7
- new Plugin({
8
- key,
9
- state: {
10
- init() {
11
- return {action: false}
12
- },
13
- apply(tr, _prev, oldState, _state) {
14
- const meta = tr.getMeta(key)
15
- if (meta) {
16
- // There has been an update, return values from meta instead
17
- // of previous values
18
- return meta
19
- }
20
- let {action} = this.getState(oldState)
21
-
22
- if (action || tr.getMeta("settings")) {
23
- return {action} // We already need to reset the bibliography or another setting is used. Don't bother checking for more reasons to do so.
24
- }
25
- tr.steps.forEach((step, index) => {
26
- if (
27
- step instanceof ReplaceStep ||
28
- step instanceof ReplaceAroundStep
29
- ) {
30
- if (step.from !== step.to) {
31
- tr.docs[index].nodesBetween(
32
- step.from,
33
- step.to,
34
- node => {
35
- if (node.type.name === "citation") {
36
- // A citation was replaced. We need to reset
37
- action = "reset"
38
- } else if (
39
- !action &&
40
- node.type.name === "footnote"
41
- ) {
42
- action = "numbers"
43
- }
44
- }
45
- )
46
- }
47
- if (step.slice?.content) {
48
- step.slice.content.descendants(node => {
49
- if (node.type.name === "citation") {
50
- // A citation was added. We need to reset
51
- action = "reset"
52
- } else if (
53
- !action &&
54
- node.type.name === "footnote"
55
- ) {
56
- action = "numbers"
57
- }
58
- })
59
- }
60
- }
61
- })
62
-
63
- return {action}
64
- }
65
- },
66
- view(_view) {
67
- options.editor.mod.citations.resetCitations()
68
- return {
69
- update: (view, _prevState) => {
70
- const {action} = key.getState(view.state)
71
- if (action === "reset") {
72
- options.editor.mod.citations.resetCitations()
73
- const tr = view.state.tr.setMeta(key, {action: false})
74
- view.dispatch(tr)
75
- } else if (action === "numbers") {
76
- options.editor.mod.citations.footnoteNumberOverride()
77
- const tr = view.state.tr.setMeta(key, {action: false})
78
- view.dispatch(tr)
79
- } else if (view.dom.querySelector(".citation:empty")) {
80
- options.editor.mod.citations.resetCitations()
81
- }
82
- },
83
- destroy: () => {
84
- options.editor.mod.citations.resetCitations()
85
- }
86
- }
87
- }
88
- })
@@ -1,238 +0,0 @@
1
- import {Plugin, PluginKey} from "prosemirror-state"
2
-
3
- const key = new PluginKey("footnoteMarkers")
4
-
5
- export const findFootnoteMarkers = (fromPos, toPos, doc) => {
6
- const footnoteMarkers = []
7
- doc.nodesBetween(fromPos, toPos, (node, pos) => {
8
- if (!node.isInline) {
9
- return
10
- }
11
- if (node.type.name === "footnote") {
12
- const from = pos
13
- const to = pos + node.nodeSize
14
- const footnoteMarker = {from, to}
15
- footnoteMarkers.push(footnoteMarker)
16
- }
17
- })
18
- return footnoteMarkers
19
- }
20
-
21
- const getAddedRanges = tr => {
22
- /* find ranges of the current document that have been added by means of
23
- * a transaction.
24
- */
25
- let ranges = []
26
- tr.steps.forEach((step, index) => {
27
- if (step.jsonID === "replace" || step.jsonID === "replaceWrap") {
28
- ranges.push({from: step.from, to: step.to})
29
- }
30
- const map = tr.mapping.maps[index]
31
- ranges = ranges.map(range => ({
32
- from: map.map(range.from, -1),
33
- to: map.map(range.to, 1)
34
- }))
35
- })
36
-
37
- const nonOverlappingRanges = []
38
-
39
- ranges.forEach(range => {
40
- let addedRange = false
41
- nonOverlappingRanges.forEach(noRange => {
42
- if (
43
- !addedRange &&
44
- range.from <= noRange.from &&
45
- range.to >= noRange.from
46
- ) {
47
- noRange.from = range.from
48
- noRange.to = noRange.to > range.to ? noRange.to : range.to
49
- addedRange = true
50
- } else if (
51
- !addedRange &&
52
- range.from <= noRange.to &&
53
- range.to >= noRange.to
54
- ) {
55
- noRange.from =
56
- noRange.from < range.from ? noRange.from : range.from
57
- noRange.to = range.to
58
- addedRange = true
59
- }
60
- })
61
- if (!addedRange) {
62
- nonOverlappingRanges.push(range)
63
- }
64
- })
65
-
66
- return nonOverlappingRanges
67
- }
68
-
69
- export const getFootnoteMarkerContents = state => {
70
- const fnState = key.getState(state)
71
- if (!fnState || !fnState.fnMarkers) {
72
- return []
73
- }
74
- const fnMarkers = fnState.fnMarkers
75
- return fnMarkers.map(
76
- fnMarker => state.doc.nodeAt(fnMarker.from).attrs.footnote
77
- )
78
- }
79
-
80
- export const updateFootnoteMarker = (state, tr, index, content) => {
81
- const {fnMarkers} = key.getState(state)
82
-
83
- const footnote = fnMarkers[index]
84
- const node = state.doc.nodeAt(footnote.from)
85
- if (node.attrs.footnote === content) {
86
- return
87
- }
88
- tr.setNodeMarkup(footnote.from, node.type, {
89
- footnote: content
90
- })
91
- tr.setMeta("fromFootnote", true)
92
- return
93
- }
94
-
95
- export const getFootnoteMarkers = state => {
96
- const {fnMarkers} = key.getState(state)
97
- return fnMarkers
98
- }
99
-
100
- export const footnoteMarkersPlugin = options =>
101
- new Plugin({
102
- key,
103
- state: {
104
- init(_config, state) {
105
- const fnMarkers = []
106
- state.doc.descendants((node, pos) => {
107
- if (node.type.name === "footnote") {
108
- fnMarkers.push({
109
- from: pos,
110
- to: pos + node.nodeSize
111
- })
112
- }
113
- })
114
-
115
- return {
116
- fnMarkers
117
- }
118
- },
119
- apply(tr, _prev, oldState, state) {
120
- const meta = tr.getMeta(key)
121
- if (meta) {
122
- // There has been an update of a footnote marker,
123
- // return values from meta instead of previous values
124
- // to prevent deletion of decoration
125
- return meta
126
- }
127
-
128
- let {fnMarkers} = this.getState(oldState)
129
-
130
- if (!tr.docChanged) {
131
- return {
132
- fnMarkers
133
- }
134
- }
135
-
136
- const remote = tr.getMeta("remote"),
137
- fromFootnote = tr.getMeta("fromFootnote"),
138
- ranges = getAddedRanges(tr),
139
- deletedFootnotesIndexes = []
140
- fnMarkers = fnMarkers
141
- .map(marker => ({
142
- from: tr.mapping.map(marker.from, 1),
143
- to: tr.mapping.map(marker.to, -1)
144
- }))
145
- .filter((marker, index) => {
146
- if (marker.from !== marker.to - 1) {
147
- // Add in reverse order as highest numbers need to be deleted
148
- // first so that index numbers of lower numbers continue
149
- // to be valid when these are deleted. Only relevant when
150
- // several footnotes are deleted simultaneously.
151
- deletedFootnotesIndexes.unshift(index)
152
- return false
153
- }
154
- return true
155
- })
156
- if (fromFootnote) {
157
- return {fnMarkers}
158
- }
159
- const footTr =
160
- options.editor.mod.footnotes.fnEditor.view.state.tr
161
-
162
- footTr.setMeta("fromMain", true)
163
-
164
- deletedFootnotesIndexes.forEach(index =>
165
- options.editor.mod.footnotes.fnEditor.removeFootnote(
166
- index,
167
- footTr
168
- )
169
- )
170
- ranges.forEach(range => {
171
- let newFootnotes = findFootnoteMarkers(
172
- range.from,
173
- range.to,
174
- tr.doc
175
- )
176
- if (newFootnotes.length) {
177
- const firstFn = newFootnotes[0]
178
- let offset = fnMarkers.findIndex(
179
- marker => marker.from > firstFn.from
180
- )
181
- if (offset < 0) {
182
- offset = fnMarkers.length
183
- }
184
- if (remote) {
185
- newFootnotes = newFootnotes.filter(
186
- // In case of remote trasnactions, we cannot mark them as coming from footnote, so we
187
- // will need to remove duplicates instead.
188
- newMarker =>
189
- fnMarkers.find(
190
- oldMarker =>
191
- oldMarker.from === newMarker.from
192
- )
193
- ? false
194
- : true
195
- )
196
- } else {
197
- newFootnotes.forEach((footnote, index) => {
198
- const fnContent = state.doc.nodeAt(
199
- footnote.from
200
- ).attrs.footnote
201
- options.editor.mod.footnotes.fnEditor.renderFootnote(
202
- fnContent,
203
- offset + index,
204
- footTr
205
- )
206
- })
207
- }
208
- fnMarkers = fnMarkers
209
- .concat(newFootnotes)
210
- .sort((a, b) => (a.from > b.from ? 1 : -1))
211
- }
212
- })
213
-
214
- const footMeta = tr.getMeta("toFoot")
215
-
216
- if (footMeta) {
217
- Object.entries(footMeta).forEach(([key, value]) => {
218
- footTr.setMeta(key, value)
219
- })
220
- }
221
-
222
- if (footTr.docChanged || footMeta) {
223
- tr.setMeta("footTr", footTr)
224
- }
225
-
226
- return {
227
- fnMarkers
228
- }
229
- }
230
- },
231
- view(_editorView) {
232
- return {
233
- update: (_view, _prevState) => {
234
- options.editor.mod.footnotes.layout.updateDOM()
235
- }
236
- }
237
- }
238
- })
@@ -1,58 +0,0 @@
1
- import {GapCursor} from "prosemirror-gapcursor"
2
- import {Plugin, PluginKey, TextSelection} from "prosemirror-state"
3
-
4
- // A plugin that makes sure that the selecion is not put into a node that has been
5
- // hidden.
6
-
7
- const posHidden = $pos => {
8
- let hidden = false
9
- for (let i = $pos.depth; i > 0; i--) {
10
- const node = $pos.node(i)
11
- if (
12
- node.attrs.hidden ||
13
- (["table_caption", "figure_caption"].includes(node.type.name) &&
14
- $pos.node(i - 1).attrs.caption === false)
15
- ) {
16
- hidden = true
17
- }
18
- }
19
- return hidden
20
- }
21
-
22
- const key = new PluginKey("jump-hidden-nodes")
23
- export const jumpHiddenNodesPlugin = _options =>
24
- new Plugin({
25
- key,
26
- appendTransaction: (trs, oldState, state) => {
27
- if (state.selection.from !== state.selection.to) {
28
- // Only applies to collapsed selection
29
- return
30
- }
31
- const selectionSet = trs.find(tr => tr.selectionSet)
32
-
33
- if (selectionSet && posHidden(state.selection.$from)) {
34
- const dir =
35
- state.selection.from > oldState.selection.from ? 1 : -1
36
- let newPos = state.selection.from,
37
- hidden = true,
38
- validTextSelection = false,
39
- validGapCursor = false,
40
- $pos
41
- while (hidden || (!validGapCursor && !validTextSelection)) {
42
- newPos += dir
43
- if (newPos === 0 || newPos === state.doc.nodeSize) {
44
- // Could not find any valid position
45
- return
46
- }
47
- $pos = state.doc.resolve(newPos)
48
- validTextSelection = $pos.parent.inlineContent
49
- validGapCursor = GapCursor.valid($pos)
50
- hidden = posHidden($pos)
51
- }
52
- const selection = validTextSelection
53
- ? new TextSelection($pos)
54
- : new GapCursor($pos)
55
- return state.tr.setSelection(selection)
56
- }
57
- }
58
- })