@dxos/react-ui-editor 0.8.4-main.e098934 → 0.8.4-main.e8ec1fe
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/{chunk-22UMM3QJ.mjs → chunk-HL3YF6WC.mjs} +2 -2
- package/dist/lib/browser/chunk-HL3YF6WC.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +4960 -4414
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node-esm/{chunk-YXYQPV6R.mjs → chunk-YJZGD3LY.mjs} +2 -2
- package/dist/lib/node-esm/chunk-YJZGD3LY.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +4960 -4414
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/components/Editor/Editor.d.ts +37 -15
- package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
- package/dist/types/src/components/Editor/Editor.stories.d.ts +20 -0
- package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -0
- package/dist/types/src/components/EditorContent/EditorContent.d.ts +29 -0
- package/dist/types/src/components/EditorContent/EditorContent.d.ts.map +1 -0
- package/dist/types/src/components/EditorContent/EditorContent.stories.d.ts +26 -0
- package/dist/types/src/components/EditorContent/EditorContent.stories.d.ts.map +1 -0
- package/dist/types/src/components/EditorContent/controller.d.ts +10 -0
- package/dist/types/src/components/EditorContent/controller.d.ts.map +1 -0
- package/dist/types/src/components/EditorContent/index.d.ts +3 -0
- package/dist/types/src/components/EditorContent/index.d.ts.map +1 -0
- package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts +36 -0
- package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts.map +1 -0
- package/dist/types/src/components/EditorMenuProvider/index.d.ts +7 -0
- package/dist/types/src/components/EditorMenuProvider/index.d.ts.map +1 -0
- package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts +4 -0
- package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts.map +1 -0
- package/dist/types/src/components/EditorMenuProvider/menu.d.ts +28 -0
- package/dist/types/src/components/EditorMenuProvider/menu.d.ts.map +1 -0
- package/dist/types/src/components/EditorMenuProvider/popover.d.ts +47 -0
- package/dist/types/src/components/EditorMenuProvider/popover.d.ts.map +1 -0
- package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts +34 -0
- package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts.map +1 -0
- package/dist/types/src/components/EditorMenuProvider/util.d.ts +8 -0
- package/dist/types/src/components/EditorMenuProvider/util.d.ts.map +1 -0
- package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts +16 -0
- package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts.map +1 -0
- package/dist/types/src/components/EditorPreviewProvider/index.d.ts +2 -0
- package/dist/types/src/components/EditorPreviewProvider/index.d.ts.map +1 -0
- package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +26 -2
- package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/actions.d.ts +39 -0
- package/dist/types/src/components/EditorToolbar/actions.d.ts.map +1 -0
- package/dist/types/src/components/EditorToolbar/blocks.d.ts +3 -3
- package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/formatting.d.ts +3 -3
- package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/headings.d.ts +3 -3
- package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/index.d.ts +2 -1
- package/dist/types/src/components/EditorToolbar/index.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts +11 -0
- package/dist/types/src/components/EditorToolbar/useEditorToolbar.d.ts.map +1 -0
- package/dist/types/src/components/EditorToolbar/view-mode.d.ts +3 -3
- package/dist/types/src/components/EditorToolbar/view-mode.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +4 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/extensions/autocomplete/autocomplete.d.ts +17 -0
- package/dist/types/src/extensions/autocomplete/autocomplete.d.ts.map +1 -0
- package/dist/types/src/extensions/autocomplete/index.d.ts +5 -0
- package/dist/types/src/extensions/autocomplete/index.d.ts.map +1 -0
- package/dist/types/src/extensions/autocomplete/match.d.ts +13 -0
- package/dist/types/src/extensions/autocomplete/match.d.ts.map +1 -0
- package/dist/types/src/extensions/autocomplete/placeholder.d.ts +20 -0
- package/dist/types/src/extensions/autocomplete/placeholder.d.ts.map +1 -0
- package/dist/types/src/extensions/autocomplete/typeahead.d.ts +10 -0
- package/dist/types/src/extensions/autocomplete/typeahead.d.ts.map +1 -0
- package/dist/types/src/extensions/automerge/automerge.d.ts +1 -1
- package/dist/types/src/extensions/automerge/automerge.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/automerge.stories.d.ts +1 -1
- package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/cursor.d.ts +1 -1
- package/dist/types/src/extensions/automerge/cursor.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/sync.d.ts +3 -3
- package/dist/types/src/extensions/automerge/sync.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/update-automerge.d.ts +1 -1
- package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +1 -1
- package/dist/types/src/extensions/autoscroll.d.ts +14 -4
- package/dist/types/src/extensions/autoscroll.d.ts.map +1 -1
- package/dist/types/src/extensions/awareness/awareness-provider.d.ts +1 -1
- package/dist/types/src/extensions/awareness/awareness-provider.d.ts.map +1 -1
- package/dist/types/src/extensions/blocks.d.ts +2 -0
- package/dist/types/src/extensions/blocks.d.ts.map +1 -0
- package/dist/types/src/extensions/bookmarks.d.ts +12 -0
- package/dist/types/src/extensions/bookmarks.d.ts.map +1 -0
- package/dist/types/src/extensions/comments.d.ts.map +1 -1
- package/dist/types/src/extensions/factories.d.ts +10 -5
- package/dist/types/src/extensions/factories.d.ts.map +1 -1
- package/dist/types/src/extensions/focus.d.ts.map +1 -1
- package/dist/types/src/extensions/folding.d.ts.map +1 -1
- package/dist/types/src/extensions/index.d.ts +8 -1
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/extensions/json.d.ts +1 -1
- package/dist/types/src/extensions/json.d.ts.map +1 -1
- package/dist/types/src/extensions/listener.d.ts +8 -6
- package/dist/types/src/extensions/listener.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/decorate.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/formatting.d.ts +1 -3
- package/dist/types/src/extensions/markdown/formatting.d.ts.map +1 -1
- package/dist/types/src/extensions/modal.d.ts +7 -0
- package/dist/types/src/extensions/modal.d.ts.map +1 -0
- package/dist/types/src/extensions/modes.d.ts +1 -1
- package/dist/types/src/extensions/modes.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/menu.d.ts +8 -0
- package/dist/types/src/extensions/outliner/menu.d.ts.map +1 -0
- package/dist/types/src/extensions/preview/preview.d.ts +6 -3
- package/dist/types/src/extensions/preview/preview.d.ts.map +1 -1
- package/dist/types/src/extensions/replacer.d.ts +21 -0
- package/dist/types/src/extensions/replacer.d.ts.map +1 -0
- package/dist/types/src/extensions/replacer.test.d.ts +2 -0
- package/dist/types/src/extensions/replacer.test.d.ts.map +1 -0
- package/dist/types/src/extensions/scrolling.d.ts +78 -0
- package/dist/types/src/extensions/scrolling.d.ts.map +1 -0
- package/dist/types/src/extensions/state.d.ts +2 -0
- package/dist/types/src/extensions/state.d.ts.map +1 -0
- package/dist/types/src/extensions/submit.d.ts +10 -0
- package/dist/types/src/extensions/submit.d.ts.map +1 -0
- package/dist/types/src/extensions/tab.d.ts +4 -0
- package/dist/types/src/extensions/tab.d.ts.map +1 -0
- package/dist/types/src/extensions/tags/streamer.d.ts.map +1 -1
- package/dist/types/src/extensions/tags/xml-tags.d.ts +42 -16
- package/dist/types/src/extensions/tags/xml-tags.d.ts.map +1 -1
- package/dist/types/src/hooks/useTextEditor.d.ts +5 -9
- package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
- package/dist/types/src/stories/{Command.stories.d.ts → CommandDialog.stories.d.ts} +2 -3
- package/dist/types/src/stories/CommandDialog.stories.d.ts.map +1 -0
- package/dist/types/src/stories/Comments.stories.d.ts +3 -4
- package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/stories/EditorToolbar.stories.d.ts +1 -2
- package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Experimental.stories.d.ts +3 -4
- package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Markdown.stories.d.ts +3 -4
- package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Outliner.stories.d.ts +0 -1
- package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
- package/dist/types/src/stories/{CommandMenu.stories.d.ts → Popover.stories.d.ts} +6 -6
- package/dist/types/src/stories/Popover.stories.d.ts.map +1 -0
- package/dist/types/src/stories/Preview.stories.d.ts +4 -4
- package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Tags.stories.d.ts +0 -1
- package/dist/types/src/stories/Tags.stories.d.ts.map +1 -1
- package/dist/types/src/stories/TextEditor.stories.d.ts +3 -5
- package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
- package/dist/types/src/stories/components/EditorStory.d.ts +7 -5
- package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
- package/dist/types/src/stories/components/util.d.ts.map +1 -1
- package/dist/types/src/styles/theme.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +1 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util/debug.d.ts +4 -0
- package/dist/types/src/util/debug.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +0 -1
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +57 -58
- package/src/components/Editor/Editor.stories.tsx +89 -0
- package/src/components/Editor/Editor.tsx +160 -25
- package/src/components/EditorContent/EditorContent.stories.tsx +70 -0
- package/src/components/EditorContent/EditorContent.tsx +70 -0
- package/src/components/EditorContent/controller.ts +50 -0
- package/src/components/EditorContent/index.ts +6 -0
- package/src/components/EditorMenuProvider/EditorMenuProvider.tsx +233 -0
- package/src/components/EditorMenuProvider/index.ts +11 -0
- package/src/components/EditorMenuProvider/menu-presets.ts +123 -0
- package/src/components/EditorMenuProvider/menu.ts +71 -0
- package/src/components/EditorMenuProvider/popover.ts +287 -0
- package/src/components/EditorMenuProvider/useEditorMenu.ts +175 -0
- package/src/components/EditorMenuProvider/util.ts +31 -0
- package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +82 -0
- package/src/components/EditorPreviewProvider/index.ts +5 -0
- package/src/components/EditorToolbar/EditorToolbar.tsx +101 -91
- package/src/components/EditorToolbar/{lists.ts → actions.ts} +46 -16
- package/src/components/EditorToolbar/blocks.ts +2 -1
- package/src/components/EditorToolbar/formatting.ts +2 -1
- package/src/components/EditorToolbar/headings.ts +8 -5
- package/src/components/EditorToolbar/image.ts +1 -1
- package/src/components/EditorToolbar/index.ts +3 -7
- package/src/components/EditorToolbar/search.ts +1 -1
- package/src/components/EditorToolbar/useEditorToolbar.ts +20 -0
- package/src/components/EditorToolbar/view-mode.ts +2 -1
- package/src/components/index.ts +8 -2
- package/src/extensions/{autocomplete.ts → autocomplete/autocomplete.ts} +8 -76
- package/src/extensions/autocomplete/index.ts +8 -0
- package/src/extensions/autocomplete/match.ts +46 -0
- package/src/extensions/{command → autocomplete}/placeholder.ts +21 -17
- package/src/extensions/{command → autocomplete}/typeahead.ts +6 -48
- package/src/extensions/automerge/automerge.stories.tsx +9 -9
- package/src/extensions/automerge/automerge.ts +28 -9
- package/src/extensions/automerge/cursor.ts +1 -1
- package/src/extensions/automerge/sync.ts +8 -4
- package/src/extensions/automerge/update-automerge.ts +1 -1
- package/src/extensions/autoscroll.ts +98 -92
- package/src/extensions/awareness/awareness-provider.ts +2 -2
- package/src/extensions/blocks.ts +131 -0
- package/src/extensions/bookmarks.ts +75 -0
- package/src/extensions/comments.ts +2 -1
- package/src/extensions/factories.ts +47 -16
- package/src/extensions/focus.ts +5 -4
- package/src/extensions/folding.tsx +3 -6
- package/src/extensions/hashtag.tsx +2 -2
- package/src/extensions/index.ts +8 -1
- package/src/extensions/json.ts +1 -1
- package/src/extensions/listener.ts +14 -20
- package/src/extensions/markdown/bundle.ts +16 -4
- package/src/extensions/markdown/decorate.ts +9 -8
- package/src/extensions/markdown/formatting.ts +8 -10
- package/src/extensions/markdown/highlight.ts +1 -1
- package/src/extensions/markdown/image.ts +2 -2
- package/src/extensions/markdown/table.ts +6 -6
- package/src/extensions/modal.ts +24 -0
- package/src/extensions/modes.ts +2 -2
- package/src/extensions/{command/floating-menu.ts → outliner/menu.ts} +9 -9
- package/src/extensions/outliner/outliner.test.ts +1 -1
- package/src/extensions/outliner/outliner.ts +3 -3
- package/src/extensions/outliner/tree.test.ts +1 -1
- package/src/extensions/preview/index.ts +1 -1
- package/src/extensions/preview/preview.ts +14 -11
- package/src/extensions/replacer.test.ts +75 -0
- package/src/extensions/replacer.ts +93 -0
- package/src/extensions/scrolling.ts +189 -0
- package/src/extensions/selection.ts +3 -3
- package/src/extensions/state.ts +7 -0
- package/src/extensions/submit.ts +62 -0
- package/src/extensions/tab.ts +29 -0
- package/src/extensions/tags/extended-markdown.test.ts +2 -1
- package/src/extensions/tags/streamer.ts +4 -5
- package/src/extensions/tags/xml-tags.ts +320 -155
- package/src/extensions/typewriter.ts +1 -1
- package/src/hooks/useTextEditor.ts +31 -31
- package/src/stories/{Command.stories.tsx → CommandDialog.stories.tsx} +20 -27
- package/src/stories/Comments.stories.tsx +8 -9
- package/src/stories/EditorToolbar.stories.tsx +14 -13
- package/src/stories/Experimental.stories.tsx +7 -7
- package/src/stories/Markdown.stories.tsx +6 -6
- package/src/stories/Outliner.stories.tsx +20 -20
- package/src/stories/Popover.stories.tsx +162 -0
- package/src/stories/Preview.stories.tsx +46 -42
- package/src/stories/Tags.stories.tsx +24 -10
- package/src/stories/TextEditor.stories.tsx +10 -35
- package/src/stories/components/EditorStory.tsx +29 -16
- package/src/stories/components/util.tsx +40 -8
- package/src/styles/markdown.ts +1 -1
- package/src/styles/theme.ts +13 -11
- package/src/types/types.ts +1 -1
- package/src/util/debug.ts +5 -0
- package/src/util/index.ts +0 -1
- package/dist/lib/browser/chunk-22UMM3QJ.mjs.map +0 -7
- package/dist/lib/browser/testing/index.mjs +0 -76
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YXYQPV6R.mjs.map +0 -7
- package/dist/lib/node-esm/testing/index.mjs +0 -78
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/types/src/components/CommandMenu/CommandMenu.d.ts +0 -38
- package/dist/types/src/components/CommandMenu/CommandMenu.d.ts.map +0 -1
- package/dist/types/src/components/CommandMenu/index.d.ts +0 -2
- package/dist/types/src/components/CommandMenu/index.d.ts.map +0 -1
- package/dist/types/src/components/EditorToolbar/lists.d.ts +0 -19
- package/dist/types/src/components/EditorToolbar/lists.d.ts.map +0 -1
- package/dist/types/src/components/EditorToolbar/util.d.ts +0 -51
- package/dist/types/src/components/EditorToolbar/util.d.ts.map +0 -1
- package/dist/types/src/extensions/autocomplete.d.ts +0 -26
- package/dist/types/src/extensions/autocomplete.d.ts.map +0 -1
- package/dist/types/src/extensions/command/action.d.ts +0 -17
- package/dist/types/src/extensions/command/action.d.ts.map +0 -1
- package/dist/types/src/extensions/command/command-menu.d.ts +0 -20
- package/dist/types/src/extensions/command/command-menu.d.ts.map +0 -1
- package/dist/types/src/extensions/command/command.d.ts +0 -6
- package/dist/types/src/extensions/command/command.d.ts.map +0 -1
- package/dist/types/src/extensions/command/floating-menu.d.ts +0 -7
- package/dist/types/src/extensions/command/floating-menu.d.ts.map +0 -1
- package/dist/types/src/extensions/command/hint.d.ts +0 -19
- package/dist/types/src/extensions/command/hint.d.ts.map +0 -1
- package/dist/types/src/extensions/command/index.d.ts +0 -7
- package/dist/types/src/extensions/command/index.d.ts.map +0 -1
- package/dist/types/src/extensions/command/placeholder.d.ts +0 -10
- package/dist/types/src/extensions/command/placeholder.d.ts.map +0 -1
- package/dist/types/src/extensions/command/state.d.ts +0 -16
- package/dist/types/src/extensions/command/state.d.ts.map +0 -1
- package/dist/types/src/extensions/command/typeahead.d.ts +0 -22
- package/dist/types/src/extensions/command/typeahead.d.ts.map +0 -1
- package/dist/types/src/extensions/command/useCommandMenu.d.ts +0 -25
- package/dist/types/src/extensions/command/useCommandMenu.d.ts.map +0 -1
- package/dist/types/src/stories/Command.stories.d.ts.map +0 -1
- package/dist/types/src/stories/CommandMenu.stories.d.ts.map +0 -1
- package/dist/types/src/testing/PreviewPopover.d.ts +0 -20
- package/dist/types/src/testing/PreviewPopover.d.ts.map +0 -1
- package/dist/types/src/testing/index.d.ts +0 -3
- package/dist/types/src/testing/index.d.ts.map +0 -1
- package/dist/types/src/testing/util.d.ts +0 -3
- package/dist/types/src/testing/util.d.ts.map +0 -1
- package/dist/types/src/util/domino.d.ts +0 -18
- package/dist/types/src/util/domino.d.ts.map +0 -1
- package/src/components/CommandMenu/CommandMenu.tsx +0 -346
- package/src/components/CommandMenu/index.ts +0 -5
- package/src/components/EditorToolbar/util.ts +0 -76
- package/src/extensions/command/action.ts +0 -55
- package/src/extensions/command/command-menu.ts +0 -211
- package/src/extensions/command/command.ts +0 -34
- package/src/extensions/command/hint.ts +0 -103
- package/src/extensions/command/index.ts +0 -10
- package/src/extensions/command/state.ts +0 -90
- package/src/extensions/command/useCommandMenu.ts +0 -115
- package/src/stories/CommandMenu.stories.tsx +0 -158
- package/src/testing/PreviewPopover.tsx +0 -78
- package/src/testing/index.ts +0 -6
- package/src/testing/util.ts +0 -7
- package/src/util/domino.ts +0 -51
|
@@ -19,14 +19,14 @@ import {
|
|
|
19
19
|
linkTooltip,
|
|
20
20
|
table,
|
|
21
21
|
} from '../../extensions';
|
|
22
|
-
import { str } from '../../
|
|
23
|
-
import { createRenderer } from '../../util';
|
|
22
|
+
import { createRenderer, str } from '../../util';
|
|
24
23
|
|
|
25
24
|
export const num = () => faker.number.int({ min: 0, max: 9999 }).toLocaleString();
|
|
26
25
|
|
|
27
26
|
export const img = '';
|
|
28
27
|
|
|
29
28
|
export const code = str(
|
|
29
|
+
// prettier-ignore
|
|
30
30
|
'// Code',
|
|
31
31
|
'const Component = () => {',
|
|
32
32
|
' const x = 100;',
|
|
@@ -38,7 +38,7 @@ export const code = str(
|
|
|
38
38
|
// Content blocks for stories
|
|
39
39
|
export const content = {
|
|
40
40
|
tasks: str(
|
|
41
|
-
//
|
|
41
|
+
// prettier-ignore
|
|
42
42
|
'### TaskList',
|
|
43
43
|
'',
|
|
44
44
|
`- [x] ${faker.lorem.sentences()}`,
|
|
@@ -50,7 +50,7 @@ export const content = {
|
|
|
50
50
|
),
|
|
51
51
|
|
|
52
52
|
bullets: str(
|
|
53
|
-
//
|
|
53
|
+
// prettier-ignore
|
|
54
54
|
'### BulletList',
|
|
55
55
|
'',
|
|
56
56
|
`- ${faker.lorem.sentences()}`,
|
|
@@ -62,7 +62,7 @@ export const content = {
|
|
|
62
62
|
),
|
|
63
63
|
|
|
64
64
|
numbered: str(
|
|
65
|
-
//
|
|
65
|
+
// prettier-ignore
|
|
66
66
|
'### OrderedList (part 1)',
|
|
67
67
|
'',
|
|
68
68
|
`1. ${faker.lorem.sentences()}`,
|
|
@@ -81,11 +81,34 @@ export const content = {
|
|
|
81
81
|
|
|
82
82
|
typescript: code,
|
|
83
83
|
|
|
84
|
-
codeblocks: str(
|
|
84
|
+
codeblocks: str(
|
|
85
|
+
// prettier-ignore
|
|
86
|
+
'### Code',
|
|
87
|
+
'',
|
|
88
|
+
'```bash',
|
|
89
|
+
'$ ls -las',
|
|
90
|
+
'```',
|
|
91
|
+
'',
|
|
92
|
+
'```tsx',
|
|
93
|
+
code,
|
|
94
|
+
'```',
|
|
95
|
+
'',
|
|
96
|
+
),
|
|
85
97
|
|
|
86
|
-
comment: str(
|
|
98
|
+
comment: str(
|
|
99
|
+
// prettier-ignore
|
|
100
|
+
'### Comment',
|
|
101
|
+
'',
|
|
102
|
+
'<!--',
|
|
103
|
+
'A comment',
|
|
104
|
+
'-->',
|
|
105
|
+
'',
|
|
106
|
+
'Partial comment. <!-- comment. -->',
|
|
107
|
+
'',
|
|
108
|
+
),
|
|
87
109
|
|
|
88
110
|
links: str(
|
|
111
|
+
// prettier-ignore
|
|
89
112
|
'### Links',
|
|
90
113
|
'',
|
|
91
114
|
'This is a naked link https://dxos.org within a sentence.',
|
|
@@ -97,6 +120,7 @@ export const content = {
|
|
|
97
120
|
),
|
|
98
121
|
|
|
99
122
|
table: str(
|
|
123
|
+
// prettier-ignore
|
|
100
124
|
'### Tables',
|
|
101
125
|
'',
|
|
102
126
|
`| ${faker.lorem.word().padStart(12)} | ${faker.lorem.word().padStart(12)} | ${faker.lorem.word().padStart(12)} |`,
|
|
@@ -113,9 +137,16 @@ export const content = {
|
|
|
113
137
|
...[1, 2, 3, 4, 5, 6].map((level) => ['#'.repeat(level) + ` Heading ${level}`, faker.lorem.sentences(), '']).flat(),
|
|
114
138
|
),
|
|
115
139
|
|
|
116
|
-
formatting: str(
|
|
140
|
+
formatting: str(
|
|
141
|
+
// prettier-ignore
|
|
142
|
+
'### Formatting',
|
|
143
|
+
'',
|
|
144
|
+
'This this is **bold**, ~~strikethrough~~, _italic_, and `f(INLINE)`.',
|
|
145
|
+
'',
|
|
146
|
+
),
|
|
117
147
|
|
|
118
148
|
blockquotes: str(
|
|
149
|
+
// prettier-ignore
|
|
119
150
|
'### Blockquotes',
|
|
120
151
|
'',
|
|
121
152
|
'> This is a block quote.',
|
|
@@ -154,6 +185,7 @@ export const text = str(
|
|
|
154
185
|
'---',
|
|
155
186
|
'## Misc',
|
|
156
187
|
content.codeblocks,
|
|
188
|
+
content.comment,
|
|
157
189
|
content.table,
|
|
158
190
|
content.image,
|
|
159
191
|
content.footer,
|
package/src/styles/markdown.ts
CHANGED
package/src/styles/theme.ts
CHANGED
|
@@ -74,12 +74,12 @@ export const defaultTheme: ThemeStyles = {
|
|
|
74
74
|
*/
|
|
75
75
|
'.cm-gutters': {
|
|
76
76
|
borderRight: 'none',
|
|
77
|
-
// background: 'transparent',
|
|
78
77
|
},
|
|
79
78
|
'.cm-gutter': {},
|
|
80
79
|
'.cm-gutter.cm-lineNumbers': {
|
|
81
80
|
paddingRight: '4px',
|
|
82
81
|
borderRight: '1px solid var(--dx-subduedSeparator)',
|
|
82
|
+
color: 'var(--dx-subduedText)',
|
|
83
83
|
},
|
|
84
84
|
'.cm-gutter.cm-lineNumbers .cm-gutterElement': {
|
|
85
85
|
minWidth: '40px',
|
|
@@ -110,6 +110,7 @@ export const defaultTheme: ThemeStyles = {
|
|
|
110
110
|
borderLeft: '2px solid var(--dx-cmCursor)',
|
|
111
111
|
},
|
|
112
112
|
'.cm-placeholder': {
|
|
113
|
+
fontFamily: fontBody,
|
|
113
114
|
color: 'var(--dx-placeholder)',
|
|
114
115
|
},
|
|
115
116
|
|
|
@@ -156,7 +157,7 @@ export const defaultTheme: ThemeStyles = {
|
|
|
156
157
|
* Tooltip.
|
|
157
158
|
*/
|
|
158
159
|
'.cm-tooltip': {
|
|
159
|
-
background: 'var(--dx-
|
|
160
|
+
background: 'var(--dx-baseSurface)',
|
|
160
161
|
},
|
|
161
162
|
'.cm-tooltip-below': {},
|
|
162
163
|
|
|
@@ -165,10 +166,10 @@ export const defaultTheme: ThemeStyles = {
|
|
|
165
166
|
* https://github.com/codemirror/autocomplete/blob/main/src/completion.ts
|
|
166
167
|
*/
|
|
167
168
|
'.cm-tooltip.cm-tooltip-autocomplete': {
|
|
168
|
-
marginTop: '
|
|
169
|
-
marginLeft: '-
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
marginTop: '6px',
|
|
170
|
+
marginLeft: '-10px',
|
|
171
|
+
border: '2px solid var(--dx-separator)',
|
|
172
|
+
borderRadius: '4px',
|
|
172
173
|
},
|
|
173
174
|
'.cm-tooltip.cm-tooltip-autocomplete > ul': {
|
|
174
175
|
maxHeight: '20em',
|
|
@@ -177,13 +178,12 @@ export const defaultTheme: ThemeStyles = {
|
|
|
177
178
|
padding: '4px',
|
|
178
179
|
},
|
|
179
180
|
'.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected]': {
|
|
180
|
-
background: 'var(--dx-
|
|
181
|
-
color: 'var(--dx-
|
|
181
|
+
background: 'var(--dx-activeSurface)',
|
|
182
|
+
color: 'var(--dx-activeSurfaceText)',
|
|
182
183
|
},
|
|
183
184
|
'.cm-tooltip.cm-tooltip-autocomplete > ul > completion-section': {
|
|
184
185
|
paddingLeft: '4px !important',
|
|
185
|
-
|
|
186
|
-
color: 'var(--dx-accentText)',
|
|
186
|
+
color: 'var(--dx-hoverSurfaceText)',
|
|
187
187
|
},
|
|
188
188
|
|
|
189
189
|
'.cm-completionInfo': {
|
|
@@ -197,10 +197,12 @@ export const defaultTheme: ThemeStyles = {
|
|
|
197
197
|
},
|
|
198
198
|
'.cm-completionLabel': {
|
|
199
199
|
fontFamily: fontBody,
|
|
200
|
+
color: 'var(--dx-description)',
|
|
201
|
+
padding: '0 4px',
|
|
200
202
|
},
|
|
201
203
|
'.cm-completionMatchedText': {
|
|
202
204
|
textDecoration: 'none !important',
|
|
203
|
-
|
|
205
|
+
color: 'var(--dx-baseText)',
|
|
204
206
|
},
|
|
205
207
|
|
|
206
208
|
/**
|
package/src/types/types.ts
CHANGED
package/src/util/debug.ts
CHANGED
|
@@ -7,6 +7,11 @@ import { type EditorView } from '@codemirror/view';
|
|
|
7
7
|
|
|
8
8
|
import { log } from '@dxos/log';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Use `trim` from `@dxos/util`.
|
|
12
|
+
*/
|
|
13
|
+
export const str = (...lines: string[]) => lines.join('\n');
|
|
14
|
+
|
|
10
15
|
export const wrapWithCatch = (fn: (...args: any[]) => any, label?: string) => {
|
|
11
16
|
return (...args: any[]) => {
|
|
12
17
|
try {
|
package/src/util/index.ts
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/types.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport { Schema } from 'effect';\n\n// Runtime data structure.\nexport type Range = {\n from: number;\n to: number;\n};\n\n// Persistent data structure.\n// TODO(burdon): Rename annotation?\nexport type Comment = {\n id: string;\n cursor?: string;\n};\n\n/**\n * Callback that renders into a DOM element within the editor.\n */\nexport type RenderCallback<Props extends object> = (el: HTMLElement, props: Props, view: EditorView) => void;\n\nexport const EditorViewModes = ['preview', 'readonly', 'source'] as const;\nexport const EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));\nexport type EditorViewMode = Schema.Schema.Type<typeof EditorViewMode>;\n\nexport const EditorInputModes = ['default', 'vim', 'vscode'] as const;\nexport const EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));\nexport type EditorInputMode = Schema.Schema.Type<typeof EditorInputMode>;\n"],
|
|
5
|
-
"mappings": ";AAKA,SAASA,cAAc;AAoBhB,IAAMC,kBAAkB;EAAC;EAAW;EAAY;;AAChD,IAAMC,iBAAiBC,OAAOC,MAAK,GAAIH,gBAAgBI,IAAI,CAACC,SAASH,OAAOI,QAAQD,IAAAA,CAAAA,CAAAA;AAGpF,IAAME,mBAAmB;EAAC;EAAW;EAAO;;AAC5C,IAAMC,kBAAkBN,OAAOC,MAAK,GAAII,iBAAiBH,IAAI,CAACC,SAASH,OAAOI,QAAQD,IAAAA,CAAAA,CAAAA;",
|
|
6
|
-
"names": ["Schema", "EditorViewModes", "EditorViewMode", "Schema", "Union", "map", "mode", "Literal", "EditorInputModes", "EditorInputMode"]
|
|
7
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
// src/testing/util.ts
|
|
2
|
-
var str = (...lines) => lines.join("\n");
|
|
3
|
-
|
|
4
|
-
// src/testing/PreviewPopover.tsx
|
|
5
|
-
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
6
|
-
import { createContext } from "@radix-ui/react-context";
|
|
7
|
-
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
8
|
-
import { addEventListener } from "@dxos/async";
|
|
9
|
-
import { Popover } from "@dxos/react-ui";
|
|
10
|
-
var [PreviewPopoverContextProvider, usePreviewPopover] = createContext("PreviewPopover", {});
|
|
11
|
-
var PreviewPopoverProvider = ({ children, onLookup }) => {
|
|
12
|
-
var _effect = _useSignals();
|
|
13
|
-
try {
|
|
14
|
-
const trigger = useRef(null);
|
|
15
|
-
const [value, setValue] = useState({});
|
|
16
|
-
const [open, setOpen] = useState(false);
|
|
17
|
-
const handleDxAnchorActivate = useCallback((event) => {
|
|
18
|
-
const { refId, label, trigger: dxTrigger } = event;
|
|
19
|
-
setValue((value2) => ({
|
|
20
|
-
...value2,
|
|
21
|
-
link: {
|
|
22
|
-
label,
|
|
23
|
-
ref: refId
|
|
24
|
-
},
|
|
25
|
-
pending: true
|
|
26
|
-
}));
|
|
27
|
-
trigger.current = dxTrigger;
|
|
28
|
-
queueMicrotask(() => setOpen(true));
|
|
29
|
-
void onLookup?.({
|
|
30
|
-
label,
|
|
31
|
-
ref: refId
|
|
32
|
-
}).then((target) => setValue((value2) => ({
|
|
33
|
-
...value2,
|
|
34
|
-
target: target ?? void 0,
|
|
35
|
-
pending: false
|
|
36
|
-
})));
|
|
37
|
-
}, [
|
|
38
|
-
onLookup
|
|
39
|
-
]);
|
|
40
|
-
const [rootRef, setRootRef] = useState(null);
|
|
41
|
-
useEffect(() => {
|
|
42
|
-
if (!rootRef || !handleDxAnchorActivate) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
return addEventListener(rootRef, "dx-anchor-activate", handleDxAnchorActivate, {
|
|
46
|
-
capture: true,
|
|
47
|
-
passive: false
|
|
48
|
-
});
|
|
49
|
-
}, [
|
|
50
|
-
rootRef,
|
|
51
|
-
handleDxAnchorActivate
|
|
52
|
-
]);
|
|
53
|
-
return /* @__PURE__ */ React.createElement(PreviewPopoverContextProvider, {
|
|
54
|
-
pending: value.pending,
|
|
55
|
-
link: value.link,
|
|
56
|
-
target: value.target
|
|
57
|
-
}, /* @__PURE__ */ React.createElement(Popover.Root, {
|
|
58
|
-
open,
|
|
59
|
-
onOpenChange: setOpen
|
|
60
|
-
}, /* @__PURE__ */ React.createElement(Popover.VirtualTrigger, {
|
|
61
|
-
virtualRef: trigger
|
|
62
|
-
}), /* @__PURE__ */ React.createElement("div", {
|
|
63
|
-
role: "none",
|
|
64
|
-
className: "contents",
|
|
65
|
-
ref: setRootRef
|
|
66
|
-
}, children)));
|
|
67
|
-
} finally {
|
|
68
|
-
_effect.f();
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
export {
|
|
72
|
-
PreviewPopoverProvider,
|
|
73
|
-
str,
|
|
74
|
-
usePreviewPopover
|
|
75
|
-
};
|
|
76
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/testing/util.ts", "../../../../src/testing/PreviewPopover.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n/** deprecated Replace with @dxos/util trim */\n// TODO(burdon): Remove\nexport const str = (...lines: string[]) => lines.join('\\n');\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type PropsWithChildren, type RefObject, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { addEventListener } from '@dxos/async';\nimport { type DxAnchorActivate, Popover } from '@dxos/react-ui';\n\nimport { type PreviewLinkRef, type PreviewLinkTarget } from '../extensions';\n\ntype PreviewLookup = (link: PreviewLinkRef) => Promise<PreviewLinkTarget | null | undefined>;\n\ntype PreviewPopoverValue = Partial<{\n link: PreviewLinkRef;\n target: PreviewLinkTarget;\n pending: boolean;\n}>;\n\nconst [PreviewPopoverContextProvider, usePreviewPopover] = createContext<PreviewPopoverValue>('PreviewPopover', {});\n\ntype PopoverLookupProviderProps = PropsWithChildren<{\n onLookup?: PreviewLookup;\n}>;\n\nconst PreviewPopoverProvider = ({ children, onLookup }: PopoverLookupProviderProps) => {\n const trigger = useRef<HTMLElement | null>(null);\n const [value, setValue] = useState<PreviewPopoverValue>({});\n const [open, setOpen] = useState(false);\n\n const handleDxAnchorActivate = useCallback(\n (event: DxAnchorActivate) => {\n const { refId, label, trigger: dxTrigger } = event;\n setValue((value) => ({\n ...value,\n link: { label, ref: refId },\n pending: true,\n }));\n trigger.current = dxTrigger;\n queueMicrotask(() => setOpen(true));\n void onLookup?.({ label, ref: refId }).then((target) =>\n setValue((value) => ({\n ...value,\n target: target ?? undefined,\n pending: false,\n })),\n );\n },\n [onLookup],\n );\n\n const [rootRef, setRootRef] = useState<HTMLDivElement | null>(null);\n useEffect(() => {\n if (!rootRef || !handleDxAnchorActivate) {\n return;\n }\n\n return addEventListener(rootRef, 'dx-anchor-activate' as any, handleDxAnchorActivate, {\n capture: true,\n passive: false,\n });\n }, [rootRef, handleDxAnchorActivate]);\n\n return (\n <PreviewPopoverContextProvider pending={value.pending} link={value.link} target={value.target}>\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.VirtualTrigger virtualRef={trigger as unknown as RefObject<HTMLButtonElement>} />\n <div role='none' className='contents' ref={setRootRef}>\n {children}\n </div>\n </Popover.Root>\n </PreviewPopoverContextProvider>\n );\n};\nexport { PreviewPopoverProvider, usePreviewPopover };\n\nexport type { PopoverLookupProviderProps, PreviewPopoverValue };\n"],
|
|
5
|
-
"mappings": ";AAMO,IAAMA,MAAM,IAAIC,UAAoBA,MAAMC,KAAK,IAAA;;;;ACFtD,SAASC,qBAAqB;AAC9B,OAAOC,SAAiDC,aAAaC,WAAWC,QAAQC,gBAAgB;AAExG,SAASC,wBAAwB;AACjC,SAAgCC,eAAe;AAY/C,IAAM,CAACC,+BAA+BC,iBAAAA,IAAqBC,cAAmC,kBAAkB,CAAC,CAAA;AAMjH,IAAMC,yBAAyB,CAAC,EAAEC,UAAUC,SAAQ,MAA8B;;;AAChF,UAAMC,UAAUC,OAA2B,IAAA;AAC3C,UAAM,CAACC,OAAOC,QAAAA,IAAYC,SAA8B,CAAC,CAAA;AACzD,UAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAS,KAAA;AAEjC,UAAMG,yBAAyBC,YAC7B,CAACC,UAAAA;AACC,YAAM,EAAEC,OAAOC,OAAOX,SAASY,UAAS,IAAKH;AAC7CN,eAAS,CAACD,YAAW;QACnB,GAAGA;QACHW,MAAM;UAAEF;UAAOG,KAAKJ;QAAM;QAC1BK,SAAS;MACX,EAAA;AACAf,cAAQgB,UAAUJ;AAClBK,qBAAe,MAAMX,QAAQ,IAAA,CAAA;AAC7B,WAAKP,WAAW;QAAEY;QAAOG,KAAKJ;MAAM,CAAA,EAAGQ,KAAK,CAACC,WAC3ChB,SAAS,CAACD,YAAW;QACnB,GAAGA;QACHiB,QAAQA,UAAUC;QAClBL,SAAS;MACX,EAAA,CAAA;IAEJ,GACA;MAAChB;KAAS;AAGZ,UAAM,CAACsB,SAASC,UAAAA,IAAclB,SAAgC,IAAA;AAC9DmB,cAAU,MAAA;AACR,UAAI,CAACF,WAAW,CAACd,wBAAwB;AACvC;MACF;AAEA,aAAOiB,iBAAiBH,SAAS,sBAA6Bd,wBAAwB;QACpFkB,SAAS;QACTC,SAAS;MACX,CAAA;IACF,GAAG;MAACL;MAASd;KAAuB;AAEpC,WACE,sBAAA,cAACb,+BAAAA;MAA8BqB,SAASb,MAAMa;MAASF,MAAMX,MAAMW;MAAMM,QAAQjB,MAAMiB;OACrF,sBAAA,cAACQ,QAAQC,MAAI;MAACvB;MAAYwB,cAAcvB;OACtC,sBAAA,cAACqB,QAAQG,gBAAc;MAACC,YAAY/B;QACpC,sBAAA,cAACgC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;MAAWpB,KAAKQ;OACxCxB,QAAAA,CAAAA,CAAAA;;;;AAKX;",
|
|
6
|
-
"names": ["str", "lines", "join", "createContext", "React", "useCallback", "useEffect", "useRef", "useState", "addEventListener", "Popover", "PreviewPopoverContextProvider", "usePreviewPopover", "createContext", "PreviewPopoverProvider", "children", "onLookup", "trigger", "useRef", "value", "setValue", "useState", "open", "setOpen", "handleDxAnchorActivate", "useCallback", "event", "refId", "label", "dxTrigger", "link", "ref", "pending", "current", "queueMicrotask", "then", "target", "undefined", "rootRef", "setRootRef", "useEffect", "addEventListener", "capture", "passive", "Popover", "Root", "onOpenChange", "VirtualTrigger", "virtualRef", "div", "role", "className"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/types.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type EditorView } from '@codemirror/view';\nimport { Schema } from 'effect';\n\n// Runtime data structure.\nexport type Range = {\n from: number;\n to: number;\n};\n\n// Persistent data structure.\n// TODO(burdon): Rename annotation?\nexport type Comment = {\n id: string;\n cursor?: string;\n};\n\n/**\n * Callback that renders into a DOM element within the editor.\n */\nexport type RenderCallback<Props extends object> = (el: HTMLElement, props: Props, view: EditorView) => void;\n\nexport const EditorViewModes = ['preview', 'readonly', 'source'] as const;\nexport const EditorViewMode = Schema.Union(...EditorViewModes.map((mode) => Schema.Literal(mode)));\nexport type EditorViewMode = Schema.Schema.Type<typeof EditorViewMode>;\n\nexport const EditorInputModes = ['default', 'vim', 'vscode'] as const;\nexport const EditorInputMode = Schema.Union(...EditorInputModes.map((mode) => Schema.Literal(mode)));\nexport type EditorInputMode = Schema.Schema.Type<typeof EditorInputMode>;\n"],
|
|
5
|
-
"mappings": ";;;AAKA,SAASA,cAAc;AAoBhB,IAAMC,kBAAkB;EAAC;EAAW;EAAY;;AAChD,IAAMC,iBAAiBC,OAAOC,MAAK,GAAIH,gBAAgBI,IAAI,CAACC,SAASH,OAAOI,QAAQD,IAAAA,CAAAA,CAAAA;AAGpF,IAAME,mBAAmB;EAAC;EAAW;EAAO;;AAC5C,IAAMC,kBAAkBN,OAAOC,MAAK,GAAII,iBAAiBH,IAAI,CAACC,SAASH,OAAOI,QAAQD,IAAAA,CAAAA,CAAAA;",
|
|
6
|
-
"names": ["Schema", "EditorViewModes", "EditorViewMode", "Schema", "Union", "map", "mode", "Literal", "EditorInputModes", "EditorInputMode"]
|
|
7
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// src/testing/util.ts
|
|
4
|
-
var str = (...lines) => lines.join("\n");
|
|
5
|
-
|
|
6
|
-
// src/testing/PreviewPopover.tsx
|
|
7
|
-
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
8
|
-
import { createContext } from "@radix-ui/react-context";
|
|
9
|
-
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
10
|
-
import { addEventListener } from "@dxos/async";
|
|
11
|
-
import { Popover } from "@dxos/react-ui";
|
|
12
|
-
var [PreviewPopoverContextProvider, usePreviewPopover] = createContext("PreviewPopover", {});
|
|
13
|
-
var PreviewPopoverProvider = ({ children, onLookup }) => {
|
|
14
|
-
var _effect = _useSignals();
|
|
15
|
-
try {
|
|
16
|
-
const trigger = useRef(null);
|
|
17
|
-
const [value, setValue] = useState({});
|
|
18
|
-
const [open, setOpen] = useState(false);
|
|
19
|
-
const handleDxAnchorActivate = useCallback((event) => {
|
|
20
|
-
const { refId, label, trigger: dxTrigger } = event;
|
|
21
|
-
setValue((value2) => ({
|
|
22
|
-
...value2,
|
|
23
|
-
link: {
|
|
24
|
-
label,
|
|
25
|
-
ref: refId
|
|
26
|
-
},
|
|
27
|
-
pending: true
|
|
28
|
-
}));
|
|
29
|
-
trigger.current = dxTrigger;
|
|
30
|
-
queueMicrotask(() => setOpen(true));
|
|
31
|
-
void onLookup?.({
|
|
32
|
-
label,
|
|
33
|
-
ref: refId
|
|
34
|
-
}).then((target) => setValue((value2) => ({
|
|
35
|
-
...value2,
|
|
36
|
-
target: target ?? void 0,
|
|
37
|
-
pending: false
|
|
38
|
-
})));
|
|
39
|
-
}, [
|
|
40
|
-
onLookup
|
|
41
|
-
]);
|
|
42
|
-
const [rootRef, setRootRef] = useState(null);
|
|
43
|
-
useEffect(() => {
|
|
44
|
-
if (!rootRef || !handleDxAnchorActivate) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
return addEventListener(rootRef, "dx-anchor-activate", handleDxAnchorActivate, {
|
|
48
|
-
capture: true,
|
|
49
|
-
passive: false
|
|
50
|
-
});
|
|
51
|
-
}, [
|
|
52
|
-
rootRef,
|
|
53
|
-
handleDxAnchorActivate
|
|
54
|
-
]);
|
|
55
|
-
return /* @__PURE__ */ React.createElement(PreviewPopoverContextProvider, {
|
|
56
|
-
pending: value.pending,
|
|
57
|
-
link: value.link,
|
|
58
|
-
target: value.target
|
|
59
|
-
}, /* @__PURE__ */ React.createElement(Popover.Root, {
|
|
60
|
-
open,
|
|
61
|
-
onOpenChange: setOpen
|
|
62
|
-
}, /* @__PURE__ */ React.createElement(Popover.VirtualTrigger, {
|
|
63
|
-
virtualRef: trigger
|
|
64
|
-
}), /* @__PURE__ */ React.createElement("div", {
|
|
65
|
-
role: "none",
|
|
66
|
-
className: "contents",
|
|
67
|
-
ref: setRootRef
|
|
68
|
-
}, children)));
|
|
69
|
-
} finally {
|
|
70
|
-
_effect.f();
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
export {
|
|
74
|
-
PreviewPopoverProvider,
|
|
75
|
-
str,
|
|
76
|
-
usePreviewPopover
|
|
77
|
-
};
|
|
78
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/testing/util.ts", "../../../../src/testing/PreviewPopover.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n/** deprecated Replace with @dxos/util trim */\n// TODO(burdon): Remove\nexport const str = (...lines: string[]) => lines.join('\\n');\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type PropsWithChildren, type RefObject, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { addEventListener } from '@dxos/async';\nimport { type DxAnchorActivate, Popover } from '@dxos/react-ui';\n\nimport { type PreviewLinkRef, type PreviewLinkTarget } from '../extensions';\n\ntype PreviewLookup = (link: PreviewLinkRef) => Promise<PreviewLinkTarget | null | undefined>;\n\ntype PreviewPopoverValue = Partial<{\n link: PreviewLinkRef;\n target: PreviewLinkTarget;\n pending: boolean;\n}>;\n\nconst [PreviewPopoverContextProvider, usePreviewPopover] = createContext<PreviewPopoverValue>('PreviewPopover', {});\n\ntype PopoverLookupProviderProps = PropsWithChildren<{\n onLookup?: PreviewLookup;\n}>;\n\nconst PreviewPopoverProvider = ({ children, onLookup }: PopoverLookupProviderProps) => {\n const trigger = useRef<HTMLElement | null>(null);\n const [value, setValue] = useState<PreviewPopoverValue>({});\n const [open, setOpen] = useState(false);\n\n const handleDxAnchorActivate = useCallback(\n (event: DxAnchorActivate) => {\n const { refId, label, trigger: dxTrigger } = event;\n setValue((value) => ({\n ...value,\n link: { label, ref: refId },\n pending: true,\n }));\n trigger.current = dxTrigger;\n queueMicrotask(() => setOpen(true));\n void onLookup?.({ label, ref: refId }).then((target) =>\n setValue((value) => ({\n ...value,\n target: target ?? undefined,\n pending: false,\n })),\n );\n },\n [onLookup],\n );\n\n const [rootRef, setRootRef] = useState<HTMLDivElement | null>(null);\n useEffect(() => {\n if (!rootRef || !handleDxAnchorActivate) {\n return;\n }\n\n return addEventListener(rootRef, 'dx-anchor-activate' as any, handleDxAnchorActivate, {\n capture: true,\n passive: false,\n });\n }, [rootRef, handleDxAnchorActivate]);\n\n return (\n <PreviewPopoverContextProvider pending={value.pending} link={value.link} target={value.target}>\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.VirtualTrigger virtualRef={trigger as unknown as RefObject<HTMLButtonElement>} />\n <div role='none' className='contents' ref={setRootRef}>\n {children}\n </div>\n </Popover.Root>\n </PreviewPopoverContextProvider>\n );\n};\nexport { PreviewPopoverProvider, usePreviewPopover };\n\nexport type { PopoverLookupProviderProps, PreviewPopoverValue };\n"],
|
|
5
|
-
"mappings": ";;;AAMO,IAAMA,MAAM,IAAIC,UAAoBA,MAAMC,KAAK,IAAA;;;;ACFtD,SAASC,qBAAqB;AAC9B,OAAOC,SAAiDC,aAAaC,WAAWC,QAAQC,gBAAgB;AAExG,SAASC,wBAAwB;AACjC,SAAgCC,eAAe;AAY/C,IAAM,CAACC,+BAA+BC,iBAAAA,IAAqBC,cAAmC,kBAAkB,CAAC,CAAA;AAMjH,IAAMC,yBAAyB,CAAC,EAAEC,UAAUC,SAAQ,MAA8B;;;AAChF,UAAMC,UAAUC,OAA2B,IAAA;AAC3C,UAAM,CAACC,OAAOC,QAAAA,IAAYC,SAA8B,CAAC,CAAA;AACzD,UAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAS,KAAA;AAEjC,UAAMG,yBAAyBC,YAC7B,CAACC,UAAAA;AACC,YAAM,EAAEC,OAAOC,OAAOX,SAASY,UAAS,IAAKH;AAC7CN,eAAS,CAACD,YAAW;QACnB,GAAGA;QACHW,MAAM;UAAEF;UAAOG,KAAKJ;QAAM;QAC1BK,SAAS;MACX,EAAA;AACAf,cAAQgB,UAAUJ;AAClBK,qBAAe,MAAMX,QAAQ,IAAA,CAAA;AAC7B,WAAKP,WAAW;QAAEY;QAAOG,KAAKJ;MAAM,CAAA,EAAGQ,KAAK,CAACC,WAC3ChB,SAAS,CAACD,YAAW;QACnB,GAAGA;QACHiB,QAAQA,UAAUC;QAClBL,SAAS;MACX,EAAA,CAAA;IAEJ,GACA;MAAChB;KAAS;AAGZ,UAAM,CAACsB,SAASC,UAAAA,IAAclB,SAAgC,IAAA;AAC9DmB,cAAU,MAAA;AACR,UAAI,CAACF,WAAW,CAACd,wBAAwB;AACvC;MACF;AAEA,aAAOiB,iBAAiBH,SAAS,sBAA6Bd,wBAAwB;QACpFkB,SAAS;QACTC,SAAS;MACX,CAAA;IACF,GAAG;MAACL;MAASd;KAAuB;AAEpC,WACE,sBAAA,cAACb,+BAAAA;MAA8BqB,SAASb,MAAMa;MAASF,MAAMX,MAAMW;MAAMM,QAAQjB,MAAMiB;OACrF,sBAAA,cAACQ,QAAQC,MAAI;MAACvB;MAAYwB,cAAcvB;OACtC,sBAAA,cAACqB,QAAQG,gBAAc;MAACC,YAAY/B;QACpC,sBAAA,cAACgC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;MAAWpB,KAAKQ;OACxCxB,QAAAA,CAAAA,CAAAA;;;;AAKX;",
|
|
6
|
-
"names": ["str", "lines", "join", "createContext", "React", "useCallback", "useEffect", "useRef", "useState", "addEventListener", "Popover", "PreviewPopoverContextProvider", "usePreviewPopover", "createContext", "PreviewPopoverProvider", "children", "onLookup", "trigger", "useRef", "value", "setValue", "useState", "open", "setOpen", "handleDxAnchorActivate", "useCallback", "event", "refId", "label", "dxTrigger", "link", "ref", "pending", "current", "queueMicrotask", "then", "target", "undefined", "rootRef", "setRootRef", "useEffect", "addEventListener", "capture", "passive", "Popover", "Root", "onOpenChange", "VirtualTrigger", "virtualRef", "div", "role", "className"]
|
|
7
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { type EditorView } from '@codemirror/view';
|
|
2
|
-
import React, { type PropsWithChildren } from 'react';
|
|
3
|
-
import { type DxAnchorActivate, type Label } from '@dxos/react-ui';
|
|
4
|
-
import { type MaybePromise } from '@dxos/util';
|
|
5
|
-
export type CommandMenuGroup = {
|
|
6
|
-
id: string;
|
|
7
|
-
label?: Label;
|
|
8
|
-
items: CommandMenuItem[];
|
|
9
|
-
};
|
|
10
|
-
export type CommandMenuItem = {
|
|
11
|
-
id: string;
|
|
12
|
-
label: Label;
|
|
13
|
-
icon?: string;
|
|
14
|
-
onSelect?: (view: EditorView, head: number) => MaybePromise<void>;
|
|
15
|
-
};
|
|
16
|
-
export type CommandMenuProps = PropsWithChildren<{
|
|
17
|
-
groups: CommandMenuGroup[];
|
|
18
|
-
onSelect: (item: CommandMenuItem) => void;
|
|
19
|
-
onActivate?: (event: DxAnchorActivate) => void;
|
|
20
|
-
currentItem?: string;
|
|
21
|
-
open?: boolean;
|
|
22
|
-
onOpenChange?: (nextOpen: boolean) => void;
|
|
23
|
-
defaultOpen?: boolean;
|
|
24
|
-
}>;
|
|
25
|
-
export declare const CommandMenuProvider: ({ groups, onSelect, onActivate, currentItem, children, open: propsOpen, onOpenChange, defaultOpen, }: CommandMenuProps) => React.JSX.Element;
|
|
26
|
-
export declare const getItem: (groups: CommandMenuGroup[], id?: string) => CommandMenuItem | undefined;
|
|
27
|
-
export declare const getNextItem: (groups: CommandMenuGroup[], id?: string) => CommandMenuItem;
|
|
28
|
-
export declare const getPreviousItem: (groups: CommandMenuGroup[], id?: string) => CommandMenuItem;
|
|
29
|
-
export declare const filterItems: (groups: CommandMenuGroup[], filter: (item: CommandMenuItem) => boolean) => CommandMenuGroup[];
|
|
30
|
-
export declare const insertAtCursor: (view: EditorView, head: number, insert: string) => void;
|
|
31
|
-
/**
|
|
32
|
-
* If the cursor is at the start of a line, insert the text at the cursor.
|
|
33
|
-
* Otherwise, insert the text on a new line.
|
|
34
|
-
*/
|
|
35
|
-
export declare const insertAtLineStart: (view: EditorView, head: number, insert: string) => void;
|
|
36
|
-
export declare const coreSlashCommands: CommandMenuGroup;
|
|
37
|
-
export declare const linkSlashCommands: CommandMenuGroup;
|
|
38
|
-
//# sourceMappingURL=CommandMenu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CommandMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/CommandMenu/CommandMenu.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,EAAY,KAAK,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AAG1G,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,KAAK,EAKX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;IAC/C,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC,CAAC;AAGH,eAAO,MAAM,mBAAmB,GAAI,sGASjC,gBAAgB,sBAqElB,CAAC;AAiEF,eAAO,MAAM,OAAO,GAAI,QAAQ,gBAAgB,EAAE,EAAE,KAAK,MAAM,KAAG,eAAe,GAAG,SAEnF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,QAAQ,gBAAgB,EAAE,EAAE,KAAK,MAAM,KAAG,eAIrE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,gBAAgB,EAAE,EAAE,KAAK,MAAM,KAAG,eAIzE,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,QAAQ,gBAAgB,EAAE,EAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,KACzC,gBAAgB,EAKlB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,UAAU,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,SAK5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,UAAU,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,SAW/E,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBA6E/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,gBA2B/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CommandMenu/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { type EditorView } from '@codemirror/view';
|
|
2
|
-
import { type NodeArg } from '@dxos/app-graph';
|
|
3
|
-
import { type EditorToolbarState } from './util';
|
|
4
|
-
export declare const createLists: (state: EditorToolbarState, getView: () => EditorView) => {
|
|
5
|
-
nodes: (Readonly<Omit<Readonly<{
|
|
6
|
-
id: string;
|
|
7
|
-
type: string;
|
|
8
|
-
cacheable?: string[];
|
|
9
|
-
properties: Readonly<import("@dxos/react-ui-menu").MenuActionProperties>;
|
|
10
|
-
data: import("@dxos/app-graph").ActionData;
|
|
11
|
-
}>, "properties"> & {
|
|
12
|
-
properties: Readonly<import("@dxos/react-ui-menu").MenuActionProperties>;
|
|
13
|
-
}> | NodeArg<any>)[];
|
|
14
|
-
edges: {
|
|
15
|
-
source: string;
|
|
16
|
-
target: string;
|
|
17
|
-
}[];
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=lists.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../../../src/components/EditorToolbar/lists.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK/C,OAAO,EAAE,KAAK,kBAAkB,EAA+C,MAAM,QAAQ,CAAC;AAiC9F,eAAO,MAAM,WAAW,GAAI,OAAO,kBAAkB,EAAE,SAAS,MAAM,UAAU;;;;;;;;;;;;;;CAW/E,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { type EditorView } from '@codemirror/view';
|
|
2
|
-
import { type Rx } from '@effect-rx/rx-react';
|
|
3
|
-
import { type Action } from '@dxos/app-graph';
|
|
4
|
-
import { type Live } from '@dxos/live-object';
|
|
5
|
-
import { type ThemedClassName } from '@dxos/react-ui';
|
|
6
|
-
import { type ActionGraphProps, type MenuActionProperties, type MenuItemGroup, type MenuSeparator, type ToolbarMenuActionGroupProperties } from '@dxos/react-ui-menu';
|
|
7
|
-
import type { EditorAction, Formatting } from '../../extensions';
|
|
8
|
-
import { type EditorViewMode } from '../../types';
|
|
9
|
-
export type EditorToolbarState = Formatting & Partial<{
|
|
10
|
-
viewMode: EditorViewMode;
|
|
11
|
-
}>;
|
|
12
|
-
export declare const useEditorToolbarState: (initialState?: Partial<EditorToolbarState>) => Live<EditorToolbarState>;
|
|
13
|
-
export type EditorToolbarFeatureFlags = Partial<{
|
|
14
|
-
headings: boolean;
|
|
15
|
-
formatting: boolean;
|
|
16
|
-
lists: boolean;
|
|
17
|
-
blocks: boolean;
|
|
18
|
-
search: boolean;
|
|
19
|
-
image: () => void;
|
|
20
|
-
viewMode: (mode: EditorViewMode) => void;
|
|
21
|
-
}>;
|
|
22
|
-
export type EditorToolbarActionGraphProps = {
|
|
23
|
-
state: Live<EditorToolbarState>;
|
|
24
|
-
getView: () => EditorView;
|
|
25
|
-
customActions?: Rx.Rx<ActionGraphProps>;
|
|
26
|
-
};
|
|
27
|
-
export type EditorToolbarProps = ThemedClassName<EditorToolbarActionGraphProps & EditorToolbarFeatureFlags & {
|
|
28
|
-
attendableId?: string;
|
|
29
|
-
role?: string;
|
|
30
|
-
}>;
|
|
31
|
-
export type EditorToolbarItem = EditorAction | MenuItemGroup | MenuSeparator;
|
|
32
|
-
export declare const createEditorAction: (id: string, props: Partial<MenuActionProperties>, invoke: () => void) => Action<MenuActionProperties>;
|
|
33
|
-
export declare const createEditorActionGroup: (id: string, props: Omit<ToolbarMenuActionGroupProperties, "icon">, icon?: string) => {
|
|
34
|
-
id: string;
|
|
35
|
-
type: string;
|
|
36
|
-
properties: {
|
|
37
|
-
classNames?: import("@dxos/react-ui-types").ClassNameValue;
|
|
38
|
-
hidden?: boolean | undefined;
|
|
39
|
-
variant: "dropdownMenu" | "toggleGroup";
|
|
40
|
-
value: string | (string & string[]);
|
|
41
|
-
disabled?: boolean | undefined;
|
|
42
|
-
iconOnly: boolean;
|
|
43
|
-
testId?: string | undefined;
|
|
44
|
-
checked?: boolean | undefined;
|
|
45
|
-
selectCardinality: "single" | "multiple";
|
|
46
|
-
label: import("@dxos/react-ui").Label;
|
|
47
|
-
icon: string | undefined;
|
|
48
|
-
};
|
|
49
|
-
data: typeof import("@dxos/app-graph").actionGroupSymbol;
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/components/EditorToolbar/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,EAAQ,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gCAAgC,EAGtC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC,CAAC;AAEpF,eAAO,MAAM,qBAAqB,GAAI,eAAc,OAAO,CAAC,kBAAkB,CAAM,6BAEnF,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAEhB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,UAAU,CAAC;IAE1B,aAAa,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAC9C,6BAA6B,GAAG,yBAAyB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CACrG,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC;AAE7E,eAAO,MAAM,kBAAkB,GAAI,IAAI,MAAM,EAAE,OAAO,OAAO,CAAC,oBAAoB,CAAC,EAAE,QAAQ,MAAM,IAAI,KAK/F,MAAM,CAAC,oBAAoB,CAClC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,IAAI,MAAM,EACV,OAAO,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC,EACrD,OAAO,MAAM;;;;;;;;;;;;;;;;;CASd,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type Extension } from '@codemirror/state';
|
|
2
|
-
export type AutocompleteOptions = {
|
|
3
|
-
fireIfEmpty?: boolean;
|
|
4
|
-
/**
|
|
5
|
-
* Callback triggered when Enter is pressed.
|
|
6
|
-
* @param text The current text in the editor
|
|
7
|
-
* @returns true if the editor should reset the document.
|
|
8
|
-
*/
|
|
9
|
-
onSubmit?: (text: string) => boolean | void;
|
|
10
|
-
/**
|
|
11
|
-
* Function that returns a list of suggestions based on the current text.
|
|
12
|
-
* @param text The current text before the cursor
|
|
13
|
-
* @returns Array of suggestion strings
|
|
14
|
-
*/
|
|
15
|
-
onSuggest?: (text: string) => string[];
|
|
16
|
-
/**
|
|
17
|
-
* ESC pressed.
|
|
18
|
-
*/
|
|
19
|
-
onCancel?: () => void;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Creates an autocomplete extension that shows inline suggestions.
|
|
23
|
-
* Pressing Tab will complete the suggestion.
|
|
24
|
-
*/
|
|
25
|
-
export declare const autocomplete: ({ fireIfEmpty, onSubmit, onSuggest, onCancel }: AutocompleteOptions) => Extension;
|
|
26
|
-
//# sourceMappingURL=autocomplete.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/extensions/autocomplete.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,mBAAmB,CAAC;AAWzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAE5C;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,gDAAgD,mBAAmB,KAAG,SA+JlG,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type Command, type KeyBinding } from '@codemirror/view';
|
|
2
|
-
export type Action = {
|
|
3
|
-
type: 'insert';
|
|
4
|
-
text: string;
|
|
5
|
-
} | {
|
|
6
|
-
type: 'cancel';
|
|
7
|
-
};
|
|
8
|
-
export type ActionHandler = (action: Action) => void;
|
|
9
|
-
export declare const openEffect: import("@codemirror/state").StateEffectType<{
|
|
10
|
-
pos: number;
|
|
11
|
-
fullWidth?: boolean;
|
|
12
|
-
}>;
|
|
13
|
-
export declare const closeEffect: import("@codemirror/state").StateEffectType<null>;
|
|
14
|
-
export declare const openCommand: Command;
|
|
15
|
-
export declare const closeCommand: Command;
|
|
16
|
-
export declare const commandKeyBindings: readonly KeyBinding[];
|
|
17
|
-
//# sourceMappingURL=action.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/action.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAIlF,MAAM,MAAM,MAAM,GACd;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAErD,eAAO,MAAM,UAAU;SAA6B,MAAM;gBAAc,OAAO;EAAK,CAAC;AACrF,eAAO,MAAM,WAAW,mDAA6B,CAAC;AAEtD,eAAO,MAAM,WAAW,EAAE,OAWzB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAO1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EASnD,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { StateField } from '@codemirror/state';
|
|
2
|
-
import { type Range } from '../../types';
|
|
3
|
-
import { type PlaceholderOptions } from './placeholder';
|
|
4
|
-
export type CommandMenuOptions = {
|
|
5
|
-
trigger: string | string[];
|
|
6
|
-
placeholder?: Partial<PlaceholderOptions>;
|
|
7
|
-
onClose?: () => void;
|
|
8
|
-
onArrowDown?: () => void;
|
|
9
|
-
onArrowUp?: () => void;
|
|
10
|
-
onEnter?: () => void;
|
|
11
|
-
onTextChange?: (trigger: string, text: string) => void;
|
|
12
|
-
};
|
|
13
|
-
export declare const commandMenu: (options: CommandMenuOptions) => (import("@codemirror/state").Extension | StateField<CommandState | null>)[];
|
|
14
|
-
type CommandState = {
|
|
15
|
-
trigger: string;
|
|
16
|
-
range: Range;
|
|
17
|
-
};
|
|
18
|
-
export declare const commandRangeEffect: import("@codemirror/state").StateEffectType<CommandState | null>;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=command-menu.d.ts.map
|