@dxos/react-ui-editor 0.3.11-main.279d9e6 → 0.3.11-main.2c83f41
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 +27 -21
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/extensions/autocomplete.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/index.d.ts +1 -0
- package/dist/types/src/extensions/automerge/index.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/package.json +22 -22
- package/src/extensions/autocomplete.ts +18 -17
- package/src/extensions/automerge/index.ts +1 -0
- package/src/extensions/table.ts +4 -1
- package/src/index.ts +1 -0
|
@@ -18,33 +18,34 @@ import { getColorForValue, inputSurface, mx as mx3 } from "@dxos/react-ui-theme"
|
|
|
18
18
|
|
|
19
19
|
// packages/ui/react-ui-editor/src/extensions/autocomplete.ts
|
|
20
20
|
import { autocompletion, completionKeymap } from "@codemirror/autocomplete";
|
|
21
|
+
import { markdownLanguage } from "@codemirror/lang-markdown";
|
|
21
22
|
import { keymap } from "@codemirror/view";
|
|
22
23
|
var autocomplete = ({ onSearch }) => {
|
|
23
24
|
return [
|
|
24
25
|
// https://codemirror.net/docs/ref/#view.keymap
|
|
25
26
|
// https://discuss.codemirror.net/t/how-can-i-replace-the-default-autocompletion-keymap-v6/3322
|
|
27
|
+
// TODO(burdon): Set custom keymap.
|
|
26
28
|
keymap.of(completionKeymap),
|
|
27
29
|
// https://codemirror.net/examples/autocompletion
|
|
28
30
|
// https://codemirror.net/docs/ref/#autocomplete.autocompletion
|
|
29
31
|
autocompletion({
|
|
30
|
-
|
|
31
|
-
// defaultKeymap: false,
|
|
32
|
+
defaultKeymap: false,
|
|
32
33
|
// Don't start unless key press.
|
|
33
|
-
activateOnTyping: false
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return {
|
|
43
|
-
from: match.from,
|
|
44
|
-
options: onSearch(match.text.toLowerCase())
|
|
45
|
-
};
|
|
34
|
+
activateOnTyping: false
|
|
35
|
+
}),
|
|
36
|
+
// TODO(burdon): Option to create new page?
|
|
37
|
+
// TODO(burdon): Optional decoration via addToOptions
|
|
38
|
+
markdownLanguage.data.of({
|
|
39
|
+
autocomplete: (context) => {
|
|
40
|
+
const match = context.matchBefore(/\w*/);
|
|
41
|
+
if (!match || match.from === match.to && !context.explicit) {
|
|
42
|
+
return null;
|
|
46
43
|
}
|
|
47
|
-
|
|
44
|
+
return {
|
|
45
|
+
from: match.from,
|
|
46
|
+
options: onSearch(match.text.toLowerCase())
|
|
47
|
+
};
|
|
48
|
+
}
|
|
48
49
|
})
|
|
49
50
|
];
|
|
50
51
|
};
|
|
@@ -1708,7 +1709,7 @@ var listener = ({ onFocus, onChange }) => {
|
|
|
1708
1709
|
// packages/ui/react-ui-editor/src/extensions/markdown/bundle.ts
|
|
1709
1710
|
import { closeBrackets as closeBrackets2, closeBracketsKeymap } from "@codemirror/autocomplete";
|
|
1710
1711
|
import { history, historyKeymap, indentWithTab, standardKeymap } from "@codemirror/commands";
|
|
1711
|
-
import { markdownLanguage as
|
|
1712
|
+
import { markdownLanguage as markdownLanguage3, markdown } from "@codemirror/lang-markdown";
|
|
1712
1713
|
import { bracketMatching as bracketMatching2, defaultHighlightStyle as defaultHighlightStyle2, indentOnInput, syntaxHighlighting as syntaxHighlighting2 } from "@codemirror/language";
|
|
1713
1714
|
import { languages } from "@codemirror/language-data";
|
|
1714
1715
|
import { searchKeymap } from "@codemirror/search";
|
|
@@ -1717,7 +1718,7 @@ import { oneDarkHighlightStyle as oneDarkHighlightStyle2 } from "@codemirror/the
|
|
|
1717
1718
|
import { crosshairCursor, drawSelection as drawSelection2, dropCursor, EditorView as EditorView9, highlightActiveLine, keymap as keymap4, placeholder as placeholder2 } from "@codemirror/view";
|
|
1718
1719
|
|
|
1719
1720
|
// packages/ui/react-ui-editor/src/extensions/markdown/highlight.ts
|
|
1720
|
-
import { markdownLanguage } from "@codemirror/lang-markdown";
|
|
1721
|
+
import { markdownLanguage as markdownLanguage2 } from "@codemirror/lang-markdown";
|
|
1721
1722
|
import { HighlightStyle } from "@codemirror/language";
|
|
1722
1723
|
import { tags, styleTags, Tag } from "@lezer/highlight";
|
|
1723
1724
|
import { Table } from "@lezer/markdown";
|
|
@@ -1904,7 +1905,7 @@ var markdownHighlightStyle = (readonly) => {
|
|
|
1904
1905
|
class: "font-mono"
|
|
1905
1906
|
}
|
|
1906
1907
|
], {
|
|
1907
|
-
scope:
|
|
1908
|
+
scope: markdownLanguage2,
|
|
1908
1909
|
all: {
|
|
1909
1910
|
fontFamily: getToken("fontFamily.body", []).join(",")
|
|
1910
1911
|
}
|
|
@@ -1936,7 +1937,7 @@ var markdownBundle = ({ readonly, themeMode, placeholder: _placeholder }) => {
|
|
|
1936
1937
|
// NOTE: This extends the parser; it doesn't affect rendering.
|
|
1937
1938
|
// https://github.github.com/gfm
|
|
1938
1939
|
// https://github.com/lezer-parser/markdown?tab=readme-ov-file#github-flavored-markdown
|
|
1939
|
-
base:
|
|
1940
|
+
base: markdownLanguage3,
|
|
1940
1941
|
// Languages for syntax highlighting fenced code blocks.
|
|
1941
1942
|
codeLanguages: languages,
|
|
1942
1943
|
// Parser extensions.
|
|
@@ -2040,7 +2041,6 @@ var update = (state, options) => {
|
|
|
2040
2041
|
tables.forEach((table2) => {
|
|
2041
2042
|
const hide = state.readOnly || cursor < table2.from || cursor > table2.to;
|
|
2042
2043
|
hide && builder.add(table2.from, table2.to, Decoration7.replace({
|
|
2043
|
-
block: true,
|
|
2044
2044
|
widget: new TableWidget(table2)
|
|
2045
2045
|
}));
|
|
2046
2046
|
builder.add(table2.from, table2.to, Decoration7.mark({
|
|
@@ -2081,6 +2081,9 @@ var TableWidget = class extends WidgetType6 {
|
|
|
2081
2081
|
}
|
|
2082
2082
|
return table2;
|
|
2083
2083
|
}
|
|
2084
|
+
ignoreEvent(e) {
|
|
2085
|
+
return !/^mouse/.test(e.type);
|
|
2086
|
+
}
|
|
2084
2087
|
};
|
|
2085
2088
|
|
|
2086
2089
|
// packages/ui/react-ui-editor/src/extensions/tasklist.ts
|
|
@@ -3040,6 +3043,7 @@ var createAutomergeModel = ({ space, identity, text }) => {
|
|
|
3040
3043
|
export {
|
|
3041
3044
|
AwarenessProvider,
|
|
3042
3045
|
BaseTextEditor,
|
|
3046
|
+
CursorConverter,
|
|
3043
3047
|
Doc,
|
|
3044
3048
|
EditorModes,
|
|
3045
3049
|
MarkdownEditor,
|
|
@@ -3055,11 +3059,13 @@ export {
|
|
|
3055
3059
|
awareness,
|
|
3056
3060
|
basicBundle,
|
|
3057
3061
|
blast,
|
|
3062
|
+
callbackWrapper,
|
|
3058
3063
|
code2 as code,
|
|
3059
3064
|
codeTheme,
|
|
3060
3065
|
comments,
|
|
3061
3066
|
createAutomergeModel,
|
|
3062
3067
|
createYjsModel,
|
|
3068
|
+
cursorConverter,
|
|
3063
3069
|
defaultMarkdownSlots,
|
|
3064
3070
|
defaultOptions,
|
|
3065
3071
|
defaultSlots,
|