@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
|
@@ -1,51 +1,59 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import {NodeSelection, Plugin, PluginKey} from "prosemirror-state"
|
|
12
|
-
import {Decoration, DecorationSet} from "prosemirror-view"
|
|
13
|
-
|
|
1
|
+
import type {Node as ProseMirrorNode} from "prosemirror-model"
|
|
2
|
+
import {
|
|
3
|
+
NodeSelection,
|
|
4
|
+
Plugin,
|
|
5
|
+
PluginKey,
|
|
6
|
+
type EditorState,
|
|
7
|
+
type Selection,
|
|
8
|
+
type Transaction
|
|
9
|
+
} from "prosemirror-state"
|
|
10
|
+
import {Decoration, DecorationSet, type EditorView} from "prosemirror-view"
|
|
14
11
|
import {nextSelection} from "@fiduswriter/common/state_plugins/contributor_input"
|
|
15
12
|
|
|
13
|
+
import type {Editor} from "../../types.js"
|
|
16
14
|
import {ContributorDialog} from "../../dialogs/index.js"
|
|
17
15
|
import {ContributorsPartView} from "./node_view.js"
|
|
18
16
|
import {createDropUp} from "./dropup.js"
|
|
19
17
|
|
|
20
18
|
const key = new PluginKey("contributorInput")
|
|
21
19
|
|
|
20
|
+
interface ContributorInputPluginOptions {
|
|
21
|
+
editor: Editor
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface ContributorInputState {
|
|
25
|
+
contributorsPartPositions: Array<{start: number; end: number}>
|
|
26
|
+
decos: DecorationSet
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface EditorViewWithEditor extends EditorView {
|
|
30
|
+
editor: any
|
|
31
|
+
}
|
|
32
|
+
|
|
22
33
|
/**
|
|
23
34
|
* Create the contributor input plugin
|
|
24
|
-
* @param {Object} options - Plugin options with editor reference
|
|
25
|
-
* @returns {Plugin} ProseMirror plugin instance
|
|
26
35
|
*/
|
|
27
|
-
export const contributorInputPlugin =
|
|
28
|
-
|
|
36
|
+
export const contributorInputPlugin = (
|
|
37
|
+
options: ContributorInputPluginOptions
|
|
38
|
+
) =>
|
|
39
|
+
new Plugin<ContributorInputState>({
|
|
29
40
|
key,
|
|
30
41
|
state: {
|
|
31
|
-
|
|
32
|
-
* Initialize plugin state
|
|
33
|
-
* @param {Object} _config - Plugin config (unused)
|
|
34
|
-
* @param {Object} state - Initial ProseMirror state
|
|
35
|
-
* @returns {Object} Initial plugin state
|
|
36
|
-
*/
|
|
37
|
-
init(_config, state) {
|
|
42
|
+
init(_config, state: EditorState) {
|
|
38
43
|
const decos = DecorationSet.empty
|
|
39
44
|
if (options.editor.docInfo.access_rights === "write") {
|
|
40
|
-
this.spec.props.nodeViews["contributors_part"] = (
|
|
41
|
-
node,
|
|
42
|
-
view,
|
|
43
|
-
getPos
|
|
45
|
+
;(this as any).spec.props.nodeViews["contributors_part"] = (
|
|
46
|
+
node: ProseMirrorNode,
|
|
47
|
+
view: EditorView,
|
|
48
|
+
getPos: () => number | undefined
|
|
44
49
|
) => new ContributorsPartView(node, view, getPos)
|
|
45
50
|
}
|
|
46
51
|
|
|
47
52
|
// Find all contributors_part nodes in document to track their positions
|
|
48
|
-
const contributorsPartPositions
|
|
53
|
+
const contributorsPartPositions: Array<{
|
|
54
|
+
start: number
|
|
55
|
+
end: number
|
|
56
|
+
}> = []
|
|
49
57
|
state.doc.descendants((node, pos) => {
|
|
50
58
|
if (node.type.name === "contributors_part") {
|
|
51
59
|
contributorsPartPositions.push({
|
|
@@ -57,14 +65,6 @@ export const contributorInputPlugin = options =>
|
|
|
57
65
|
|
|
58
66
|
return {contributorsPartPositions, decos}
|
|
59
67
|
},
|
|
60
|
-
/**
|
|
61
|
-
* Apply a transaction to plugin state
|
|
62
|
-
* @param {Transaction} tr - Transaction being applied
|
|
63
|
-
* @param {Object} prev - Previous plugin state
|
|
64
|
-
* @param {Object} oldState - ProseMirror state before transaction
|
|
65
|
-
* @param {Object} state - ProseMirror state after transaction
|
|
66
|
-
* @returns {Object} New plugin state
|
|
67
|
-
*/
|
|
68
68
|
apply(tr, prev, _oldState, state) {
|
|
69
69
|
let {decos, contributorsPartPositions} = prev
|
|
70
70
|
// If document was modified, update all positions
|
|
@@ -87,23 +87,25 @@ export const contributorInputPlugin = options =>
|
|
|
87
87
|
// Always remove any existing contributor drop-up before adding a new one
|
|
88
88
|
// This ensures only one drop-up is ever shown at any time
|
|
89
89
|
const oldDropUpDeco = decos.find(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
spec => spec.id === "contributorDropUp"
|
|
90
|
+
undefined,
|
|
91
|
+
undefined,
|
|
92
|
+
spec => (spec as {id?: string}).id === "contributorDropUp"
|
|
93
93
|
)
|
|
94
94
|
if (oldDropUpDeco && oldDropUpDeco.length) {
|
|
95
95
|
decos = decos.remove(oldDropUpDeco)
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
if (
|
|
99
|
-
state.selection
|
|
99
|
+
state.selection instanceof NodeSelection &&
|
|
100
100
|
state.selection.node.type.name === "contributor" &&
|
|
101
|
-
state.selection.$anchor.node(1).attrs.locking !==
|
|
102
|
-
"fixed"
|
|
101
|
+
state.selection.$anchor.node(1).attrs.locking !== "fixed"
|
|
103
102
|
) {
|
|
104
103
|
const dropUpDeco = Decoration.widget(
|
|
105
104
|
state.selection.from,
|
|
106
|
-
createDropUp(
|
|
105
|
+
createDropUp(
|
|
106
|
+
state.selection,
|
|
107
|
+
options.editor.view as EditorViewWithEditor
|
|
108
|
+
),
|
|
107
109
|
{
|
|
108
110
|
side: -1,
|
|
109
111
|
stopEvent: event => {
|
|
@@ -121,18 +123,17 @@ export const contributorInputPlugin = options =>
|
|
|
121
123
|
event.type === "mousedown" ||
|
|
122
124
|
event.type === "click"
|
|
123
125
|
) {
|
|
124
|
-
return
|
|
125
|
-
|
|
126
|
-
)
|
|
126
|
+
return !!(
|
|
127
|
+
event.target as Element
|
|
128
|
+
).closest(".drop-up-outer")
|
|
127
129
|
}
|
|
128
130
|
|
|
129
131
|
// Stop keyboard events that should be handled by the drop-up
|
|
130
132
|
if (event.type === "keydown") {
|
|
131
133
|
// Check if event target is within drop-up or if drop-up has focus
|
|
132
|
-
const isTargetInDropUp =
|
|
133
|
-
event.target
|
|
134
|
-
|
|
135
|
-
)
|
|
134
|
+
const isTargetInDropUp = (
|
|
135
|
+
event.target as Element
|
|
136
|
+
).closest(".drop-up-outer")
|
|
136
137
|
const dropUpHasFocus =
|
|
137
138
|
dropUpEl.contains(
|
|
138
139
|
document.activeElement
|
|
@@ -151,8 +152,8 @@ export const contributorInputPlugin = options =>
|
|
|
151
152
|
|
|
152
153
|
// Arrow-Right and Arrow-Left should always pass through for contributor navigation
|
|
153
154
|
if (
|
|
154
|
-
event.key === "ArrowRight" ||
|
|
155
|
-
event.key === "ArrowLeft"
|
|
155
|
+
(event as KeyboardEvent).key === "ArrowRight" ||
|
|
156
|
+
(event as KeyboardEvent).key === "ArrowLeft"
|
|
156
157
|
) {
|
|
157
158
|
return false
|
|
158
159
|
}
|
|
@@ -161,7 +162,7 @@ export const contributorInputPlugin = options =>
|
|
|
161
162
|
// 1. The event target is within the drop-up, or
|
|
162
163
|
// 2. The drop-up has focus
|
|
163
164
|
if (
|
|
164
|
-
keysHandled.includes(event.key) &&
|
|
165
|
+
keysHandled.includes((event as KeyboardEvent).key) &&
|
|
165
166
|
(isTargetInDropUp || dropUpHasFocus)
|
|
166
167
|
) {
|
|
167
168
|
return true
|
|
@@ -185,20 +186,18 @@ export const contributorInputPlugin = options =>
|
|
|
185
186
|
},
|
|
186
187
|
props: {
|
|
187
188
|
nodeViews: {},
|
|
188
|
-
decorations(state) {
|
|
189
|
-
const {decos} =
|
|
189
|
+
decorations(state: EditorState) {
|
|
190
|
+
const {decos} = key.getState(state) as ContributorInputState
|
|
190
191
|
|
|
191
192
|
return decos
|
|
192
193
|
},
|
|
193
194
|
/**
|
|
194
195
|
* Handle keyboard events
|
|
195
|
-
* @param {EditorView} view - ProseMirror editor view
|
|
196
|
-
* @param {KeyboardEvent} event - Keyboard event
|
|
197
|
-
* @returns {boolean} True if event was handled
|
|
198
196
|
*/
|
|
199
|
-
handleKeyDown(view, event) {
|
|
197
|
+
handleKeyDown(view: EditorView, event: KeyboardEvent) {
|
|
200
198
|
const isContributorSelected =
|
|
201
|
-
view.state.selection
|
|
199
|
+
view.state.selection instanceof NodeSelection &&
|
|
200
|
+
view.state.selection.node.type.name === "contributor"
|
|
202
201
|
const dropUpEl = document.querySelector(".drop-up-options")
|
|
203
202
|
const dropUpHasFocus =
|
|
204
203
|
dropUpEl && dropUpEl.contains(document.activeElement)
|
|
@@ -212,7 +211,7 @@ export const contributorInputPlugin = options =>
|
|
|
212
211
|
if (event.key === "ArrowUp" && isContributorSelected) {
|
|
213
212
|
event.preventDefault()
|
|
214
213
|
if (dropUpEl) {
|
|
215
|
-
dropUpEl.focus()
|
|
214
|
+
;(dropUpEl as HTMLElement).focus()
|
|
216
215
|
}
|
|
217
216
|
return true
|
|
218
217
|
}
|
|
@@ -220,12 +219,13 @@ export const contributorInputPlugin = options =>
|
|
|
220
219
|
// Space key on a selected contributor opens the dialog (when drop-up not focused)
|
|
221
220
|
if (event.key === " " && isContributorSelected) {
|
|
222
221
|
const idTypes =
|
|
223
|
-
view.editor.mod
|
|
224
|
-
?.id_types || []
|
|
222
|
+
(view as EditorViewWithEditor).editor.mod
|
|
223
|
+
.documentTemplate?.currentTemplate?.id_types || []
|
|
224
|
+
const selection = view.state.selection as NodeSelection
|
|
225
225
|
const dialog = new ContributorDialog(
|
|
226
|
-
|
|
226
|
+
selection.$anchor.parent,
|
|
227
227
|
view,
|
|
228
|
-
|
|
228
|
+
selection.node.attrs,
|
|
229
229
|
idTypes
|
|
230
230
|
)
|
|
231
231
|
dialog.init()
|
|
@@ -238,13 +238,12 @@ export const contributorInputPlugin = options =>
|
|
|
238
238
|
},
|
|
239
239
|
/**
|
|
240
240
|
* Append additional transactions based on selection changes
|
|
241
|
-
* Handles auto-selection of contributor nodes when navigating in contributors_part
|
|
242
|
-
* @param {Array<Transaction>} trs - Transactions being applied
|
|
243
|
-
* @param {Object} oldState - State before transactions
|
|
244
|
-
* @param {Object} newState - State after transactions
|
|
245
|
-
* @returns {Transaction|null} Additional transaction to apply
|
|
246
241
|
*/
|
|
247
|
-
appendTransaction: (
|
|
242
|
+
appendTransaction: (
|
|
243
|
+
trs: readonly Transaction[],
|
|
244
|
+
oldState: EditorState,
|
|
245
|
+
newState: EditorState
|
|
246
|
+
): Transaction | null | undefined => {
|
|
248
247
|
// If selection is not collapsed or not changed, don't do anything
|
|
249
248
|
if (
|
|
250
249
|
newState.selection.from !== newState.selection.to ||
|
|
@@ -254,7 +253,7 @@ export const contributorInputPlugin = options =>
|
|
|
254
253
|
}
|
|
255
254
|
|
|
256
255
|
const selectionPos = newState.selection.from
|
|
257
|
-
const pluginState = key.getState(newState)
|
|
256
|
+
const pluginState = key.getState(newState) as ContributorInputState
|
|
258
257
|
|
|
259
258
|
// Check if selection is within any contributors_part node to handle contributor navigation
|
|
260
259
|
const contributorsPartRange =
|
|
@@ -285,7 +284,7 @@ export const contributorInputPlugin = options =>
|
|
|
285
284
|
return
|
|
286
285
|
}
|
|
287
286
|
|
|
288
|
-
return newState.tr.setSelection(newSelection)
|
|
287
|
+
return newState.tr.setSelection(newSelection as Selection)
|
|
289
288
|
}
|
|
290
289
|
}
|
|
291
290
|
|
|
@@ -305,7 +304,7 @@ export const contributorInputPlugin = options =>
|
|
|
305
304
|
// Cannot find a location. Give up.
|
|
306
305
|
return
|
|
307
306
|
}
|
|
308
|
-
return newState.tr.setSelection(newSelection)
|
|
307
|
+
return newState.tr.setSelection(newSelection as Selection)
|
|
309
308
|
} else {
|
|
310
309
|
// Select an entire contributor node
|
|
311
310
|
return newState.tr.setSelection(
|
|
@@ -1,29 +1,54 @@
|
|
|
1
|
-
import {Fragment} from "prosemirror-model"
|
|
1
|
+
import {Fragment, Node as ProseMirrorNode} from "prosemirror-model"
|
|
2
2
|
import {Plugin, PluginKey} from "prosemirror-state"
|
|
3
|
+
import type {EditorState} from "prosemirror-state"
|
|
4
|
+
import type {EditorView, NodeView} from "prosemirror-view"
|
|
5
|
+
|
|
6
|
+
import type {Editor} from "../types.js"
|
|
3
7
|
|
|
4
8
|
const key = new PluginKey("documentTemplate")
|
|
5
9
|
|
|
6
|
-
|
|
10
|
+
interface DocumentTemplatePluginOptions {
|
|
11
|
+
editor: Editor
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface ProtectedRange {
|
|
15
|
+
from: number
|
|
16
|
+
to: number
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function addDeletedPartWidget(
|
|
20
|
+
dom: HTMLElement,
|
|
21
|
+
view: EditorView,
|
|
22
|
+
getPos: () => number | undefined
|
|
23
|
+
): void {
|
|
7
24
|
dom.classList.add("doc-deleted")
|
|
8
25
|
dom.insertAdjacentHTML(
|
|
9
26
|
"beforeend",
|
|
10
27
|
'<div class="remove-doc-part"><i class="fa-solid fa-trash-alt"></i></div>'
|
|
11
28
|
)
|
|
12
|
-
const removeButton = dom.lastElementChild
|
|
29
|
+
const removeButton = dom.lastElementChild as HTMLElement
|
|
13
30
|
removeButton.addEventListener("click", () => {
|
|
14
|
-
const
|
|
15
|
-
|
|
31
|
+
const pos = getPos()
|
|
32
|
+
if (pos === undefined) {
|
|
33
|
+
return
|
|
34
|
+
}
|
|
35
|
+
const from = pos,
|
|
36
|
+
to = from + view.state.doc.nodeAt(from)!.nodeSize,
|
|
16
37
|
tr = view.state.tr
|
|
17
38
|
tr.delete(from, to)
|
|
18
39
|
tr.setMeta("deleteUnusedSection", true)
|
|
19
40
|
view.dispatch(tr)
|
|
20
41
|
})
|
|
21
42
|
}
|
|
22
|
-
|
|
23
|
-
|
|
43
|
+
|
|
44
|
+
export function getProtectedRanges(state: EditorState): ProtectedRange[] {
|
|
45
|
+
return (key.getState(state) as {protectedRanges: ProtectedRange[]})
|
|
46
|
+
.protectedRanges
|
|
24
47
|
}
|
|
25
48
|
|
|
26
|
-
export function getAllowedElementsAndMarks(
|
|
49
|
+
export function getAllowedElementsAndMarks(
|
|
50
|
+
state: EditorState
|
|
51
|
+
): {elements: string[] | false; marks: string[] | false} {
|
|
27
52
|
// Get the allowed elements and marks at the current selection position
|
|
28
53
|
const {$anchor} = state.selection
|
|
29
54
|
const docPart = $anchor.node(1) // Get the part node (richtext_part, heading_part, etc.)
|
|
@@ -33,7 +58,7 @@ export function getAllowedElementsAndMarks(state) {
|
|
|
33
58
|
}
|
|
34
59
|
|
|
35
60
|
const allowedElements = docPart.attrs.elements
|
|
36
|
-
? docPart.attrs.elements.concat(
|
|
61
|
+
? (docPart.attrs.elements as string[]).concat(
|
|
37
62
|
"table_caption",
|
|
38
63
|
"table_body",
|
|
39
64
|
"table_row",
|
|
@@ -45,7 +70,7 @@ export function getAllowedElementsAndMarks(state) {
|
|
|
45
70
|
: false
|
|
46
71
|
|
|
47
72
|
const allowedMarks = docPart.attrs.marks
|
|
48
|
-
? docPart.attrs.marks.concat(
|
|
73
|
+
? (docPart.attrs.marks as string[]).concat(
|
|
49
74
|
"insertion",
|
|
50
75
|
"deletion",
|
|
51
76
|
"comment",
|
|
@@ -56,7 +81,7 @@ export function getAllowedElementsAndMarks(state) {
|
|
|
56
81
|
return {elements: allowedElements, marks: allowedMarks}
|
|
57
82
|
}
|
|
58
83
|
|
|
59
|
-
export function checkProtectedInSelection(state) {
|
|
84
|
+
export function checkProtectedInSelection(state: EditorState): boolean {
|
|
60
85
|
// Checks whether there is a protected range
|
|
61
86
|
// within a selection
|
|
62
87
|
const anchorDocPart = state.selection.$anchor.node(1),
|
|
@@ -68,7 +93,7 @@ export function checkProtectedInSelection(state) {
|
|
|
68
93
|
["start", "header"].includes(anchorDocPart.attrs.locking) ||
|
|
69
94
|
["start", "header"].includes(headDocPart.attrs.locking)
|
|
70
95
|
) {
|
|
71
|
-
const protectedRanges =
|
|
96
|
+
const protectedRanges = getProtectedRanges(state),
|
|
72
97
|
start = state.selection.from,
|
|
73
98
|
end = state.selection.to
|
|
74
99
|
if (
|
|
@@ -89,8 +114,18 @@ export function checkProtectedInSelection(state) {
|
|
|
89
114
|
)
|
|
90
115
|
}
|
|
91
116
|
|
|
92
|
-
export class PartView {
|
|
93
|
-
|
|
117
|
+
export class PartView implements NodeView {
|
|
118
|
+
node: ProseMirrorNode
|
|
119
|
+
view: EditorView
|
|
120
|
+
getPos: () => number | undefined
|
|
121
|
+
dom: HTMLElement
|
|
122
|
+
contentDOM: HTMLElement
|
|
123
|
+
|
|
124
|
+
constructor(
|
|
125
|
+
node: ProseMirrorNode,
|
|
126
|
+
view: EditorView,
|
|
127
|
+
getPos: () => number | undefined
|
|
128
|
+
) {
|
|
94
129
|
this.node = node
|
|
95
130
|
this.view = view
|
|
96
131
|
this.getPos = getPos
|
|
@@ -99,7 +134,7 @@ export class PartView {
|
|
|
99
134
|
this.dom.classList.add(`doc-${this.node.type.name}`)
|
|
100
135
|
this.dom.classList.add(`doc-${this.node.attrs.id}`)
|
|
101
136
|
if (node.attrs.hidden) {
|
|
102
|
-
this.dom.dataset.hidden = true
|
|
137
|
+
this.dom.dataset.hidden = "true"
|
|
103
138
|
}
|
|
104
139
|
if (node.attrs.deleted) {
|
|
105
140
|
this.contentDOM = this.dom.appendChild(
|
|
@@ -111,37 +146,45 @@ export class PartView {
|
|
|
111
146
|
}
|
|
112
147
|
}
|
|
113
148
|
|
|
114
|
-
stopEvent() {
|
|
149
|
+
stopEvent(): boolean {
|
|
115
150
|
return false
|
|
116
151
|
}
|
|
117
152
|
}
|
|
118
153
|
|
|
119
|
-
export const documentTemplatePlugin =
|
|
154
|
+
export const documentTemplatePlugin = (
|
|
155
|
+
options: DocumentTemplatePluginOptions
|
|
156
|
+
) =>
|
|
120
157
|
new Plugin({
|
|
121
158
|
key,
|
|
122
159
|
state: {
|
|
123
160
|
init(_config, state) {
|
|
124
161
|
if (options.editor.docInfo.access_rights === "write") {
|
|
125
|
-
this.spec.props.nodeViews[
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
162
|
+
;((this as any).spec.props as any).nodeViews[
|
|
163
|
+
"richtext_part"
|
|
164
|
+
] = (
|
|
165
|
+
node: ProseMirrorNode,
|
|
166
|
+
view: EditorView,
|
|
167
|
+
getPos: () => number | undefined
|
|
129
168
|
) => new PartView(node, view, getPos)
|
|
130
|
-
this.spec.props.nodeViews[
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
169
|
+
;((this as any).spec.props as any).nodeViews[
|
|
170
|
+
"heading_part"
|
|
171
|
+
] = (
|
|
172
|
+
node: ProseMirrorNode,
|
|
173
|
+
view: EditorView,
|
|
174
|
+
getPos: () => number | undefined
|
|
134
175
|
) => new PartView(node, view, getPos)
|
|
135
|
-
this.spec.props.nodeViews[
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
176
|
+
;((this as any).spec.props as any).nodeViews[
|
|
177
|
+
"table_part"
|
|
178
|
+
] = (
|
|
179
|
+
node: ProseMirrorNode,
|
|
180
|
+
view: EditorView,
|
|
181
|
+
getPos: () => number | undefined
|
|
139
182
|
) => new PartView(node, view, getPos)
|
|
140
183
|
// Tags and Contributors have node views defined in tag_input and contributor_input.
|
|
141
184
|
// TOCs have node views defined in toc_render.
|
|
142
185
|
}
|
|
143
186
|
|
|
144
|
-
const protectedRanges = [
|
|
187
|
+
const protectedRanges: ProtectedRange[] = [
|
|
145
188
|
{from: 0, to: 1} // article node
|
|
146
189
|
]
|
|
147
190
|
state.doc.forEach((node, pos) => {
|
|
@@ -156,14 +199,17 @@ export const documentTemplatePlugin = options =>
|
|
|
156
199
|
1 +
|
|
157
200
|
1 +
|
|
158
201
|
1 +
|
|
159
|
-
node.firstChild.firstChild
|
|
202
|
+
(node.firstChild as ProseMirrorNode).firstChild!
|
|
203
|
+
.nodeSize // + 1 for the part node + 1 for the table + 1 for the first row
|
|
160
204
|
} else if (node.attrs.locking === "start") {
|
|
161
205
|
let initialFragment = Fragment.fromJSON(
|
|
162
206
|
options.editor.schema,
|
|
163
207
|
node.attrs.initial
|
|
164
208
|
)
|
|
165
209
|
let protectionSize = initialFragment.size
|
|
166
|
-
if (
|
|
210
|
+
if (
|
|
211
|
+
initialFragment.lastChild?.isTextblock
|
|
212
|
+
) {
|
|
167
213
|
protectionSize -= 1 // We allow writing at the end of the last text block.
|
|
168
214
|
if (initialFragment.lastChild.nodeSize === 2) {
|
|
169
215
|
// The last text block is empty, so we remove all protection from it, even node type
|
|
@@ -193,7 +239,9 @@ export const documentTemplatePlugin = options =>
|
|
|
193
239
|
}
|
|
194
240
|
},
|
|
195
241
|
apply(tr, _prev, oldState, _state) {
|
|
196
|
-
let {protectedRanges} =
|
|
242
|
+
let {protectedRanges} = key.getState(oldState) as {
|
|
243
|
+
protectedRanges: ProtectedRange[]
|
|
244
|
+
}
|
|
197
245
|
protectedRanges = protectedRanges.map(marker => ({
|
|
198
246
|
from: tr.mapping.map(marker.from, 1),
|
|
199
247
|
to: tr.mapping.map(marker.to, -1)
|
|
@@ -222,10 +270,12 @@ export const documentTemplatePlugin = options =>
|
|
|
222
270
|
if (state.doc.childCount !== tr.doc.childCount) {
|
|
223
271
|
return false
|
|
224
272
|
}
|
|
225
|
-
const {protectedRanges} = key.getState(state)
|
|
273
|
+
const {protectedRanges} = key.getState(state) as {
|
|
274
|
+
protectedRanges: ProtectedRange[]
|
|
275
|
+
}
|
|
226
276
|
let allowed = true
|
|
227
277
|
|
|
228
|
-
let changingRanges = []
|
|
278
|
+
let changingRanges: Array<{start: number; end: number}> = []
|
|
229
279
|
|
|
230
280
|
// We map all changes back to the document before changes have been applied.
|
|
231
281
|
tr.steps
|
|
@@ -240,10 +290,16 @@ export const documentTemplatePlugin = options =>
|
|
|
240
290
|
end: mapInv.map(range.end, 1)
|
|
241
291
|
}))
|
|
242
292
|
}
|
|
243
|
-
|
|
244
|
-
|
|
293
|
+
const stepData = step as any
|
|
294
|
+
if (
|
|
295
|
+
["removeMark", "addMark"].includes(stepData.jsonID)
|
|
296
|
+
) {
|
|
297
|
+
changingRanges.push({
|
|
298
|
+
start: stepData.from,
|
|
299
|
+
end: stepData.to
|
|
300
|
+
})
|
|
245
301
|
}
|
|
246
|
-
map.forEach((start, end) => {
|
|
302
|
+
map.forEach((start: number, end: number) => {
|
|
247
303
|
changingRanges.push({start, end})
|
|
248
304
|
})
|
|
249
305
|
})
|
|
@@ -261,17 +317,19 @@ export const documentTemplatePlugin = options =>
|
|
|
261
317
|
}
|
|
262
318
|
})
|
|
263
319
|
|
|
264
|
-
let allowedElements = false,
|
|
265
|
-
allowedMarks = false
|
|
320
|
+
let allowedElements: string[] | false = false,
|
|
321
|
+
allowedMarks: string[] | false = false
|
|
266
322
|
|
|
267
323
|
changingRanges.forEach(range =>
|
|
268
324
|
state.doc.nodesBetween(
|
|
269
|
-
range.
|
|
270
|
-
range.
|
|
325
|
+
range.start,
|
|
326
|
+
range.end,
|
|
271
327
|
(node, pos, parent, _index) => {
|
|
328
|
+
const elements = allowedElements
|
|
329
|
+
const marks = allowedMarks
|
|
272
330
|
if (parent === tr.doc) {
|
|
273
331
|
allowedElements = node.attrs.elements
|
|
274
|
-
? node.attrs.elements.concat(
|
|
332
|
+
? (node.attrs.elements as string[]).concat(
|
|
275
333
|
"table_caption",
|
|
276
334
|
"table_body",
|
|
277
335
|
"table_row",
|
|
@@ -282,7 +340,7 @@ export const documentTemplatePlugin = options =>
|
|
|
282
340
|
)
|
|
283
341
|
: false
|
|
284
342
|
allowedMarks = node.attrs.marks
|
|
285
|
-
? node.attrs.marks.concat(
|
|
343
|
+
? (node.attrs.marks as string[]).concat(
|
|
286
344
|
"insertion",
|
|
287
345
|
"deletion",
|
|
288
346
|
"comment",
|
|
@@ -291,21 +349,22 @@ export const documentTemplatePlugin = options =>
|
|
|
291
349
|
: false
|
|
292
350
|
return allowed
|
|
293
351
|
}
|
|
294
|
-
if (pos < range.
|
|
352
|
+
if (pos < range.start) {
|
|
295
353
|
return true
|
|
296
354
|
}
|
|
297
355
|
if (
|
|
298
|
-
|
|
299
|
-
!
|
|
356
|
+
Array.isArray(elements) &&
|
|
357
|
+
!elements.includes(node.type.name)
|
|
300
358
|
) {
|
|
301
359
|
allowed = false
|
|
302
|
-
} else if (
|
|
360
|
+
} else if (Array.isArray(marks)) {
|
|
303
361
|
node.marks.forEach(mark => {
|
|
304
|
-
if (!
|
|
362
|
+
if (!marks.includes(mark.type.name)) {
|
|
305
363
|
allowed = false
|
|
306
364
|
}
|
|
307
365
|
})
|
|
308
366
|
}
|
|
367
|
+
return undefined
|
|
309
368
|
}
|
|
310
369
|
)
|
|
311
370
|
)
|