@dxos/react-ui-editor 0.8.4-main.67995b8 → 0.8.4-main.a4bbb77
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 +3067 -1955
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +71 -1
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/index.mjs +3067 -1955
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +71 -1
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/types/src/components/{Popover → CommandMenu}/CommandMenu.d.ts +10 -6
- package/dist/types/src/components/CommandMenu/CommandMenu.d.ts.map +1 -0
- package/dist/types/src/components/CommandMenu/index.d.ts +2 -0
- package/dist/types/src/components/CommandMenu/index.d.ts.map +1 -0
- package/dist/types/src/components/Editor/Editor.d.ts +15 -9
- package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/image.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/lists.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/search.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/util.d.ts +5 -5
- package/dist/types/src/components/EditorToolbar/util.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/view-mode.d.ts +1 -1
- package/dist/types/src/components/EditorToolbar/view-mode.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/defaults.d.ts.map +1 -1
- package/dist/types/src/extensions/autocomplete.d.ts +20 -7
- package/dist/types/src/extensions/autocomplete.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/automerge.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/automerge.stories.d.ts +10 -19
- package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/defs.d.ts +1 -1
- package/dist/types/src/extensions/automerge/defs.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/sync.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/update-automerge.d.ts.map +1 -1
- package/dist/types/src/extensions/autoscroll.d.ts +10 -0
- package/dist/types/src/extensions/autoscroll.d.ts.map +1 -0
- package/dist/types/src/extensions/{command → command-dialog}/action.d.ts +1 -1
- package/dist/types/src/extensions/command-dialog/action.d.ts.map +1 -0
- package/dist/types/src/extensions/{command/command.d.ts → command-dialog/command-dialog.d.ts} +2 -2
- package/dist/types/src/extensions/command-dialog/command-dialog.d.ts.map +1 -0
- package/dist/types/src/extensions/{command → command-dialog}/hint.d.ts +2 -7
- package/dist/types/src/extensions/command-dialog/hint.d.ts.map +1 -0
- package/dist/types/src/extensions/command-dialog/index.d.ts +4 -0
- package/dist/types/src/extensions/command-dialog/index.d.ts.map +1 -0
- package/dist/types/src/extensions/{command → command-dialog}/state.d.ts +1 -1
- package/dist/types/src/extensions/command-dialog/state.d.ts.map +1 -0
- package/dist/types/src/extensions/command-dialog/typeahead.d.ts.map +1 -0
- package/dist/types/src/extensions/{command → command-menu}/command-menu.d.ts +3 -3
- package/dist/types/src/extensions/command-menu/command-menu.d.ts.map +1 -0
- package/dist/types/src/extensions/command-menu/index.d.ts +3 -0
- package/dist/types/src/extensions/command-menu/index.d.ts.map +1 -0
- package/dist/types/src/extensions/command-menu/placeholder.d.ts.map +1 -0
- package/dist/types/src/extensions/command-menu/useCommandMenu.d.ts +24 -0
- package/dist/types/src/extensions/command-menu/useCommandMenu.d.ts.map +1 -0
- package/dist/types/src/extensions/comments.d.ts +1 -1
- package/dist/types/src/extensions/comments.d.ts.map +1 -1
- package/dist/types/src/extensions/dnd.d.ts.map +1 -1
- package/dist/types/src/extensions/factories.d.ts +3 -8
- package/dist/types/src/extensions/factories.d.ts.map +1 -1
- package/dist/types/src/extensions/floating-menu.d.ts.map +1 -0
- 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 +5 -1
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/action.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/bundle.d.ts +8 -2
- package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/changes.d.ts +1 -1
- package/dist/types/src/extensions/markdown/changes.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/decorate.d.ts +9 -1
- package/dist/types/src/extensions/markdown/decorate.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/formatting.d.ts +1 -1
- package/dist/types/src/extensions/markdown/formatting.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/formatting.test.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/highlight.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/image.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/link.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/outliner.d.ts +1 -1
- package/dist/types/src/extensions/outliner/outliner.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/selection.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/tree.d.ts +2 -2
- package/dist/types/src/extensions/outliner/tree.d.ts.map +1 -1
- package/dist/types/src/extensions/preview/preview.d.ts +3 -6
- package/dist/types/src/extensions/preview/preview.d.ts.map +1 -1
- package/dist/types/src/extensions/tags/extended-markdown.d.ts +10 -0
- package/dist/types/src/extensions/tags/extended-markdown.d.ts.map +1 -0
- package/dist/types/src/extensions/tags/extended-markdown.test.d.ts +2 -0
- package/dist/types/src/extensions/tags/extended-markdown.test.d.ts.map +1 -0
- package/dist/types/src/extensions/tags/index.d.ts +4 -0
- package/dist/types/src/extensions/tags/index.d.ts.map +1 -0
- package/dist/types/src/extensions/tags/streamer.d.ts +12 -0
- package/dist/types/src/extensions/tags/streamer.d.ts.map +1 -0
- package/dist/types/src/extensions/tags/xml-tags.d.ts +72 -0
- package/dist/types/src/extensions/tags/xml-tags.d.ts.map +1 -0
- package/dist/types/src/extensions/tags/xml-util.d.ts +10 -0
- package/dist/types/src/extensions/tags/xml-util.d.ts.map +1 -0
- package/dist/types/src/hooks/useTextEditor.d.ts +2 -2
- package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
- package/dist/types/src/stories/CommandDialog.stories.d.ts +14 -0
- package/dist/types/src/stories/CommandDialog.stories.d.ts.map +1 -0
- package/dist/types/src/stories/CommandMenu.stories.d.ts +10 -4
- package/dist/types/src/stories/CommandMenu.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Comments.stories.d.ts +21 -10
- package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/stories/EditorToolbar.stories.d.ts +39 -3
- package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Experimental.stories.d.ts +22 -13
- package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Markdown.stories.d.ts +32 -43
- package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Outliner.stories.d.ts +15 -21
- package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Preview.stories.d.ts +21 -7
- package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Tags.stories.d.ts +16 -0
- package/dist/types/src/stories/Tags.stories.d.ts.map +1 -0
- package/dist/types/src/stories/TextEditor.stories.d.ts +38 -52
- package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
- package/dist/types/src/stories/components/EditorStory.d.ts +5 -8
- package/dist/types/src/stories/components/EditorStory.d.ts.map +1 -1
- package/dist/types/src/styles/theme.d.ts.map +1 -1
- package/dist/types/src/testing/PreviewPopover.d.ts +20 -0
- package/dist/types/src/testing/PreviewPopover.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/util.d.ts +1 -0
- package/dist/types/src/testing/util.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -1
- package/dist/types/src/types/types.d.ts +1 -1
- package/dist/types/src/util/cursor.d.ts.map +1 -1
- package/dist/types/src/util/debug.d.ts +1 -1
- package/dist/types/src/util/debug.d.ts.map +1 -1
- package/dist/types/src/util/decorations.d.ts +4 -0
- package/dist/types/src/util/decorations.d.ts.map +1 -0
- package/dist/types/src/util/dom.d.ts +2 -12
- package/dist/types/src/util/dom.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +1 -0
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/react.d.ts +1 -1
- package/dist/types/src/util/react.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +70 -66
- package/src/components/{Popover → CommandMenu}/CommandMenu.tsx +95 -26
- package/src/components/{Popover → CommandMenu}/index.ts +0 -2
- package/src/components/Editor/Editor.tsx +50 -15
- package/src/components/EditorToolbar/EditorToolbar.tsx +40 -30
- package/src/components/EditorToolbar/blocks.ts +21 -24
- package/src/components/EditorToolbar/formatting.ts +22 -25
- package/src/components/EditorToolbar/headings.ts +10 -5
- package/src/components/EditorToolbar/image.ts +8 -4
- package/src/components/EditorToolbar/lists.ts +16 -19
- package/src/components/EditorToolbar/search.ts +8 -4
- package/src/components/EditorToolbar/util.ts +16 -5
- package/src/components/EditorToolbar/view-mode.ts +11 -6
- package/src/components/index.ts +1 -1
- package/src/defaults.ts +5 -2
- package/src/extensions/autocomplete.ts +204 -54
- package/src/extensions/automerge/automerge.stories.tsx +31 -24
- package/src/extensions/automerge/automerge.ts +4 -3
- package/src/extensions/automerge/defs.ts +1 -1
- package/src/extensions/automerge/sync.ts +1 -1
- package/src/extensions/automerge/update-automerge.ts +1 -1
- package/src/extensions/autoscroll.ts +157 -0
- package/src/extensions/awareness/awareness.ts +2 -2
- package/src/extensions/{command → command-dialog}/action.ts +2 -3
- package/src/extensions/{command/command.ts → command-dialog/command-dialog.ts} +4 -4
- package/src/extensions/{command → command-dialog}/hint.ts +2 -1
- package/src/extensions/command-dialog/index.ts +7 -0
- package/src/extensions/{command → command-dialog}/state.ts +4 -3
- package/src/extensions/{command → command-dialog}/typeahead.ts +2 -2
- package/src/extensions/{command → command-menu}/command-menu.ts +9 -9
- package/src/extensions/command-menu/index.ts +6 -0
- package/src/extensions/{command → command-menu}/placeholder.ts +1 -1
- package/src/extensions/{command → command-menu}/useCommandMenu.ts +35 -19
- package/src/extensions/comments.ts +18 -13
- package/src/extensions/dnd.ts +1 -1
- package/src/extensions/factories.ts +37 -27
- package/src/extensions/{command/floating-menu.ts → floating-menu.ts} +12 -19
- package/src/extensions/focus.ts +5 -4
- package/src/extensions/folding.tsx +4 -6
- package/src/extensions/index.ts +5 -1
- package/src/extensions/markdown/action.ts +2 -1
- package/src/extensions/markdown/bundle.ts +27 -5
- package/src/extensions/markdown/changes.ts +1 -1
- package/src/extensions/markdown/decorate.ts +24 -14
- package/src/extensions/markdown/formatting.test.ts +6 -6
- package/src/extensions/markdown/formatting.ts +3 -3
- package/src/extensions/markdown/highlight.ts +1 -1
- package/src/extensions/markdown/image.ts +3 -4
- package/src/extensions/markdown/link.ts +3 -0
- package/src/extensions/markdown/table.ts +7 -1
- package/src/extensions/mention.ts +1 -1
- package/src/extensions/outliner/outliner.test.ts +3 -2
- package/src/extensions/outliner/outliner.ts +6 -5
- package/src/extensions/outliner/selection.ts +1 -1
- package/src/extensions/outliner/tree.test.ts +2 -1
- package/src/extensions/outliner/tree.ts +2 -2
- package/src/extensions/preview/preview.ts +59 -62
- package/src/extensions/selection.ts +2 -2
- package/src/extensions/tags/extended-markdown.test.ts +261 -0
- package/src/extensions/tags/extended-markdown.ts +78 -0
- package/src/extensions/tags/index.ts +7 -0
- package/src/extensions/tags/streamer.ts +243 -0
- package/src/extensions/tags/xml-tags.ts +393 -0
- package/src/extensions/tags/xml-util.ts +94 -0
- package/src/hooks/useTextEditor.ts +8 -20
- package/src/stories/CommandDialog.stories.tsx +89 -0
- package/src/stories/CommandMenu.stories.tsx +33 -34
- package/src/stories/Comments.stories.tsx +14 -10
- package/src/stories/EditorToolbar.stories.tsx +13 -12
- package/src/stories/Experimental.stories.tsx +17 -13
- package/src/stories/Markdown.stories.tsx +25 -21
- package/src/stories/Outliner.stories.tsx +46 -34
- package/src/stories/Preview.stories.tsx +34 -33
- package/src/stories/Tags.stories.tsx +81 -0
- package/src/stories/TextEditor.stories.tsx +45 -38
- package/src/stories/components/EditorStory.tsx +12 -13
- package/src/styles/theme.ts +15 -12
- package/src/testing/PreviewPopover.tsx +78 -0
- package/src/testing/index.ts +1 -0
- package/src/testing/util.ts +2 -0
- package/src/translations.ts +1 -1
- package/src/util/cursor.ts +2 -1
- package/src/util/debug.ts +2 -2
- package/src/util/decorations.ts +21 -0
- package/src/util/dom.ts +5 -27
- package/src/util/index.ts +1 -0
- package/src/util/react.tsx +1 -1
- package/dist/types/src/components/Popover/CommandMenu.d.ts.map +0 -1
- package/dist/types/src/components/Popover/RefDropdownMenu.d.ts +0 -21
- package/dist/types/src/components/Popover/RefDropdownMenu.d.ts.map +0 -1
- package/dist/types/src/components/Popover/RefPopover.d.ts +0 -34
- package/dist/types/src/components/Popover/RefPopover.d.ts.map +0 -1
- package/dist/types/src/components/Popover/index.d.ts +0 -4
- package/dist/types/src/components/Popover/index.d.ts.map +0 -1
- package/dist/types/src/extensions/command/action.d.ts.map +0 -1
- package/dist/types/src/extensions/command/command-menu.d.ts.map +0 -1
- package/dist/types/src/extensions/command/command.d.ts.map +0 -1
- package/dist/types/src/extensions/command/floating-menu.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/types/src/extensions/command/state.d.ts.map +0 -1
- package/dist/types/src/extensions/command/typeahead.d.ts.map +0 -1
- package/dist/types/src/extensions/command/useCommandMenu.d.ts +0 -26
- package/dist/types/src/extensions/command/useCommandMenu.d.ts.map +0 -1
- package/dist/types/src/stories/Command.stories.d.ts +0 -7
- package/dist/types/src/stories/Command.stories.d.ts.map +0 -1
- package/src/components/Popover/RefDropdownMenu.tsx +0 -85
- package/src/components/Popover/RefPopover.tsx +0 -99
- package/src/extensions/command/index.ts +0 -10
- package/src/stories/Command.stories.tsx +0 -97
- /package/dist/types/src/extensions/{command → command-dialog}/typeahead.d.ts +0 -0
- /package/dist/types/src/extensions/{command → command-menu}/placeholder.d.ts +0 -0
- /package/dist/types/src/extensions/{command/floating-menu.d.ts → floating-menu.d.ts} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { type EditorView } from '@codemirror/view';
|
|
6
|
-
import React, { type ReactNode, forwardRef, useEffect,
|
|
6
|
+
import React, { type ReactNode, forwardRef, useEffect, useImperativeHandle, useMemo, useState } from 'react';
|
|
7
7
|
|
|
8
8
|
import { Expando } from '@dxos/echo-schema';
|
|
9
9
|
import { invariant } from '@dxos/invariant';
|
|
@@ -16,26 +16,25 @@ import { JsonFilter } from '@dxos/react-ui-syntax-highlighter';
|
|
|
16
16
|
import { mx } from '@dxos/react-ui-theme';
|
|
17
17
|
import { isNonNullable } from '@dxos/util';
|
|
18
18
|
|
|
19
|
-
import {
|
|
19
|
+
import { editorGutter, editorSlots } from '../../defaults';
|
|
20
20
|
import {
|
|
21
21
|
type DebugNode,
|
|
22
22
|
type ThemeExtensionsOptions,
|
|
23
|
-
createDataExtensions,
|
|
24
23
|
createBasicExtensions,
|
|
24
|
+
createDataExtensions,
|
|
25
25
|
createMarkdownExtensions,
|
|
26
26
|
createThemeExtensions,
|
|
27
27
|
debugTree,
|
|
28
28
|
} from '../../extensions';
|
|
29
|
-
import {
|
|
29
|
+
import { type UseTextEditorProps, useTextEditor } from '../../hooks';
|
|
30
30
|
|
|
31
31
|
// Type definitions.
|
|
32
32
|
export type DebugMode = 'raw' | 'tree' | 'raw+tree';
|
|
33
33
|
|
|
34
34
|
const defaultId = 'editor-' + PublicKey.random().toHex().slice(0, 8);
|
|
35
35
|
|
|
36
|
-
export type StoryProps = Pick<UseTextEditorProps, 'scrollTo' | 'selection' | 'extensions'> &
|
|
36
|
+
export type StoryProps = Pick<UseTextEditorProps, 'id' | 'scrollTo' | 'selection' | 'extensions'> &
|
|
37
37
|
Pick<ThemeExtensionsOptions, 'slots'> & {
|
|
38
|
-
id?: string;
|
|
39
38
|
debug?: DebugMode;
|
|
40
39
|
debugCustom?: (view: EditorView) => ReactNode;
|
|
41
40
|
text?: string;
|
|
@@ -46,18 +45,18 @@ export type StoryProps = Pick<UseTextEditorProps, 'scrollTo' | 'selection' | 'ex
|
|
|
46
45
|
onReady?: (view: EditorView) => void;
|
|
47
46
|
};
|
|
48
47
|
|
|
49
|
-
export const EditorStory = forwardRef<EditorView |
|
|
48
|
+
export const EditorStory = forwardRef<EditorView | null, StoryProps>(
|
|
50
49
|
({ debug, debugCustom, text, extensions: _extensions, ...props }, forwardedRef) => {
|
|
51
|
-
const attentionAttrs = useAttentionAttributes('
|
|
50
|
+
const attentionAttrs = useAttentionAttributes('test-panel');
|
|
52
51
|
const [tree, setTree] = useState<DebugNode>();
|
|
53
52
|
const [object] = useState(createObject(live(Expando, { content: text ?? '' })));
|
|
54
53
|
const viewRef = useForwardedRef(forwardedRef);
|
|
55
|
-
const view = viewRef.current;
|
|
56
54
|
const extensions = useMemo(
|
|
57
55
|
() => (debug ? [_extensions, debugTree(setTree)].filter(isNonNullable) : _extensions),
|
|
58
56
|
[debug, _extensions],
|
|
59
57
|
);
|
|
60
58
|
|
|
59
|
+
const view = viewRef.current;
|
|
61
60
|
return (
|
|
62
61
|
<div className={mx('w-full h-full grid overflow-hidden', debug && 'grid-cols-2 lg:grid-cols-[1fr_600px]')}>
|
|
63
62
|
<EditorComponent ref={viewRef} object={object} text={text} extensions={extensions} {...props} />
|
|
@@ -84,7 +83,7 @@ export const EditorStory = forwardRef<EditorView | undefined, StoryProps>(
|
|
|
84
83
|
/**
|
|
85
84
|
* Default story component.
|
|
86
85
|
*/
|
|
87
|
-
export const EditorComponent = forwardRef<EditorView |
|
|
86
|
+
export const EditorComponent = forwardRef<EditorView | null, StoryProps>(
|
|
88
87
|
(
|
|
89
88
|
{
|
|
90
89
|
id = defaultId,
|
|
@@ -112,8 +111,8 @@ export const EditorComponent = forwardRef<EditorView | undefined, StoryProps>(
|
|
|
112
111
|
initialValue: text,
|
|
113
112
|
extensions: [
|
|
114
113
|
createDataExtensions({ id, text: createDocAccessor(object, ['content']) }),
|
|
115
|
-
createBasicExtensions({ readOnly, placeholder, lineNumbers, scrollPastEnd: true }),
|
|
116
|
-
createMarkdownExtensions(
|
|
114
|
+
createBasicExtensions({ readOnly, placeholder, lineNumbers, scrollPastEnd: true, search: true }),
|
|
115
|
+
createMarkdownExtensions(),
|
|
117
116
|
createThemeExtensions({ themeMode, syntaxHighlighting: true, slots }),
|
|
118
117
|
editorGutter,
|
|
119
118
|
extensions || [],
|
|
@@ -122,7 +121,7 @@ export const EditorComponent = forwardRef<EditorView | undefined, StoryProps>(
|
|
|
122
121
|
[id, object, extensions, themeMode],
|
|
123
122
|
);
|
|
124
123
|
|
|
125
|
-
useImperativeHandle(forwardedRef, () => view, [view]);
|
|
124
|
+
useImperativeHandle<EditorView | null, EditorView | null>(forwardedRef, () => view, [view]);
|
|
126
125
|
|
|
127
126
|
useEffect(() => {
|
|
128
127
|
if (view) {
|
package/src/styles/theme.ts
CHANGED
|
@@ -64,7 +64,7 @@ export const defaultTheme: ThemeStyles = {
|
|
|
64
64
|
fontFamily: fontBody,
|
|
65
65
|
// NOTE: Base font size (otherwise defined by HTML tag, which might be different for storybook).
|
|
66
66
|
fontSize: '16px',
|
|
67
|
-
lineHeight:
|
|
67
|
+
lineHeight: '24px',
|
|
68
68
|
color: 'unset',
|
|
69
69
|
},
|
|
70
70
|
|
|
@@ -74,7 +74,7 @@ export const defaultTheme: ThemeStyles = {
|
|
|
74
74
|
*/
|
|
75
75
|
'.cm-gutters': {
|
|
76
76
|
borderRight: 'none',
|
|
77
|
-
background: 'transparent',
|
|
77
|
+
// background: 'transparent',
|
|
78
78
|
},
|
|
79
79
|
'.cm-gutter': {},
|
|
80
80
|
'.cm-gutter.cm-lineNumbers': {
|
|
@@ -88,14 +88,15 @@ export const defaultTheme: ThemeStyles = {
|
|
|
88
88
|
* Height is set to match the corresponding line (which may have wrapped).
|
|
89
89
|
*/
|
|
90
90
|
'.cm-gutterElement': {
|
|
91
|
-
fontSize: '12px',
|
|
92
91
|
lineHeight: '24px',
|
|
92
|
+
fontSize: '12px',
|
|
93
93
|
},
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
96
|
* Line.
|
|
97
97
|
*/
|
|
98
98
|
'.cm-line': {
|
|
99
|
+
lineHeight: '24px',
|
|
99
100
|
paddingInline: 0,
|
|
100
101
|
},
|
|
101
102
|
'.cm-activeLine': {
|
|
@@ -164,10 +165,10 @@ export const defaultTheme: ThemeStyles = {
|
|
|
164
165
|
* https://github.com/codemirror/autocomplete/blob/main/src/completion.ts
|
|
165
166
|
*/
|
|
166
167
|
'.cm-tooltip.cm-tooltip-autocomplete': {
|
|
167
|
-
marginTop: '
|
|
168
|
-
marginLeft: '-
|
|
169
|
-
|
|
170
|
-
|
|
168
|
+
marginTop: '6px',
|
|
169
|
+
marginLeft: '-10px',
|
|
170
|
+
border: '2px solid var(--dx-separator)',
|
|
171
|
+
borderRadius: '4px',
|
|
171
172
|
},
|
|
172
173
|
'.cm-tooltip.cm-tooltip-autocomplete > ul': {
|
|
173
174
|
maxHeight: '20em',
|
|
@@ -176,12 +177,12 @@ export const defaultTheme: ThemeStyles = {
|
|
|
176
177
|
padding: '4px',
|
|
177
178
|
},
|
|
178
179
|
'.cm-tooltip.cm-tooltip-autocomplete > ul > li[aria-selected]': {
|
|
179
|
-
background: 'var(--dx-
|
|
180
|
+
background: 'var(--dx-activeSurface)',
|
|
181
|
+
color: 'var(--dx-activeSurfaceText)',
|
|
180
182
|
},
|
|
181
183
|
'.cm-tooltip.cm-tooltip-autocomplete > ul > completion-section': {
|
|
182
184
|
paddingLeft: '4px !important',
|
|
183
|
-
|
|
184
|
-
color: 'var(--dx-accentText)',
|
|
185
|
+
color: 'var(--dx-hoverSurfaceText)',
|
|
185
186
|
},
|
|
186
187
|
|
|
187
188
|
'.cm-completionInfo': {
|
|
@@ -195,10 +196,12 @@ export const defaultTheme: ThemeStyles = {
|
|
|
195
196
|
},
|
|
196
197
|
'.cm-completionLabel': {
|
|
197
198
|
fontFamily: fontBody,
|
|
199
|
+
color: 'var(--dx-description)',
|
|
200
|
+
padding: '0 4px',
|
|
198
201
|
},
|
|
199
202
|
'.cm-completionMatchedText': {
|
|
200
203
|
textDecoration: 'none !important',
|
|
201
|
-
|
|
204
|
+
color: 'var(--dx-baseText)',
|
|
202
205
|
},
|
|
203
206
|
|
|
204
207
|
/**
|
|
@@ -232,7 +235,7 @@ export const defaultTheme: ThemeStyles = {
|
|
|
232
235
|
outline: '1px solid transparent',
|
|
233
236
|
},
|
|
234
237
|
'.cm-panel input, .cm-panel button': {
|
|
235
|
-
backgroundColor: 'var(--dx-
|
|
238
|
+
backgroundColor: 'var(--dx-inputSurface)',
|
|
236
239
|
},
|
|
237
240
|
'.cm-panel input:focus, .cm-panel button:focus': {
|
|
238
241
|
outline: '1px solid var(--dx-neutralFocusIndicator)',
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { createContext } from '@radix-ui/react-context';
|
|
6
|
+
import React, { type PropsWithChildren, type RefObject, useCallback, useEffect, useRef, useState } from 'react';
|
|
7
|
+
|
|
8
|
+
import { addEventListener } from '@dxos/async';
|
|
9
|
+
import { type DxAnchorActivate, Popover } from '@dxos/react-ui';
|
|
10
|
+
|
|
11
|
+
import { type PreviewLinkRef, type PreviewLinkTarget } from '../extensions';
|
|
12
|
+
|
|
13
|
+
type PreviewLookup = (link: PreviewLinkRef) => Promise<PreviewLinkTarget | null | undefined>;
|
|
14
|
+
|
|
15
|
+
type PreviewPopoverValue = Partial<{
|
|
16
|
+
link: PreviewLinkRef;
|
|
17
|
+
target: PreviewLinkTarget;
|
|
18
|
+
pending: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
|
|
21
|
+
const [PreviewPopoverContextProvider, usePreviewPopover] = createContext<PreviewPopoverValue>('PreviewPopover', {});
|
|
22
|
+
|
|
23
|
+
type PopoverLookupProviderProps = PropsWithChildren<{
|
|
24
|
+
onLookup?: PreviewLookup;
|
|
25
|
+
}>;
|
|
26
|
+
|
|
27
|
+
const PreviewPopoverProvider = ({ children, onLookup }: PopoverLookupProviderProps) => {
|
|
28
|
+
const trigger = useRef<HTMLElement | null>(null);
|
|
29
|
+
const [value, setValue] = useState<PreviewPopoverValue>({});
|
|
30
|
+
const [open, setOpen] = useState(false);
|
|
31
|
+
|
|
32
|
+
const handleDxAnchorActivate = useCallback(
|
|
33
|
+
(event: DxAnchorActivate) => {
|
|
34
|
+
const { refId, label, trigger: dxTrigger } = event;
|
|
35
|
+
setValue((value) => ({
|
|
36
|
+
...value,
|
|
37
|
+
link: { label, ref: refId },
|
|
38
|
+
pending: true,
|
|
39
|
+
}));
|
|
40
|
+
trigger.current = dxTrigger;
|
|
41
|
+
queueMicrotask(() => setOpen(true));
|
|
42
|
+
void onLookup?.({ label, ref: refId }).then((target) =>
|
|
43
|
+
setValue((value) => ({
|
|
44
|
+
...value,
|
|
45
|
+
target: target ?? undefined,
|
|
46
|
+
pending: false,
|
|
47
|
+
})),
|
|
48
|
+
);
|
|
49
|
+
},
|
|
50
|
+
[onLookup],
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
const [rootRef, setRootRef] = useState<HTMLDivElement | null>(null);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (!rootRef || !handleDxAnchorActivate) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return addEventListener(rootRef, 'dx-anchor-activate' as any, handleDxAnchorActivate, {
|
|
60
|
+
capture: true,
|
|
61
|
+
passive: false,
|
|
62
|
+
});
|
|
63
|
+
}, [rootRef, handleDxAnchorActivate]);
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<PreviewPopoverContextProvider pending={value.pending} link={value.link} target={value.target}>
|
|
67
|
+
<Popover.Root open={open} onOpenChange={setOpen}>
|
|
68
|
+
<Popover.VirtualTrigger virtualRef={trigger as unknown as RefObject<HTMLButtonElement>} />
|
|
69
|
+
<div role='none' className='contents' ref={setRootRef}>
|
|
70
|
+
{children}
|
|
71
|
+
</div>
|
|
72
|
+
</Popover.Root>
|
|
73
|
+
</PreviewPopoverContextProvider>
|
|
74
|
+
);
|
|
75
|
+
};
|
|
76
|
+
export { PreviewPopoverProvider, usePreviewPopover };
|
|
77
|
+
|
|
78
|
+
export type { PopoverLookupProviderProps, PreviewPopoverValue };
|
package/src/testing/index.ts
CHANGED
package/src/testing/util.ts
CHANGED
package/src/translations.ts
CHANGED
|
@@ -24,8 +24,8 @@ export const translations = [
|
|
|
24
24
|
'selection overlaps existing comment label': 'Selection overlaps existing comment',
|
|
25
25
|
'select text to comment label': 'Select text to comment',
|
|
26
26
|
'image label': 'Insert image',
|
|
27
|
-
'heading label': 'Heading level',
|
|
28
27
|
'table label': 'Create table',
|
|
28
|
+
'heading label': 'Heading level',
|
|
29
29
|
'heading level label_zero': 'Paragraph',
|
|
30
30
|
'heading level label_one': 'Heading level {{count}}',
|
|
31
31
|
'heading level label_other': 'Heading level {{count}}',
|
package/src/util/cursor.ts
CHANGED
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
import { type EditorState } from '@codemirror/state';
|
|
6
6
|
|
|
7
|
-
import { singleValueFacet } from './facet';
|
|
8
7
|
import { type Range } from '../types';
|
|
9
8
|
|
|
9
|
+
import { singleValueFacet } from './facet';
|
|
10
|
+
|
|
10
11
|
/**
|
|
11
12
|
* Determines if two ranges overlap.
|
|
12
13
|
* A range is considered to overlap if there is any intersection
|
package/src/util/debug.ts
CHANGED
|
@@ -7,12 +7,12 @@ import { type EditorView } from '@codemirror/view';
|
|
|
7
7
|
|
|
8
8
|
import { log } from '@dxos/log';
|
|
9
9
|
|
|
10
|
-
export const wrapWithCatch = (fn: (...args: any[]) => any) => {
|
|
10
|
+
export const wrapWithCatch = (fn: (...args: any[]) => any, label?: string) => {
|
|
11
11
|
return (...args: any[]) => {
|
|
12
12
|
try {
|
|
13
13
|
return fn(...args);
|
|
14
14
|
} catch (err) {
|
|
15
|
-
log.catch(err);
|
|
15
|
+
log.catch(err, { label });
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type Range } from '@codemirror/state';
|
|
6
|
+
import { type Decoration, type DecorationSet } from '@codemirror/view';
|
|
7
|
+
|
|
8
|
+
export const decorationSetToArray = (deco: DecorationSet): readonly Range<Decoration>[] => {
|
|
9
|
+
const ranges: Range<Decoration>[] = [];
|
|
10
|
+
const iter = deco.iter();
|
|
11
|
+
while (iter.value) {
|
|
12
|
+
ranges.push({
|
|
13
|
+
from: iter.from,
|
|
14
|
+
to: iter.to,
|
|
15
|
+
value: iter.value,
|
|
16
|
+
});
|
|
17
|
+
iter.next();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return ranges;
|
|
21
|
+
};
|
package/src/util/dom.ts
CHANGED
|
@@ -2,30 +2,28 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export interface Rect {
|
|
5
|
+
export type Rect = {
|
|
8
6
|
readonly left: number;
|
|
9
7
|
readonly right: number;
|
|
10
8
|
readonly top: number;
|
|
11
9
|
readonly bottom: number;
|
|
12
|
-
}
|
|
10
|
+
};
|
|
13
11
|
|
|
14
|
-
export const flattenRect = (rect: Rect, left: boolean) => {
|
|
12
|
+
export const flattenRect = (rect: Rect, left: boolean): Rect => {
|
|
15
13
|
const x = left ? rect.left : rect.right;
|
|
16
14
|
return { left: x, right: x, top: rect.top, bottom: rect.bottom };
|
|
17
15
|
};
|
|
18
16
|
|
|
19
17
|
let scratchRange: Range | null;
|
|
20
18
|
|
|
21
|
-
export const textRange = (node: Text, from: number, to = from) => {
|
|
19
|
+
export const textRange = (node: Text, from: number, to = from): Range => {
|
|
22
20
|
const range = scratchRange || (scratchRange = document.createRange());
|
|
23
21
|
range.setEnd(node, to);
|
|
24
22
|
range.setStart(node, from);
|
|
25
23
|
return range;
|
|
26
24
|
};
|
|
27
25
|
|
|
28
|
-
export const clientRectsFor = (dom: Node) => {
|
|
26
|
+
export const clientRectsFor = (dom: Node): DOMRectList => {
|
|
29
27
|
if (dom.nodeType === 3) {
|
|
30
28
|
return textRange(dom as Text, 0, dom.nodeValue!.length).getClientRects();
|
|
31
29
|
} else if (dom.nodeType === 1) {
|
|
@@ -34,23 +32,3 @@ export const clientRectsFor = (dom: Node) => {
|
|
|
34
32
|
return [] as any as DOMRectList;
|
|
35
33
|
}
|
|
36
34
|
};
|
|
37
|
-
|
|
38
|
-
export type ElementOptions = {
|
|
39
|
-
className?: string;
|
|
40
|
-
text?: string;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export const createElement = (tag: string, options?: ElementOptions, children?: HTMLElement[]): HTMLElement => {
|
|
44
|
-
const el = document.createElement(tag);
|
|
45
|
-
if (options?.className) {
|
|
46
|
-
el.className = options.className;
|
|
47
|
-
}
|
|
48
|
-
if (options?.text) {
|
|
49
|
-
el.textContent = options.text;
|
|
50
|
-
}
|
|
51
|
-
if (children) {
|
|
52
|
-
el.append(...(Array.isArray(children) ? children : [children]));
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return el;
|
|
56
|
-
};
|
package/src/util/index.ts
CHANGED
package/src/util/react.tsx
CHANGED
|
@@ -22,7 +22,7 @@ export const renderRoot = <T extends Element>(root: T, node: ReactNode): T => {
|
|
|
22
22
|
* @deprecated
|
|
23
23
|
*/
|
|
24
24
|
export const createRenderer =
|
|
25
|
-
<
|
|
25
|
+
<TProps extends object>(Component: FC<TProps>): RenderCallback<TProps> =>
|
|
26
26
|
(el, props) => {
|
|
27
27
|
renderRoot(
|
|
28
28
|
el,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CommandMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/Popover/CommandMenu.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAQ,KAAK,KAAK,EAA+D,MAAM,gBAAgB,CAAC;AAC/G,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;IAC7B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;CAC3C,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,mCAAmC,gBAAgB,sBAyB9E,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,21 +0,0 @@
|
|
|
1
|
-
import React, { type PropsWithChildren } from 'react';
|
|
2
|
-
import { type PreviewLinkRef, type PreviewLinkTarget, type PreviewLookup } from '../../extensions';
|
|
3
|
-
type RefDropdownMenuValue = Partial<{
|
|
4
|
-
link: PreviewLinkRef;
|
|
5
|
-
target: PreviewLinkTarget;
|
|
6
|
-
pending: boolean;
|
|
7
|
-
}>;
|
|
8
|
-
declare const useRefDropdownMenu: (consumerName: string) => Partial<{
|
|
9
|
-
link: PreviewLinkRef;
|
|
10
|
-
target: PreviewLinkTarget;
|
|
11
|
-
pending: boolean;
|
|
12
|
-
}>;
|
|
13
|
-
type RefDropdownMenuProviderProps = PropsWithChildren<{
|
|
14
|
-
onLookup?: PreviewLookup;
|
|
15
|
-
}>;
|
|
16
|
-
export declare const RefDropdownMenu: {
|
|
17
|
-
Provider: ({ children, onLookup }: RefDropdownMenuProviderProps) => React.JSX.Element;
|
|
18
|
-
};
|
|
19
|
-
export { useRefDropdownMenu };
|
|
20
|
-
export type { RefDropdownMenuProviderProps, RefDropdownMenuValue };
|
|
21
|
-
//# sourceMappingURL=RefDropdownMenu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RefDropdownMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/Popover/RefDropdownMenu.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAA4D,MAAM,OAAO,CAAC;AAMhH,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOnG,KAAK,oBAAoB,GAAG,OAAO,CAAC;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC,CAAC;AAGH,QAAA,MAAuC,kBAAkB;UANjD,cAAc;YACZ,iBAAiB;aAChB,OAAO;EAIqG,CAAC;AAExH,KAAK,4BAA4B,GAAG,iBAAiB,CAAC;IACpD,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC,CAAC;AAiDH,eAAO,MAAM,eAAe;uCA/C6B,4BAA4B;CAiDpF,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,YAAY,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import React, { type PropsWithChildren } from 'react';
|
|
2
|
-
import { type DxRefTag, type DxRefTagActivate } from '@dxos/lit-ui';
|
|
3
|
-
import { type PreviewLinkRef, type PreviewLinkTarget, type PreviewLookup } from '../../extensions';
|
|
4
|
-
export type RefPopoverProps = PropsWithChildren<{
|
|
5
|
-
modal?: boolean;
|
|
6
|
-
open?: boolean;
|
|
7
|
-
onOpenChange?: (open: boolean) => void;
|
|
8
|
-
onActivate?: (event: DxRefTagActivate) => void;
|
|
9
|
-
}>;
|
|
10
|
-
export declare const RefPopover: React.ForwardRefExoticComponent<{
|
|
11
|
-
modal?: boolean;
|
|
12
|
-
open?: boolean;
|
|
13
|
-
onOpenChange?: (open: boolean) => void;
|
|
14
|
-
onActivate?: (event: DxRefTagActivate) => void;
|
|
15
|
-
} & {
|
|
16
|
-
children?: React.ReactNode | undefined;
|
|
17
|
-
} & React.RefAttributes<DxRefTag | null>>;
|
|
18
|
-
type RefPopoverValue = Partial<{
|
|
19
|
-
link: PreviewLinkRef;
|
|
20
|
-
target: PreviewLinkTarget;
|
|
21
|
-
pending: boolean;
|
|
22
|
-
}>;
|
|
23
|
-
declare const useRefPopover: (consumerName: string) => Partial<{
|
|
24
|
-
link: PreviewLinkRef;
|
|
25
|
-
target: PreviewLinkTarget;
|
|
26
|
-
pending: boolean;
|
|
27
|
-
}>;
|
|
28
|
-
type PreviewProviderProps = PropsWithChildren<{
|
|
29
|
-
onLookup?: PreviewLookup;
|
|
30
|
-
}>;
|
|
31
|
-
declare const PreviewProvider: ({ children, onLookup }: PreviewProviderProps) => React.JSX.Element;
|
|
32
|
-
export { PreviewProvider, useRefPopover };
|
|
33
|
-
export type { PreviewProviderProps, RefPopoverValue };
|
|
34
|
-
//# sourceMappingURL=RefPopover.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RefPopover.d.ts","sourceRoot":"","sources":["../../../../../src/components/Popover/RefPopover.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EACZ,KAAK,iBAAiB,EAOvB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGpE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAInG,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAChD,CAAC,CAAC;AAEH,eAAO,MAAM,UAAU;YANb,OAAO;WACR,OAAO;mBACC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;iBACzB,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI;;;yCAwB/C,CAAC;AAGF,KAAK,eAAe,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAGtG,QAAA,MAAkC,aAAa;UAHR,cAAc;YAAU,iBAAiB;aAAW,OAAO;EAGA,CAAC;AAEnG,KAAK,oBAAoB,GAAG,iBAAiB,CAAC;IAAE,QAAQ,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAE5E,QAAA,MAAM,eAAe,GAAI,wBAAwB,oBAAoB,sBAiCpE,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAE1C,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Popover/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/action.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAmB,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,EAUnD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-menu.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/command-menu.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,UAAU,EAAqB,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAG1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,kBAAkB,gFAmKtD,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAGF,eAAO,MAAM,kBAAkB,kEAA4C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/command.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMzD,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAOzE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;AAEjE,eAAO,MAAM,OAAO,GAAI,UAAS,cAAmB,KAAG,SAatD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"floating-menu.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/floating-menu.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,UAAS,mBAAwB,4CAoH7D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hint.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/hint.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,UAAU,EAAE,KAAK,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnG,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,mBAA2B,WAAW;;aAI5C,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS;mBAEnC,UAAU;;EAuC9B,CAAC;AAEF,qBAAa,IAAK,SAAQ,UAAU;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;gBAA7B,OAAO,EAAE,MAAM,GAAG,WAAW;IAIlD,KAAK,IAAI,eAAe;IAcf,QAAQ,CAAC,GAAG,EAAE,WAAW;;;;;;IAgBzB,WAAW,IAAI,OAAO;CAGhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"placeholder.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/placeholder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAc,UAAU,EAA2C,MAAM,kBAAkB,CAAC;AAInG,KAAK,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,oBAA4B,kBAAkB,KAAG,SAiD5E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAgC,KAAK,OAAO,EAAoB,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAe,KAAK,MAAM,EAAc,MAAM,UAAU,CAAC;AAEhE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,aAAa,+IAAqC,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,cAAc,CAAC;QAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;CACvE,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,YAAY,0BAkEvB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeahead.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/typeahead.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAa3F,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAGhD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAC;CAChE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,iBAAgB,gBAAqB,KAAG,SA4DjE,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC1B,aAAa,MAAM,EAAE,EAAE,UAAS,iBAAsB,MACtD,UAAU,gBAAgB,uBAiB1B,CAAC;AAEJ,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,KAAK,MAAM,EAAE,kBAAa,KAAG,MAAM,GAAG,SAUzF,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type EditorView } from '@codemirror/view';
|
|
2
|
-
import { type RefObject } from 'react';
|
|
3
|
-
import { type DxRefTag, type DxRefTagActivate } from '@dxos/lit-ui';
|
|
4
|
-
import { type MaybePromise } from '@dxos/util';
|
|
5
|
-
import { type PlaceholderOptions } from './placeholder';
|
|
6
|
-
import { type CommandMenuGroup, type CommandMenuItem } from '../../components';
|
|
7
|
-
export type UseCommandMenuOptions = {
|
|
8
|
-
viewRef: RefObject<EditorView | undefined>;
|
|
9
|
-
trigger: string | string[];
|
|
10
|
-
placeholder?: Partial<PlaceholderOptions>;
|
|
11
|
-
getMenu: (trigger: string, query?: string) => MaybePromise<CommandMenuGroup[]>;
|
|
12
|
-
};
|
|
13
|
-
export declare const useCommandMenu: ({ viewRef, trigger, placeholder, getMenu }: UseCommandMenuOptions) => {
|
|
14
|
-
commandMenu: (import("@codemirror/state").Extension | import("@codemirror/state").StateField<{
|
|
15
|
-
trigger: string;
|
|
16
|
-
range: import("../..").Range;
|
|
17
|
-
} | null>)[];
|
|
18
|
-
currentItem: string | undefined;
|
|
19
|
-
groupsRef: import("react").MutableRefObject<CommandMenuGroup[]>;
|
|
20
|
-
ref: import("react").MutableRefObject<DxRefTag | null>;
|
|
21
|
-
open: boolean;
|
|
22
|
-
onActivate: (event: DxRefTagActivate) => Promise<void>;
|
|
23
|
-
onOpenChange: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
24
|
-
onSelect: (item: CommandMenuItem) => void;
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=useCommandMenu.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCommandMenu.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/useCommandMenu.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,SAAS,EAA0C,MAAM,OAAO,CAAC;AAE/E,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAyC,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEtH,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC;CAChF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,4CAA4C,qBAAqB;;;;;;;;;wBAwB9E,gBAAgB;;qBAeQ,eAAe;CAyDxD,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import '@dxos-theme';
|
|
2
|
-
import { type Meta } from '@dxos/storybook-utils';
|
|
3
|
-
import { EditorStory } from './components';
|
|
4
|
-
declare const meta: Meta<typeof EditorStory>;
|
|
5
|
-
export default meta;
|
|
6
|
-
export declare const Default: {};
|
|
7
|
-
//# sourceMappingURL=Command.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Command.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Command.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAMrB,OAAO,EAAyB,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAsD3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CA0BlC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC"}
|