@dxos/ui-editor 0.10.0 → 0.11.1
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/lib/chunk-diff.mjs +935 -0
- package/dist/lib/chunk-diff.mjs.map +1 -0
- package/dist/lib/headless.mjs +2 -0
- package/dist/lib/index.mjs +9937 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/lib/types.mjs +18 -0
- package/dist/lib/types.mjs.map +1 -0
- package/dist/types/src/extensions/{bookmarks.d.ts → behavior/bookmarks.d.ts} +3 -0
- package/dist/types/src/extensions/behavior/bookmarks.d.ts.map +1 -0
- package/dist/types/src/extensions/behavior/dnd.d.ts.map +1 -0
- package/dist/types/src/extensions/behavior/index.d.ts +6 -0
- package/dist/types/src/extensions/behavior/index.d.ts.map +1 -0
- package/dist/types/src/extensions/{listener.d.ts → behavior/listener.d.ts} +3 -0
- package/dist/types/src/extensions/behavior/listener.d.ts.map +1 -0
- package/dist/types/src/extensions/{spacing.d.ts → behavior/spacing.d.ts} +3 -0
- package/dist/types/src/extensions/behavior/spacing.d.ts.map +1 -0
- package/dist/types/src/extensions/behavior/submit.d.ts.map +1 -0
- package/dist/types/src/extensions/collab/automerge/automerge.d.ts.map +1 -0
- package/dist/types/src/extensions/collab/automerge/automerge.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{automerge → collab/automerge}/cursor.d.ts +1 -1
- package/dist/types/src/extensions/collab/automerge/cursor.d.ts.map +1 -0
- package/dist/types/src/extensions/{automerge → collab/automerge}/defs.d.ts +3 -1
- package/dist/types/src/extensions/collab/automerge/defs.d.ts.map +1 -0
- package/dist/types/src/extensions/collab/automerge/index.d.ts +3 -0
- package/dist/types/src/extensions/collab/automerge/index.d.ts.map +1 -0
- package/dist/types/src/extensions/collab/automerge/sync.d.ts.map +1 -0
- package/dist/types/src/extensions/{automerge → collab/automerge}/update-automerge.d.ts +4 -0
- package/dist/types/src/extensions/collab/automerge/update-automerge.d.ts.map +1 -0
- package/dist/types/src/extensions/{automerge → collab/automerge}/update-codemirror.d.ts +4 -0
- package/dist/types/src/extensions/collab/automerge/update-codemirror.d.ts.map +1 -0
- package/dist/types/src/extensions/collab/awareness/awareness-provider.d.ts.map +1 -0
- package/dist/types/src/extensions/{awareness → collab/awareness}/awareness.d.ts +4 -1
- package/dist/types/src/extensions/collab/awareness/awareness.d.ts.map +1 -0
- package/dist/types/src/extensions/collab/awareness/index.d.ts.map +1 -0
- package/dist/types/src/extensions/collab/index.d.ts +3 -0
- package/dist/types/src/extensions/collab/index.d.ts.map +1 -0
- package/dist/types/src/extensions/completion/autocomplete.d.ts.map +1 -0
- package/dist/types/src/extensions/{autocomplete → completion}/index.d.ts +1 -0
- package/dist/types/src/extensions/completion/index.d.ts.map +1 -0
- package/dist/types/src/extensions/{autocomplete → completion}/match.d.ts +2 -2
- package/dist/types/src/extensions/completion/match.d.ts.map +1 -0
- package/dist/types/src/extensions/{mention.d.ts → completion/mention.d.ts} +3 -0
- package/dist/types/src/extensions/completion/mention.d.ts.map +1 -0
- package/dist/types/src/extensions/completion/placeholder.d.ts.map +1 -0
- package/dist/types/src/extensions/{autocomplete → completion}/typeahead.d.ts +2 -2
- package/dist/types/src/extensions/completion/typeahead.d.ts.map +1 -0
- package/dist/types/src/extensions/{factories.d.ts → core/factories.d.ts} +23 -2
- package/dist/types/src/extensions/core/factories.d.ts.map +1 -0
- package/dist/types/src/extensions/core/factories.test.d.ts.map +1 -0
- package/dist/types/src/extensions/core/index.d.ts +3 -0
- package/dist/types/src/extensions/core/index.d.ts.map +1 -0
- package/dist/types/src/extensions/{modes.d.ts → core/modes.d.ts} +3 -0
- package/dist/types/src/extensions/core/modes.d.ts.map +1 -0
- package/dist/types/src/extensions/{debug.d.ts → debug/debug.d.ts} +3 -0
- package/dist/types/src/extensions/debug/debug.d.ts.map +1 -0
- package/dist/types/src/extensions/debug/index.d.ts +2 -0
- package/dist/types/src/extensions/debug/index.d.ts.map +1 -0
- package/dist/types/src/extensions/{annotations.d.ts → decoration/annotations.d.ts} +1 -1
- package/dist/types/src/extensions/decoration/annotations.d.ts.map +1 -0
- package/dist/types/src/extensions/decoration/assistant.d.ts +27 -0
- package/dist/types/src/extensions/decoration/assistant.d.ts.map +1 -0
- package/dist/types/src/extensions/decoration/fader.d.ts.map +1 -0
- package/dist/types/src/extensions/decoration/hashtag.d.ts +6 -0
- package/dist/types/src/extensions/decoration/hashtag.d.ts.map +1 -0
- package/dist/types/src/extensions/decoration/index.d.ts +8 -0
- package/dist/types/src/extensions/decoration/index.d.ts.map +1 -0
- package/dist/types/src/extensions/decoration/marker.d.ts.map +1 -0
- package/dist/types/src/extensions/{pos.d.ts → decoration/pos.d.ts} +40 -14
- package/dist/types/src/extensions/decoration/pos.d.ts.map +1 -0
- package/dist/types/src/extensions/decoration/pos.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{replacer.d.ts → decoration/replacer.d.ts} +8 -8
- package/dist/types/src/extensions/decoration/replacer.d.ts.map +1 -0
- package/dist/types/src/extensions/decoration/replacer.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{blast.d.ts → demo/blast.d.ts} +3 -0
- package/dist/types/src/extensions/demo/blast.d.ts.map +1 -0
- package/dist/types/src/extensions/demo/index.d.ts +3 -0
- package/dist/types/src/extensions/demo/index.d.ts.map +1 -0
- package/dist/types/src/extensions/demo/snippets.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +10 -33
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/extensions/language/index.d.ts +5 -0
- package/dist/types/src/extensions/language/index.d.ts.map +1 -0
- package/dist/types/src/extensions/language/json/index.d.ts +2 -0
- package/dist/types/src/extensions/language/json/index.d.ts.map +1 -0
- package/dist/types/src/extensions/language/json/json.d.ts +12 -0
- package/dist/types/src/extensions/language/json/json.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/action.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/bundle.d.ts.map +1 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/changes.d.ts +1 -1
- package/dist/types/src/extensions/language/markdown/changes.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/changes.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/debug.d.ts +3 -0
- package/dist/types/src/extensions/language/markdown/debug.d.ts.map +1 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/decorate.d.ts +5 -1
- package/dist/types/src/extensions/language/markdown/decorate.d.ts.map +1 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/formatting.d.ts +11 -2
- package/dist/types/src/extensions/language/markdown/formatting.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/formatting.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/highlight.d.ts +16 -12
- package/dist/types/src/extensions/language/markdown/highlight.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/image.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/image.test.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/index.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/link.d.ts +25 -0
- package/dist/types/src/extensions/language/markdown/link.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/link.test.d.ts +2 -0
- package/dist/types/src/extensions/language/markdown/link.test.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/parser.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/styles.d.ts +3 -0
- package/dist/types/src/extensions/language/markdown/styles.d.ts.map +1 -0
- package/dist/types/src/extensions/language/markdown/table.d.ts.map +1 -0
- package/dist/types/src/extensions/language/mermaid/index.d.ts +2 -0
- package/dist/types/src/extensions/language/mermaid/index.d.ts.map +1 -0
- package/dist/types/src/extensions/language/mermaid/mermaid.d.ts +18 -0
- package/dist/types/src/extensions/language/mermaid/mermaid.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/extended-markdown.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/extended-markdown.test.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/index.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/stub.d.ts +76 -0
- package/dist/types/src/extensions/language/xml/stub.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/widgets/anchor.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/widgets/index.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/xml-block-decoration.d.ts +48 -0
- package/dist/types/src/extensions/language/xml/xml-block-decoration.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/xml-formatting.d.ts.map +1 -0
- package/dist/types/src/extensions/{tags → language/xml}/xml-tags.d.ts +12 -1
- package/dist/types/src/extensions/language/xml/xml-tags.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/xml-tags.test.d.ts +2 -0
- package/dist/types/src/extensions/language/xml/xml-tags.test.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/xml-util.d.ts.map +1 -0
- package/dist/types/src/extensions/language/xml/xml-util.test.d.ts.map +1 -0
- package/dist/types/src/extensions/review/change-bar.d.ts +29 -0
- package/dist/types/src/extensions/review/change-bar.d.ts.map +1 -0
- package/dist/types/src/extensions/{comments.d.ts → review/comments.d.ts} +56 -38
- package/dist/types/src/extensions/review/comments.d.ts.map +1 -0
- package/dist/types/src/extensions/review/comments.test.d.ts +2 -0
- package/dist/types/src/extensions/review/comments.test.d.ts.map +1 -0
- package/dist/types/src/extensions/review/diff.d.ts +131 -0
- package/dist/types/src/extensions/review/diff.d.ts.map +1 -0
- package/dist/types/src/extensions/review/diff.test.d.ts +2 -0
- package/dist/types/src/extensions/review/diff.test.d.ts.map +1 -0
- package/dist/types/src/extensions/review/index.d.ts +7 -0
- package/dist/types/src/extensions/review/index.d.ts.map +1 -0
- package/dist/types/src/extensions/review/suggest.d.ts +89 -0
- package/dist/types/src/extensions/review/suggest.d.ts.map +1 -0
- package/dist/types/src/extensions/review/suggest.test.d.ts +2 -0
- package/dist/types/src/extensions/review/suggest.test.d.ts.map +1 -0
- package/dist/types/src/extensions/review/suggestions-overlay.d.ts +25 -0
- package/dist/types/src/extensions/review/suggestions-overlay.d.ts.map +1 -0
- package/dist/types/src/extensions/review/suggestions-overlay.test.d.ts +2 -0
- package/dist/types/src/extensions/review/suggestions-overlay.test.d.ts.map +1 -0
- package/dist/types/src/extensions/review/track-changes.d.ts +27 -0
- package/dist/types/src/extensions/review/track-changes.d.ts.map +1 -0
- package/dist/types/src/extensions/review/track-changes.test.d.ts +2 -0
- package/dist/types/src/extensions/review/track-changes.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{busy.d.ts → state/busy.d.ts} +1 -0
- package/dist/types/src/extensions/state/busy.d.ts.map +1 -0
- package/dist/types/src/extensions/{focus.d.ts → state/focus.d.ts} +4 -0
- package/dist/types/src/extensions/state/focus.d.ts.map +1 -0
- package/dist/types/src/extensions/state/index.d.ts +5 -0
- package/dist/types/src/extensions/state/index.d.ts.map +1 -0
- package/dist/types/src/extensions/state/modal.d.ts.map +1 -0
- package/dist/types/src/extensions/{selection.d.ts → state/selection.d.ts} +1 -1
- package/dist/types/src/extensions/state/selection.d.ts.map +1 -0
- package/dist/types/src/extensions/state/selection.test.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/index.d.ts +4 -0
- package/dist/types/src/extensions/streaming/index.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/pending/index.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/pending/pending-text-stream.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/pending/pending-text-stream.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{pending → streaming/pending}/pending-text.d.ts +1 -0
- package/dist/types/src/extensions/streaming/pending/pending-text.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/pending/pending-text.test.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/scrolling/auto-scroll.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/scrolling/crawler.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/scrolling/index.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/scrolling/scroll-past-end.d.ts +4 -0
- package/dist/types/src/extensions/streaming/scrolling/scroll-past-end.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/scrolling/scrollbar-autohide.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/scrolling/scroller.d.ts.map +1 -0
- package/dist/types/src/extensions/{typewriter.d.ts → streaming/typewriter.d.ts} +12 -12
- package/dist/types/src/extensions/streaming/typewriter.d.ts.map +1 -0
- package/dist/types/src/extensions/streaming/typewriter.test.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/blocks/blocks.d.ts +52 -0
- package/dist/types/src/extensions/structure/blocks/blocks.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/blocks/blocks.test.d.ts +2 -0
- package/dist/types/src/extensions/structure/blocks/blocks.test.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/blocks/drag.d.ts +57 -0
- package/dist/types/src/extensions/structure/blocks/drag.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/blocks/index.d.ts +5 -0
- package/dist/types/src/extensions/structure/blocks/index.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/blocks/selection.d.ts +47 -0
- package/dist/types/src/extensions/structure/blocks/selection.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/blocks/selection.test.d.ts +2 -0
- package/dist/types/src/extensions/structure/blocks/selection.test.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/blocks/types.d.ts +17 -0
- package/dist/types/src/extensions/structure/blocks/types.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/folding/folding.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/folding/index.d.ts +3 -0
- package/dist/types/src/extensions/structure/folding/index.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/folding/turns.d.ts +55 -0
- package/dist/types/src/extensions/structure/folding/turns.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/folding/turns.test.d.ts +2 -0
- package/dist/types/src/extensions/structure/folding/turns.test.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/index.d.ts +4 -0
- package/dist/types/src/extensions/structure/index.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/outliner/commands.d.ts +31 -0
- package/dist/types/src/extensions/structure/outliner/commands.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/outliner/dnd.d.ts +43 -0
- package/dist/types/src/extensions/structure/outliner/dnd.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/outliner/dnd.test.d.ts +2 -0
- package/dist/types/src/extensions/structure/outliner/dnd.test.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/outliner/editor.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/outliner/editor.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{outliner → structure/outliner}/index.d.ts +1 -0
- package/dist/types/src/extensions/structure/outliner/index.d.ts.map +1 -0
- package/dist/types/src/extensions/{outliner → structure/outliner}/menu.d.ts +1 -0
- package/dist/types/src/extensions/structure/outliner/menu.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/outliner/outliner.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/outliner/outliner.test.d.ts.map +1 -0
- package/dist/types/src/extensions/{outliner → structure/outliner}/tree.d.ts +1 -1
- package/dist/types/src/extensions/structure/outliner/tree.d.ts.map +1 -0
- package/dist/types/src/extensions/structure/outliner/tree.test.d.ts.map +1 -0
- package/dist/types/src/headless.d.ts +4 -0
- package/dist/types/src/headless.d.ts.map +1 -0
- package/dist/types/src/styles/theme.d.ts +1 -1
- package/dist/types/src/styles/theme.d.ts.map +1 -1
- package/dist/types/src/util/util.d.ts +2 -0
- package/dist/types/src/util/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +48 -42
- package/src/defaults.ts +1 -1
- package/src/extensions/{bookmarks.ts → behavior/bookmarks.ts} +24 -14
- package/src/extensions/behavior/index.ts +9 -0
- package/src/extensions/{listener.ts → behavior/listener.ts} +4 -1
- package/src/extensions/{spacing.ts → behavior/spacing.ts} +8 -2
- package/src/extensions/{submit.ts → behavior/submit.ts} +2 -10
- package/src/extensions/{automerge → collab/automerge}/automerge.test.tsx +4 -4
- package/src/extensions/{automerge → collab/automerge}/automerge.ts +7 -4
- package/src/extensions/{automerge → collab/automerge}/cursor.ts +1 -1
- package/src/extensions/{automerge → collab/automerge}/defs.ts +4 -1
- package/src/extensions/{automerge → collab/automerge}/index.ts +1 -0
- package/src/extensions/{automerge → collab/automerge}/sync.ts +1 -2
- package/src/extensions/{automerge → collab/automerge}/update-automerge.ts +4 -0
- package/src/extensions/{automerge → collab/automerge}/update-codemirror.ts +5 -1
- package/src/extensions/{awareness → collab/awareness}/awareness-provider.ts +3 -4
- package/src/extensions/{awareness → collab/awareness}/awareness.ts +19 -16
- package/src/extensions/collab/index.ts +6 -0
- package/src/extensions/{autocomplete → completion}/autocomplete.ts +7 -5
- package/src/extensions/{autocomplete → completion}/index.ts +2 -1
- package/src/extensions/{autocomplete → completion}/match.ts +2 -2
- package/src/extensions/{mention.ts → completion/mention.ts} +3 -0
- package/src/extensions/{autocomplete → completion}/placeholder.ts +1 -1
- package/src/extensions/completion/typeahead.ts +97 -0
- package/src/extensions/{factories.ts → core/factories.ts} +35 -13
- package/src/extensions/core/index.ts +6 -0
- package/src/extensions/{modes.ts → core/modes.ts} +4 -1
- package/src/extensions/{debug.ts → debug/debug.ts} +3 -0
- package/src/extensions/debug/index.ts +5 -0
- package/src/extensions/{annotations.ts → decoration/annotations.ts} +12 -10
- package/src/extensions/decoration/assistant.ts +225 -0
- package/src/extensions/{fader.ts → decoration/fader.ts} +17 -19
- package/src/extensions/{hashtag.ts → decoration/hashtag.ts} +35 -28
- package/src/extensions/decoration/index.ts +11 -0
- package/src/extensions/{marker.ts → decoration/marker.ts} +18 -18
- package/src/extensions/{pos.test.ts → decoration/pos.test.ts} +57 -1
- package/src/extensions/{pos.ts → decoration/pos.ts} +165 -31
- package/src/extensions/{blast.ts → demo/blast.ts} +3 -0
- package/src/extensions/demo/index.ts +6 -0
- package/src/extensions/{snippets.ts → demo/snippets.ts} +5 -1
- package/src/extensions/index.ts +10 -33
- package/src/extensions/language/index.ts +8 -0
- package/src/extensions/language/json/index.ts +5 -0
- package/src/extensions/{json.ts → language/json/json.ts} +11 -6
- package/src/extensions/{markdown → language/markdown}/action.ts +1 -1
- package/src/extensions/{markdown → language/markdown}/bundle.ts +7 -1
- package/src/extensions/{markdown → language/markdown}/changes.test.ts +2 -2
- package/src/extensions/{markdown → language/markdown}/changes.ts +2 -2
- package/src/extensions/{markdown → language/markdown}/debug.ts +3 -0
- package/src/extensions/{markdown → language/markdown}/decorate.ts +96 -85
- package/src/extensions/{markdown → language/markdown}/formatting.test.ts +88 -1
- package/src/extensions/{markdown → language/markdown}/formatting.ts +193 -74
- package/src/extensions/{markdown → language/markdown}/highlight.ts +42 -41
- package/src/extensions/{markdown → language/markdown}/image.test.ts +1 -1
- package/src/extensions/{markdown → language/markdown}/image.ts +6 -6
- package/src/extensions/language/markdown/link.test.ts +58 -0
- package/src/extensions/language/markdown/link.ts +109 -0
- package/src/extensions/{markdown → language/markdown}/parser.test.ts +0 -28
- package/src/extensions/{markdown → language/markdown}/styles.ts +38 -7
- package/src/extensions/{markdown → language/markdown}/table.ts +5 -5
- package/src/extensions/language/mermaid/index.ts +5 -0
- package/src/extensions/language/mermaid/mermaid.ts +44 -0
- package/src/extensions/{tags → language/xml}/DESIGN.md +3 -3
- package/src/extensions/{tags → language/xml}/extended-markdown.test.ts +2 -1
- package/src/extensions/{tags → language/xml}/extended-markdown.ts +2 -4
- package/src/extensions/language/xml/stub.ts +233 -0
- package/src/extensions/language/xml/xml-block-decoration.ts +165 -0
- package/src/extensions/{tags → language/xml}/xml-formatting.ts +54 -38
- package/src/extensions/language/xml/xml-tags.test.ts +588 -0
- package/src/extensions/{tags → language/xml}/xml-tags.ts +165 -66
- package/src/extensions/{tags → language/xml}/xml-util.test.ts +2 -2
- package/src/extensions/review/change-bar.ts +94 -0
- package/src/extensions/review/comments.test.ts +72 -0
- package/src/extensions/{comments.ts → review/comments.ts} +395 -267
- package/src/extensions/review/diff.test.ts +405 -0
- package/src/extensions/review/diff.ts +502 -0
- package/src/extensions/review/index.ts +10 -0
- package/src/extensions/review/suggest.test.ts +170 -0
- package/src/extensions/review/suggest.ts +512 -0
- package/src/extensions/review/suggestions-overlay.test.ts +58 -0
- package/src/extensions/review/suggestions-overlay.ts +50 -0
- package/src/extensions/review/track-changes.test.ts +101 -0
- package/src/extensions/review/track-changes.ts +215 -0
- package/src/extensions/{busy.ts → state/busy.ts} +1 -0
- package/src/extensions/{focus.ts → state/focus.ts} +4 -0
- package/src/extensions/state/index.ts +8 -0
- package/src/extensions/{selection.ts → state/selection.ts} +3 -3
- package/src/extensions/streaming/index.ts +7 -0
- package/src/extensions/{pending → streaming/pending}/pending-text-stream.ts +10 -3
- package/src/extensions/{pending → streaming/pending}/pending-text.test.ts +1 -1
- package/src/extensions/{pending → streaming/pending}/pending-text.ts +20 -19
- package/src/extensions/{scrolling → streaming/scrolling}/auto-scroll.ts +9 -6
- package/src/extensions/{scrolling → streaming/scrolling}/scroll-past-end.ts +1 -0
- package/src/extensions/{scrolling → streaming/scrolling}/scrollbar-autohide.ts +13 -11
- package/src/extensions/{typewriter.ts → streaming/typewriter.ts} +46 -47
- package/src/extensions/structure/blocks/DESIGN.md +134 -0
- package/src/extensions/structure/blocks/blocks.test.ts +147 -0
- package/src/extensions/structure/blocks/blocks.ts +219 -0
- package/src/extensions/structure/blocks/drag.ts +996 -0
- package/src/extensions/structure/blocks/index.ts +8 -0
- package/src/extensions/structure/blocks/selection.test.ts +56 -0
- package/src/extensions/structure/blocks/selection.ts +279 -0
- package/src/extensions/structure/blocks/types.ts +22 -0
- package/src/extensions/{folding.ts → structure/folding/folding.ts} +12 -10
- package/src/extensions/structure/folding/index.ts +6 -0
- package/src/extensions/structure/folding/turns.test.ts +72 -0
- package/src/extensions/structure/folding/turns.ts +209 -0
- package/src/extensions/structure/index.ts +7 -0
- package/src/extensions/structure/outliner/DESIGN.md +183 -0
- package/src/extensions/structure/outliner/SPEC.mdl +305 -0
- package/src/extensions/{outliner → structure/outliner}/commands.ts +125 -42
- package/src/extensions/structure/outliner/dnd.test.ts +142 -0
- package/src/extensions/structure/outliner/dnd.ts +375 -0
- package/src/extensions/structure/outliner/editor.test.ts +85 -0
- package/src/extensions/{outliner → structure/outliner}/editor.ts +14 -9
- package/src/extensions/{outliner → structure/outliner}/index.ts +1 -0
- package/src/extensions/{outliner → structure/outliner}/menu.ts +48 -25
- package/src/extensions/structure/outliner/outliner.test.ts +193 -0
- package/src/extensions/structure/outliner/outliner.ts +183 -0
- package/src/extensions/{outliner → structure/outliner}/tree.test.ts +2 -2
- package/src/extensions/{outliner → structure/outliner}/tree.ts +1 -1
- package/src/headless.ts +13 -0
- package/src/styles/theme.ts +3 -1
- package/src/util/util.ts +3 -0
- package/dist/lib/browser/index.mjs +0 -9594
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/types/index.mjs +0 -33
- package/dist/lib/browser/types/index.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -9596
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/types/index.mjs +0 -35
- package/dist/lib/node-esm/types/index.mjs.map +0 -7
- package/dist/types/src/extensions/annotations.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/autocomplete.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/index.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/match.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/placeholder.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/typeahead.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/defs.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/index.d.ts +0 -2
- package/dist/types/src/extensions/automerge/index.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
- package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
- package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
- package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
- package/dist/types/src/extensions/blast.d.ts.map +0 -1
- package/dist/types/src/extensions/blocks.d.ts +0 -2
- package/dist/types/src/extensions/blocks.d.ts.map +0 -1
- package/dist/types/src/extensions/bookmarks.d.ts.map +0 -1
- package/dist/types/src/extensions/busy.d.ts.map +0 -1
- package/dist/types/src/extensions/comments.d.ts.map +0 -1
- package/dist/types/src/extensions/debug.d.ts.map +0 -1
- package/dist/types/src/extensions/dnd.d.ts.map +0 -1
- package/dist/types/src/extensions/factories.d.ts.map +0 -1
- package/dist/types/src/extensions/factories.test.d.ts.map +0 -1
- package/dist/types/src/extensions/fader.d.ts.map +0 -1
- package/dist/types/src/extensions/focus.d.ts.map +0 -1
- package/dist/types/src/extensions/folding.d.ts.map +0 -1
- package/dist/types/src/extensions/hashtag.d.ts +0 -3
- package/dist/types/src/extensions/hashtag.d.ts.map +0 -1
- package/dist/types/src/extensions/json.d.ts +0 -7
- package/dist/types/src/extensions/json.d.ts.map +0 -1
- package/dist/types/src/extensions/listener.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/image.test.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/index.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/link.d.ts +0 -7
- package/dist/types/src/extensions/markdown/link.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
- package/dist/types/src/extensions/marker.d.ts.map +0 -1
- package/dist/types/src/extensions/mention.d.ts.map +0 -1
- package/dist/types/src/extensions/modal.d.ts.map +0 -1
- package/dist/types/src/extensions/modes.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/commands.d.ts +0 -10
- package/dist/types/src/extensions/outliner/commands.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/menu.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/outliner.test.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/selection.d.ts +0 -12
- package/dist/types/src/extensions/outliner/selection.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
- package/dist/types/src/extensions/pending/index.d.ts.map +0 -1
- package/dist/types/src/extensions/pending/pending-text-stream.d.ts.map +0 -1
- package/dist/types/src/extensions/pending/pending-text-stream.test.d.ts.map +0 -1
- package/dist/types/src/extensions/pending/pending-text.d.ts.map +0 -1
- package/dist/types/src/extensions/pending/pending-text.test.d.ts.map +0 -1
- package/dist/types/src/extensions/pos.d.ts.map +0 -1
- package/dist/types/src/extensions/pos.test.d.ts.map +0 -1
- package/dist/types/src/extensions/replacer.d.ts.map +0 -1
- package/dist/types/src/extensions/replacer.test.d.ts.map +0 -1
- package/dist/types/src/extensions/scrolling/auto-scroll.d.ts.map +0 -1
- package/dist/types/src/extensions/scrolling/crawler.d.ts.map +0 -1
- package/dist/types/src/extensions/scrolling/index.d.ts.map +0 -1
- package/dist/types/src/extensions/scrolling/scroll-past-end.d.ts +0 -3
- package/dist/types/src/extensions/scrolling/scroll-past-end.d.ts.map +0 -1
- package/dist/types/src/extensions/scrolling/scrollbar-autohide.d.ts.map +0 -1
- package/dist/types/src/extensions/scrolling/scroller.d.ts.map +0 -1
- package/dist/types/src/extensions/selection.d.ts.map +0 -1
- package/dist/types/src/extensions/selection.test.d.ts.map +0 -1
- package/dist/types/src/extensions/snippets.d.ts.map +0 -1
- package/dist/types/src/extensions/spacing.d.ts.map +0 -1
- package/dist/types/src/extensions/state.d.ts +0 -2
- package/dist/types/src/extensions/state.d.ts.map +0 -1
- package/dist/types/src/extensions/submit.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/extended-markdown.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/extended-markdown.test.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/index.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/stub.d.ts +0 -35
- package/dist/types/src/extensions/tags/stub.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/widgets/anchor.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/widgets/index.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/xml-block-decoration.d.ts +0 -31
- package/dist/types/src/extensions/tags/xml-block-decoration.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/xml-formatting.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/xml-tags.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/xml-util.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/xml-util.test.d.ts.map +0 -1
- package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
- package/dist/types/src/extensions/typewriter.test.d.ts.map +0 -1
- package/src/extensions/autocomplete/typeahead.ts +0 -87
- package/src/extensions/blocks.ts +0 -131
- package/src/extensions/markdown/link.ts +0 -49
- package/src/extensions/outliner/editor.test.ts +0 -33
- package/src/extensions/outliner/outliner.test.ts +0 -99
- package/src/extensions/outliner/outliner.ts +0 -166
- package/src/extensions/outliner/selection.ts +0 -50
- package/src/extensions/state.ts +0 -7
- package/src/extensions/tags/stub.ts +0 -80
- package/src/extensions/tags/xml-block-decoration.ts +0 -123
- package/dist/types/src/extensions/{dnd.d.ts → behavior/dnd.d.ts} +0 -0
- package/dist/types/src/extensions/{submit.d.ts → behavior/submit.d.ts} +0 -0
- package/dist/types/src/extensions/{automerge → collab/automerge}/automerge.d.ts +0 -0
- package/dist/types/src/extensions/{automerge → collab/automerge}/automerge.test.d.ts +0 -0
- package/dist/types/src/extensions/{automerge → collab/automerge}/sync.d.ts +0 -0
- package/dist/types/src/extensions/{awareness → collab/awareness}/awareness-provider.d.ts +0 -0
- package/dist/types/src/extensions/{awareness → collab/awareness}/index.d.ts +0 -0
- package/dist/types/src/extensions/{autocomplete → completion}/autocomplete.d.ts +0 -0
- package/dist/types/src/extensions/{autocomplete → completion}/placeholder.d.ts +0 -0
- package/dist/types/src/extensions/{factories.test.d.ts → core/factories.test.d.ts} +0 -0
- package/dist/types/src/extensions/{fader.d.ts → decoration/fader.d.ts} +0 -0
- package/dist/types/src/extensions/{marker.d.ts → decoration/marker.d.ts} +0 -0
- package/dist/types/src/extensions/{pos.test.d.ts → decoration/pos.test.d.ts} +0 -0
- package/dist/types/src/extensions/{replacer.test.d.ts → decoration/replacer.test.d.ts} +0 -0
- package/dist/types/src/extensions/{snippets.d.ts → demo/snippets.d.ts} +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/action.d.ts +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/bundle.d.ts +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/changes.test.d.ts +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/formatting.test.d.ts +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/image.d.ts +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/image.test.d.ts +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/index.d.ts +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/parser.test.d.ts +0 -0
- package/dist/types/src/extensions/{markdown → language/markdown}/table.d.ts +0 -0
- package/dist/types/src/extensions/{tags → language/xml}/extended-markdown.d.ts +0 -0
- package/dist/types/src/extensions/{tags → language/xml}/extended-markdown.test.d.ts +0 -0
- package/dist/types/src/extensions/{tags → language/xml}/index.d.ts +0 -0
- package/dist/types/src/extensions/{tags → language/xml}/widgets/anchor.d.ts +0 -0
- package/dist/types/src/extensions/{tags → language/xml}/widgets/index.d.ts +0 -0
- package/dist/types/src/extensions/{tags → language/xml}/xml-formatting.d.ts +0 -0
- package/dist/types/src/extensions/{tags → language/xml}/xml-util.d.ts +0 -0
- package/dist/types/src/extensions/{tags → language/xml}/xml-util.test.d.ts +0 -0
- package/dist/types/src/extensions/{modal.d.ts → state/modal.d.ts} +0 -0
- package/dist/types/src/extensions/{selection.test.d.ts → state/selection.test.d.ts} +0 -0
- package/dist/types/src/extensions/{pending → streaming/pending}/index.d.ts +0 -0
- package/dist/types/src/extensions/{pending → streaming/pending}/pending-text-stream.d.ts +0 -0
- package/dist/types/src/extensions/{pending → streaming/pending}/pending-text-stream.test.d.ts +0 -0
- package/dist/types/src/extensions/{pending → streaming/pending}/pending-text.test.d.ts +0 -0
- package/dist/types/src/extensions/{scrolling → streaming/scrolling}/auto-scroll.d.ts +0 -0
- package/dist/types/src/extensions/{scrolling → streaming/scrolling}/crawler.d.ts +0 -0
- package/dist/types/src/extensions/{scrolling → streaming/scrolling}/index.d.ts +0 -0
- package/dist/types/src/extensions/{scrolling → streaming/scrolling}/scrollbar-autohide.d.ts +0 -0
- package/dist/types/src/extensions/{scrolling → streaming/scrolling}/scroller.d.ts +0 -0
- package/dist/types/src/extensions/{typewriter.test.d.ts → streaming/typewriter.test.d.ts} +0 -0
- package/dist/types/src/extensions/{folding.d.ts → structure/folding/folding.d.ts} +0 -0
- package/dist/types/src/extensions/{outliner → structure/outliner}/editor.d.ts +0 -0
- package/dist/types/src/extensions/{outliner → structure/outliner}/editor.test.d.ts +0 -0
- package/dist/types/src/extensions/{outliner → structure/outliner}/outliner.d.ts +0 -0
- package/dist/types/src/extensions/{outliner → structure/outliner}/outliner.test.d.ts +0 -0
- package/dist/types/src/extensions/{outliner → structure/outliner}/tree.test.d.ts +0 -0
- package/src/extensions/{dnd.ts → behavior/dnd.ts} +29 -29
- package/src/extensions/{awareness → collab/awareness}/index.ts +0 -0
- package/src/extensions/{factories.test.ts → core/factories.test.ts} +0 -0
- package/src/extensions/{replacer.test.ts → decoration/replacer.test.ts} +0 -0
- package/src/extensions/{replacer.ts → decoration/replacer.ts} +25 -25
- /package/src/extensions/{markdown → language/markdown}/index.ts +0 -0
- /package/src/extensions/{tags → language/xml}/index.ts +0 -0
- /package/src/extensions/{tags → language/xml}/testing/text.md +0 -0
- /package/src/extensions/{tags → language/xml}/testing/text.txt +0 -0
- /package/src/extensions/{tags → language/xml}/widgets/anchor.ts +0 -0
- /package/src/extensions/{tags → language/xml}/widgets/index.ts +0 -0
- /package/src/extensions/{tags → language/xml}/xml-util.ts +0 -0
- /package/src/extensions/{modal.ts → state/modal.ts} +0 -0
- /package/src/extensions/{selection.test.ts → state/selection.test.ts} +0 -0
- /package/src/extensions/{pending → streaming/pending}/index.ts +0 -0
- /package/src/extensions/{pending → streaming/pending}/pending-text-stream.test.ts +0 -0
- /package/src/extensions/{scrolling → streaming/scrolling}/crawler.ts +0 -0
- /package/src/extensions/{scrolling → streaming/scrolling}/index.ts +0 -0
- /package/src/extensions/{scrolling → streaming/scrolling}/scroller.ts +0 -0
- /package/src/extensions/{typewriter.test.ts → streaming/typewriter.test.ts} +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type EditorState, type Extension, RangeSet } from '@codemirror/state';
|
|
2
|
+
import { GutterMarker } from '@codemirror/view';
|
|
3
|
+
/**
|
|
4
|
+
* A change-bar gutter marker: a vertical bar tinted with the author's colour. Full line height by
|
|
5
|
+
* default; `rows` caps it to that many text rows (in `lh` units) — a BLOCK-insert proposal renders
|
|
6
|
+
* as a widget occupying the top rows of its host line, and the bar must cover the proposal's rows
|
|
7
|
+
* without tinting the host line's own text below it.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ChangeBarMarker extends GutterMarker {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(colour: string, rows?: number, offsetRows?: number);
|
|
12
|
+
eq(other: ChangeBarMarker): boolean;
|
|
13
|
+
toDOM(): HTMLElement;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Per-line change-bar markers for one suggestion source, derived from editor state. Contributed by the
|
|
17
|
+
* suggestion extensions (`trackChanges`, `suggestions`) so each can colour its own lines by author.
|
|
18
|
+
*/
|
|
19
|
+
export type ChangeBarProvider = (state: EditorState) => RangeSet<GutterMarker>;
|
|
20
|
+
/** Contribute per-line change bars to the shared author-coloured gutter (see {@link ChangeBarMarker}). */
|
|
21
|
+
export declare const changeBars: (provider: ChangeBarProvider) => Extension;
|
|
22
|
+
/**
|
|
23
|
+
* Keeps the change-bar column mounted with no markers. Hosts that toggle review overlays install this
|
|
24
|
+
* once alongside their compartments, so entering/leaving Suggesting reconfigures marker providers
|
|
25
|
+
* inside an existing gutter instead of adding and removing the column — which shifted the text and
|
|
26
|
+
* flickered on every mode switch.
|
|
27
|
+
*/
|
|
28
|
+
export declare const changeBarGutter: Extension;
|
|
29
|
+
//# sourceMappingURL=change-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-bar.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/change-bar.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAS,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAc,YAAY,EAAU,MAAM,kBAAkB,CAAC;AAEpE;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,YAAY;;IAK/C,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAK7D;IAEQ,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE3C;IAEQ,KAAK,IAAI,WAAW,CAa5B;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,QAAQ,CAAC,YAAY,CAAC,CAAC;AAmC/E,0GAA0G;AAC1G,eAAO,MAAM,UAAU,aAAc,iBAAiB,KAAG,SAA4C,CAAC;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,SAAuD,CAAC"}
|
|
@@ -1,51 +1,34 @@
|
|
|
1
1
|
import { type Extension, StateField } from '@codemirror/state';
|
|
2
2
|
import { type Command, EditorView, type Rect } from '@codemirror/view';
|
|
3
3
|
import { type CleanupFn } from '@dxos/async';
|
|
4
|
-
import { type Comment, type Range
|
|
5
|
-
type CommentState = {
|
|
6
|
-
comment: Comment;
|
|
7
|
-
range: Range;
|
|
8
|
-
location?: Rect | null;
|
|
9
|
-
};
|
|
10
|
-
type SelectionState = {
|
|
11
|
-
current?: string;
|
|
12
|
-
closest?: string;
|
|
13
|
-
};
|
|
14
|
-
export type CommentsState = {
|
|
15
|
-
id?: string;
|
|
16
|
-
comments: CommentState[];
|
|
17
|
-
selection: SelectionState;
|
|
18
|
-
};
|
|
19
|
-
export declare const setComments: import("@codemirror/state").StateEffectType<{
|
|
20
|
-
id: string;
|
|
21
|
-
comments: Comment[];
|
|
22
|
-
}>;
|
|
23
|
-
export declare const setSelection: import("@codemirror/state").StateEffectType<SelectionState>;
|
|
24
|
-
/**
|
|
25
|
-
* State field (reducer) that tracks comment ranges.
|
|
26
|
-
* The ranges are tracked as Automerge cursors from which the absolute indexed ranges can be computed.
|
|
27
|
-
*/
|
|
28
|
-
export declare const commentsState: StateField<CommentsState>;
|
|
29
|
-
export declare const commentClickedEffect: import("@codemirror/state").StateEffectType<string>;
|
|
30
|
-
/**
|
|
31
|
-
* Create comment thread action.
|
|
32
|
-
*/
|
|
33
|
-
export declare const createComment: Command;
|
|
4
|
+
import { type Comment, type Range } from '../../types';
|
|
34
5
|
export type CommentsOptions = {
|
|
35
6
|
/**
|
|
36
7
|
* Document id.
|
|
37
8
|
*/
|
|
38
|
-
id
|
|
9
|
+
id: string;
|
|
39
10
|
/**
|
|
40
11
|
* Key shortcut to create a new thread.
|
|
41
12
|
*/
|
|
42
13
|
key?: string;
|
|
43
14
|
/**
|
|
44
|
-
*
|
|
15
|
+
* Get the current comments.
|
|
16
|
+
*/
|
|
17
|
+
getComments?: () => Comment[];
|
|
18
|
+
/**
|
|
19
|
+
* Subscribe to external comment updates.
|
|
20
|
+
*/
|
|
21
|
+
subscribe?: (sink: () => void) => CleanupFn;
|
|
22
|
+
/**
|
|
23
|
+
* The branch under review; new comments are tagged with it (undefined = main/unbranched). Scopes
|
|
24
|
+
* a comment to the branch being reviewed so its visibility tracks the active diff.
|
|
25
|
+
*/
|
|
26
|
+
reviewBranch?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Prohibit creating new comments (e.g. on a per-user suggestion branch). Existing comments still
|
|
29
|
+
* render; the create command becomes a no-op.
|
|
45
30
|
*/
|
|
46
|
-
|
|
47
|
-
shortcut: string;
|
|
48
|
-
}>;
|
|
31
|
+
readonly?: boolean;
|
|
49
32
|
/**
|
|
50
33
|
* Called to create a new thread and return the thread id.
|
|
51
34
|
*/
|
|
@@ -53,6 +36,7 @@ export type CommentsOptions = {
|
|
|
53
36
|
cursor: string;
|
|
54
37
|
from: number;
|
|
55
38
|
location?: Rect | null;
|
|
39
|
+
branch?: string;
|
|
56
40
|
}) => void;
|
|
57
41
|
/**
|
|
58
42
|
* Selection cut/deleted.
|
|
@@ -71,6 +55,12 @@ export type CommentsOptions = {
|
|
|
71
55
|
* Called to notify which thread is currently closest to the cursor.
|
|
72
56
|
*/
|
|
73
57
|
onSelect?: (state: CommentsState) => void;
|
|
58
|
+
/**
|
|
59
|
+
* Called when a comment is deliberately activated (clicked). Distinct from `onSelect` (passive
|
|
60
|
+
* cursor-proximity): a click is an explicit user intent, e.g. to reveal the thread in a companion.
|
|
61
|
+
* The editor-side selection/highlight is already applied by the time this fires.
|
|
62
|
+
*/
|
|
63
|
+
onActivate?: (id: string) => void;
|
|
74
64
|
};
|
|
75
65
|
/**
|
|
76
66
|
* Comment threads.
|
|
@@ -83,7 +73,36 @@ export type CommentsOptions = {
|
|
|
83
73
|
* b). Calls a handler to indicate which is the closest selection (e.g., to update the thread sidebar).
|
|
84
74
|
* 5). Optionally, implements a hoverTooltip to show hints when creating a selection range.
|
|
85
75
|
*/
|
|
86
|
-
export declare const comments: (options
|
|
76
|
+
export declare const comments: (options: CommentsOptions) => Extension;
|
|
77
|
+
type CommentState = {
|
|
78
|
+
comment: Comment;
|
|
79
|
+
range: Range;
|
|
80
|
+
location?: Rect | null;
|
|
81
|
+
};
|
|
82
|
+
type SelectionState = {
|
|
83
|
+
current?: string;
|
|
84
|
+
closest?: string;
|
|
85
|
+
};
|
|
86
|
+
export type CommentsState = {
|
|
87
|
+
id?: string;
|
|
88
|
+
comments: CommentState[];
|
|
89
|
+
selection: SelectionState;
|
|
90
|
+
};
|
|
91
|
+
export declare const setComments: import("@codemirror/state").StateEffectType<{
|
|
92
|
+
id: string;
|
|
93
|
+
comments: Comment[];
|
|
94
|
+
}>;
|
|
95
|
+
export declare const setSelection: import("@codemirror/state").StateEffectType<SelectionState>;
|
|
96
|
+
/**
|
|
97
|
+
* State field (reducer) that tracks comment ranges.
|
|
98
|
+
* The ranges are tracked as Automerge cursors from which the absolute indexed ranges can be computed.
|
|
99
|
+
* Included by {@link comments}; exported for direct state reads.
|
|
100
|
+
*/
|
|
101
|
+
export declare const commentsState: StateField<CommentsState>;
|
|
102
|
+
/**
|
|
103
|
+
* Create comment thread action.
|
|
104
|
+
*/
|
|
105
|
+
export declare const createComment: Command;
|
|
87
106
|
/**
|
|
88
107
|
* Whether the [from, to] document range is entirely within the editor's scroll
|
|
89
108
|
* viewport. Returns false if either endpoint isn't currently rendered (off-screen).
|
|
@@ -102,7 +121,6 @@ export type ScrollThreadOptions = {
|
|
|
102
121
|
* Scroll the comment thread with the given id into view (if not already entirely
|
|
103
122
|
* visible) and mark it the current comment so the editor highlights it.
|
|
104
123
|
*/
|
|
105
|
-
export declare const
|
|
106
|
-
export declare const createExternalCommentSync: (id: string, subscribe: (sink: () => void) => CleanupFn, getComments: () => Comment[]) => Extension;
|
|
124
|
+
export declare const scrollCommentIntoView: (view: EditorView, id: string, { y, yMargin }?: ScrollThreadOptions) => void;
|
|
107
125
|
export {};
|
|
108
126
|
//# sourceMappingURL=comments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/comments.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,SAAS,EAEd,UAAU,EAEX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,OAAO,EAEZ,UAAU,EACV,KAAK,IAAI,EAKV,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,aAAa,CAAC;AAIvD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAQvD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC;IAC9B;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;IAC5C;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvG;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,YAAa,eAAe,KAAG,SA8InD,CAAC;AAMF,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,WAAW;QAA4B,MAAM;cAAY,OAAO,EAAE;EAAK,CAAC;AAErF,eAAO,MAAM,YAAY,6DAAuC,CAAC;AAIjE;;;;GAIG;AACH,eAAO,MAAM,aAAa,2BAuCxB,CAAC;AAsPH;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,OAgD3B,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,cAAc,SAAU,UAAU,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,KAAG,OAStF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,yCAAyC;IACzC,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC3C,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SAC1B,UAAU,MACZ,MAAM,mBACiB,mBAAmB,SAwB/C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comments.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/comments.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { type Extension } from '@codemirror/state';
|
|
2
|
+
export type DiffOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* The baseline document to diff against. The editor's own document is the modified side, so
|
|
5
|
+
* insertions and deletions are shown relative to this original.
|
|
6
|
+
*/
|
|
7
|
+
original: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Inline (unified) diff view: renders the editor's document with insertions and deletions marked
|
|
11
|
+
* relative to {@link DiffOptions.original}. The editor stays editable — edits to the document update
|
|
12
|
+
* the diff against the (static) original live — so it can overlay a live editor to compare the
|
|
13
|
+
* current state against another version (e.g. another branch) without locking editing.
|
|
14
|
+
*/
|
|
15
|
+
export declare const diffView: ({ original }: DiffOptions) => Extension;
|
|
16
|
+
/**
|
|
17
|
+
* A single reviewable change between `before` (the original) and `after` (the proposal), anchored in
|
|
18
|
+
* the BEFORE text so it can be rendered as a suggestion over the original document and applied in
|
|
19
|
+
* place. `[from, to)` is the original range the hunk replaces (`from === to` for a pure insertion);
|
|
20
|
+
* `removed` is the original text in that range, `inserted` is the proposal text that replaces it.
|
|
21
|
+
*/
|
|
22
|
+
export type DiffHunk = {
|
|
23
|
+
from: number;
|
|
24
|
+
to: number;
|
|
25
|
+
removed: string;
|
|
26
|
+
inserted: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Groups the word-level diff between `before` and `after` into contiguous {@link DiffHunk}s — each a
|
|
30
|
+
* maximal run of insertions/deletions bounded by unchanged text. Used to render Google-Docs-style
|
|
31
|
+
* suggestions (accept/reject per hunk) over the original document (see {@link suggestChanges}).
|
|
32
|
+
*/
|
|
33
|
+
export declare const diffHunks: (before: string, after: string) => DiffHunk[];
|
|
34
|
+
/**
|
|
35
|
+
* Coalesce an author's adjacent {@link DiffHunk}s into one hunk per group, so a run of nearby edits
|
|
36
|
+
* reviews as a single unit (e.g. one anchored card in the comment-style layer). Two hunks merge when
|
|
37
|
+
* the unchanged `before` gap between them is at most `maxGap` characters; the merged hunk spans both
|
|
38
|
+
* and absorbs the gap text into `removed` (and, unchanged, into `inserted`) so it still reconstructs
|
|
39
|
+
* `after`. With `respectBlockBoundaries` (default) a gap containing a blank line (paragraph break) is
|
|
40
|
+
* never bridged, keeping edits in different blocks as separate groups.
|
|
41
|
+
*
|
|
42
|
+
* `hunks` must be ordered and non-overlapping as {@link diffHunks} returns them. Defaults
|
|
43
|
+
* (`maxGap: 0`) make grouping a no-op — each hunk is its own group — so callers opt into wider
|
|
44
|
+
* coalescing explicitly.
|
|
45
|
+
*/
|
|
46
|
+
export type GroupPolicy = {
|
|
47
|
+
maxGap?: number;
|
|
48
|
+
respectBlockBoundaries?: boolean;
|
|
49
|
+
};
|
|
50
|
+
export declare const groupHunks: (hunks: DiffHunk[], before: string, policy?: GroupPolicy) => DiffHunk[];
|
|
51
|
+
/**
|
|
52
|
+
* Coalesces two pure insertions forming a matched markdown delimiter pair around intervening text
|
|
53
|
+
* (e.g. `**` before and after a phrase) into ONE replace hunk spanning the wrapped text. Without
|
|
54
|
+
* this, wrapping MULTIPLE words diffs as two zero-width inserts, and accepting either half alone
|
|
55
|
+
* leaves broken syntax. Only a tight wrap (same line, non-empty gap) reads as one formatting action.
|
|
56
|
+
*/
|
|
57
|
+
export declare const pairMarkupHunks: (hunks: DiffHunk[], before: string) => DiffHunk[];
|
|
58
|
+
/**
|
|
59
|
+
* Re-anchors {@link DiffHunk}s computed against `base` into `doc` coordinates, so a foreign author's
|
|
60
|
+
* proposal (diffed `base` vs proposal) can be decorated over a `doc` that has itself diverged from
|
|
61
|
+
* `base` (the user's own branch edits). Each hunk offset is mapped through the character-level
|
|
62
|
+
* `base`↔`doc` diff ({@link computeCharHunks}): a position in an unchanged region shifts by the net
|
|
63
|
+
* length of edits before it; a position inside a doc-edited region clamps to that region's edge (the
|
|
64
|
+
* `from` to its start, the `to` to its end). Without this, a proposal diffed against `base` would
|
|
65
|
+
* render at stale offsets over the diverged `doc`.
|
|
66
|
+
*/
|
|
67
|
+
export declare const rebaseHunks: (base: string, doc: string, hunks: DiffHunk[]) => DiffHunk[];
|
|
68
|
+
/**
|
|
69
|
+
* {@link rebaseHunks} with a precomputed `base`↔`doc` character diff. Callers rebasing MANY hunk sets
|
|
70
|
+
* against the same pair — e.g. every author's proposal over one branch (see {@link suggestions}) —
|
|
71
|
+
* compute {@link computeCharHunks} once and reuse it, rather than re-diffing the whole document per set.
|
|
72
|
+
*/
|
|
73
|
+
export declare const rebaseHunksWith: (charHunks: Hunk[], hunks: DiffHunk[]) => DiffHunk[];
|
|
74
|
+
/** A changed hunk between two documents as character ranges in each (A = original, B = modified). */
|
|
75
|
+
export type Hunk = {
|
|
76
|
+
fromA: number;
|
|
77
|
+
toA: number;
|
|
78
|
+
fromB: number;
|
|
79
|
+
toB: number;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* LINE-level changed hunks between `original` (A) and `modified` (B) as character ranges (via
|
|
83
|
+
* `@codemirror/merge` `Chunk.build`). Coarser than {@link computeWordHunks}; retained for callers that
|
|
84
|
+
* want whole-line change regions.
|
|
85
|
+
*/
|
|
86
|
+
export declare const computeHunks: (original: string, modified: string) => Hunk[];
|
|
87
|
+
/**
|
|
88
|
+
* WORD-level changed hunks between `original` (A) and `modified` (B), each carrying both coordinate
|
|
89
|
+
* ranges. Matches the word granularity of {@link diffHunks} (same `diffWordsWithSpace` alignment), so
|
|
90
|
+
* {@link cherryPickHunk} / {@link revertHunk} resolve exactly the anchored word(s) — accepting one
|
|
91
|
+
* word does not pull in the rest of its line.
|
|
92
|
+
*/
|
|
93
|
+
export declare const computeWordHunks: (original: string, modified: string) => Hunk[];
|
|
94
|
+
/**
|
|
95
|
+
* CHARACTER-level changed hunks between `original` (A) and `modified` (B), each carrying both
|
|
96
|
+
* coordinate ranges. Finer than {@link computeWordHunks}: an in-word or whitespace/newline edit shows
|
|
97
|
+
* only the changed characters, not a whole-word delete+insert. Used for live "Suggesting mode" tracked
|
|
98
|
+
* changes (see {@link trackChanges}), where word granularity makes every keystroke read as a struck
|
|
99
|
+
* word rebuilt beside it.
|
|
100
|
+
*/
|
|
101
|
+
export declare const computeCharHunks: (original: string, modified: string) => Hunk[];
|
|
102
|
+
/**
|
|
103
|
+
* Resolve a single change to apply when cherry-picking from `compare` (A) into `current` (B): find
|
|
104
|
+
* the hunk overlapping `range` (a character range in `current`) and return the splice that replaces
|
|
105
|
+
* that hunk's current text with the compare version. Returns undefined if no hunk overlaps the range
|
|
106
|
+
* (e.g. the change was already applied/reverted). `compare` is read live by the caller, so applying
|
|
107
|
+
* the result always reflects the latest diff — not a snapshot.
|
|
108
|
+
*/
|
|
109
|
+
export declare const cherryPickHunk: (current: string, compare: string, range: {
|
|
110
|
+
start: number;
|
|
111
|
+
end: number;
|
|
112
|
+
}) => {
|
|
113
|
+
from: number;
|
|
114
|
+
del: number;
|
|
115
|
+
insert: string;
|
|
116
|
+
} | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Resolve the splice that reverts a single change on `compare` (a branch) back to `base` (main) —
|
|
119
|
+
* the reject counterpart to {@link cherryPickHunk}. `baseRange` is a character range in `base`; the
|
|
120
|
+
* hunk overlapping it is located and the returned splice (in `compare` coordinates) replaces the
|
|
121
|
+
* branch's version with the base text. Returns undefined if no hunk overlaps the range.
|
|
122
|
+
*/
|
|
123
|
+
export declare const revertHunk: (base: string, compare: string, baseRange: {
|
|
124
|
+
start: number;
|
|
125
|
+
end: number;
|
|
126
|
+
}) => {
|
|
127
|
+
from: number;
|
|
128
|
+
del: number;
|
|
129
|
+
insert: string;
|
|
130
|
+
} | undefined;
|
|
131
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/diff.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,mBAAmB,CAAC;AAIzD,MAAM,MAAM,WAAW,GAAG;IACxB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAuBF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,iBAAkB,WAAW,KAAG,SAGpD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,WAAY,MAAM,SAAS,MAAM,KAAG,QAAQ,EAsDjE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhF,eAAO,MAAM,UAAU,UAAW,QAAQ,EAAE,UAAU,MAAM,WAAU,WAAW,KAAQ,QAAQ,EAkBhG,CAAC;AAKF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,UAAW,QAAQ,EAAE,UAAU,MAAM,KAAG,QAAQ,EA4B3E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,SAAU,MAAM,OAAO,MAAM,SAAS,QAAQ,EAAE,KAAG,QAAQ,EAC9B,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,eAAe,cAAe,IAAI,EAAE,SAAS,QAAQ,EAAE,KAAG,QAAQ,EAkC9E,CAAC;AAEF,qGAAqG;AACrG,MAAM,MAAM,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,YAAY,aAAc,MAAM,YAAY,MAAM,KAAG,IAAI,EAMjE,CAAC;AAEN;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,aAAc,MAAM,YAAY,MAAM,KAAG,IAAI,EA4BzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,aAAc,MAAM,YAAY,MAAM,KAAG,IAAI,EAGT,CAAC;AA0IlE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,YAChB,MAAM,WACN,MAAM,SACR;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAelD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,SACf,MAAM,WACH,MAAM,aACJ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KACxC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAclD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/diff.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { type Extension } from '@codemirror/state';
|
|
2
|
+
import { type DiffHunk, type GroupPolicy } from './diff';
|
|
3
|
+
/** One author's proposed revision of the editor's document (the base). */
|
|
4
|
+
export type SuggestionSource = {
|
|
5
|
+
/** Stable author identity (e.g. an identity DID); distinguishes overlapping suggestions. */
|
|
6
|
+
author: string;
|
|
7
|
+
/** Author colour, supplied by the caller to match the collaboration awareness cursor palette. */
|
|
8
|
+
colour: string;
|
|
9
|
+
/** The author's full proposed content, diffed against the base (or the editor's document if no base). */
|
|
10
|
+
content: string;
|
|
11
|
+
/**
|
|
12
|
+
* The text this proposal was authored against (its branch's fork anchor). Diffing against it rather
|
|
13
|
+
* than the live document keeps the diff to what THIS author changed — otherwise text the reader has
|
|
14
|
+
* typed since the fork, which the proposal cannot contain, reads as the author deleting it.
|
|
15
|
+
* Falls back to {@link SuggestionsOptions.base}, then the editor's document.
|
|
16
|
+
*/
|
|
17
|
+
base?: string;
|
|
18
|
+
};
|
|
19
|
+
export type SuggestionsOptions = {
|
|
20
|
+
/** The proposals to overlay; each is diffed against the editor's document. */
|
|
21
|
+
sources: SuggestionSource[];
|
|
22
|
+
/**
|
|
23
|
+
* The accepted base (`main`) each source is diffed against. When given, a source is diffed
|
|
24
|
+
* `base` vs `source.content` and its hunks are rebased into the editor document's coordinates (see
|
|
25
|
+
* {@link rebaseHunks}) — so a foreign author's proposal decorates the right span even after the user's
|
|
26
|
+
* own branch (the editor document) has diverged from `base`. Omit to diff each source directly against
|
|
27
|
+
* the editor document (the standalone single-branch behaviour).
|
|
28
|
+
*/
|
|
29
|
+
base?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Show the hover Accept/Reject controls (default true). The ambient review overlay disables them
|
|
32
|
+
* (DESIGN §4, Decision 4: the companion cards are the review surface); the explicit compare path
|
|
33
|
+
* keeps them as its inline accept mechanism.
|
|
34
|
+
*/
|
|
35
|
+
hoverControls?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Optional grouping policy: coalesce an author's adjacent hunks into one reviewable unit (see
|
|
38
|
+
* {@link groupHunks}). Omit to render one control per raw hunk.
|
|
39
|
+
*/
|
|
40
|
+
group?: GroupPolicy;
|
|
41
|
+
/**
|
|
42
|
+
* Invoked when a change is accepted. When provided, the container owns the mutation (routing the
|
|
43
|
+
* accept through a durable operation that merges the hunk to the parent), so the extension does NOT
|
|
44
|
+
* splice locally — it only dismisses the widget. Absent ⇒ the extension splices the source's text
|
|
45
|
+
* into the document directly (standalone use).
|
|
46
|
+
*/
|
|
47
|
+
onAccept?: (hunk: DiffHunk, author: string) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Invoked when a change is rejected. Lets the container route the reject through a durable operation
|
|
50
|
+
* (revert the hunk on the author's branch). The widget is dismissed either way.
|
|
51
|
+
*/
|
|
52
|
+
onReject?: (hunk: DiffHunk, author: string) => void;
|
|
53
|
+
/** Invoked when a change is clicked in the document, so the host can reveal it elsewhere. */
|
|
54
|
+
onSelect?: (hunk: DiffHunk, author: string) => void;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Position-independent key so a dismissal survives offset shifts from unrelated edits. Scoped by
|
|
58
|
+
* author so dismissing one author's change never hides an identical change by another.
|
|
59
|
+
*/
|
|
60
|
+
export declare const suggestionKey: (hunk: DiffHunk, author: string) => string;
|
|
61
|
+
/**
|
|
62
|
+
* Google-Docs-style multi-author suggestion overlay: renders each change between the editor's
|
|
63
|
+
* document (the base) and every {@link SuggestionSource} in place — the removed original struck
|
|
64
|
+
* through, the proposed replacement shown beside it, tinted with the author's colour — with hover
|
|
65
|
+
* Accept/Reject controls in the (non-clipped) tooltip layer. Overlapping suggestions from different
|
|
66
|
+
* authors stack deterministically (by
|
|
67
|
+
* offset, then author). Accept splices the source's version of that hunk into the document (merging
|
|
68
|
+
* the change); Reject hides the suggestion without altering the document (a view-only dismissal for
|
|
69
|
+
* the session).
|
|
70
|
+
*/
|
|
71
|
+
export declare const suggestions: ({ sources, base, group, hoverControls, onAccept, onReject, onSelect, }: SuggestionsOptions) => Extension;
|
|
72
|
+
export type SuggestChangesOptions = {
|
|
73
|
+
/** The proposal (e.g. a branch's content) whose changes are suggested over the editor's document. */
|
|
74
|
+
proposal: string;
|
|
75
|
+
/**
|
|
76
|
+
* Author colour for the inline markers — pass the branch author's palette colour (e.g.
|
|
77
|
+
* `var(--color-<hue>-text)`) so the suggestion reads with the author's consistent colour. Defaults
|
|
78
|
+
* to the success colour for a standalone (author-agnostic) review.
|
|
79
|
+
*/
|
|
80
|
+
colour?: string;
|
|
81
|
+
onAccept?: (hunk: DiffHunk) => void;
|
|
82
|
+
onReject?: (hunk: DiffHunk) => void;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Single-source suggestion overlay — the common case of one proposal (e.g. a branch) reviewed against
|
|
86
|
+
* the editor's document. A thin wrapper over {@link suggestions}.
|
|
87
|
+
*/
|
|
88
|
+
export declare const suggestChanges: ({ proposal, colour, onAccept, onReject, }: SuggestChangesOptions) => Extension;
|
|
89
|
+
//# sourceMappingURL=suggest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/suggest.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,SAAS,EAAqC,MAAM,mBAAmB,CAAC;AAcxG,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,WAAW,EAOjB,MAAM,QAAQ,CAAC;AAEhB,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4FAA4F;IAC5F,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,MAAM,EAAE,MAAM,CAAC;IACf,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,8EAA8E;IAC9E,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD,CAAC;AAKF;;;GAGG;AACH,eAAO,MAAM,aAAa,SAAU,QAAQ,UAAU,MAAM,KAAG,MAAsD,CAAC;AActH;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,2EAQrB,kBAAkB,KAAG,SAwIvB,CAAC;AA4HF,MAAM,MAAM,qBAAqB,GAAG;IAClC,qGAAqG;IACrG,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,8CAKxB,qBAAqB,KAAG,SAKvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggest.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/suggest.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Extension } from '@codemirror/state';
|
|
2
|
+
import { EditorView } from '@codemirror/view';
|
|
3
|
+
import { type DiffHunk } from './diff';
|
|
4
|
+
import { type SuggestionSource } from './suggest';
|
|
5
|
+
export type SuggestionsOverlay = {
|
|
6
|
+
/** Initially empty; install once alongside the editor's other extensions. */
|
|
7
|
+
extension: Extension;
|
|
8
|
+
/**
|
|
9
|
+
* Live-swaps the aggregated suggestion sources without remounting the editor. Pass `base` (the
|
|
10
|
+
* accepted `main`) when the editor is bound to a diverged document (e.g. the user's own suggestion
|
|
11
|
+
* branch in Suggesting mode) so each source is diffed against `base` and rebased into the document's
|
|
12
|
+
* coordinates; omit it to diff sources directly against the editor document.
|
|
13
|
+
*/
|
|
14
|
+
reconfigure: (view: EditorView, sources: SuggestionSource[], enabled: boolean, base?: string) => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Compartment-backed overlay of ALL active suggestion branches' changes for the ambient review
|
|
18
|
+
* model: the editor's default view renders every open suggestion branch as a live suggestion layer,
|
|
19
|
+
* and the controller reconfigures the aggregated `sources` in place as branches open/close/edit —
|
|
20
|
+
* mirroring how `MarkdownArticle` reconfigures its compare overlay via `compareCompartment`, so
|
|
21
|
+
* toggling the overlay never remounts the editor (which would rebind automerge and lose
|
|
22
|
+
* scroll/selection).
|
|
23
|
+
*/
|
|
24
|
+
export declare const suggestionsOverlay: (onAccept?: (hunk: DiffHunk, author: string) => void, onReject?: (hunk: DiffHunk, author: string) => void, onSelect?: (hunk: DiffHunk, author: string) => void) => SuggestionsOverlay;
|
|
25
|
+
//# sourceMappingURL=suggestions-overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestions-overlay.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/suggestions-overlay.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,WAAW,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,6EAA6E;IAC7E,SAAS,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACvG,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,cAClB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,aACxC,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,aACxC,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KAClD,kBAeF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestions-overlay.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/suggestions-overlay.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type Extension } from '@codemirror/state';
|
|
2
|
+
export type TrackChangesOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* The accepted base (`main`) the branch is diffed against. The editor's document is the branch, so
|
|
5
|
+
* insertions and deletions are computed relative to this. Replace it live with {@link setBase} (e.g.
|
|
6
|
+
* when a merge lands on main) rather than rebuilding the extension.
|
|
7
|
+
*/
|
|
8
|
+
main: string;
|
|
9
|
+
/** The branch author's palette colour (e.g. `var(--color-cyan-text)`) applied to the tracked marks. */
|
|
10
|
+
colour: string;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Replaces the tracked base without rebuilding the extension, so a merge to main re-diffs the live
|
|
14
|
+
* document. The base is a {@link StateField} fed by this effect rather than a closure constant, matching
|
|
15
|
+
* the production shape (see the bind-to-branch spike).
|
|
16
|
+
*/
|
|
17
|
+
export declare const setBase: import("@codemirror/state").StateEffectType<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Google-Docs-style "Suggesting mode" via bind-to-branch: the editor is bound to the branch document
|
|
20
|
+
* and edits accrue natively to it, while the diff against {@link TrackChangesOptions.main} is decorated
|
|
21
|
+
* over the live buffer — insertions as author-coloured underlined marks, deletions as phantom
|
|
22
|
+
* strikethrough widgets rendering the removed base text (which is absent from the document). A
|
|
23
|
+
* replacement renders both, `~~old~~new`. Single author; foreign authors compose via the separate
|
|
24
|
+
* `suggestions()` overlay.
|
|
25
|
+
*/
|
|
26
|
+
export declare const trackChanges: ({ main, colour }: TrackChangesOptions) => Extension;
|
|
27
|
+
//# sourceMappingURL=track-changes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"track-changes.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/track-changes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,SAAS,EAAqC,MAAM,mBAAmB,CAAC;AAQxG,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,uGAAuG;IACvG,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,qDAA+B,CAAC;AAEpD;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,qBAAsB,mBAAmB,KAAG,SA6FpE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"track-changes.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/review/track-changes.test.ts"],"names":[],"mappings":""}
|
|
@@ -5,6 +5,7 @@ import { type EditorState, type Extension, StateField } from '@codemirror/state'
|
|
|
5
5
|
* placeholder hint) to suppress themselves while something else owns the caret.
|
|
6
6
|
*/
|
|
7
7
|
export declare const setBusy: import("@codemirror/state").StateEffectType<boolean>;
|
|
8
|
+
/** Shared busy StateField. Included by {@link busy}; exported for direct reads (see {@link isBusy}). */
|
|
8
9
|
export declare const busyState: StateField<boolean>;
|
|
9
10
|
/** Whether any extension has flagged the editor busy. Safe when the field is absent (returns false). */
|
|
10
11
|
export declare const isBusy: (state: EditorState) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"busy.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/busy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,OAAO,sDAAgC,CAAC;AAErD,wGAAwG;AACxG,eAAO,MAAM,SAAS,qBAYpB,CAAC;AAEH,wGAAwG;AACxG,eAAO,MAAM,MAAM,UAAW,WAAW,KAAG,OAAiD,CAAC;AAE9F,gGAAgG;AAChG,eAAO,MAAM,IAAI,QAAO,SAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/focus.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK5D;;;GAGG;AACH,eAAO,MAAM,UAAU,qBAWrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,KAAK,iEAUjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/modal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,sDAAgC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,qBAY1B,CAAC"}
|
|
@@ -12,7 +12,7 @@ export type EditorSelectionState = {
|
|
|
12
12
|
scrollTo?: number;
|
|
13
13
|
selection?: EditorSelection;
|
|
14
14
|
};
|
|
15
|
-
export declare const
|
|
15
|
+
export declare const EditorSelection: Schema.mutable<Schema.Struct<{
|
|
16
16
|
anchor: typeof Schema.Number;
|
|
17
17
|
head: Schema.optional<typeof Schema.Number>;
|
|
18
18
|
}>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/selection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAe,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC;;GAEG;AACH,eAAO,MAAM,UAAU,mDAA6B,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe;;;GAGL,CAAC;AAExB,eAAO,MAAM,0BAA0B;;;;;;GAGhB,CAAC;AAExB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,oBAAoB,GAAG,SAAS,CAAC;CAC5D,CAAC;AAIF,eAAO,MAAM,4BAA4B,4BAA6B,oBAAoB,KAAG,eAO5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,4BAA4B,OAAO,CAAC,gBAAgB,CAAC,KAAQ,SAyCvF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/state/selection.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/streaming/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/streaming/pending/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-text-stream.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/streaming/pending/pending-text-stream.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAcnD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,uCAAuC;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2CAA2C;IAC3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,yEAAyE;IACzE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,SAAU,UAAU,KAAG,eAOvD,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,cACrB,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,KACjD,eAAe,GAAG;IAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;CAezD,CAAC;AAMF,iFAAiF;AACjF,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAOF,MAAM,MAAM,0BAA0B,GAAG;IACvC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mGAAmG;IACnG,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gGAAgG;IAChG,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,yDAAyD;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AASF;;;;GAIG;AACH,qBAAa,mBAAmB;;IAiB9B,YAAY,IAAI,EAAE,eAAe,EAAE,OAAO,GAAE,0BAA+B,EAI1E;IAED,uGAAuG;IACvG,KAAK,CAAC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,IAAI,CAanE;IAED,mDAAmD;IACnD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAUvB;IAED,uEAAuE;IACvE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO9B;IAED;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB3B;IAED,OAAO,IAAI,IAAI,CAId;CAqEF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-text-stream.test.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/streaming/pending/pending-text-stream.test.ts"],"names":[],"mappings":""}
|
|
@@ -25,6 +25,7 @@ export declare const setPendingInterim: import("@codemirror/state").StateEffectT
|
|
|
25
25
|
export declare const setPendingFinal: import("@codemirror/state").StateEffectType<string>;
|
|
26
26
|
/** Discard the pending buffer without modifying the document. */
|
|
27
27
|
export declare const cancelPendingText: import("@codemirror/state").StateEffectType<void>;
|
|
28
|
+
/** StateField holding the pending text buffer (anchor, final, interim, placeholder); building block of the pendingText extension. */
|
|
28
29
|
export declare const pendingTextState: StateField<PendingTextState | null>;
|
|
29
30
|
/**
|
|
30
31
|
* Insert the finalized pending text into the document and clear the buffer. The text is terminated
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-text.d.ts","sourceRoot":"","sources":["../../../../../../src/extensions/streaming/pending/pending-text.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,KAAK,OAAO,EAA8C,MAAM,kBAAkB,CAAC;AAW5F;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,+GAA+G;AAC/G,eAAO,MAAM,gBAAgB;YAAgC,MAAM;kBAAgB,MAAM;EAAK,CAAC;AAE/F,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,qDAA+B,CAAC;AAE9D,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,qDAA+B,CAAC;AAE9D,8EAA8E;AAC9E,eAAO,MAAM,eAAe,qDAA+B,CAAC;AAE5D,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,mDAA6B,CAAC;AAS5D,qIAAqI;AACrI,eAAO,MAAM,gBAAgB,qCA2B3B,CAAC;AASH;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,OAe3B,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,aAAa,EAAE,OAO3B,CAAC;AA8GF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,QAAO,SAW9B,CAAC"}
|