@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.
- package/dist/bibliography/tools.d.ts +14 -0
- package/dist/bibliography/tools.d.ts.map +1 -0
- package/dist/bibliography/tools.js +1 -1
- package/dist/bibliography/tools.js.map +1 -1
- package/dist/citations/index.d.ts +17 -0
- package/dist/citations/index.d.ts.map +1 -0
- package/dist/citations/index.js +22 -13
- package/dist/citations/index.js.map +1 -1
- package/dist/citations/render.d.ts +29 -0
- package/dist/citations/render.d.ts.map +1 -0
- package/dist/citations/render.js +25 -8
- package/dist/citations/render.js.map +1 -1
- package/dist/clipboard/copy/index.d.ts +2 -0
- package/dist/clipboard/copy/index.d.ts.map +1 -0
- package/dist/clipboard/copy/index.js.map +1 -1
- package/dist/clipboard/copy/schema.d.ts +4 -0
- package/dist/clipboard/copy/schema.d.ts.map +1 -0
- package/dist/clipboard/copy/schema.js +6 -5
- package/dist/clipboard/copy/schema.js.map +1 -1
- package/dist/clipboard/copy/serializers.d.ts +24 -0
- package/dist/clipboard/copy/serializers.d.ts.map +1 -0
- package/dist/clipboard/copy/serializers.js +19 -9
- package/dist/clipboard/copy/serializers.js.map +1 -1
- package/dist/clipboard/paste/fidus_writer.d.ts +7 -0
- package/dist/clipboard/paste/fidus_writer.d.ts.map +1 -0
- package/dist/clipboard/paste/fidus_writer.js +5 -2
- package/dist/clipboard/paste/fidus_writer.js.map +1 -1
- package/dist/clipboard/paste/general.d.ts +18 -0
- package/dist/clipboard/paste/general.d.ts.map +1 -0
- package/dist/clipboard/paste/general.js +18 -6
- package/dist/clipboard/paste/general.js.map +1 -1
- package/dist/clipboard/paste/google_docs.d.ts +6 -0
- package/dist/clipboard/paste/google_docs.d.ts.map +1 -0
- package/dist/clipboard/paste/google_docs.js +3 -2
- package/dist/clipboard/paste/google_docs.js.map +1 -1
- package/dist/clipboard/paste/html.d.ts +22 -0
- package/dist/clipboard/paste/html.d.ts.map +1 -0
- package/dist/clipboard/paste/html.js +15 -0
- package/dist/clipboard/paste/html.js.map +1 -1
- package/dist/clipboard/paste/index.d.ts +3 -0
- package/dist/clipboard/paste/index.d.ts.map +1 -0
- package/dist/clipboard/paste/index.js.map +1 -1
- package/dist/clipboard/paste/libreoffice_writer.d.ts +5 -0
- package/dist/clipboard/paste/libreoffice_writer.d.ts.map +1 -0
- package/dist/clipboard/paste/libreoffice_writer.js +2 -2
- package/dist/clipboard/paste/libreoffice_writer.js.map +1 -1
- package/dist/clipboard/paste/microsoft_word.d.ts +7 -0
- package/dist/clipboard/paste/microsoft_word.d.ts.map +1 -0
- package/dist/clipboard/paste/microsoft_word.js +13 -14
- package/dist/clipboard/paste/microsoft_word.js.map +1 -1
- package/dist/clipboard/paste/text.d.ts +11 -0
- package/dist/clipboard/paste/text.d.ts.map +1 -0
- package/dist/clipboard/paste/text.js +5 -3
- package/dist/clipboard/paste/text.js.map +1 -1
- package/dist/collab/chat.d.ts +24 -0
- package/dist/collab/chat.d.ts.map +1 -0
- package/dist/collab/chat.js +46 -16
- package/dist/collab/chat.js.map +1 -1
- package/dist/collab/colors.d.ts +16 -0
- package/dist/collab/colors.d.ts.map +1 -0
- package/dist/collab/colors.js +6 -0
- package/dist/collab/colors.js.map +1 -1
- package/dist/collab/doc.d.ts +147 -0
- package/dist/collab/doc.d.ts.map +1 -0
- package/dist/collab/doc.js +77 -42
- package/dist/collab/doc.js.map +1 -1
- package/dist/collab/index.d.ts +23 -0
- package/dist/collab/index.d.ts.map +1 -0
- package/dist/collab/index.js +14 -3
- package/dist/collab/index.js.map +1 -1
- package/dist/collab/merge/changeset.d.ts +23 -0
- package/dist/collab/merge/changeset.d.ts.map +1 -0
- package/dist/collab/merge/changeset.js +5 -4
- package/dist/collab/merge/changeset.js.map +1 -1
- package/dist/collab/merge/editor.d.ts +53 -0
- package/dist/collab/merge/editor.d.ts.map +1 -0
- package/dist/collab/merge/editor.js +62 -35
- package/dist/collab/merge/editor.js.map +1 -1
- package/dist/collab/merge/footnotes.d.ts +26 -0
- package/dist/collab/merge/footnotes.d.ts.map +1 -0
- package/dist/collab/merge/footnotes.js +14 -5
- package/dist/collab/merge/footnotes.js.map +1 -1
- package/dist/collab/merge/index.d.ts +32 -0
- package/dist/collab/merge/index.d.ts.map +1 -0
- package/dist/collab/merge/index.js +38 -26
- package/dist/collab/merge/index.js.map +1 -1
- package/dist/collab/merge/recreate_transform.d.ts +4 -0
- package/dist/collab/merge/recreate_transform.d.ts.map +1 -0
- package/dist/collab/merge/recreate_transform.js +25 -5
- package/dist/collab/merge/recreate_transform.js.map +1 -1
- package/dist/collab/merge/schema.d.ts +4 -0
- package/dist/collab/merge/schema.d.ts.map +1 -0
- package/dist/collab/merge/schema.js +35 -26
- package/dist/collab/merge/schema.js.map +1 -1
- package/dist/collab/merge/state_plugins/action.d.ts +16 -0
- package/dist/collab/merge/state_plugins/action.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/action.js +4 -5
- package/dist/collab/merge/state_plugins/action.js.map +1 -1
- package/dist/collab/merge/state_plugins/clipboard.d.ts +6 -0
- package/dist/collab/merge/state_plugins/clipboard.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/clipboard.js +1 -1
- package/dist/collab/merge/state_plugins/clipboard.js.map +1 -1
- package/dist/collab/merge/state_plugins/diff.d.ts +32 -0
- package/dist/collab/merge/state_plugins/diff.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/diff.js +108 -84
- package/dist/collab/merge/state_plugins/diff.js.map +1 -1
- package/dist/collab/merge/state_plugins/index.d.ts +3 -0
- package/dist/collab/merge/state_plugins/index.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/index.js.map +1 -1
- package/dist/collab/merge/tools.d.ts +11 -0
- package/dist/collab/merge/tools.d.ts.map +1 -0
- package/dist/collab/merge/tools.js +16 -14
- package/dist/collab/merge/tools.js.map +1 -1
- package/dist/collab/templates.d.ts +14 -0
- package/dist/collab/templates.d.ts.map +1 -0
- package/dist/collab/templates.js +1 -1
- package/dist/collab/templates.js.map +1 -1
- package/dist/comments/comment.d.ts +29 -0
- package/dist/comments/comment.d.ts.map +1 -0
- package/dist/comments/comment.js +12 -0
- package/dist/comments/comment.js.map +1 -1
- package/dist/comments/editors/answer.d.ts +14 -0
- package/dist/comments/editors/answer.d.ts.map +1 -0
- package/dist/comments/editors/answer.js +5 -3
- package/dist/comments/editors/answer.js.map +1 -1
- package/dist/comments/editors/comment.d.ts +65 -0
- package/dist/comments/editors/comment.d.ts.map +1 -0
- package/dist/comments/editors/comment.js +43 -14
- package/dist/comments/editors/comment.js.map +1 -1
- package/dist/comments/editors/index.d.ts +4 -0
- package/dist/comments/editors/index.d.ts.map +1 -0
- package/dist/comments/editors/index.js.map +1 -1
- package/dist/comments/editors/notify.d.ts +3 -0
- package/dist/comments/editors/notify.d.ts.map +1 -0
- package/dist/comments/editors/notify.js.map +1 -1
- package/dist/comments/editors/schema.d.ts +12 -0
- package/dist/comments/editors/schema.d.ts.map +1 -0
- package/dist/comments/editors/schema.js +5 -5
- package/dist/comments/editors/schema.js.map +1 -1
- package/dist/comments/index.d.ts +10 -0
- package/dist/comments/index.d.ts.map +1 -0
- package/dist/comments/index.js +5 -2
- package/dist/comments/index.js.map +1 -1
- package/dist/comments/interactions.d.ts +49 -0
- package/dist/comments/interactions.d.ts.map +1 -0
- package/dist/comments/interactions.js +33 -18
- package/dist/comments/interactions.js.map +1 -1
- package/dist/comments/store.d.ts +59 -0
- package/dist/comments/store.d.ts.map +1 -0
- package/dist/comments/store.js +36 -16
- package/dist/comments/store.js.map +1 -1
- package/dist/contacts/add_dialog.d.ts +7 -0
- package/dist/contacts/add_dialog.d.ts.map +1 -0
- package/dist/contacts/add_dialog.js +25 -26
- package/dist/contacts/add_dialog.js.map +1 -1
- package/dist/contacts/templates.d.ts +12 -0
- package/dist/contacts/templates.d.ts.map +1 -0
- package/dist/contacts/templates.js +3 -2
- package/dist/contacts/templates.js.map +1 -1
- package/dist/copyright_dialog/index.d.ts +25 -0
- package/dist/copyright_dialog/index.d.ts.map +1 -0
- package/dist/copyright_dialog/index.js +34 -26
- package/dist/copyright_dialog/index.js.map +1 -1
- package/dist/copyright_dialog/templates.d.ts +17 -0
- package/dist/copyright_dialog/templates.d.ts.map +1 -0
- package/dist/copyright_dialog/templates.js.map +1 -1
- package/dist/databases/bibliography.d.ts +42 -0
- package/dist/databases/bibliography.d.ts.map +1 -0
- package/dist/databases/bibliography.js +24 -9
- package/dist/databases/bibliography.js.map +1 -1
- package/dist/databases/images.d.ts +66 -0
- package/dist/databases/images.d.ts.map +1 -0
- package/dist/databases/images.js +19 -9
- package/dist/databases/images.js.map +1 -1
- package/dist/databases/index.d.ts +26 -0
- package/dist/databases/index.d.ts.map +1 -0
- package/dist/databases/index.js +9 -8
- package/dist/databases/index.js.map +1 -1
- package/dist/dialogs/citation.d.ts +58 -0
- package/dist/dialogs/citation.d.ts.map +1 -0
- package/dist/dialogs/citation.js +48 -25
- package/dist/dialogs/citation.js.map +1 -1
- package/dist/dialogs/code_block.d.ts +25 -0
- package/dist/dialogs/code_block.d.ts.map +1 -0
- package/dist/dialogs/code_block.js +32 -11
- package/dist/dialogs/code_block.js.map +1 -1
- package/dist/dialogs/contributor.d.ts +13 -0
- package/dist/dialogs/contributor.d.ts.map +1 -0
- package/dist/dialogs/contributor.js +17 -20
- package/dist/dialogs/contributor.js.map +1 -1
- package/dist/dialogs/figure.d.ts +51 -0
- package/dist/dialogs/figure.d.ts.map +1 -0
- package/dist/dialogs/figure.js +123 -81
- package/dist/dialogs/figure.js.map +1 -1
- package/dist/dialogs/index.d.ts +11 -0
- package/dist/dialogs/index.d.ts.map +1 -0
- package/dist/dialogs/index.js.map +1 -1
- package/dist/dialogs/language.d.ts +10 -0
- package/dist/dialogs/language.d.ts.map +1 -0
- package/dist/dialogs/language.js +4 -1
- package/dist/dialogs/language.js.map +1 -1
- package/dist/dialogs/link.d.ts +30 -0
- package/dist/dialogs/link.d.ts.map +1 -0
- package/dist/dialogs/link.js +27 -15
- package/dist/dialogs/link.js.map +1 -1
- package/dist/dialogs/math.d.ts +22 -0
- package/dist/dialogs/math.d.ts.map +1 -0
- package/dist/dialogs/math.js +27 -14
- package/dist/dialogs/math.js.map +1 -1
- package/dist/dialogs/ordered_list.d.ts +22 -0
- package/dist/dialogs/ordered_list.d.ts.map +1 -0
- package/dist/dialogs/ordered_list.js +12 -5
- package/dist/dialogs/ordered_list.js.map +1 -1
- package/dist/dialogs/revision.d.ts +8 -0
- package/dist/dialogs/revision.d.ts.map +1 -0
- package/dist/dialogs/revision.js +2 -0
- package/dist/dialogs/revision.js.map +1 -1
- package/dist/dialogs/subsup.d.ts +5 -0
- package/dist/dialogs/subsup.d.ts.map +1 -0
- package/dist/dialogs/subsup.js +3 -3
- package/dist/dialogs/subsup.js.map +1 -1
- package/dist/dialogs/table.d.ts +33 -0
- package/dist/dialogs/table.d.ts.map +1 -0
- package/dist/dialogs/table.js +43 -21
- package/dist/dialogs/table.js.map +1 -1
- package/dist/dialogs/templates.d.ts +85 -0
- package/dist/dialogs/templates.d.ts.map +1 -0
- package/dist/dialogs/templates.js +8 -8
- package/dist/dialogs/templates.js.map +1 -1
- package/dist/document_template/exporter.d.ts +23 -0
- package/dist/document_template/exporter.d.ts.map +1 -0
- package/dist/document_template/exporter.js +14 -5
- package/dist/document_template/exporter.js.map +1 -1
- package/dist/document_template/index.d.ts +35 -0
- package/dist/document_template/index.d.ts.map +1 -0
- package/dist/document_template/index.js +61 -53
- package/dist/document_template/index.js.map +1 -1
- package/dist/document_template/schema.d.ts +13 -0
- package/dist/document_template/schema.d.ts.map +1 -0
- package/dist/document_template/schema.js +2 -2
- package/dist/document_template/schema.js.map +1 -1
- package/dist/documents/access_rights/index.d.ts +85 -0
- package/dist/documents/access_rights/index.d.ts.map +1 -0
- package/dist/documents/access_rights/index.js +96 -60
- package/dist/documents/access_rights/index.js.map +1 -1
- package/dist/documents/access_rights/templates.d.ts +47 -0
- package/dist/documents/access_rights/templates.d.ts.map +1 -0
- package/dist/documents/access_rights/templates.js.map +1 -1
- package/dist/e2ee/snapshot-manager.d.ts +120 -0
- package/dist/e2ee/snapshot-manager.d.ts.map +1 -0
- package/dist/e2ee/snapshot-manager.js +27 -38
- package/dist/e2ee/snapshot-manager.js.map +1 -1
- package/dist/exporter/native/copy.d.ts +16 -0
- package/dist/exporter/native/copy.d.ts.map +1 -0
- package/dist/exporter/native/copy.js +51 -35
- package/dist/exporter/native/copy.js.map +1 -1
- package/dist/exporter/native/file.d.ts +6 -0
- package/dist/exporter/native/file.d.ts.map +1 -0
- package/dist/exporter/native/file.js +1 -1
- package/dist/exporter/native/file.js.map +1 -1
- package/dist/exporter/native/index.d.ts +4 -0
- package/dist/exporter/native/index.d.ts.map +1 -0
- package/dist/exporter/native/index.js.map +1 -1
- package/dist/exporter/native/revision.d.ts +8 -0
- package/dist/exporter/native/revision.d.ts.map +1 -0
- package/dist/exporter/native/revision.js +2 -2
- package/dist/exporter/native/revision.js.map +1 -1
- package/dist/exporter/native/zip.d.ts +2 -0
- package/dist/exporter/native/zip.d.ts.map +1 -0
- package/dist/exporter/native/zip.js.map +1 -1
- package/dist/footnotes/editor.d.ts +25 -0
- package/dist/footnotes/editor.d.ts.map +1 -0
- package/dist/footnotes/editor.js +5 -3
- package/dist/footnotes/editor.js.map +1 -1
- package/dist/footnotes/index.d.ts +11 -0
- package/dist/footnotes/index.d.ts.map +1 -0
- package/dist/footnotes/index.js +5 -2
- package/dist/footnotes/index.js.map +1 -1
- package/dist/footnotes/layout.d.ts +15 -0
- package/dist/footnotes/layout.d.ts.map +1 -0
- package/dist/footnotes/layout.js +26 -17
- package/dist/footnotes/layout.js.map +1 -1
- package/dist/footnotes/state_plugins/access_rights.d.ts +6 -0
- package/dist/footnotes/state_plugins/access_rights.d.ts.map +1 -0
- package/dist/footnotes/state_plugins/access_rights.js +1 -1
- package/dist/footnotes/state_plugins/access_rights.js.map +1 -1
- package/dist/footnotes/state_plugins/index.d.ts +2 -0
- package/dist/footnotes/state_plugins/index.d.ts.map +1 -0
- package/dist/footnotes/state_plugins/index.js.map +1 -1
- package/dist/images/edit_dialog/model.d.ts +4 -0
- package/dist/images/edit_dialog/model.d.ts.map +1 -0
- package/dist/images/edit_dialog/model.js.map +1 -1
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +88 -60
- package/dist/index.js.map +1 -1
- package/dist/keymap.d.ts +5 -0
- package/dist/keymap.d.ts.map +1 -0
- package/dist/keymap.js +1 -1
- package/dist/keymap.js.map +1 -1
- package/dist/marginboxes/index.d.ts +107 -0
- package/dist/marginboxes/index.d.ts.map +1 -0
- package/dist/marginboxes/index.js +165 -88
- package/dist/marginboxes/index.js.map +1 -1
- package/dist/marginboxes/templates.d.ts +118 -0
- package/dist/marginboxes/templates.d.ts.map +1 -0
- package/dist/marginboxes/templates.js +25 -24
- package/dist/marginboxes/templates.js.map +1 -1
- package/dist/menus/code_block/index.d.ts +2 -0
- package/dist/menus/code_block/index.d.ts.map +1 -0
- package/dist/menus/code_block/index.js.map +1 -1
- package/dist/menus/code_block/model.d.ts +14 -0
- package/dist/menus/code_block/model.d.ts.map +1 -0
- package/dist/menus/code_block/model.js +5 -4
- package/dist/menus/code_block/model.js.map +1 -1
- package/dist/menus/figure/index.d.ts +3 -0
- package/dist/menus/figure/index.d.ts.map +1 -0
- package/dist/menus/figure/index.js.map +1 -1
- package/dist/menus/figure/model.d.ts +32 -0
- package/dist/menus/figure/model.d.ts.map +1 -0
- package/dist/menus/figure/model.js +11 -12
- package/dist/menus/figure/model.js.map +1 -1
- package/dist/menus/figure/utils.d.ts +3 -0
- package/dist/menus/figure/utils.d.ts.map +1 -0
- package/dist/menus/figure/utils.js +4 -1
- package/dist/menus/figure/utils.js.map +1 -1
- package/dist/menus/headerbar/index.d.ts +3 -0
- package/dist/menus/headerbar/index.d.ts.map +1 -0
- package/dist/menus/headerbar/index.js.map +1 -1
- package/dist/menus/headerbar/model.d.ts +192 -0
- package/dist/menus/headerbar/model.d.ts.map +1 -0
- package/dist/menus/headerbar/model.js +141 -110
- package/dist/menus/headerbar/model.js.map +1 -1
- package/dist/menus/headerbar/view.d.ts +89 -0
- package/dist/menus/headerbar/view.d.ts.map +1 -0
- package/dist/menus/headerbar/view.js +76 -45
- package/dist/menus/headerbar/view.js.map +1 -1
- package/dist/menus/image/index.d.ts +2 -0
- package/dist/menus/image/index.d.ts.map +1 -0
- package/dist/menus/image/index.js.map +1 -1
- package/dist/menus/image/model.d.ts +18 -0
- package/dist/menus/image/model.d.ts.map +1 -0
- package/dist/menus/image/model.js +2 -2
- package/dist/menus/image/model.js.map +1 -1
- package/dist/menus/index.d.ts +10 -0
- package/dist/menus/index.d.ts.map +1 -0
- package/dist/menus/index.js.map +1 -1
- package/dist/menus/navigator/index.d.ts +2 -0
- package/dist/menus/navigator/index.d.ts.map +1 -0
- package/dist/menus/navigator/index.js.map +1 -1
- package/dist/menus/navigator/model.d.ts +9 -0
- package/dist/menus/navigator/model.d.ts.map +1 -0
- package/dist/menus/navigator/model.js.map +1 -1
- package/dist/menus/ordered_list/index.d.ts +2 -0
- package/dist/menus/ordered_list/index.d.ts.map +1 -0
- package/dist/menus/ordered_list/index.js.map +1 -1
- package/dist/menus/ordered_list/model.d.ts +11 -0
- package/dist/menus/ordered_list/model.d.ts.map +1 -0
- package/dist/menus/ordered_list/model.js +1 -1
- package/dist/menus/ordered_list/model.js.map +1 -1
- package/dist/menus/selection/index.d.ts +3 -0
- package/dist/menus/selection/index.d.ts.map +1 -0
- package/dist/menus/selection/index.js.map +1 -1
- package/dist/menus/selection/model.d.ts +16 -0
- package/dist/menus/selection/model.d.ts.map +1 -0
- package/dist/menus/selection/model.js +18 -16
- package/dist/menus/selection/model.js.map +1 -1
- package/dist/menus/selection/view.d.ts +49 -0
- package/dist/menus/selection/view.d.ts.map +1 -0
- package/dist/menus/selection/view.js +33 -18
- package/dist/menus/selection/view.js.map +1 -1
- package/dist/menus/table/index.d.ts +2 -0
- package/dist/menus/table/index.d.ts.map +1 -0
- package/dist/menus/table/index.js.map +1 -1
- package/dist/menus/table/model.d.ts +39 -0
- package/dist/menus/table/model.d.ts.map +1 -0
- package/dist/menus/table/model.js +53 -50
- package/dist/menus/table/model.js.map +1 -1
- package/dist/menus/toolbar/index.d.ts +3 -0
- package/dist/menus/toolbar/index.d.ts.map +1 -0
- package/dist/menus/toolbar/index.js.map +1 -1
- package/dist/menus/toolbar/model.d.ts +125 -0
- package/dist/menus/toolbar/model.d.ts.map +1 -0
- package/dist/menus/toolbar/model.js +160 -140
- package/dist/menus/toolbar/model.js.map +1 -1
- package/dist/menus/toolbar/view.d.ts +72 -0
- package/dist/menus/toolbar/view.d.ts.map +1 -0
- package/dist/menus/toolbar/view.js +61 -36
- package/dist/menus/toolbar/view.js.map +1 -1
- package/dist/navigator/index.d.ts +38 -0
- package/dist/navigator/index.d.ts.map +1 -0
- package/dist/navigator/index.js +42 -21
- package/dist/navigator/index.js.map +1 -1
- package/dist/no_collab_save/index.d.ts +20 -0
- package/dist/no_collab_save/index.d.ts.map +1 -0
- package/dist/no_collab_save/index.js +20 -11
- package/dist/no_collab_save/index.js.map +1 -1
- package/dist/plugins/citation_dialog/index.d.ts +2 -0
- package/dist/plugins/citation_dialog/index.d.ts.map +1 -0
- package/dist/plugins/citation_dialog/index.js.map +1 -1
- package/dist/plugins/editor/index.d.ts +2 -0
- package/dist/plugins/editor/index.d.ts.map +1 -0
- package/dist/plugins/editor/index.js.map +1 -1
- package/dist/state_plugins/access_rights.d.ts +6 -0
- package/dist/state_plugins/access_rights.d.ts.map +1 -0
- package/dist/state_plugins/access_rights.js +5 -3
- package/dist/state_plugins/access_rights.js.map +1 -1
- package/dist/state_plugins/citation_render.d.ts +9 -0
- package/dist/state_plugins/citation_render.d.ts.map +1 -0
- package/dist/state_plugins/citation_render.js +12 -43
- package/dist/state_plugins/citation_render.js.map +1 -1
- package/dist/state_plugins/clipboard.d.ts +12 -0
- package/dist/state_plugins/clipboard.d.ts.map +1 -0
- package/dist/state_plugins/clipboard.js +13 -11
- package/dist/state_plugins/clipboard.js.map +1 -1
- package/dist/state_plugins/code_block.d.ts +6 -0
- package/dist/state_plugins/code_block.d.ts.map +1 -0
- package/dist/state_plugins/code_block.js +23 -9
- package/dist/state_plugins/code_block.js.map +1 -1
- package/dist/state_plugins/collab_carets.d.ts +26 -0
- package/dist/state_plugins/collab_carets.d.ts.map +1 -0
- package/dist/state_plugins/collab_carets.js +24 -16
- package/dist/state_plugins/collab_carets.js.map +1 -1
- package/dist/state_plugins/comments.d.ts +15 -0
- package/dist/state_plugins/comments.d.ts.map +1 -0
- package/dist/state_plugins/comments.js +26 -21
- package/dist/state_plugins/comments.js.map +1 -1
- package/dist/state_plugins/contributor_input/dropup.d.ts +17 -0
- package/dist/state_plugins/contributor_input/dropup.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/dropup.js +19 -20
- package/dist/state_plugins/contributor_input/dropup.js.map +1 -1
- package/dist/state_plugins/contributor_input/index.d.ts +3 -0
- package/dist/state_plugins/contributor_input/index.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/index.js.map +1 -1
- package/dist/state_plugins/contributor_input/node_view.d.ts +7 -0
- package/dist/state_plugins/contributor_input/node_view.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/node_view.js.map +1 -1
- package/dist/state_plugins/contributor_input/plugin.d.ts +19 -0
- package/dist/state_plugins/contributor_input/plugin.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/plugin.js +14 -45
- package/dist/state_plugins/contributor_input/plugin.js.map +1 -1
- package/dist/state_plugins/document_template.d.ts +33 -0
- package/dist/state_plugins/document_template.d.ts.map +1 -0
- package/dist/state_plugins/document_template.js +34 -15
- package/dist/state_plugins/document_template.js.map +1 -1
- package/dist/state_plugins/figure.d.ts +6 -0
- package/dist/state_plugins/figure.d.ts.map +1 -0
- package/dist/state_plugins/figure.js +26 -8
- package/dist/state_plugins/figure.js.map +1 -1
- package/dist/state_plugins/footnote_markers.d.ts +15 -0
- package/dist/state_plugins/footnote_markers.d.ts.map +1 -0
- package/dist/state_plugins/footnote_markers.js +72 -153
- package/dist/state_plugins/footnote_markers.js.map +1 -1
- package/dist/state_plugins/headerbar.d.ts +6 -0
- package/dist/state_plugins/headerbar.d.ts.map +1 -0
- package/dist/state_plugins/headerbar.js +1 -1
- package/dist/state_plugins/headerbar.js.map +1 -1
- package/dist/state_plugins/index.d.ts +28 -0
- package/dist/state_plugins/index.d.ts.map +1 -0
- package/dist/state_plugins/index.js +13 -12
- package/dist/state_plugins/index.js.map +1 -1
- package/dist/state_plugins/inline_math.d.ts +6 -0
- package/dist/state_plugins/inline_math.d.ts.map +1 -0
- package/dist/state_plugins/inline_math.js +28 -19
- package/dist/state_plugins/inline_math.js.map +1 -1
- package/dist/state_plugins/inline_reference/dropup.d.ts +62 -0
- package/dist/state_plugins/inline_reference/dropup.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/dropup.js +17 -17
- package/dist/state_plugins/inline_reference/dropup.js.map +1 -1
- package/dist/state_plugins/inline_reference/index.d.ts +2 -0
- package/dist/state_plugins/inline_reference/index.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/index.js.map +1 -1
- package/dist/state_plugins/inline_reference/plugin.d.ts +35 -0
- package/dist/state_plugins/inline_reference/plugin.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/plugin.js +68 -55
- package/dist/state_plugins/inline_reference/plugin.js.map +1 -1
- package/dist/state_plugins/jump_hidden_nodes.d.ts +5 -0
- package/dist/state_plugins/jump_hidden_nodes.d.ts.map +1 -0
- package/dist/state_plugins/jump_hidden_nodes.js +35 -22
- package/dist/state_plugins/jump_hidden_nodes.js.map +1 -1
- package/dist/state_plugins/links.d.ts +11 -0
- package/dist/state_plugins/links.d.ts.map +1 -0
- package/dist/state_plugins/links.js +39 -25
- package/dist/state_plugins/links.js.map +1 -1
- package/dist/state_plugins/marginboxes.d.ts +6 -0
- package/dist/state_plugins/marginboxes.d.ts.map +1 -0
- package/dist/state_plugins/marginboxes.js +2 -1
- package/dist/state_plugins/marginboxes.js.map +1 -1
- package/dist/state_plugins/ordered_list_menu.d.ts +6 -0
- package/dist/state_plugins/ordered_list_menu.d.ts.map +1 -0
- package/dist/state_plugins/ordered_list_menu.js +20 -6
- package/dist/state_plugins/ordered_list_menu.js.map +1 -1
- package/dist/state_plugins/placeholders.d.ts +6 -0
- package/dist/state_plugins/placeholders.d.ts.map +1 -0
- package/dist/state_plugins/placeholders.js +18 -54
- package/dist/state_plugins/placeholders.js.map +1 -1
- package/dist/state_plugins/search.d.ts +34 -0
- package/dist/state_plugins/search.d.ts.map +1 -0
- package/dist/state_plugins/search.js +31 -27
- package/dist/state_plugins/search.js.map +1 -1
- package/dist/state_plugins/selection_menu.d.ts +6 -0
- package/dist/state_plugins/selection_menu.d.ts.map +1 -0
- package/dist/state_plugins/selection_menu.js +1 -1
- package/dist/state_plugins/selection_menu.js.map +1 -1
- package/dist/state_plugins/settings.d.ts +8 -0
- package/dist/state_plugins/settings.d.ts.map +1 -0
- package/dist/state_plugins/settings.js +31 -21
- package/dist/state_plugins/settings.js.map +1 -1
- package/dist/state_plugins/table.d.ts +6 -0
- package/dist/state_plugins/table.d.ts.map +1 -0
- package/dist/state_plugins/table.js +33 -13
- package/dist/state_plugins/table.js.map +1 -1
- package/dist/state_plugins/tag_input/index.d.ts +3 -0
- package/dist/state_plugins/tag_input/index.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/index.js.map +1 -1
- package/dist/state_plugins/tag_input/node_view.d.ts +7 -0
- package/dist/state_plugins/tag_input/node_view.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/node_view.js.map +1 -1
- package/dist/state_plugins/tag_input/plugin.d.ts +14 -0
- package/dist/state_plugins/tag_input/plugin.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/plugin.js +7 -6
- package/dist/state_plugins/tag_input/plugin.js.map +1 -1
- package/dist/state_plugins/toc_render.d.ts +6 -0
- package/dist/state_plugins/toc_render.d.ts.map +1 -0
- package/dist/state_plugins/toc_render.js +59 -96
- package/dist/state_plugins/toc_render.js.map +1 -1
- package/dist/state_plugins/toolbar.d.ts +6 -0
- package/dist/state_plugins/toolbar.d.ts.map +1 -0
- package/dist/state_plugins/toolbar.js +1 -1
- package/dist/state_plugins/toolbar.js.map +1 -1
- package/dist/state_plugins/track/find_selected_changes.d.ts +13 -0
- package/dist/state_plugins/track/find_selected_changes.d.ts.map +1 -0
- package/dist/state_plugins/track/find_selected_changes.js +4 -3
- package/dist/state_plugins/track/find_selected_changes.js.map +1 -1
- package/dist/state_plugins/track/helpers.d.ts +29 -0
- package/dist/state_plugins/track/helpers.d.ts.map +1 -0
- package/dist/state_plugins/track/helpers.js +9 -3
- package/dist/state_plugins/track/helpers.js.map +1 -1
- package/dist/state_plugins/track/index.d.ts +3 -0
- package/dist/state_plugins/track/index.d.ts.map +1 -0
- package/dist/state_plugins/track/index.js.map +1 -1
- package/dist/state_plugins/track/plugin.d.ts +14 -0
- package/dist/state_plugins/track/plugin.d.ts.map +1 -0
- package/dist/state_plugins/track/plugin.js +10 -6
- package/dist/state_plugins/track/plugin.js.map +1 -1
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/key_bindings/index.d.ts +7 -0
- package/dist/tools/key_bindings/index.d.ts.map +1 -0
- package/dist/tools/key_bindings/index.js +1 -3
- package/dist/tools/key_bindings/index.js.map +1 -1
- package/dist/tools/key_bindings/templates.d.ts +2 -0
- package/dist/tools/key_bindings/templates.d.ts.map +1 -0
- package/dist/tools/key_bindings/templates.js.map +1 -1
- package/dist/tools/search_replace/index.d.ts +28 -0
- package/dist/tools/search_replace/index.d.ts.map +1 -0
- package/dist/tools/search_replace/index.js +53 -27
- package/dist/tools/search_replace/index.js.map +1 -1
- package/dist/tools/search_replace/templates.d.ts +6 -0
- package/dist/tools/search_replace/templates.d.ts.map +1 -0
- package/dist/tools/search_replace/templates.js.map +1 -1
- package/dist/tools/word_count/index.d.ts +15 -0
- package/dist/tools/word_count/index.d.ts.map +1 -0
- package/dist/tools/word_count/index.js +2 -1
- package/dist/tools/word_count/index.js.map +1 -1
- package/dist/tools/word_count/templates.d.ts +11 -0
- package/dist/tools/word_count/templates.d.ts.map +1 -0
- package/dist/tools/word_count/templates.js.map +1 -1
- package/dist/track/accept.d.ts +3 -0
- package/dist/track/accept.d.ts.map +1 -0
- package/dist/track/accept.js +10 -5
- package/dist/track/accept.js.map +1 -1
- package/dist/track/accept_all.d.ts +3 -0
- package/dist/track/accept_all.d.ts.map +1 -0
- package/dist/track/accept_all.js +2 -2
- package/dist/track/accept_all.js.map +1 -1
- package/dist/track/accept_all_no_insertions.d.ts +3 -0
- package/dist/track/accept_all_no_insertions.d.ts.map +1 -0
- package/dist/track/accept_all_no_insertions.js +2 -2
- package/dist/track/accept_all_no_insertions.js.map +1 -1
- package/dist/track/amend_transaction.d.ts +5 -0
- package/dist/track/amend_transaction.d.ts.map +1 -0
- package/dist/track/amend_transaction.js +55 -32
- package/dist/track/amend_transaction.js.map +1 -1
- package/dist/track/delete.d.ts +3 -0
- package/dist/track/delete.d.ts.map +1 -0
- package/dist/track/delete.js +4 -3
- package/dist/track/delete.js.map +1 -1
- package/dist/track/index.d.ts +6 -0
- package/dist/track/index.d.ts.map +1 -0
- package/dist/track/index.js.map +1 -1
- package/dist/track/mod.d.ts +10 -0
- package/dist/track/mod.d.ts.map +1 -0
- package/dist/track/mod.js +9 -5
- package/dist/track/mod.js.map +1 -1
- package/dist/track/reject.d.ts +3 -0
- package/dist/track/reject.d.ts.map +1 -0
- package/dist/track/reject.js +14 -5
- package/dist/track/reject.js.map +1 -1
- package/dist/track/reject_all.d.ts +3 -0
- package/dist/track/reject_all.d.ts.map +1 -0
- package/dist/track/reject_all.js +6 -2
- package/dist/track/reject_all.js.map +1 -1
- package/dist/types.d.ts +182 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +17 -0
- package/dist/types.js.map +1 -0
- package/package.json +38 -3
- package/src/bibliography/{tools.js → tools.ts} +16 -5
- package/src/citations/{index.js → index.ts} +100 -80
- package/src/citations/{render.js → render.ts} +43 -15
- package/src/clipboard/copy/{schema.js → schema.ts} +19 -8
- package/src/clipboard/copy/{serializers.js → serializers.ts} +44 -32
- package/src/clipboard/paste/{fidus_writer.js → fidus_writer.ts} +28 -8
- package/src/clipboard/paste/{general.js → general.ts} +28 -13
- package/src/clipboard/paste/{google_docs.js → google_docs.ts} +7 -4
- package/src/clipboard/paste/{html.js → html.ts} +35 -8
- package/src/clipboard/paste/{libreoffice_writer.js → libreoffice_writer.ts} +4 -4
- package/src/clipboard/paste/{microsoft_word.js → microsoft_word.ts} +22 -21
- package/src/clipboard/paste/{text.js → text.ts} +11 -7
- package/src/collab/{chat.js → chat.ts} +78 -27
- package/src/collab/{colors.js → colors.ts} +21 -5
- package/src/collab/{doc.js → doc.ts} +290 -184
- package/src/collab/{index.js → index.ts} +47 -13
- package/src/collab/merge/{changeset.js → changeset.ts} +33 -20
- package/src/collab/merge/{editor.js → editor.ts} +211 -107
- package/src/collab/merge/{footnotes.js → footnotes.ts} +43 -22
- package/src/collab/merge/{index.js → index.ts} +147 -70
- package/src/collab/merge/{recreate_transform.js → recreate_transform.ts} +60 -29
- package/src/collab/merge/{schema.js → schema.ts} +55 -35
- package/src/collab/merge/state_plugins/{action.js → action.ts} +65 -27
- package/src/collab/merge/state_plugins/{clipboard.js → clipboard.ts} +13 -3
- package/src/collab/merge/state_plugins/{diff.js → diff.ts} +279 -168
- package/src/collab/merge/{tools.js → tools.ts} +57 -27
- package/src/collab/{templates.js → templates.ts} +17 -2
- package/src/comments/{comment.js → comment.ts} +26 -0
- package/src/comments/editors/{answer.js → answer.ts} +27 -12
- package/src/comments/editors/{comment.js → comment.ts} +112 -36
- package/src/comments/editors/{notify.js → notify.ts} +6 -1
- package/src/comments/editors/{schema.js → schema.ts} +9 -8
- package/src/comments/index.ts +16 -0
- package/src/comments/{interactions.js → interactions.ts} +150 -89
- package/src/comments/{store.js → store.ts} +149 -73
- package/src/contacts/{add_dialog.js → add_dialog.ts} +50 -37
- package/src/contacts/{templates.js → templates.ts} +9 -3
- package/src/copyright_dialog/{index.js → index.ts} +92 -57
- package/src/copyright_dialog/{templates.js → templates.ts} +18 -3
- package/src/databases/{bibliography.js → bibliography.ts} +62 -36
- package/src/databases/{images.js → images.ts} +146 -96
- package/src/databases/index.ts +116 -0
- package/src/dialogs/{citation.js → citation.ts} +191 -107
- package/src/dialogs/{code_block.js → code_block.ts} +75 -33
- package/src/dialogs/{contributor.js → contributor.ts} +74 -49
- package/src/dialogs/{figure.js → figure.ts} +250 -149
- package/src/dialogs/{language.js → language.ts} +11 -6
- package/src/dialogs/{link.js → link.ts} +105 -60
- package/src/dialogs/{math.js → math.ts} +56 -28
- package/src/dialogs/{ordered_list.js → ordered_list.ts} +25 -12
- package/src/dialogs/{revision.js → revision.ts} +13 -9
- package/src/dialogs/{subsup.js → subsup.ts} +9 -7
- package/src/dialogs/{table.js → table.ts} +129 -70
- package/src/dialogs/{templates.js → templates.ts} +102 -22
- package/src/document_template/exporter.ts +158 -0
- package/src/document_template/{index.js → index.ts} +158 -117
- package/src/document_template/{schema.js → schema.ts} +31 -28
- package/src/documents/access_rights/{index.js → index.ts} +240 -123
- package/src/documents/access_rights/{templates.js → templates.ts} +41 -5
- package/src/e2ee/{snapshot-manager.js → snapshot-manager.ts} +80 -49
- package/src/exporter/native/copy.ts +302 -0
- package/src/exporter/native/{file.js → file.ts} +12 -5
- package/src/exporter/native/{revision.js → revision.ts} +17 -9
- package/src/footnotes/{editor.js → editor.ts} +37 -18
- package/src/footnotes/index.ts +21 -0
- package/src/footnotes/{layout.js → layout.ts} +53 -36
- package/src/footnotes/state_plugins/{access_rights.js → access_rights.ts} +6 -4
- package/src/global.d.ts +29 -0
- package/src/images/edit_dialog/{model.js → model.ts} +1 -1
- package/src/{index.js → index.ts} +194 -132
- package/src/{keymap.js → keymap.ts} +36 -16
- package/src/marginboxes/{index.js → index.ts} +341 -171
- package/src/marginboxes/{templates.js → templates.ts} +236 -38
- package/src/menus/code_block/{model.js → model.ts} +16 -5
- package/src/menus/figure/{model.js → model.ts} +21 -16
- package/src/menus/figure/utils.ts +13 -0
- package/src/menus/headerbar/{model.js → model.ts} +243 -153
- package/src/menus/headerbar/{view.js → view.ts} +189 -92
- package/src/menus/image/{model.js → model.ts} +13 -4
- package/src/menus/navigator/{model.js → model.ts} +6 -1
- package/src/menus/ordered_list/{model.js → model.ts} +2 -1
- package/src/menus/selection/{model.js → model.ts} +38 -20
- package/src/menus/selection/{view.js → view.ts} +88 -35
- package/src/menus/table/{model.js → model.ts} +84 -63
- package/src/menus/toolbar/{model.js → model.ts} +267 -215
- package/src/menus/toolbar/{view.js → view.ts} +135 -65
- package/src/modules.d.ts +84 -0
- package/src/navigator/{index.js → index.ts} +90 -56
- package/src/no_collab_save/{index.js → index.ts} +54 -31
- package/src/state_plugins/{access_rights.js → access_rights.ts} +12 -7
- package/src/state_plugins/citation_render.ts +63 -0
- package/src/state_plugins/{clipboard.js → clipboard.ts} +38 -23
- package/src/state_plugins/{code_block.js → code_block.ts} +62 -28
- package/src/state_plugins/{collab_carets.js → collab_carets.ts} +56 -25
- package/src/state_plugins/{comments.js → comments.ts} +70 -40
- package/src/state_plugins/contributor_input/{dropup.js → dropup.ts} +70 -38
- package/src/state_plugins/contributor_input/{node_view.js → node_view.ts} +13 -4
- package/src/state_plugins/contributor_input/{plugin.js → plugin.ts} +74 -75
- package/src/state_plugins/{document_template.js → document_template.ts} +108 -49
- package/src/state_plugins/{figure.js → figure.ts} +61 -23
- package/src/state_plugins/footnote_markers.ts +142 -0
- package/src/state_plugins/{headerbar.js → headerbar.ts} +4 -2
- package/src/state_plugins/{index.js → index.ts} +23 -56
- package/src/state_plugins/{inline_math.js → inline_math.ts} +151 -65
- package/src/state_plugins/inline_reference/{dropup.js → dropup.ts} +68 -34
- package/src/state_plugins/inline_reference/{plugin.js → plugin.ts} +221 -101
- package/src/state_plugins/jump_hidden_nodes.ts +67 -0
- package/src/state_plugins/{links.js → links.ts} +153 -99
- package/src/state_plugins/marginboxes.ts +17 -0
- package/src/state_plugins/{ordered_list_menu.js → ordered_list_menu.ts} +43 -17
- package/src/state_plugins/placeholders.ts +78 -0
- package/src/state_plugins/{search.js → search.ts} +110 -48
- package/src/state_plugins/{selection_menu.js → selection_menu.ts} +4 -2
- package/src/state_plugins/{settings.js → settings.ts} +68 -39
- package/src/state_plugins/table.ts +169 -0
- package/src/state_plugins/tag_input/{node_view.js → node_view.ts} +12 -3
- package/src/state_plugins/tag_input/plugin.ts +292 -0
- package/src/state_plugins/toc_render.ts +133 -0
- package/src/state_plugins/{toolbar.js → toolbar.ts} +4 -2
- package/src/state_plugins/track/{find_selected_changes.js → find_selected_changes.ts} +34 -19
- package/src/state_plugins/track/{helpers.js → helpers.ts} +36 -10
- package/src/state_plugins/track/{plugin.js → plugin.ts} +38 -14
- package/src/tools/key_bindings/{index.js → index.ts} +7 -3
- package/src/tools/key_bindings/{templates.js → templates.ts} +1 -1
- package/src/tools/search_replace/{index.js → index.ts} +115 -69
- package/src/tools/search_replace/{templates.js → templates.ts} +6 -1
- package/src/tools/word_count/{index.js → index.ts} +16 -6
- package/src/tools/word_count/{templates.js → templates.ts} +10 -1
- package/src/track/{accept.js → accept.ts} +20 -9
- package/src/track/{accept_all.js → accept_all.ts} +27 -17
- package/src/track/{accept_all_no_insertions.js → accept_all_no_insertions.ts} +16 -10
- package/src/track/{amend_transaction.js → amend_transaction.ts} +130 -70
- package/src/track/{delete.js → delete.ts} +15 -12
- package/src/track/{mod.js → mod.ts} +51 -32
- package/src/track/{reject.js → reject.ts} +34 -19
- package/src/track/{reject_all.js → reject_all.ts} +44 -24
- package/src/types.ts +214 -0
- package/src/comments/index.js +0 -11
- package/src/databases/index.js +0 -69
- package/src/document_template/exporter.js +0 -97
- package/src/exporter/native/copy.js +0 -191
- package/src/footnotes/index.js +0 -16
- package/src/menus/figure/utils.js +0 -5
- package/src/state_plugins/citation_render.js +0 -88
- package/src/state_plugins/footnote_markers.js +0 -238
- package/src/state_plugins/jump_hidden_nodes.js +0 -58
- package/src/state_plugins/marginboxes.js +0 -14
- package/src/state_plugins/placeholders.js +0 -123
- package/src/state_plugins/table.js +0 -127
- package/src/state_plugins/tag_input/plugin.js +0 -278
- package/src/state_plugins/toc_render.js +0 -160
- /package/src/clipboard/copy/{index.js → index.ts} +0 -0
- /package/src/clipboard/paste/{index.js → index.ts} +0 -0
- /package/src/collab/merge/state_plugins/{index.js → index.ts} +0 -0
- /package/src/comments/editors/{index.js → index.ts} +0 -0
- /package/src/dialogs/{index.js → index.ts} +0 -0
- /package/src/exporter/native/{index.js → index.ts} +0 -0
- /package/src/exporter/native/{zip.js → zip.ts} +0 -0
- /package/src/footnotes/state_plugins/{index.js → index.ts} +0 -0
- /package/src/menus/code_block/{index.js → index.ts} +0 -0
- /package/src/menus/figure/{index.js → index.ts} +0 -0
- /package/src/menus/headerbar/{index.js → index.ts} +0 -0
- /package/src/menus/image/{index.js → index.ts} +0 -0
- /package/src/menus/{index.js → index.ts} +0 -0
- /package/src/menus/navigator/{index.js → index.ts} +0 -0
- /package/src/menus/ordered_list/{index.js → index.ts} +0 -0
- /package/src/menus/selection/{index.js → index.ts} +0 -0
- /package/src/menus/table/{index.js → index.ts} +0 -0
- /package/src/menus/toolbar/{index.js → index.ts} +0 -0
- /package/src/plugins/citation_dialog/{index.js → index.ts} +0 -0
- /package/src/plugins/editor/{index.js → index.ts} +0 -0
- /package/src/state_plugins/contributor_input/{index.js → index.ts} +0 -0
- /package/src/state_plugins/inline_reference/{index.js → index.ts} +0 -0
- /package/src/state_plugins/tag_input/{index.js → index.ts} +0 -0
- /package/src/state_plugins/track/{index.js → index.ts} +0 -0
- /package/src/tools/{index.js → index.ts} +0 -0
- /package/src/track/{index.js → index.ts} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {GapCursor} from "prosemirror-gapcursor"
|
|
2
|
+
import {Plugin, PluginKey, TextSelection} from "prosemirror-state"
|
|
3
|
+
import type {ResolvedPos} from "prosemirror-model"
|
|
4
|
+
|
|
5
|
+
const posHidden = ($pos: ResolvedPos) => {
|
|
6
|
+
let hidden = false
|
|
7
|
+
for (let i = $pos.depth; i > 0; i--) {
|
|
8
|
+
const node = $pos.node(i)
|
|
9
|
+
if (
|
|
10
|
+
node.attrs.hidden ||
|
|
11
|
+
(["table_caption", "figure_caption"].includes(node.type.name) &&
|
|
12
|
+
$pos.node(i - 1).attrs.caption === false)
|
|
13
|
+
) {
|
|
14
|
+
hidden = true
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return hidden
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const key = new PluginKey("jump-hidden-nodes")
|
|
21
|
+
export const jumpHiddenNodesPlugin = (_options: {editor: unknown}) =>
|
|
22
|
+
new Plugin({
|
|
23
|
+
key,
|
|
24
|
+
appendTransaction: (trs, oldState, state) => {
|
|
25
|
+
if (state.selection.from !== state.selection.to) {
|
|
26
|
+
// Only applies to collapsed selection
|
|
27
|
+
return
|
|
28
|
+
}
|
|
29
|
+
const selection = state.selection
|
|
30
|
+
let $pos = selection.$from
|
|
31
|
+
if (!posHidden($pos)) {
|
|
32
|
+
return
|
|
33
|
+
}
|
|
34
|
+
let movedRight = false,
|
|
35
|
+
movedLeft = false
|
|
36
|
+
const startPos = $pos.pos
|
|
37
|
+
while ($pos.depth > 1 && posHidden($pos)) {
|
|
38
|
+
$pos = state.doc.resolve($pos.after())
|
|
39
|
+
movedRight = true
|
|
40
|
+
}
|
|
41
|
+
if (!movedRight) {
|
|
42
|
+
$pos = selection.$from
|
|
43
|
+
while ($pos.depth > 1 && posHidden($pos)) {
|
|
44
|
+
$pos = state.doc.resolve($pos.before())
|
|
45
|
+
movedLeft = true
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (!movedRight && !movedLeft) {
|
|
49
|
+
return
|
|
50
|
+
}
|
|
51
|
+
let tr = state.tr
|
|
52
|
+
if (
|
|
53
|
+
$pos.node().isTextblock &&
|
|
54
|
+
$pos.pos >= startPos &&
|
|
55
|
+
$pos.pos <= startPos
|
|
56
|
+
) {
|
|
57
|
+
// Try to set text selection
|
|
58
|
+
tr = tr.setSelection(TextSelection.near($pos))
|
|
59
|
+
} else if ($pos.pos !== startPos) {
|
|
60
|
+
tr = tr.setSelection(new GapCursor($pos))
|
|
61
|
+
}
|
|
62
|
+
if (trs[trs.length - 1].doc.eq(tr.doc)) {
|
|
63
|
+
return tr
|
|
64
|
+
}
|
|
65
|
+
return
|
|
66
|
+
}
|
|
67
|
+
})
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import {NodeSelection, Plugin, PluginKey} from "prosemirror-state"
|
|
2
2
|
import {RemoveMarkStep} from "prosemirror-transform"
|
|
3
3
|
import {Decoration, DecorationSet} from "prosemirror-view"
|
|
4
|
+
import type {Node, Mark, NodeType, ResolvedPos} from "prosemirror-model"
|
|
5
|
+
import type {EditorState} from "prosemirror-state"
|
|
6
|
+
import type {EditorView} from "prosemirror-view"
|
|
4
7
|
|
|
5
8
|
import {
|
|
6
9
|
randomFigureId,
|
|
@@ -9,12 +12,17 @@ import {
|
|
|
9
12
|
randomTableId
|
|
10
13
|
} from "@fiduswriter/document/schema/common/index"
|
|
11
14
|
import {CATS} from "@fiduswriter/document/schema/i18n"
|
|
15
|
+
import type {Track} from "@fiduswriter/document"
|
|
12
16
|
import {addAlert, noSpaceTmp} from "fwtoolkit"
|
|
13
17
|
import {CitationDialog, LinkDialog} from "../dialogs/index.js"
|
|
14
18
|
|
|
19
|
+
import type {Editor} from "../types.js"
|
|
20
|
+
|
|
21
|
+
type NodeTypeWithGroups = NodeType & {groups: string[]}
|
|
22
|
+
|
|
15
23
|
const key = new PluginKey("links")
|
|
16
24
|
|
|
17
|
-
const copyLink = href => {
|
|
25
|
+
const copyLink = (href: string): void => {
|
|
18
26
|
const textarea = document.createElement("textarea")
|
|
19
27
|
textarea.textContent = href
|
|
20
28
|
textarea.style.position = "fixed" // Prevent scrolling to bottom of page in MS Edge.
|
|
@@ -32,7 +40,7 @@ const copyLink = href => {
|
|
|
32
40
|
}
|
|
33
41
|
}
|
|
34
42
|
|
|
35
|
-
const nonDeletedTextContent = node => {
|
|
43
|
+
const nonDeletedTextContent = (node: Node): string => {
|
|
36
44
|
let text = ""
|
|
37
45
|
node.descendants(subNode => {
|
|
38
46
|
if (
|
|
@@ -45,20 +53,25 @@ const nonDeletedTextContent = node => {
|
|
|
45
53
|
return text
|
|
46
54
|
}
|
|
47
55
|
|
|
48
|
-
export const getInternalTargets = (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
56
|
+
export const getInternalTargets = (
|
|
57
|
+
state: EditorState,
|
|
58
|
+
language: string,
|
|
59
|
+
editor: "main" | "foot"
|
|
60
|
+
): Array<{id: string; text: string}> => {
|
|
61
|
+
const internalTargets: Array<{id: string; text: string}> = []
|
|
62
|
+
const anchors: Record<string, string> = {}
|
|
63
|
+
const categories: Record<string, number> = {}
|
|
52
64
|
|
|
53
65
|
state.doc.descendants(node => {
|
|
54
|
-
|
|
66
|
+
const track = node.attrs.track as Track[] | undefined
|
|
67
|
+
if (track?.find(trackAttr => trackAttr.type === "deletion")) {
|
|
55
68
|
return true
|
|
56
69
|
}
|
|
57
|
-
if (node.type.groups.includes("heading")) {
|
|
70
|
+
if ((node.type as NodeTypeWithGroups).groups.includes("heading")) {
|
|
58
71
|
const textContent = nonDeletedTextContent(node)
|
|
59
72
|
if (textContent.length) {
|
|
60
73
|
internalTargets.push({
|
|
61
|
-
id: node.attrs.id,
|
|
74
|
+
id: node.attrs.id as string,
|
|
62
75
|
text: textContent
|
|
63
76
|
})
|
|
64
77
|
}
|
|
@@ -70,17 +83,17 @@ export const getInternalTargets = (state, language, editor) => {
|
|
|
70
83
|
node.attrs.category &&
|
|
71
84
|
node.attrs.category !== "none"
|
|
72
85
|
) {
|
|
73
|
-
if (!categories[node.attrs.category]) {
|
|
74
|
-
categories[node.attrs.category] = 0
|
|
86
|
+
if (!categories[node.attrs.category as string]) {
|
|
87
|
+
categories[node.attrs.category as string] = 0
|
|
75
88
|
}
|
|
76
|
-
categories[node.attrs.category]++
|
|
89
|
+
categories[node.attrs.category as string]++
|
|
77
90
|
|
|
78
91
|
internalTargets.push({
|
|
79
|
-
id: node.attrs.id,
|
|
92
|
+
id: node.attrs.id as string,
|
|
80
93
|
text:
|
|
81
94
|
editor === "main"
|
|
82
|
-
? `${CATS[node.attrs.category][language]} ${categories[node.attrs.category]}`
|
|
83
|
-
: `${CATS[node.attrs.category][language]} ${categories[node.attrs.category]}A`
|
|
95
|
+
? `${CATS[node.attrs.category as string][language]} ${categories[node.attrs.category as string]}`
|
|
96
|
+
: `${CATS[node.attrs.category as string][language]} ${categories[node.attrs.category as string]}A`
|
|
84
97
|
})
|
|
85
98
|
return true
|
|
86
99
|
}
|
|
@@ -90,19 +103,20 @@ export const getInternalTargets = (state, language, editor) => {
|
|
|
90
103
|
node.attrs.category &&
|
|
91
104
|
node.attrs.id
|
|
92
105
|
) {
|
|
93
|
-
if (!categories[node.attrs.category]) {
|
|
94
|
-
categories[node.attrs.category] = 0
|
|
106
|
+
if (!categories[node.attrs.category as string]) {
|
|
107
|
+
categories[node.attrs.category as string] = 0
|
|
95
108
|
}
|
|
96
|
-
categories[node.attrs.category]++
|
|
109
|
+
categories[node.attrs.category as string]++
|
|
97
110
|
|
|
98
111
|
const categoryLabel =
|
|
99
|
-
CATS[node.attrs.category]?.[language] ||
|
|
112
|
+
CATS[node.attrs.category as string]?.[language] ||
|
|
113
|
+
(node.attrs.category as string)
|
|
100
114
|
const text = node.attrs.title
|
|
101
|
-
? `${categoryLabel} ${categories[node.attrs.category]}: ${node.attrs.title}`
|
|
102
|
-
: `${categoryLabel} ${categories[node.attrs.category]}`
|
|
115
|
+
? `${categoryLabel} ${categories[node.attrs.category as string]}: ${node.attrs.title}`
|
|
116
|
+
: `${categoryLabel} ${categories[node.attrs.category as string]}`
|
|
103
117
|
|
|
104
118
|
internalTargets.push({
|
|
105
|
-
id: node.attrs.id,
|
|
119
|
+
id: node.attrs.id as string,
|
|
106
120
|
text: editor === "main" ? text : `${text}A`
|
|
107
121
|
})
|
|
108
122
|
return true
|
|
@@ -111,10 +125,11 @@ export const getInternalTargets = (state, language, editor) => {
|
|
|
111
125
|
if (node.type.name === "text") {
|
|
112
126
|
const anchor = node.marks.find(mark => mark.type.name === "anchor")
|
|
113
127
|
if (anchor) {
|
|
114
|
-
anchors[anchor.attrs.id] =
|
|
115
|
-
(anchors[anchor.attrs.id] || "") + node.text
|
|
128
|
+
anchors[anchor.attrs.id as string] =
|
|
129
|
+
(anchors[anchor.attrs.id as string] || "") + node.text
|
|
116
130
|
}
|
|
117
131
|
}
|
|
132
|
+
return true
|
|
118
133
|
})
|
|
119
134
|
Object.entries(anchors).forEach(([id, text]) =>
|
|
120
135
|
internalTargets.push({id, text})
|
|
@@ -123,14 +138,26 @@ export const getInternalTargets = (state, language, editor) => {
|
|
|
123
138
|
return internalTargets
|
|
124
139
|
}
|
|
125
140
|
|
|
126
|
-
|
|
141
|
+
interface LinksPluginState {
|
|
142
|
+
url: string
|
|
143
|
+
decos: DecorationSet
|
|
144
|
+
linkMark: Mark | false
|
|
145
|
+
anchorMark: Mark | false
|
|
146
|
+
crossReference: Node | undefined
|
|
147
|
+
citation: Node | undefined
|
|
148
|
+
selectedIndex: number
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export const linksPlugin = (options: {editor: Editor}): Plugin => {
|
|
127
152
|
// Holds the action functions for every visible <li> in the current dropup,
|
|
128
153
|
// ordered exactly as they appear in the DOM. Populated by createDropUp()
|
|
129
154
|
// and consumed by the handleKeyDown prop.
|
|
130
|
-
let currentDropUpActions = []
|
|
155
|
+
let currentDropUpActions: Array<() => void> = []
|
|
131
156
|
|
|
132
|
-
|
|
133
|
-
|
|
157
|
+
const editor = options.editor
|
|
158
|
+
|
|
159
|
+
function getUrl(state: EditorState, oldState: EditorState, oldUrl: string) {
|
|
160
|
+
const id = state.selection.$head.parent.attrs.id as string | undefined,
|
|
134
161
|
mark = state.selection.$head
|
|
135
162
|
.marks()
|
|
136
163
|
.find(mark => mark.type.name === "anchor")
|
|
@@ -149,24 +176,26 @@ export const linksPlugin = options => {
|
|
|
149
176
|
return newUrl
|
|
150
177
|
}
|
|
151
178
|
|
|
152
|
-
function getLinkMark(state) {
|
|
179
|
+
function getLinkMark(state: EditorState): Mark | undefined {
|
|
153
180
|
return state.selection.$head
|
|
154
181
|
.marks()
|
|
155
182
|
.find(mark => mark.type.name === "link")
|
|
156
183
|
}
|
|
157
184
|
|
|
158
|
-
function getAnchorMark(state) {
|
|
185
|
+
function getAnchorMark(state: EditorState): Mark | undefined {
|
|
159
186
|
return state.selection.$head
|
|
160
187
|
.marks()
|
|
161
188
|
.find(mark => mark.type.name === "anchor")
|
|
162
189
|
}
|
|
163
190
|
|
|
164
|
-
function getCrossReference(state) {
|
|
191
|
+
function getCrossReference(state: EditorState): Node | undefined {
|
|
165
192
|
// When inline_references is enabled the inline reference editor
|
|
166
193
|
// handles cross-references; don't show the links dropup for them.
|
|
194
|
+
const appConfig = editor.app as {
|
|
195
|
+
config?: {user?: {preferences?: {inline_references?: boolean}}}
|
|
196
|
+
}
|
|
167
197
|
if (
|
|
168
|
-
|
|
169
|
-
?.inline_references === true
|
|
198
|
+
appConfig.config?.user?.preferences?.inline_references === true
|
|
170
199
|
) {
|
|
171
200
|
return undefined
|
|
172
201
|
}
|
|
@@ -177,12 +206,14 @@ export const linksPlugin = options => {
|
|
|
177
206
|
: undefined
|
|
178
207
|
}
|
|
179
208
|
|
|
180
|
-
function getCitation(state) {
|
|
209
|
+
function getCitation(state: EditorState): Node | undefined {
|
|
181
210
|
// Only surface a citation in the links dropup when inline_references
|
|
182
211
|
// is disabled (otherwise the inline reference editor handles it).
|
|
212
|
+
const appConfig = editor.app as {
|
|
213
|
+
config?: {user?: {preferences?: {inline_references?: boolean}}}
|
|
214
|
+
}
|
|
183
215
|
if (
|
|
184
|
-
|
|
185
|
-
?.inline_references === true
|
|
216
|
+
appConfig.config?.user?.preferences?.inline_references === true
|
|
186
217
|
) {
|
|
187
218
|
return undefined
|
|
188
219
|
}
|
|
@@ -193,11 +224,13 @@ export const linksPlugin = options => {
|
|
|
193
224
|
: undefined
|
|
194
225
|
}
|
|
195
226
|
|
|
196
|
-
function getDecos(state, selectedIndex = -1) {
|
|
227
|
+
function getDecos(state: EditorState, selectedIndex = -1): DecorationSet {
|
|
197
228
|
const $head = state.selection.$head
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
229
|
+
const linkMark = $head.marks().find(mark => mark.type.name === "link")
|
|
230
|
+
const anchorMark = $head
|
|
231
|
+
.marks()
|
|
232
|
+
.find(mark => mark.type.name === "anchor")
|
|
233
|
+
const currentMarks: Array<Mark | Node> = []
|
|
201
234
|
const crossRef = getCrossReference(state)
|
|
202
235
|
const citation = getCitation(state)
|
|
203
236
|
|
|
@@ -208,25 +241,30 @@ export const linksPlugin = options => {
|
|
|
208
241
|
currentMarks.push(anchorMark)
|
|
209
242
|
}
|
|
210
243
|
if (crossRef) {
|
|
211
|
-
currentMarks.push(crossRef)
|
|
244
|
+
currentMarks.push(crossRef as Node)
|
|
212
245
|
}
|
|
213
246
|
if (citation) {
|
|
214
|
-
currentMarks.push(citation)
|
|
247
|
+
currentMarks.push(citation as Node)
|
|
215
248
|
}
|
|
216
249
|
if (!currentMarks.length) {
|
|
217
250
|
return DecorationSet.empty
|
|
218
251
|
}
|
|
219
252
|
|
|
220
253
|
let startPos = $head.start() // position of block start.
|
|
221
|
-
|
|
254
|
+
const inlineNode = crossRef || citation
|
|
255
|
+
if (inlineNode) {
|
|
222
256
|
// For inline nodes, place dropup after the node
|
|
223
|
-
startPos = state.selection.from +
|
|
257
|
+
startPos = state.selection.from + inlineNode.nodeSize
|
|
224
258
|
} else {
|
|
225
259
|
let index = $head.index()
|
|
226
260
|
while (
|
|
227
261
|
index < $head.parent.childCount - 1 &&
|
|
228
262
|
currentMarks.some(mark =>
|
|
229
|
-
mark
|
|
263
|
+
(mark as Mark).isInSet
|
|
264
|
+
? (mark as Mark).isInSet(
|
|
265
|
+
$head.parent.child(index + 1).marks
|
|
266
|
+
)
|
|
267
|
+
: false
|
|
230
268
|
)
|
|
231
269
|
) {
|
|
232
270
|
index++
|
|
@@ -248,33 +286,32 @@ export const linksPlugin = options => {
|
|
|
248
286
|
}
|
|
249
287
|
|
|
250
288
|
function createDropUp(
|
|
251
|
-
linkMark,
|
|
252
|
-
anchorMark,
|
|
253
|
-
crossRef,
|
|
254
|
-
$head,
|
|
255
|
-
citation
|
|
289
|
+
linkMark: Mark | undefined,
|
|
290
|
+
anchorMark: Mark | undefined,
|
|
291
|
+
crossRef: Node | undefined,
|
|
292
|
+
$head: ResolvedPos,
|
|
293
|
+
citation: Node | undefined,
|
|
256
294
|
selectedIndex = -1
|
|
257
|
-
) {
|
|
295
|
+
): HTMLElement {
|
|
258
296
|
const dropUp = document.createElement("span"),
|
|
259
|
-
editor = options.editor,
|
|
260
297
|
writeAccess =
|
|
261
298
|
editor.docInfo.access_rights === "write" ? true : false,
|
|
262
299
|
editAccess = ["write", "write-tracked", "review-tracked"].includes(
|
|
263
|
-
editor.docInfo.access_rights
|
|
300
|
+
editor.docInfo.access_rights as string
|
|
264
301
|
)
|
|
265
302
|
? true
|
|
266
303
|
: false
|
|
267
|
-
let linkType,
|
|
268
|
-
linkHref,
|
|
269
|
-
anchorHref,
|
|
304
|
+
let linkType: "internal" | "external" | undefined,
|
|
305
|
+
linkHref: string | undefined,
|
|
306
|
+
anchorHref: string | undefined,
|
|
270
307
|
requiredPx = 10
|
|
271
308
|
|
|
272
309
|
if (linkMark) {
|
|
273
|
-
linkType = linkMark.attrs.href[0] === "#" ? "internal" : "external"
|
|
310
|
+
linkType = (linkMark.attrs.href as string)[0] === "#" ? "internal" : "external"
|
|
274
311
|
linkHref =
|
|
275
312
|
linkType === "internal"
|
|
276
313
|
? window.location.href.split("#")[0] + linkMark.attrs.href
|
|
277
|
-
: linkMark.attrs.href
|
|
314
|
+
: (linkMark.attrs.href as string)
|
|
278
315
|
requiredPx += 120
|
|
279
316
|
}
|
|
280
317
|
|
|
@@ -297,7 +334,7 @@ export const linksPlugin = options => {
|
|
|
297
334
|
? `<div class="drop-up-head">
|
|
298
335
|
${
|
|
299
336
|
linkMark.attrs.title
|
|
300
|
-
? `<div class="link-title">${gettext("Title")}: ${linkMark.attrs.title}</div>`
|
|
337
|
+
? `<div class="link-title">${gettext("Title")}:&nbsp;${linkMark.attrs.title}</div>`
|
|
301
338
|
: ""
|
|
302
339
|
}
|
|
303
340
|
<div class="link-href">
|
|
@@ -399,17 +436,22 @@ ${
|
|
|
399
436
|
|
|
400
437
|
if (linkType === "internal") {
|
|
401
438
|
const el = dropUp.querySelector("a.internal")
|
|
402
|
-
el
|
|
439
|
+
el?.addEventListener("click", event => {
|
|
403
440
|
event.preventDefault()
|
|
404
441
|
event.stopImmediatePropagation()
|
|
405
|
-
options.editor.scrollIdIntoView(
|
|
442
|
+
options.editor.scrollIdIntoView(
|
|
443
|
+
(linkMark!.attrs.href as string).slice(1)
|
|
444
|
+
)
|
|
406
445
|
})
|
|
407
446
|
}
|
|
408
447
|
|
|
409
448
|
// Rebuild the actions array so handleKeyDown always has the current
|
|
410
449
|
// set of handlers in the same order the <li> items appear in the DOM.
|
|
411
450
|
currentDropUpActions = []
|
|
412
|
-
const setupAction = (
|
|
451
|
+
const setupAction = (
|
|
452
|
+
selector: string,
|
|
453
|
+
action: () => void
|
|
454
|
+
): void => {
|
|
413
455
|
const el = dropUp.querySelector(selector)
|
|
414
456
|
if (!el) {
|
|
415
457
|
return
|
|
@@ -424,7 +466,7 @@ ${
|
|
|
424
466
|
|
|
425
467
|
// Actions must be registered in the same order they appear in the HTML
|
|
426
468
|
// template so that selectedIndex maps to the correct <li> element.
|
|
427
|
-
setupAction(".copy-link", () => copyLink(linkHref))
|
|
469
|
+
setupAction(".copy-link", () => copyLink(linkHref || ""))
|
|
428
470
|
setupAction(".edit-link", () => {
|
|
429
471
|
const dialog = new LinkDialog(editor)
|
|
430
472
|
dialog.init()
|
|
@@ -434,17 +476,17 @@ ${
|
|
|
434
476
|
editor.view.state.tr.removeMark(
|
|
435
477
|
$head.start(),
|
|
436
478
|
$head.end(),
|
|
437
|
-
linkMark
|
|
479
|
+
linkMark!
|
|
438
480
|
)
|
|
439
481
|
)
|
|
440
482
|
})
|
|
441
|
-
setupAction(".copy-anchor", () => copyLink(anchorHref))
|
|
483
|
+
setupAction(".copy-anchor", () => copyLink(anchorHref || ""))
|
|
442
484
|
setupAction(".remove-anchor", () => {
|
|
443
485
|
editor.view.dispatch(
|
|
444
486
|
editor.view.state.tr.removeMark(
|
|
445
487
|
$head.start(),
|
|
446
488
|
$head.end(),
|
|
447
|
-
anchorMark
|
|
489
|
+
anchorMark!
|
|
448
490
|
)
|
|
449
491
|
)
|
|
450
492
|
})
|
|
@@ -483,16 +525,18 @@ ${
|
|
|
483
525
|
return new Plugin({
|
|
484
526
|
key,
|
|
485
527
|
state: {
|
|
486
|
-
init() {
|
|
528
|
+
init(): LinksPluginState {
|
|
487
529
|
return {
|
|
488
530
|
url: window.location.href,
|
|
489
531
|
decos: DecorationSet.empty,
|
|
490
532
|
linkMark: false,
|
|
533
|
+
anchorMark: false,
|
|
534
|
+
crossReference: undefined,
|
|
491
535
|
citation: undefined,
|
|
492
536
|
selectedIndex: -1
|
|
493
537
|
}
|
|
494
538
|
},
|
|
495
|
-
apply(tr, _prev, oldState, state) {
|
|
539
|
+
apply(tr, _prev, oldState, state): LinksPluginState {
|
|
496
540
|
let {
|
|
497
541
|
url,
|
|
498
542
|
decos,
|
|
@@ -501,7 +545,7 @@ ${
|
|
|
501
545
|
crossReference,
|
|
502
546
|
citation,
|
|
503
547
|
selectedIndex
|
|
504
|
-
} =
|
|
548
|
+
} = key.getState(oldState) as LinksPluginState
|
|
505
549
|
url = getUrl(state, oldState, url)
|
|
506
550
|
const newLinkMark = getLinkMark(state)
|
|
507
551
|
const newAnchorMark = getAnchorMark(state)
|
|
@@ -511,7 +555,7 @@ ${
|
|
|
511
555
|
if (meta?.action === "navigate") {
|
|
512
556
|
// Keyboard navigation: only selectedIndex changes; rebuild
|
|
513
557
|
// the decoration so the focused class is applied correctly.
|
|
514
|
-
selectedIndex = meta.index
|
|
558
|
+
selectedIndex = meta.index as number
|
|
515
559
|
decos = getDecos(state, selectedIndex)
|
|
516
560
|
} else if (
|
|
517
561
|
newLinkMark === linkMark &&
|
|
@@ -524,23 +568,27 @@ ${
|
|
|
524
568
|
// The cursor moved to a different mark — reset selection.
|
|
525
569
|
selectedIndex = -1
|
|
526
570
|
decos = getDecos(state, selectedIndex)
|
|
527
|
-
linkMark = newLinkMark
|
|
528
|
-
anchorMark = newAnchorMark
|
|
571
|
+
linkMark = newLinkMark || false
|
|
572
|
+
anchorMark = newAnchorMark || false
|
|
529
573
|
crossReference = newCrossReference
|
|
530
574
|
citation = newCitation
|
|
531
575
|
}
|
|
532
576
|
if (!tr.getMeta("remote")) {
|
|
533
577
|
// We look for changes to figures or headings.
|
|
534
578
|
let foundIdElement = false // found heading or figure
|
|
535
|
-
let ranges = []
|
|
579
|
+
let ranges: Array<[number, number]> = []
|
|
536
580
|
tr.steps.forEach((step, index) => {
|
|
537
|
-
|
|
581
|
+
const stepWithRange = step as unknown as {
|
|
582
|
+
from: number
|
|
583
|
+
to: number
|
|
584
|
+
}
|
|
585
|
+
ranges.push([stepWithRange.from, stepWithRange.to])
|
|
538
586
|
tr.docs[index].nodesBetween(
|
|
539
|
-
|
|
540
|
-
|
|
587
|
+
stepWithRange.from,
|
|
588
|
+
stepWithRange.to,
|
|
541
589
|
node => {
|
|
542
590
|
if (
|
|
543
|
-
node.type.groups.includes("heading") ||
|
|
591
|
+
(node.type as NodeTypeWithGroups).groups.includes("heading") ||
|
|
544
592
|
node.type.name === "figure"
|
|
545
593
|
) {
|
|
546
594
|
foundIdElement = true
|
|
@@ -559,7 +607,7 @@ ${
|
|
|
559
607
|
state.doc.nodesBetween(range[0], range[1], node => {
|
|
560
608
|
if (
|
|
561
609
|
!foundIdElement &&
|
|
562
|
-
(node.type.groups.includes("heading") ||
|
|
610
|
+
((node.type as NodeTypeWithGroups).groups.includes("heading") ||
|
|
563
611
|
[
|
|
564
612
|
"figure",
|
|
565
613
|
"table",
|
|
@@ -619,13 +667,16 @@ ${
|
|
|
619
667
|
})
|
|
620
668
|
// ID should not be found in the other pm either. So we look through
|
|
621
669
|
// those as well.
|
|
622
|
-
let otherState,
|
|
670
|
+
let otherState: EditorState,
|
|
671
|
+
language: string
|
|
623
672
|
if (oldState.schema === options.editor.view.state.schema) {
|
|
624
|
-
otherState = options.editor.mod.footnotes
|
|
625
|
-
|
|
673
|
+
otherState = (options.editor.mod.footnotes as {
|
|
674
|
+
fnEditor: {view: EditorView}
|
|
675
|
+
}).fnEditor.view.state
|
|
676
|
+
language = newState.doc.attrs.language as string
|
|
626
677
|
} else {
|
|
627
678
|
otherState = options.editor.view.state
|
|
628
|
-
language = options.editor.view.state.doc.attrs.language
|
|
679
|
+
language = options.editor.view.state.doc.attrs.language as string
|
|
629
680
|
}
|
|
630
681
|
|
|
631
682
|
const internalTargets = getInternalTargets(
|
|
@@ -652,16 +703,16 @@ ${
|
|
|
652
703
|
//
|
|
653
704
|
// If an ID is used more than once, add steps to change the ID of all
|
|
654
705
|
// but the first occurence.
|
|
655
|
-
const ids = []
|
|
706
|
+
const ids: string[] = []
|
|
656
707
|
|
|
657
708
|
otherState.doc.descendants(node => {
|
|
658
709
|
if (
|
|
659
|
-
node.type.groups.includes("heading") ||
|
|
710
|
+
(node.type as NodeTypeWithGroups).groups.includes("heading") ||
|
|
660
711
|
["figure", "table", "bullet_list", "ordered_list"].includes(
|
|
661
712
|
node.type.name
|
|
662
713
|
)
|
|
663
714
|
) {
|
|
664
|
-
ids.push(node.attrs.id)
|
|
715
|
+
ids.push(node.attrs.id as string)
|
|
665
716
|
}
|
|
666
717
|
})
|
|
667
718
|
|
|
@@ -669,14 +720,14 @@ ${
|
|
|
669
720
|
|
|
670
721
|
newState.doc.descendants((node, pos) => {
|
|
671
722
|
if (
|
|
672
|
-
node.type.groups.includes("heading") ||
|
|
723
|
+
(node.type as NodeTypeWithGroups).groups.includes("heading") ||
|
|
673
724
|
["figure", "table", "bullet_list", "ordered_list"].includes(
|
|
674
725
|
node.type.name
|
|
675
726
|
)
|
|
676
727
|
) {
|
|
677
|
-
if (ids.includes(node.attrs.id) || !node.attrs.id) {
|
|
728
|
+
if (ids.includes(node.attrs.id as string) || !node.attrs.id) {
|
|
678
729
|
// Add node if the id is false (default) or it is present twice
|
|
679
|
-
const randomIdGenerator = node.type.groups.includes(
|
|
730
|
+
const randomIdGenerator = (node.type as NodeTypeWithGroups).groups.includes(
|
|
680
731
|
"heading"
|
|
681
732
|
)
|
|
682
733
|
? randomHeadingId
|
|
@@ -685,7 +736,7 @@ ${
|
|
|
685
736
|
: node.type.name === "table"
|
|
686
737
|
? randomTableId
|
|
687
738
|
: randomListId
|
|
688
|
-
let id
|
|
739
|
+
let id: string | undefined
|
|
689
740
|
|
|
690
741
|
while (!id || ids.includes(id)) {
|
|
691
742
|
id = randomIdGenerator()
|
|
@@ -700,7 +751,7 @@ ${
|
|
|
700
751
|
|
|
701
752
|
ids.push(id)
|
|
702
753
|
} else {
|
|
703
|
-
ids.push(node.attrs.id)
|
|
754
|
+
ids.push(node.attrs.id as string)
|
|
704
755
|
}
|
|
705
756
|
} else if (
|
|
706
757
|
node.type.name === "cross_reference" &&
|
|
@@ -721,15 +772,16 @@ ${
|
|
|
721
772
|
node.marks.forEach(mark => {
|
|
722
773
|
if (
|
|
723
774
|
mark.type.name === "link" &&
|
|
724
|
-
mark.attrs.href[0] === "#" &&
|
|
775
|
+
(mark.attrs.href as string)[0] === "#" &&
|
|
725
776
|
!internalTargets.find(
|
|
726
777
|
it =>
|
|
727
|
-
it.id === mark.attrs.href.slice(1) &&
|
|
778
|
+
it.id === (mark.attrs.href as string).slice(1) &&
|
|
728
779
|
it.text === node.attrs.title
|
|
729
780
|
)
|
|
730
781
|
) {
|
|
731
782
|
const iTarget = internalTargets.find(
|
|
732
|
-
it =>
|
|
783
|
+
it =>
|
|
784
|
+
it.id === (mark.attrs.href as string).slice(1)
|
|
733
785
|
)
|
|
734
786
|
const attrs = Object.assign({}, mark.attrs, {
|
|
735
787
|
title: iTarget ? iTarget.text : null
|
|
@@ -757,13 +809,15 @@ ${
|
|
|
757
809
|
},
|
|
758
810
|
props: {
|
|
759
811
|
handleDOMEvents: {
|
|
760
|
-
focus: (view, _event) => {
|
|
761
|
-
const {url} = key.getState(view.state)
|
|
812
|
+
focus: (view: EditorView, _event: FocusEvent) => {
|
|
813
|
+
const {url} = key.getState(view.state) as LinksPluginState
|
|
762
814
|
window.history.replaceState("", "", url)
|
|
763
815
|
}
|
|
764
816
|
},
|
|
765
|
-
handleKeyDown(view, event) {
|
|
766
|
-
const pluginState = key.getState(view.state)
|
|
817
|
+
handleKeyDown(view: EditorView, event: KeyboardEvent) {
|
|
818
|
+
const pluginState = key.getState(view.state) as
|
|
819
|
+
| LinksPluginState
|
|
820
|
+
| undefined
|
|
767
821
|
if (!pluginState) {
|
|
768
822
|
return false
|
|
769
823
|
}
|
|
@@ -821,8 +875,8 @@ ${
|
|
|
821
875
|
|
|
822
876
|
return false
|
|
823
877
|
},
|
|
824
|
-
decorations(state) {
|
|
825
|
-
const {decos} =
|
|
878
|
+
decorations(state: EditorState) {
|
|
879
|
+
const {decos} = key.getState(state) as LinksPluginState
|
|
826
880
|
return decos
|
|
827
881
|
}
|
|
828
882
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {Plugin, PluginKey} from "prosemirror-state"
|
|
2
|
+
import type {EditorView} from "prosemirror-view"
|
|
3
|
+
|
|
4
|
+
import type {Editor} from "../types.js"
|
|
5
|
+
|
|
6
|
+
const key = new PluginKey("marginboxes")
|
|
7
|
+
export const marginboxesPlugin = (options: {editor: Editor}) =>
|
|
8
|
+
new Plugin({
|
|
9
|
+
key,
|
|
10
|
+
view(_editorState) {
|
|
11
|
+
return {
|
|
12
|
+
update: (view: EditorView, _prevState) => {
|
|
13
|
+
;(options.editor.mod.marginboxes as {view(v: EditorView): void}).view(view)
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
})
|