@dxos/react-ui-editor 0.8.4-main.66e292d → 0.8.4-main.69d29f4
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/browser/index.mjs +466 -8269
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +465 -8267
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/Editor/Editor.d.ts +8 -2
- package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
- package/dist/types/src/components/Editor/Editor.stories.d.ts +4 -1
- package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -1
- package/dist/types/src/components/EditorContent/EditorContent.d.ts +4 -2
- package/dist/types/src/components/EditorContent/EditorContent.d.ts.map +1 -1
- package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts +1 -1
- package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts.map +1 -1
- package/dist/types/src/components/EditorMenuProvider/index.d.ts +0 -1
- package/dist/types/src/components/EditorMenuProvider/index.d.ts.map +1 -1
- package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts.map +1 -1
- package/dist/types/src/components/EditorMenuProvider/menu.d.ts.map +1 -1
- package/dist/types/src/components/EditorMenuProvider/popover.d.ts +1 -2
- package/dist/types/src/components/EditorMenuProvider/popover.d.ts.map +1 -1
- package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts.map +1 -1
- package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts +1 -1
- package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +7 -5
- package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/actions.d.ts +8 -23
- package/dist/types/src/components/EditorToolbar/actions.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/blocks.d.ts +6 -5
- package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/formatting.d.ts +6 -5
- package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/headings.d.ts +6 -5
- package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/image.d.ts +4 -11
- package/dist/types/src/components/EditorToolbar/image.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/index.d.ts +1 -1
- package/dist/types/src/components/EditorToolbar/index.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/search.d.ts +4 -11
- package/dist/types/src/components/EditorToolbar/search.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts +4 -4
- package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/view-mode.d.ts +7 -6
- package/dist/types/src/components/EditorToolbar/view-mode.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useTextEditor.d.ts +1 -1
- package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -8
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/{extensions/automerge/automerge.stories.d.ts → stories/Automerge.stories.d.ts} +5 -9
- package/dist/types/src/stories/Automerge.stories.d.ts.map +1 -0
- package/dist/types/src/stories/CommandDialog.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Comments.stories.d.ts +3 -2
- package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/stories/EditorToolbar.stories.d.ts +4 -4
- package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Experimental.stories.d.ts +3 -2
- package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Markdown.stories.d.ts +3 -2
- package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Popover.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Preview.stories.d.ts +3 -2
- package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Tags.stories.d.ts.map +1 -1
- package/dist/types/src/stories/TextEditor.stories.d.ts +3 -2
- package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Theme.stories.d.ts +8 -0
- package/dist/types/src/stories/Theme.stories.d.ts.map +1 -0
- package/dist/types/src/stories/components/EditorStory.d.ts +8 -20
- package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
- package/dist/types/src/stories/components/util.d.ts +3 -3
- package/dist/types/src/stories/components/util.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +5 -5
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +0 -5
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/react.d.ts +5 -1
- package/dist/types/src/util/react.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +61 -63
- package/src/components/Editor/Editor.stories.tsx +14 -8
- package/src/components/Editor/Editor.tsx +9 -4
- package/src/components/EditorContent/EditorContent.tsx +19 -6
- package/src/components/EditorMenuProvider/EditorMenuProvider.tsx +2 -2
- package/src/components/EditorMenuProvider/index.ts +0 -1
- package/src/components/EditorMenuProvider/menu-presets.ts +2 -1
- package/src/components/EditorMenuProvider/menu.ts +1 -2
- package/src/components/EditorMenuProvider/popover.ts +1 -3
- package/src/components/EditorMenuProvider/useEditorMenu.ts +1 -3
- package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +1 -2
- package/src/components/EditorToolbar/EditorToolbar.tsx +18 -14
- package/src/components/EditorToolbar/actions.ts +8 -7
- package/src/components/EditorToolbar/blocks.ts +3 -4
- package/src/components/EditorToolbar/formatting.ts +3 -4
- package/src/components/EditorToolbar/headings.ts +3 -3
- package/src/components/EditorToolbar/image.ts +8 -1
- package/src/components/EditorToolbar/index.ts +1 -1
- package/src/components/EditorToolbar/search.ts +8 -1
- package/src/components/EditorToolbar/useEditorToolbar.ts +6 -6
- package/src/components/EditorToolbar/view-mode.ts +3 -3
- package/src/components/index.ts +0 -2
- package/src/hooks/useTextEditor.ts +9 -3
- package/src/index.ts +0 -10
- package/src/stories/Automerge.stories.tsx +175 -0
- package/src/stories/CommandDialog.stories.tsx +3 -5
- package/src/stories/Comments.stories.tsx +44 -39
- package/src/stories/EditorToolbar.stories.tsx +28 -13
- package/src/stories/Experimental.stories.tsx +4 -6
- package/src/stories/Markdown.stories.tsx +14 -14
- package/src/stories/Outliner.stories.tsx +4 -5
- package/src/stories/Popover.stories.tsx +17 -21
- package/src/stories/Preview.stories.tsx +51 -46
- package/src/stories/Tags.stories.tsx +19 -10
- package/src/stories/TextEditor.stories.tsx +11 -17
- package/src/stories/Theme.stories.tsx +61 -0
- package/src/stories/components/EditorStory.tsx +17 -19
- package/src/stories/components/util.tsx +3 -3
- package/src/translations.ts +4 -4
- package/src/util/index.ts +1 -6
- package/src/util/react.tsx +6 -2
- package/dist/lib/browser/chunk-HL3YF6WC.mjs +0 -22
- package/dist/lib/browser/chunk-HL3YF6WC.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -13
- package/dist/lib/browser/types/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YJZGD3LY.mjs +0 -24
- package/dist/lib/node-esm/chunk-YJZGD3LY.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -14
- package/dist/lib/node-esm/types/index.mjs.map +0 -7
- package/dist/types/src/components/EditorContent/EditorContent.stories.d.ts +0 -26
- package/dist/types/src/components/EditorContent/EditorContent.stories.d.ts.map +0 -1
- package/dist/types/src/components/EditorMenuProvider/util.d.ts +0 -8
- package/dist/types/src/components/EditorMenuProvider/util.d.ts.map +0 -1
- package/dist/types/src/defaults.d.ts +0 -14
- package/dist/types/src/defaults.d.ts.map +0 -1
- package/dist/types/src/extensions/annotations.d.ts +0 -9
- package/dist/types/src/extensions/annotations.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/autocomplete.d.ts +0 -17
- package/dist/types/src/extensions/autocomplete/autocomplete.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/index.d.ts +0 -5
- package/dist/types/src/extensions/autocomplete/index.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/match.d.ts +0 -13
- package/dist/types/src/extensions/autocomplete/match.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/placeholder.d.ts +0 -20
- package/dist/types/src/extensions/autocomplete/placeholder.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete/typeahead.d.ts +0 -10
- package/dist/types/src/extensions/autocomplete/typeahead.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/automerge.d.ts +0 -4
- package/dist/types/src/extensions/automerge/automerge.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/automerge.test.d.ts +0 -2
- package/dist/types/src/extensions/automerge/automerge.test.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/cursor.d.ts +0 -4
- package/dist/types/src/extensions/automerge/cursor.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/defs.d.ts +0 -17
- 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 +0 -17
- package/dist/types/src/extensions/automerge/sync.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/update-automerge.d.ts +0 -6
- package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +0 -1
- package/dist/types/src/extensions/automerge/update-codemirror.d.ts +0 -5
- package/dist/types/src/extensions/automerge/update-codemirror.d.ts.map +0 -1
- package/dist/types/src/extensions/autoscroll.d.ts +0 -20
- package/dist/types/src/extensions/autoscroll.d.ts.map +0 -1
- package/dist/types/src/extensions/awareness/awareness-provider.d.ts +0 -31
- package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +0 -1
- package/dist/types/src/extensions/awareness/awareness.d.ts +0 -46
- package/dist/types/src/extensions/awareness/awareness.d.ts.map +0 -1
- package/dist/types/src/extensions/awareness/index.d.ts +0 -3
- package/dist/types/src/extensions/awareness/index.d.ts.map +0 -1
- package/dist/types/src/extensions/blast.d.ts +0 -25
- 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 +0 -12
- package/dist/types/src/extensions/bookmarks.d.ts.map +0 -1
- package/dist/types/src/extensions/comments.d.ts +0 -95
- package/dist/types/src/extensions/comments.d.ts.map +0 -1
- package/dist/types/src/extensions/debug.d.ts +0 -3
- package/dist/types/src/extensions/debug.d.ts.map +0 -1
- package/dist/types/src/extensions/dnd.d.ts +0 -9
- package/dist/types/src/extensions/dnd.d.ts.map +0 -1
- package/dist/types/src/extensions/factories.d.ts +0 -84
- package/dist/types/src/extensions/factories.d.ts.map +0 -1
- package/dist/types/src/extensions/focus.d.ts +0 -7
- package/dist/types/src/extensions/focus.d.ts.map +0 -1
- package/dist/types/src/extensions/folding.d.ts +0 -7
- 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/index.d.ts +0 -32
- package/dist/types/src/extensions/index.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 +0 -13
- package/dist/types/src/extensions/listener.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/action.d.ts +0 -12
- package/dist/types/src/extensions/markdown/action.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/bundle.d.ts +0 -22
- package/dist/types/src/extensions/markdown/bundle.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/changes.d.ts +0 -10
- package/dist/types/src/extensions/markdown/changes.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/changes.test.d.ts +0 -2
- package/dist/types/src/extensions/markdown/changes.test.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/debug.d.ts +0 -11
- package/dist/types/src/extensions/markdown/debug.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/decorate.d.ts +0 -25
- package/dist/types/src/extensions/markdown/decorate.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/formatting.d.ts +0 -61
- package/dist/types/src/extensions/markdown/formatting.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/formatting.test.d.ts +0 -3
- package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/highlight.d.ts +0 -37
- package/dist/types/src/extensions/markdown/highlight.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/image.d.ts +0 -7
- package/dist/types/src/extensions/markdown/image.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/index.d.ts +0 -10
- 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 +0 -2
- package/dist/types/src/extensions/markdown/parser.test.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/styles.d.ts +0 -4
- package/dist/types/src/extensions/markdown/styles.d.ts.map +0 -1
- package/dist/types/src/extensions/markdown/table.d.ts +0 -8
- package/dist/types/src/extensions/markdown/table.d.ts.map +0 -1
- package/dist/types/src/extensions/mention.d.ts +0 -7
- package/dist/types/src/extensions/mention.d.ts.map +0 -1
- package/dist/types/src/extensions/modal.d.ts +0 -7
- package/dist/types/src/extensions/modal.d.ts.map +0 -1
- package/dist/types/src/extensions/modes.d.ts +0 -10
- 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 +0 -5
- package/dist/types/src/extensions/outliner/editor.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/editor.test.d.ts +0 -2
- package/dist/types/src/extensions/outliner/editor.test.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/index.d.ts +0 -4
- package/dist/types/src/extensions/outliner/index.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/menu.d.ts +0 -8
- package/dist/types/src/extensions/outliner/menu.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/outliner.d.ts +0 -11
- package/dist/types/src/extensions/outliner/outliner.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/outliner.test.d.ts +0 -2
- 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 +0 -79
- package/dist/types/src/extensions/outliner/tree.d.ts.map +0 -1
- package/dist/types/src/extensions/outliner/tree.test.d.ts +0 -2
- package/dist/types/src/extensions/outliner/tree.test.d.ts.map +0 -1
- package/dist/types/src/extensions/preview/index.d.ts +0 -2
- package/dist/types/src/extensions/preview/index.d.ts.map +0 -1
- package/dist/types/src/extensions/preview/preview.d.ts +0 -32
- package/dist/types/src/extensions/preview/preview.d.ts.map +0 -1
- package/dist/types/src/extensions/replacer.d.ts +0 -21
- package/dist/types/src/extensions/replacer.d.ts.map +0 -1
- package/dist/types/src/extensions/replacer.test.d.ts +0 -2
- package/dist/types/src/extensions/replacer.test.d.ts.map +0 -1
- package/dist/types/src/extensions/scrolling.d.ts +0 -78
- package/dist/types/src/extensions/scrolling.d.ts.map +0 -1
- package/dist/types/src/extensions/selection.d.ts +0 -24
- package/dist/types/src/extensions/selection.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 +0 -10
- package/dist/types/src/extensions/submit.d.ts.map +0 -1
- package/dist/types/src/extensions/tab.d.ts +0 -4
- package/dist/types/src/extensions/tab.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/extended-markdown.d.ts +0 -10
- package/dist/types/src/extensions/tags/extended-markdown.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/extended-markdown.test.d.ts +0 -2
- package/dist/types/src/extensions/tags/extended-markdown.test.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/index.d.ts +0 -4
- package/dist/types/src/extensions/tags/index.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/streamer.d.ts +0 -12
- package/dist/types/src/extensions/tags/streamer.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/xml-tags.d.ts +0 -97
- package/dist/types/src/extensions/tags/xml-tags.d.ts.map +0 -1
- package/dist/types/src/extensions/tags/xml-util.d.ts +0 -10
- package/dist/types/src/extensions/tags/xml-util.d.ts.map +0 -1
- package/dist/types/src/extensions/typewriter.d.ts +0 -10
- package/dist/types/src/extensions/typewriter.d.ts.map +0 -1
- package/dist/types/src/styles/index.d.ts +0 -4
- package/dist/types/src/styles/index.d.ts.map +0 -1
- package/dist/types/src/styles/markdown.d.ts +0 -8
- package/dist/types/src/styles/markdown.d.ts.map +0 -1
- package/dist/types/src/styles/theme.d.ts +0 -38
- package/dist/types/src/styles/theme.d.ts.map +0 -1
- package/dist/types/src/styles/tokens.d.ts +0 -3
- package/dist/types/src/styles/tokens.d.ts.map +0 -1
- package/dist/types/src/types/index.d.ts +0 -2
- package/dist/types/src/types/index.d.ts.map +0 -1
- package/dist/types/src/types/types.d.ts +0 -21
- package/dist/types/src/types/types.d.ts.map +0 -1
- package/dist/types/src/util/cursor.d.ts +0 -31
- package/dist/types/src/util/cursor.d.ts.map +0 -1
- package/dist/types/src/util/debug.d.ts +0 -21
- package/dist/types/src/util/debug.d.ts.map +0 -1
- package/dist/types/src/util/decorations.d.ts +0 -4
- package/dist/types/src/util/decorations.d.ts.map +0 -1
- package/dist/types/src/util/dom.d.ts +0 -10
- package/dist/types/src/util/dom.d.ts.map +0 -1
- package/dist/types/src/util/facet.d.ts +0 -3
- package/dist/types/src/util/facet.d.ts.map +0 -1
- package/src/components/EditorContent/EditorContent.stories.tsx +0 -70
- package/src/components/EditorMenuProvider/util.ts +0 -31
- package/src/defaults.ts +0 -52
- package/src/extensions/annotations.ts +0 -55
- package/src/extensions/autocomplete/autocomplete.ts +0 -151
- package/src/extensions/autocomplete/index.ts +0 -8
- package/src/extensions/autocomplete/match.ts +0 -46
- package/src/extensions/autocomplete/placeholder.ts +0 -117
- package/src/extensions/autocomplete/typeahead.ts +0 -87
- package/src/extensions/automerge/automerge.stories.tsx +0 -150
- package/src/extensions/automerge/automerge.test.tsx +0 -78
- package/src/extensions/automerge/automerge.ts +0 -105
- package/src/extensions/automerge/cursor.ts +0 -28
- package/src/extensions/automerge/defs.ts +0 -31
- package/src/extensions/automerge/index.ts +0 -5
- package/src/extensions/automerge/sync.ts +0 -79
- package/src/extensions/automerge/update-automerge.ts +0 -50
- package/src/extensions/automerge/update-codemirror.ts +0 -115
- package/src/extensions/autoscroll.ts +0 -163
- package/src/extensions/awareness/awareness-provider.ts +0 -127
- package/src/extensions/awareness/awareness.ts +0 -315
- package/src/extensions/awareness/index.ts +0 -6
- package/src/extensions/blast.ts +0 -363
- package/src/extensions/blocks.ts +0 -131
- package/src/extensions/bookmarks.ts +0 -75
- package/src/extensions/comments.ts +0 -598
- package/src/extensions/debug.ts +0 -15
- package/src/extensions/dnd.ts +0 -37
- package/src/extensions/factories.ts +0 -282
- package/src/extensions/focus.ts +0 -36
- package/src/extensions/folding.tsx +0 -43
- package/src/extensions/hashtag.tsx +0 -68
- package/src/extensions/index.ts +0 -35
- package/src/extensions/json.ts +0 -57
- package/src/extensions/listener.ts +0 -32
- package/src/extensions/markdown/action.ts +0 -117
- package/src/extensions/markdown/bundle.ts +0 -105
- package/src/extensions/markdown/changes.test.ts +0 -26
- package/src/extensions/markdown/changes.ts +0 -149
- package/src/extensions/markdown/debug.ts +0 -44
- package/src/extensions/markdown/decorate.ts +0 -601
- package/src/extensions/markdown/formatting.test.ts +0 -498
- package/src/extensions/markdown/formatting.ts +0 -1265
- package/src/extensions/markdown/highlight.ts +0 -183
- package/src/extensions/markdown/image.ts +0 -118
- package/src/extensions/markdown/index.ts +0 -13
- package/src/extensions/markdown/link.ts +0 -50
- package/src/extensions/markdown/parser.test.ts +0 -75
- package/src/extensions/markdown/styles.ts +0 -135
- package/src/extensions/markdown/table.ts +0 -150
- package/src/extensions/mention.ts +0 -41
- package/src/extensions/modal.ts +0 -24
- package/src/extensions/modes.ts +0 -41
- package/src/extensions/outliner/commands.ts +0 -270
- package/src/extensions/outliner/editor.test.ts +0 -33
- package/src/extensions/outliner/editor.ts +0 -184
- package/src/extensions/outliner/index.ts +0 -7
- package/src/extensions/outliner/menu.ts +0 -128
- package/src/extensions/outliner/outliner.test.ts +0 -100
- package/src/extensions/outliner/outliner.ts +0 -167
- package/src/extensions/outliner/selection.ts +0 -50
- package/src/extensions/outliner/tree.test.ts +0 -168
- package/src/extensions/outliner/tree.ts +0 -317
- package/src/extensions/preview/index.ts +0 -5
- package/src/extensions/preview/preview.ts +0 -193
- package/src/extensions/replacer.test.ts +0 -75
- package/src/extensions/replacer.ts +0 -93
- package/src/extensions/scrolling.ts +0 -189
- package/src/extensions/selection.ts +0 -100
- package/src/extensions/state.ts +0 -7
- package/src/extensions/submit.ts +0 -62
- package/src/extensions/tab.ts +0 -29
- package/src/extensions/tags/extended-markdown.test.ts +0 -262
- package/src/extensions/tags/extended-markdown.ts +0 -78
- package/src/extensions/tags/index.ts +0 -7
- package/src/extensions/tags/streamer.ts +0 -243
- package/src/extensions/tags/xml-tags.ts +0 -500
- package/src/extensions/tags/xml-util.ts +0 -94
- package/src/extensions/typewriter.ts +0 -68
- package/src/styles/index.ts +0 -7
- package/src/styles/markdown.ts +0 -26
- package/src/styles/theme.ts +0 -269
- package/src/styles/tokens.ts +0 -17
- package/src/types/index.ts +0 -5
- package/src/types/types.ts +0 -32
- package/src/util/cursor.ts +0 -56
- package/src/util/debug.ts +0 -69
- package/src/util/decorations.ts +0 -21
- package/src/util/dom.ts +0 -34
- package/src/util/facet.ts +0 -13
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/extensions/state.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,gDAA2C,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type Extension } from '@codemirror/state';
|
|
2
|
-
export type SubmitOptions = {
|
|
3
|
-
fireIfEmpty?: boolean;
|
|
4
|
-
onSubmit?: (text: string) => boolean | void;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Handles Enter and Shift-Enter.
|
|
8
|
-
*/
|
|
9
|
-
export declare const submit: ({ fireIfEmpty, onSubmit }?: SubmitOptions) => Extension;
|
|
10
|
-
//# sourceMappingURL=submit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../../src/extensions/submit.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,mBAAmB,CAAC;AAGzD,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,4BAAmC,aAAkB,KAAG,SA8C9E,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { type Extension } from '@codemirror/state';
|
|
2
|
-
import { type useFocusFinders } from '@fluentui/react-tabster';
|
|
3
|
-
export declare const tab: ({ findNextFocusable, findPrevFocusable, }: ReturnType<typeof useFocusFinders>) => Extension;
|
|
4
|
-
//# sourceMappingURL=tab.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../../src/extensions/tab.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,eAAO,MAAM,GAAG,GAAI,2CAKjB,UAAU,CAAC,OAAO,eAAe,CAAC,KAAG,SAevC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type Extension } from '@codemirror/state';
|
|
2
|
-
import { type XmlWidgetRegistry } from './xml-tags';
|
|
3
|
-
export type ExtendedMarkdownOptions = {
|
|
4
|
-
registry?: XmlWidgetRegistry;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Extended markdown parser with mixed parser for custom rendering of XML tags.
|
|
8
|
-
*/
|
|
9
|
-
export declare const extendedMarkdown: ({ registry }?: ExtendedMarkdownOptions) => Extension;
|
|
10
|
-
//# sourceMappingURL=extended-markdown.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extended-markdown.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/tags/extended-markdown.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,eAAc,uBAA4B,KAAG,SAiB7E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extended-markdown.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/tags/extended-markdown.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/tags/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type Extension } from '@codemirror/state';
|
|
2
|
-
export type StreamerOptions = {
|
|
3
|
-
cursor?: boolean;
|
|
4
|
-
fadeIn?: boolean | {
|
|
5
|
-
removalDelay?: number;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Extension that adds a blinking cursor widget at the end of the document.
|
|
10
|
-
*/
|
|
11
|
-
export declare const streamer: (options?: StreamerOptions) => Extension;
|
|
12
|
-
//# sourceMappingURL=streamer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/tags/streamer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AAQ5E,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,MAAM,CAAC,EAAE,OAAO,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAS,eAAoB,KAAG,SAKxD,CAAC"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { type Extension } from '@codemirror/state';
|
|
2
|
-
import { EditorView, WidgetType } from '@codemirror/view';
|
|
3
|
-
import { type ComponentType, type FC } from 'react';
|
|
4
|
-
/**
|
|
5
|
-
* StateEffect for navigating to previous bookmark.
|
|
6
|
-
*/
|
|
7
|
-
export declare const navigatePreviousEffect: import("@codemirror/state").StateEffectType<void>;
|
|
8
|
-
/**
|
|
9
|
-
* StateEffect for navigating to next bookmark.
|
|
10
|
-
*/
|
|
11
|
-
export declare const navigateNextEffect: import("@codemirror/state").StateEffectType<void>;
|
|
12
|
-
/**
|
|
13
|
-
* Dispatch function for updating state.
|
|
14
|
-
*/
|
|
15
|
-
export type StateDispatch<T> = T | ((state: T) => T);
|
|
16
|
-
/**
|
|
17
|
-
* Manages widget state.
|
|
18
|
-
*/
|
|
19
|
-
export interface XmlWidgetStateManager {
|
|
20
|
-
updateWidget<T>(id: string, props: StateDispatch<T>): void;
|
|
21
|
-
}
|
|
22
|
-
export type XmlEventHandler<TEvent = any> = (event: TEvent) => void;
|
|
23
|
-
/**
|
|
24
|
-
* Widget component.
|
|
25
|
-
*/
|
|
26
|
-
export type XmlWidgetProps<TProps = any, TContext = any> = TProps & {
|
|
27
|
-
_tag: string;
|
|
28
|
-
context?: TContext;
|
|
29
|
-
range?: {
|
|
30
|
-
from: number;
|
|
31
|
-
to: number;
|
|
32
|
-
};
|
|
33
|
-
view?: EditorView;
|
|
34
|
-
onEvent?: XmlEventHandler;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Factory for creating widgets.
|
|
38
|
-
*/
|
|
39
|
-
export type XmlWidgetFactory = (props: XmlWidgetProps, onEvent?: XmlEventHandler) => WidgetType | null;
|
|
40
|
-
/**
|
|
41
|
-
* Widget registry definition.
|
|
42
|
-
*/
|
|
43
|
-
export type XmlWidgetDef = {
|
|
44
|
-
/** Block widget. */
|
|
45
|
-
block?: boolean;
|
|
46
|
-
/** Native widget (rendered inline). */
|
|
47
|
-
factory?: XmlWidgetFactory;
|
|
48
|
-
/** React widget (rendered in portals outside of the editor). */
|
|
49
|
-
Component?: FC<XmlWidgetProps>;
|
|
50
|
-
};
|
|
51
|
-
export type XmlWidgetRegistry = Record<string, XmlWidgetDef>;
|
|
52
|
-
export declare const getXmlTextChild: (children: any[]) => string | null;
|
|
53
|
-
/**
|
|
54
|
-
* Update context.
|
|
55
|
-
*/
|
|
56
|
-
export declare const xmlTagContextEffect: import("@codemirror/state").StateEffectType<any>;
|
|
57
|
-
/**
|
|
58
|
-
* Reset all state.
|
|
59
|
-
*/
|
|
60
|
-
export declare const xmlTagResetEffect: import("@codemirror/state").StateEffectType<null>;
|
|
61
|
-
/**
|
|
62
|
-
* Update widget.
|
|
63
|
-
*/
|
|
64
|
-
export declare const xmlTagUpdateEffect: import("@codemirror/state").StateEffectType<{
|
|
65
|
-
id: string;
|
|
66
|
-
value: any;
|
|
67
|
-
}>;
|
|
68
|
-
export type XmlWidgetState = {
|
|
69
|
-
id: string;
|
|
70
|
-
root: HTMLElement;
|
|
71
|
-
props: any;
|
|
72
|
-
Component: ComponentType<XmlWidgetProps>;
|
|
73
|
-
};
|
|
74
|
-
export interface XmlWidgetNotifier {
|
|
75
|
-
mounted(widget: XmlWidgetState): void;
|
|
76
|
-
unmounted(id: string): void;
|
|
77
|
-
}
|
|
78
|
-
export type XmlTagsOptions = {
|
|
79
|
-
/** Tag registry. */
|
|
80
|
-
registry?: XmlWidgetRegistry;
|
|
81
|
-
/** Called when widgets are mounted or unmounted. */
|
|
82
|
-
setWidgets?: (widgets: XmlWidgetState[]) => void;
|
|
83
|
-
/** Tags to bookmark. */
|
|
84
|
-
bookmarks?: string[];
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Implements custom XML tags via CodeMirror-native Widgets and portaled React components.
|
|
88
|
-
*
|
|
89
|
-
* Basic mechanism:
|
|
90
|
-
* - Decorations are created from XML tags that matched the provided Widget registry.
|
|
91
|
-
* - Native widgets are rendered inline.
|
|
92
|
-
* - React widgets are rendered in portals outside of the editor via the PlaceholderWidget.
|
|
93
|
-
* - Widget state can be update via effects.
|
|
94
|
-
* - NOTE: Widget state may be updated BEFORE the widget is mounted.
|
|
95
|
-
*/
|
|
96
|
-
export declare const xmlTags: ({ registry, setWidgets, bookmarks }: XmlTagsOptions) => Extension;
|
|
97
|
-
//# sourceMappingURL=xml-tags.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xml-tags.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/tags/xml-tags.ts"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,SAAS,EAA4C,MAAM,mBAAmB,CAAC;AAE/G,OAAO,EAAkC,UAAU,EAA+B,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAWpD;;GAEG;AACH,eAAO,MAAM,sBAAsB,mDAA6B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,kBAAkB,mDAA6B,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,MAAM,eAAe,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG,IAAI,MAAM,GAAG;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,UAAU,GAAG,IAAI,CAAC;AAEvG;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,oBAAoB;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,uCAAuC;IACvC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,gEAAgE;IAChE,SAAS,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE7D,eAAO,MAAM,eAAe,GAAI,UAAU,GAAG,EAAE,KAAG,MAAM,GAAG,IAG1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,kDAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,iBAAiB,mDAAuB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,kBAAkB;QAA4B,MAAM;WAAS,GAAG;EAAK,CAAC;AASnF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AA0CD,MAAM,MAAM,cAAc,GAAG;IAC3B,oBAAoB;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B,oDAAoD;IACpD,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAEjD,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,GAAI,qCAAqC,cAAc,KAAG,SAW7E,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type EditorState } from '@codemirror/state';
|
|
2
|
-
import { type SyntaxNode } from '@lezer/common';
|
|
3
|
-
export type Tag = Record<string, any> & {
|
|
4
|
-
_tag: string;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Parse XML Element.
|
|
8
|
-
*/
|
|
9
|
-
export declare const nodeToJson: (state: EditorState, node: SyntaxNode) => Tag | undefined;
|
|
10
|
-
//# sourceMappingURL=xml-util.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xml-util.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/tags/xml-util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,WAAW,EAAE,MAAM,UAAU,KAAG,GAAG,GAAG,SA6EvE,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type Extension } from '@codemirror/state';
|
|
2
|
-
export type DemoOptions = {
|
|
3
|
-
delay?: number;
|
|
4
|
-
items?: string[];
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Configurable plugin that let's user cycle through pre-configured input script.
|
|
8
|
-
*/
|
|
9
|
-
export declare const typewriter: ({ delay, items }?: DemoOptions) => Extension;
|
|
10
|
-
//# sourceMappingURL=typewriter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typewriter.d.ts","sourceRoot":"","sources":["../../../../src/extensions/typewriter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,mBAAsC,WAAgB,KAAG,SAgDnF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/styles/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../../src/styles/markdown.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAYjD,eAAO,MAAM,KAAK;;;;qBAIC,YAAY;CAG9B,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { type StyleSpec } from 'style-mod';
|
|
2
|
-
export type ThemeStyles = Record<string, StyleSpec>;
|
|
3
|
-
/**
|
|
4
|
-
* Minimal styles.
|
|
5
|
-
* https://codemirror.net/examples/styling
|
|
6
|
-
*
|
|
7
|
-
* Examples:
|
|
8
|
-
* - https://github.com/codemirror/view/blob/main/src/theme.ts
|
|
9
|
-
* - https://github.com/codemirror/theme-one-dark/blob/main/src/one-dark.ts
|
|
10
|
-
*
|
|
11
|
-
* Main layout:
|
|
12
|
-
* https://codemirror.net/examples/styling
|
|
13
|
-
* https://codemirror.net/docs/guide (DOM Structure).
|
|
14
|
-
*
|
|
15
|
-
* <div class="cm-editor [cm-focused] [generated classes]">
|
|
16
|
-
* <div class="cm-scroller">
|
|
17
|
-
* <div class="cm-gutters">
|
|
18
|
-
* <div class="cm-gutter [...]">
|
|
19
|
-
* <div class="cm-gutterElement">...</div>
|
|
20
|
-
* </div>
|
|
21
|
-
* </div>
|
|
22
|
-
* <div class="cm-content" role="textbox" contenteditable="true">
|
|
23
|
-
* <div class="cm-line"></div>
|
|
24
|
-
* </div>
|
|
25
|
-
* <div class="cm-selectionLayer">
|
|
26
|
-
* <div class="cm-selectionBackground"></div>
|
|
27
|
-
* </div>
|
|
28
|
-
* <div class="cm-cursorLayer">
|
|
29
|
-
* <div class="cm-cursor"></div>
|
|
30
|
-
* </div>
|
|
31
|
-
* </div>
|
|
32
|
-
* </div>
|
|
33
|
-
*
|
|
34
|
-
* NOTE: `light` and `dark` selectors are preprocessed by CodeMirror and can only be in the base theme.
|
|
35
|
-
* NOTE: Use 'unset' to remove default CM style.
|
|
36
|
-
*/
|
|
37
|
-
export declare const defaultTheme: ThemeStyles;
|
|
38
|
-
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/styles/theme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,YAAY,EAAE,WAgO1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/tokens.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,QAAQ,QAA8B,CAAC;AACpD,eAAO,MAAM,QAAQ,QAA8B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type EditorView } from '@codemirror/view';
|
|
2
|
-
import * as Schema from 'effect/Schema';
|
|
3
|
-
export type Range = {
|
|
4
|
-
from: number;
|
|
5
|
-
to: number;
|
|
6
|
-
};
|
|
7
|
-
export type Comment = {
|
|
8
|
-
id: string;
|
|
9
|
-
cursor?: string;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Callback that renders into a DOM element within the editor.
|
|
13
|
-
*/
|
|
14
|
-
export type RenderCallback<Props extends object> = (el: HTMLElement, props: Props, view: EditorView) => void;
|
|
15
|
-
export declare const EditorViewModes: readonly ["preview", "readonly", "source"];
|
|
16
|
-
export declare const EditorViewMode: Schema.Schema<"source" | "preview" | "readonly", "source" | "preview" | "readonly", never>;
|
|
17
|
-
export type EditorViewMode = Schema.Schema.Type<typeof EditorViewMode>;
|
|
18
|
-
export declare const EditorInputModes: readonly ["default", "vim", "vscode"];
|
|
19
|
-
export declare const EditorInputMode: Schema.Schema<"default" | "vim" | "vscode", "default" | "vim" | "vscode", never>;
|
|
20
|
-
export type EditorInputMode = Schema.Schema.Type<typeof EditorInputMode>;
|
|
21
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAIF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AAE7G,eAAO,MAAM,eAAe,4CAA6C,CAAC;AAC1E,eAAO,MAAM,cAAc,4FAAuE,CAAC;AACnG,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,uCAAwC,CAAC;AACtE,eAAO,MAAM,eAAe,kFAAwE,CAAC;AACrG,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type EditorState } from '@codemirror/state';
|
|
2
|
-
import { type Range } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* Determines if two ranges overlap.
|
|
5
|
-
* A range is considered to overlap if there is any intersection
|
|
6
|
-
* between the two ranges, inclusive of their boundaries.
|
|
7
|
-
*/
|
|
8
|
-
export declare const overlap: (a: Range, b: Range) => boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Converts indexes into the text document into stable peer-independent cursors.
|
|
11
|
-
*
|
|
12
|
-
* See:
|
|
13
|
-
* - https://automerge.org/automerge/api-docs/js/functions/next.getCursor.html
|
|
14
|
-
* - https://github.com/yjs/yjs?tab=readme-ov-file#relative-positions
|
|
15
|
-
*
|
|
16
|
-
* @param {assoc} number Negative values will associate the cursor with the previous character
|
|
17
|
-
* while positive - with the next one.
|
|
18
|
-
*/
|
|
19
|
-
export interface CursorConverter {
|
|
20
|
-
toCursor(position: number, assoc?: -1 | 1 | undefined): string;
|
|
21
|
-
fromCursor(cursor: string): number;
|
|
22
|
-
}
|
|
23
|
-
export declare class Cursor {
|
|
24
|
-
static readonly converter: import("@codemirror/state").Facet<unknown, CursorConverter>;
|
|
25
|
-
static readonly getCursorFromRange: (state: EditorState, range: Range) => string;
|
|
26
|
-
static readonly getRangeFromCursor: (state: EditorState, cursor: string) => {
|
|
27
|
-
from: number;
|
|
28
|
-
to: number;
|
|
29
|
-
} | undefined;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../../src/util/cursor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAItC;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,GAAG,KAAK,EAAE,GAAG,KAAK,KAAG,OAA2C,CAAC;AAEzF;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAOD,qBAAa,MAAM;IACjB,MAAM,CAAC,QAAQ,CAAC,SAAS,8DAA4C;IAErE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,GAAI,OAAO,WAAW,EAAE,OAAO,KAAK,YAKpE;IAEF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,GAAI,OAAO,WAAW,EAAE,QAAQ,MAAM;;;kBAOtE;CACH"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type Transaction } from '@codemirror/state';
|
|
2
|
-
import { type EditorView } from '@codemirror/view';
|
|
3
|
-
/**
|
|
4
|
-
* @deprecated Use `trim` from `@dxos/util`.
|
|
5
|
-
*/
|
|
6
|
-
export declare const str: (...lines: string[]) => string;
|
|
7
|
-
export declare const wrapWithCatch: (fn: (...args: any[]) => any, label?: string) => (...args: any[]) => any;
|
|
8
|
-
/**
|
|
9
|
-
* CodeMirror callbacks swallow errors so wrap handlers.
|
|
10
|
-
*/
|
|
11
|
-
export declare const callbackWrapper: <T extends Function>(fn: T) => T;
|
|
12
|
-
/**
|
|
13
|
-
* Log all changes before dispatching them to the view.
|
|
14
|
-
* https://codemirror.net/docs/ref/#view.EditorView.dispatch
|
|
15
|
-
*/
|
|
16
|
-
export declare const debugDispatcher: (trs: readonly Transaction[], view: EditorView) => void;
|
|
17
|
-
/**
|
|
18
|
-
* Util to log transactions in update listener.
|
|
19
|
-
*/
|
|
20
|
-
export declare const logChanges: (trs: readonly Transaction[]) => void;
|
|
21
|
-
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../../src/util/debug.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD;;GAEG;AACH,eAAO,MAAM,GAAG,GAAI,GAAG,OAAO,MAAM,EAAE,WAAqB,CAAC;AAE5D,eAAO,MAAM,aAAa,GAAI,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,QAAQ,MAAM,MAC/D,GAAG,MAAM,GAAG,EAAE,QAOvB,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,QAAQ,EAAE,IAAI,CAAC,KAAG,CAOxC,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,SAAS,WAAW,EAAE,EAAE,MAAM,UAAU,SAG5E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,WAAW,EAAE,SAmBrD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decorations.d.ts","sourceRoot":"","sources":["../../../../src/util/decorations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvE,eAAO,MAAM,oBAAoB,GAAI,MAAM,aAAa,KAAG,SAAS,KAAK,CAAC,UAAU,CAAC,EAapF,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export type Rect = {
|
|
2
|
-
readonly left: number;
|
|
3
|
-
readonly right: number;
|
|
4
|
-
readonly top: number;
|
|
5
|
-
readonly bottom: number;
|
|
6
|
-
};
|
|
7
|
-
export declare const flattenRect: (rect: Rect, left: boolean) => Rect;
|
|
8
|
-
export declare const textRange: (node: Text, from: number, to?: number) => Range;
|
|
9
|
-
export declare const clientRectsFor: (dom: Node) => DOMRectList;
|
|
10
|
-
//# sourceMappingURL=dom.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../../src/util/dom.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,EAAE,MAAM,OAAO,KAAG,IAGvD,CAAC;AAIF,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,EAAE,MAAM,MAAM,EAAE,WAAS,KAAG,KAK/D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,KAAG,WAQ1C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"facet.d.ts","sourceRoot":"","sources":["../../../../src/util/facet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,gBAMvD,CAAC"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
6
|
-
import React from 'react';
|
|
7
|
-
import { useMemo } from 'react';
|
|
8
|
-
|
|
9
|
-
import { createDocAccessor, createObject } from '@dxos/echo-db';
|
|
10
|
-
import { useThemeContext } from '@dxos/react-ui';
|
|
11
|
-
import { withLayout, withTheme } from '@dxos/react-ui/testing';
|
|
12
|
-
import { Text } from '@dxos/schema';
|
|
13
|
-
|
|
14
|
-
import { automerge, createBasicExtensions, createThemeExtensions } from '../../extensions';
|
|
15
|
-
|
|
16
|
-
import { EditorContent } from './EditorContent';
|
|
17
|
-
|
|
18
|
-
const meta = {
|
|
19
|
-
title: 'ui/react-ui-editor/EditorComponent',
|
|
20
|
-
component: EditorContent,
|
|
21
|
-
decorators: [withTheme, withLayout({ container: 'column' })],
|
|
22
|
-
} satisfies Meta<typeof EditorContent>;
|
|
23
|
-
|
|
24
|
-
export default meta;
|
|
25
|
-
|
|
26
|
-
type Story = StoryObj<typeof meta>;
|
|
27
|
-
|
|
28
|
-
export const Default: Story = {
|
|
29
|
-
render: (args) => {
|
|
30
|
-
const { themeMode } = useThemeContext();
|
|
31
|
-
const extensions = useMemo(
|
|
32
|
-
() => [
|
|
33
|
-
// Basic extensions.
|
|
34
|
-
createBasicExtensions(),
|
|
35
|
-
createThemeExtensions({ themeMode }),
|
|
36
|
-
],
|
|
37
|
-
[],
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
return <EditorContent classNames='p-2' {...args} extensions={extensions} />;
|
|
41
|
-
},
|
|
42
|
-
args: {
|
|
43
|
-
selectionEnd: true,
|
|
44
|
-
value: 'Hello world!',
|
|
45
|
-
onChange: (value) => console.log(value),
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const Automerge: Story = {
|
|
50
|
-
render: ({ value, ...props }) => {
|
|
51
|
-
const { themeMode } = useThemeContext();
|
|
52
|
-
const extensions = useMemo(
|
|
53
|
-
() => [
|
|
54
|
-
// Basic extensions.
|
|
55
|
-
createBasicExtensions(),
|
|
56
|
-
createThemeExtensions({ themeMode }),
|
|
57
|
-
automerge(createDocAccessor(createObject(Text.make(value)), ['content'])),
|
|
58
|
-
],
|
|
59
|
-
[],
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
// TODO(burdon): Remove the need for initialValue.
|
|
63
|
-
return <EditorContent classNames='p-2' {...props} initialValue={value} extensions={extensions} />;
|
|
64
|
-
},
|
|
65
|
-
args: {
|
|
66
|
-
selectionEnd: true,
|
|
67
|
-
value: 'Hello world!',
|
|
68
|
-
onChange: (value) => console.log(value),
|
|
69
|
-
},
|
|
70
|
-
};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type EditorView } from '@codemirror/view';
|
|
6
|
-
|
|
7
|
-
// TODO(burdon): Factor out.
|
|
8
|
-
|
|
9
|
-
export const insertAtCursor = (view: EditorView, from: number, insert: string) => {
|
|
10
|
-
view.dispatch({
|
|
11
|
-
changes: { from, to: from, insert },
|
|
12
|
-
selection: { anchor: from + insert.length, head: from + insert.length },
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* If the cursor is at the start of a line, insert the text at the cursor.
|
|
18
|
-
* Otherwise, insert the text on a new line.
|
|
19
|
-
*/
|
|
20
|
-
export const insertAtLineStart = (view: EditorView, from: number, insert: string) => {
|
|
21
|
-
const line = view.state.doc.lineAt(from);
|
|
22
|
-
if (line.from === from) {
|
|
23
|
-
insertAtCursor(view, from, insert);
|
|
24
|
-
} else {
|
|
25
|
-
insert = '\n' + insert;
|
|
26
|
-
view.dispatch({
|
|
27
|
-
changes: { from: line.to, to: line.to, insert },
|
|
28
|
-
selection: { anchor: line.to + insert.length, head: line.to + insert.length },
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
};
|
package/src/defaults.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { EditorView } from '@codemirror/view';
|
|
6
|
-
|
|
7
|
-
import { mx } from '@dxos/react-ui-theme';
|
|
8
|
-
|
|
9
|
-
import { type ThemeExtensionsOptions } from './extensions';
|
|
10
|
-
import { fontMono } from './styles';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* CodeMirror content width.
|
|
14
|
-
* 40rem = 640px. Corresponds to initial plank width (Google docs, Stashpad, etc.)
|
|
15
|
-
* 50rem = 800px. Maximum content width for solo mode.
|
|
16
|
-
* NOTE: Max width - 4rem = 2rem left/right margin (or 2rem gutter plus 1rem left/right margin).
|
|
17
|
-
*/
|
|
18
|
-
export const editorWidth = '!mli-auto is-full max-is-[min(50rem,100%-4rem)]';
|
|
19
|
-
|
|
20
|
-
export const editorSlots: ThemeExtensionsOptions['slots'] = {
|
|
21
|
-
scroll: {
|
|
22
|
-
className: 'pbs-2',
|
|
23
|
-
},
|
|
24
|
-
content: {
|
|
25
|
-
className: editorWidth,
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const editorGutter = EditorView.theme({
|
|
30
|
-
'.cm-gutters': {
|
|
31
|
-
// NOTE: Color required to cover content if scrolling horizontally.
|
|
32
|
-
// TODO(burdon): Non-transparent background clips the focus ring.
|
|
33
|
-
background: 'var(--dx-baseSurface) !important',
|
|
34
|
-
paddingRight: '1rem',
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
export const editorMonospace = EditorView.theme({
|
|
39
|
-
'.cm-content': {
|
|
40
|
-
fontFamily: fontMono,
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
export const editorWithToolbarLayout =
|
|
45
|
-
'grid grid-cols-1 grid-rows-[min-content_1fr] data-[toolbar=disabled]:grid-rows-[1fr] justify-center content-start overflow-hidden';
|
|
46
|
-
|
|
47
|
-
// NOTE: Padding is added to the editor to account for the focus ring (since otherwise the CM gutter will clip it)
|
|
48
|
-
export const stackItemContentEditorClassNames = (role?: string) =>
|
|
49
|
-
mx(
|
|
50
|
-
'p-0.5 dx-focus-ring-inset attention-surface data-[toolbar=disabled]:pbs-2',
|
|
51
|
-
role === 'section' ? '[&_.cm-scroller]:overflow-hidden [&_.cm-scroller]:min-bs-24' : 'min-bs-0',
|
|
52
|
-
);
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { type Extension, RangeSetBuilder } from '@codemirror/state';
|
|
6
|
-
import { Decoration, type DecorationSet, EditorView, ViewPlugin, type ViewUpdate } from '@codemirror/view';
|
|
7
|
-
|
|
8
|
-
const annotationMark = Decoration.mark({ class: 'cm-annotation' });
|
|
9
|
-
|
|
10
|
-
export type AnnotationOptions = {
|
|
11
|
-
match?: RegExp; // TODO(burdon): Update via hook (e.g., for search).
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
export const annotations = ({ match }: AnnotationOptions = {}): Extension => {
|
|
18
|
-
return [
|
|
19
|
-
ViewPlugin.fromClass(
|
|
20
|
-
class {
|
|
21
|
-
decorations: DecorationSet = Decoration.none;
|
|
22
|
-
update(update: ViewUpdate) {
|
|
23
|
-
const builder = new RangeSetBuilder<Decoration>();
|
|
24
|
-
if (match) {
|
|
25
|
-
// Only process visible lines.
|
|
26
|
-
const { from, to } = update.view.viewport;
|
|
27
|
-
const text = update.state.doc.sliceString(from, to);
|
|
28
|
-
const matches = text.matchAll(match);
|
|
29
|
-
for (const m of matches) {
|
|
30
|
-
if (m.index !== undefined) {
|
|
31
|
-
// Adjust match position relative to viewport.
|
|
32
|
-
const start = from + m.index;
|
|
33
|
-
const end = start + m[0].length;
|
|
34
|
-
builder.add(start, end, annotationMark);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
this.decorations = builder.finish();
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
decorations: (v) => v.decorations,
|
|
44
|
-
},
|
|
45
|
-
),
|
|
46
|
-
|
|
47
|
-
EditorView.theme({
|
|
48
|
-
'.cm-annotation': {
|
|
49
|
-
textDecoration: 'underline',
|
|
50
|
-
textDecorationStyle: 'wavy',
|
|
51
|
-
textDecorationColor: 'var(--dx-errorText)',
|
|
52
|
-
},
|
|
53
|
-
}),
|
|
54
|
-
];
|
|
55
|
-
};
|