@dxos/react-ui-editor 0.6.12-staging.e11e696 → 0.6.12
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 +270 -153
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/TextEditor.stories.d.ts +1 -4
- package/dist/types/src/TextEditor.stories.d.ts.map +1 -1
- package/dist/types/src/defaults.d.ts.map +1 -1
- package/dist/types/src/extensions/autocomplete.d.ts +1 -2
- package/dist/types/src/extensions/autocomplete.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/automerge.spec.d.ts +2 -0
- package/dist/types/src/extensions/automerge/automerge.spec.d.ts.map +1 -0
- package/dist/types/src/extensions/automerge/automerge.test.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/awareness/awareness.d.ts +2 -2
- package/dist/types/src/extensions/awareness/awareness.d.ts.map +1 -1
- package/dist/types/src/extensions/command/state.d.ts +2 -2
- package/dist/types/src/extensions/command/state.d.ts.map +1 -1
- 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/{state → extensions}/cursor.d.ts +2 -2
- package/dist/types/src/extensions/cursor.d.ts.map +1 -0
- package/dist/types/src/extensions/debug.d.ts +2 -2
- package/dist/types/src/extensions/debug.d.ts.map +1 -1
- package/dist/types/src/extensions/doc.d.ts +6 -0
- package/dist/types/src/extensions/doc.d.ts.map +1 -0
- package/dist/types/src/extensions/folding.d.ts.map +1 -1
- package/dist/types/src/extensions/index.d.ts +4 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/decorate.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/link.d.ts +1 -1
- package/dist/types/src/extensions/markdown/link.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/styles.d.ts.map +1 -1
- package/dist/types/src/extensions/modes.d.ts +3 -3
- package/dist/types/src/extensions/modes.d.ts.map +1 -1
- package/dist/types/src/extensions/state.d.ts.map +1 -0
- package/dist/types/src/extensions/types.d.ts.map +1 -0
- package/dist/types/src/extensions/util/overlap.d.ts +1 -1
- package/dist/types/src/extensions/util/overlap.d.ts.map +1 -1
- package/dist/types/src/extensions/util/react.d.ts +1 -1
- package/dist/types/src/extensions/util/react.d.ts.map +1 -1
- package/dist/types/src/hooks/useTextEditor.d.ts +1 -1
- package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/styles/markdown.d.ts +2 -1
- package/dist/types/src/styles/markdown.d.ts.map +1 -1
- package/dist/types/src/styles/theme.d.ts.map +1 -1
- package/package.json +37 -54
- package/src/TextEditor.stories.tsx +17 -22
- package/src/defaults.ts +2 -0
- package/src/extensions/annotations.ts +1 -1
- package/src/extensions/autocomplete.ts +8 -9
- package/src/extensions/automerge/{automerge.test.tsx → automerge.spec.tsx} +0 -1
- package/src/extensions/automerge/automerge.stories.tsx +1 -1
- package/src/extensions/automerge/automerge.test.ts +13 -0
- package/src/extensions/automerge/automerge.ts +2 -2
- package/src/extensions/automerge/cursor.ts +1 -1
- package/src/extensions/awareness/awareness.ts +5 -3
- package/src/extensions/command/state.ts +4 -3
- package/src/extensions/comments.ts +43 -37
- package/src/{state → extensions}/cursor.ts +6 -3
- package/src/extensions/debug.ts +2 -2
- package/src/extensions/doc.ts +17 -0
- package/src/extensions/folding.tsx +2 -4
- package/src/extensions/index.ts +4 -0
- package/src/extensions/markdown/changes.test.ts +3 -1
- package/src/extensions/markdown/decorate.ts +6 -49
- package/src/extensions/markdown/formatting.test.ts +3 -1
- package/src/extensions/markdown/highlight.ts +5 -0
- package/src/extensions/markdown/link.ts +2 -3
- package/src/extensions/markdown/parser.test.ts +2 -1
- package/src/extensions/markdown/styles.ts +0 -10
- package/src/extensions/markdown/table.ts +3 -3
- package/src/extensions/modes.ts +5 -6
- package/src/{state → extensions}/state.ts +0 -1
- package/src/extensions/util/overlap.ts +1 -1
- package/src/extensions/util/react.tsx +1 -5
- package/src/hooks/useTextEditor.ts +2 -3
- package/src/index.ts +0 -1
- package/src/styles/markdown.ts +3 -1
- package/src/styles/theme.ts +1 -3
- package/dist/lib/browser/chunk-AZWYO7TE.mjs +0 -148
- package/dist/lib/browser/chunk-AZWYO7TE.mjs.map +0 -7
- package/dist/lib/browser/state/index.mjs +0 -17
- package/dist/lib/browser/state/index.mjs.map +0 -7
- package/dist/lib/node/chunk-5RSKGJRI.cjs +0 -169
- package/dist/lib/node/chunk-5RSKGJRI.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -5480
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/state/index.cjs +0 -39
- package/dist/lib/node/state/index.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-RCIWLRIY.mjs +0 -150
- package/dist/lib/node-esm/chunk-RCIWLRIY.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -5472
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/state/index.mjs +0 -18
- package/dist/lib/node-esm/state/index.mjs.map +0 -7
- package/dist/types/src/state/cursor.d.ts.map +0 -1
- package/dist/types/src/state/doc.d.ts +0 -5
- package/dist/types/src/state/doc.d.ts.map +0 -1
- package/dist/types/src/state/index.d.ts +0 -6
- package/dist/types/src/state/index.d.ts.map +0 -1
- package/dist/types/src/state/state.d.ts.map +0 -1
- package/dist/types/src/state/types.d.ts.map +0 -1
- package/dist/types/src/state/util.d.ts +0 -3
- package/dist/types/src/state/util.d.ts.map +0 -1
- package/src/state/doc.ts +0 -10
- package/src/state/index.ts +0 -11
- package/src/state/util.ts +0 -13
- /package/dist/types/src/{state → extensions}/state.d.ts +0 -0
- /package/dist/types/src/{state → extensions}/types.d.ts +0 -0
- /package/src/{state → extensions}/types.ts +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatting.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.test.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"formatting.test.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/formatting.test.ts"],"names":[],"mappings":"AAUA,OAAO,EAeL,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,eAAe,EAAE,UAU7B,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/highlight.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAexB,CAAC;AAaF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAKlD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAElC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,cAAc,gBAAgB,
|
1
|
+
{"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/highlight.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAmB,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAexB,CAAC;AAaF,eAAO,MAAM,sBAAsB,EAAE,cAAc,EAKlD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAElC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,cAAc,gBAAgB,mBA2HhE,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export declare const linkTooltip: (render: (el:
|
1
|
+
export declare const linkTooltip: (render: (el: Element, url: string) => void) => import("@codemirror/state").Extension & {
|
2
2
|
active: import("@codemirror/state").StateField<readonly import("@codemirror/view").Tooltip[]>;
|
3
3
|
};
|
4
4
|
//# sourceMappingURL=link.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/link.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,WAAW,WAAY,CAAC,EAAE,EAAE,
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/link.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,WAAW,WAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI;;CAyBlE,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,gBAAgB,
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/markdown/styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,eAAO,MAAM,gBAAgB,uCA2F3B,CAAC"}
|
@@ -1,14 +1,14 @@
|
|
1
|
-
import { type Extension } from '@codemirror/state';
|
1
|
+
import { type Extension, Facet } from '@codemirror/state';
|
2
2
|
export declare const focusEvent = "focus.container";
|
3
3
|
export declare const EditorViewModes: readonly ["preview", "readonly", "source"];
|
4
4
|
export type EditorViewMode = (typeof EditorViewModes)[number];
|
5
5
|
export declare const EditorInputModes: readonly ["default", "vim", "vscode"];
|
6
6
|
export type EditorInputMode = (typeof EditorInputModes)[number];
|
7
7
|
export type EditorInputConfig = {
|
8
|
-
type
|
8
|
+
type: string;
|
9
9
|
noTabster?: boolean;
|
10
10
|
};
|
11
|
-
export declare const editorInputMode:
|
11
|
+
export declare const editorInputMode: Facet<EditorInputConfig, EditorInputConfig>;
|
12
12
|
export declare const InputModeExtensions: {
|
13
13
|
[mode: string]: Extension;
|
14
14
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../../../src/extensions/modes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../../../src/extensions/modes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK1D,eAAO,MAAM,UAAU,oBAAoB,CAAC;AAE5C,eAAO,MAAM,eAAe,4CAA6C,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,uCAAwC,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe,6CAE1B,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAsB5D,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/extensions/state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAe,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWtF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5D,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,oBAAoB,GAAG,SAAS,CAAC;CAC5D,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,kBAW3C,CAAC;AAEF,eAAO,MAAM,4BAA4B,4BAA6B,oBAAoB,KAAG,eAO5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,4BAA4B,OAAO,CAAC,kBAAkB,CAAC,KAAQ,SAuChF,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/extensions/types.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAIF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"overlap.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/overlap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"overlap.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/overlap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,OAAO,MAAO,KAAK,KAAK,KAAK,KAAG,OAA2C,CAAC"}
|
@@ -3,5 +3,5 @@ export type ElementOptions = {
|
|
3
3
|
className?: string;
|
4
4
|
};
|
5
5
|
export declare const createElement: (tag: string, options?: ElementOptions, children?: ReactNode) => HTMLElement;
|
6
|
-
export declare const renderRoot:
|
6
|
+
export declare const renderRoot: (root: HTMLElement, node: ReactNode) => HTMLElement;
|
7
7
|
//# sourceMappingURL=react.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/react.tsx"],"names":[],"mappings":"AAIA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/util/react.tsx"],"names":[],"mappings":"AAIA,OAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM9C,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,YAAY,cAAc,aAAa,SAAS,KAAG,WAS3F,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,WAAW,QAAQ,SAAS,KAAG,WAG/D,CAAC"}
|
@@ -3,7 +3,7 @@ import { EditorView } from '@codemirror/view';
|
|
3
3
|
import { useFocusableGroup } from '@fluentui/react-tabster';
|
4
4
|
import { type DependencyList, type KeyboardEventHandler, type RefObject } from 'react';
|
5
5
|
import { type MaybeProvider } from '@dxos/util';
|
6
|
-
import { type EditorSelection } from '../
|
6
|
+
import { type EditorSelection } from '../extensions';
|
7
7
|
export type UseTextEditor = {
|
8
8
|
parentRef: RefObject<HTMLDivElement>;
|
9
9
|
view?: EditorView;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTextEditor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;
|
1
|
+
{"version":3,"file":"useTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTextEditor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAA6D,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhH,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,eAAe,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,GAAG;QACtD,QAAQ,EAAE,CAAC,CAAC;QACZ,OAAO,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;KAC/C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,aAAa,WACjB,aAAa,CAAC,kBAAkB,CAAC,SAClC,cAAc,KACnB,aAsHF,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../../src/styles/markdown.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAYjD,eAAO,MAAM,KAAK
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../../src/styles/markdown.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAYjD,eAAO,MAAM,KAAK;;;;;qBAMC,YAAY;CAG9B,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/styles/theme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,YAAY,EAAE,
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/styles/theme.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAI3C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,YAAY,EAAE,WA6M1B,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dxos/react-ui-editor",
|
3
|
-
"version": "0.6.12
|
3
|
+
"version": "0.6.12",
|
4
4
|
"description": "Document editing experience within a DXOS shell.",
|
5
5
|
"homepage": "https://dxos.org",
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
@@ -9,19 +9,7 @@
|
|
9
9
|
"exports": {
|
10
10
|
".": {
|
11
11
|
"browser": "./dist/lib/browser/index.mjs",
|
12
|
-
"node": {
|
13
|
-
"require": "./dist/lib/node/index.cjs",
|
14
|
-
"default": "./dist/lib/node-esm/index.mjs"
|
15
|
-
},
|
16
12
|
"types": "./dist/types/src/index.d.ts"
|
17
|
-
},
|
18
|
-
"./state": {
|
19
|
-
"browser": "./dist/lib/browser/state/index.mjs",
|
20
|
-
"node": {
|
21
|
-
"require": "./dist/lib/node/state/index.cjs",
|
22
|
-
"default": "./dist/lib/node-esm/state/index.mjs"
|
23
|
-
},
|
24
|
-
"types": "./dist/types/src/state/index.d.ts"
|
25
13
|
}
|
26
14
|
},
|
27
15
|
"types": "dist/types/src/index.d.ts",
|
@@ -33,24 +21,23 @@
|
|
33
21
|
"src"
|
34
22
|
],
|
35
23
|
"dependencies": {
|
36
|
-
"@codemirror/autocomplete": "^6.18.
|
37
|
-
"@codemirror/commands": "^6.6.
|
24
|
+
"@codemirror/autocomplete": "^6.18.0",
|
25
|
+
"@codemirror/commands": "^6.6.0",
|
38
26
|
"@codemirror/lang-javascript": "^6.2.2",
|
39
|
-
"@codemirror/lang-markdown": "^6.
|
40
|
-
"@codemirror/language": "^6.10.
|
27
|
+
"@codemirror/lang-markdown": "^6.2.5",
|
28
|
+
"@codemirror/language": "^6.10.2",
|
41
29
|
"@codemirror/language-data": "^6.5.1",
|
42
|
-
"@codemirror/lint": "^6.8.
|
30
|
+
"@codemirror/lint": "^6.8.1",
|
43
31
|
"@codemirror/search": "^6.5.6",
|
44
32
|
"@codemirror/state": "^6.4.1",
|
45
33
|
"@codemirror/theme-one-dark": "^6.1.2",
|
46
|
-
"@codemirror/view": "^6.
|
34
|
+
"@codemirror/view": "^6.29.1",
|
47
35
|
"@fluentui/react-tabster": "^9.19.0",
|
48
|
-
"@lezer/common": "^1.2.
|
49
|
-
"@lezer/
|
50
|
-
"@lezer/
|
51
|
-
"@lezer/markdown": "^1.3.1",
|
36
|
+
"@lezer/common": "^1.2.1",
|
37
|
+
"@lezer/highlight": "^1.2.0",
|
38
|
+
"@lezer/markdown": "^1.3.0",
|
52
39
|
"@radix-ui/react-context": "^1.0.0",
|
53
|
-
"@replit/codemirror-vim": "^6.
|
40
|
+
"@replit/codemirror-vim": "^6.0.14",
|
54
41
|
"@replit/codemirror-vscode-keymap": "^6.0.2",
|
55
42
|
"codemirror": "^6.0.1",
|
56
43
|
"lib0": "^0.2.65",
|
@@ -60,19 +47,19 @@
|
|
60
47
|
"lodash.sortby": "^4.7.0",
|
61
48
|
"react-dropzone": "^14.2.3",
|
62
49
|
"style-mod": "^4.1.0",
|
63
|
-
"@dxos/async": "0.6.12
|
64
|
-
"@dxos/automerge": "0.6.12
|
65
|
-
"@dxos/
|
66
|
-
"@dxos/
|
67
|
-
"@dxos/display-name": "0.6.12
|
68
|
-
"@dxos/
|
69
|
-
"@dxos/
|
70
|
-
"@dxos/log": "0.6.12
|
71
|
-
"@dxos/protocols": "0.6.12
|
72
|
-
"@dxos/react-hooks": "0.6.12
|
73
|
-
"@dxos/react-ui": "0.6.12
|
74
|
-
"@dxos/react-ui-theme": "0.6.12
|
75
|
-
"@dxos/util": "0.6.12
|
50
|
+
"@dxos/async": "0.6.12",
|
51
|
+
"@dxos/automerge": "0.6.12",
|
52
|
+
"@dxos/context": "0.6.12",
|
53
|
+
"@dxos/debug": "0.6.12",
|
54
|
+
"@dxos/display-name": "0.6.12",
|
55
|
+
"@dxos/echo-schema": "0.6.12",
|
56
|
+
"@dxos/invariant": "0.6.12",
|
57
|
+
"@dxos/log": "0.6.12",
|
58
|
+
"@dxos/protocols": "0.6.12",
|
59
|
+
"@dxos/react-hooks": "0.6.12",
|
60
|
+
"@dxos/react-ui": "0.6.12",
|
61
|
+
"@dxos/react-ui-theme": "0.6.12",
|
62
|
+
"@dxos/util": "0.6.12"
|
76
63
|
},
|
77
64
|
"devDependencies": {
|
78
65
|
"@phosphor-icons/react": "^2.1.5",
|
@@ -80,8 +67,6 @@
|
|
80
67
|
"@testing-library/dom": "^8.17.1",
|
81
68
|
"@testing-library/react": "^13.4.0",
|
82
69
|
"@testing-library/user-event": "^14.4.3",
|
83
|
-
"@types/chai": "^4.2.15",
|
84
|
-
"@types/chai-dom": "^1.11.0",
|
85
70
|
"@types/lodash.defaultsdeep": "^4.6.6",
|
86
71
|
"@types/lodash.get": "^4.4.7",
|
87
72
|
"@types/lodash.merge": "^4.6.6",
|
@@ -89,31 +74,29 @@
|
|
89
74
|
"@types/react": "~18.2.0",
|
90
75
|
"@types/react-dom": "~18.2.0",
|
91
76
|
"@types/react-test-renderer": "^17.0.2",
|
92
|
-
"chai": "^4.4.1",
|
93
|
-
"chai-dom": "^1.11.0",
|
94
77
|
"happy-dom": "^13.3.1",
|
95
78
|
"jsdom": "^24.0.0",
|
96
|
-
"mocha": "^10.6.0",
|
97
79
|
"react": "~18.2.0",
|
98
80
|
"react-dom": "~18.2.0",
|
99
81
|
"react-test-renderer": "~18.2.0",
|
100
|
-
"vite": "5.4
|
82
|
+
"vite": "^5.3.4",
|
101
83
|
"vite-plugin-top-level-await": "^1.4.1",
|
102
84
|
"vite-plugin-wasm": "^3.3.0",
|
103
|
-
"@dxos/automerge": "0.6.12
|
104
|
-
"@dxos/config": "0.6.12
|
105
|
-
"@dxos/
|
106
|
-
"@dxos/
|
107
|
-
"@dxos/
|
108
|
-
"@dxos/
|
109
|
-
"@dxos/
|
110
|
-
"@dxos/react-ui": "0.6.12
|
85
|
+
"@dxos/automerge": "0.6.12",
|
86
|
+
"@dxos/config": "0.6.12",
|
87
|
+
"@dxos/echo-signals": "0.6.12",
|
88
|
+
"@dxos/echo-typegen": "0.6.12",
|
89
|
+
"@dxos/keyboard": "0.6.12",
|
90
|
+
"@dxos/random": "0.6.12",
|
91
|
+
"@dxos/react-client": "0.6.12",
|
92
|
+
"@dxos/react-ui": "0.6.12",
|
93
|
+
"@dxos/storybook-utils": "0.6.12"
|
111
94
|
},
|
112
95
|
"peerDependencies": {
|
113
96
|
"@phosphor-icons/react": "^2.1.5",
|
114
|
-
"react": "
|
115
|
-
"react-dom": "
|
116
|
-
"@dxos/react-client": "0.6.12
|
97
|
+
"react": "^18.0.0",
|
98
|
+
"react-dom": "^18.0.0",
|
99
|
+
"@dxos/react-client": "0.6.12"
|
117
100
|
},
|
118
101
|
"publishConfig": {
|
119
102
|
"access": "public"
|
@@ -3,7 +3,6 @@
|
|
3
3
|
//
|
4
4
|
|
5
5
|
import '@dxos-theme';
|
6
|
-
|
7
6
|
import { javascript } from '@codemirror/lang-javascript';
|
8
7
|
import { markdown } from '@codemirror/lang-markdown';
|
9
8
|
import { openSearchPanel } from '@codemirror/search';
|
@@ -47,16 +46,18 @@ import {
|
|
47
46
|
linkTooltip,
|
48
47
|
listener,
|
49
48
|
mention,
|
49
|
+
state,
|
50
50
|
table,
|
51
51
|
typewriter,
|
52
52
|
type CommandAction,
|
53
|
+
type Comment,
|
53
54
|
type CommentsOptions,
|
55
|
+
type EditorSelectionState,
|
54
56
|
debugTree,
|
55
57
|
type DebugNode,
|
56
58
|
} from './extensions';
|
57
59
|
import { renderRoot } from './extensions/util';
|
58
60
|
import { useTextEditor, type UseTextEditorProps } from './hooks';
|
59
|
-
import { type Comment, type EditorSelectionState, state } from './state';
|
60
61
|
import translations from './translations';
|
61
62
|
|
62
63
|
faker.seed(101);
|
@@ -163,8 +164,8 @@ const content = {
|
|
163
164
|
'> This is a long wrapping block quote. Neque reiciendis ullam quae error labore sit, at, et, nulla, aut at nostrum omnis quas nostrum, at consectetur vitae eos asperiores non omnis ullam in beatae at vitae deserunt asperiores sapiente.',
|
164
165
|
'',
|
165
166
|
'> This is ...',
|
166
|
-
'... a multi-line ...',
|
167
|
-
'block quote.',
|
167
|
+
'> ... a multi-line ...',
|
168
|
+
'> block quote.',
|
168
169
|
'',
|
169
170
|
),
|
170
171
|
|
@@ -253,7 +254,7 @@ const renderLinkButton = (el: Element, url: string) => {
|
|
253
254
|
// Story
|
254
255
|
//
|
255
256
|
|
256
|
-
type DebugMode = '
|
257
|
+
type DebugMode = 'syntax' | 'raw';
|
257
258
|
|
258
259
|
type StoryProps = {
|
259
260
|
id?: string;
|
@@ -316,16 +317,16 @@ const Story = ({
|
|
316
317
|
return (
|
317
318
|
<div className='flex w-full'>
|
318
319
|
<div role='none' className='flex w-full overflow-hidden' ref={parentRef} {...focusAttributes} />
|
319
|
-
{debug && (
|
320
|
-
<div className='
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
320
|
+
{debug === 'raw' && (
|
321
|
+
<div className='w-[800px] border-l border-separator overflow-auto'>
|
322
|
+
<pre className='p-1 font-mono text-xs text-green-800 dark:text-green-200'>{view?.state.doc.toString()}</pre>
|
323
|
+
</div>
|
324
|
+
)}
|
325
|
+
{debug === 'syntax' && (
|
326
|
+
<div className='w-[800px] border-l border-separator overflow-auto'>
|
327
|
+
<pre className='p-1 font-mono text-xs text-green-800 dark:text-green-200'>
|
328
|
+
{JSON.stringify(tree, null, 2)}
|
329
|
+
</pre>
|
329
330
|
</div>
|
330
331
|
)}
|
331
332
|
</div>
|
@@ -451,12 +452,6 @@ export const ScrollTo = {
|
|
451
452
|
// Markdown
|
452
453
|
//
|
453
454
|
|
454
|
-
export const Blockquote = {
|
455
|
-
render: () => (
|
456
|
-
<Story text={str('> Blockquote', 'continuation', content.footer)} extensions={decorateMarkdown()} debug='raw' />
|
457
|
-
),
|
458
|
-
};
|
459
|
-
|
460
455
|
export const Headings = {
|
461
456
|
render: () => <Story text={headings} extensions={decorateMarkdown({ numberedHeadings: { from: 2, to: 4 } })} />,
|
462
457
|
};
|
@@ -491,7 +486,7 @@ export const OrderedList = {
|
|
491
486
|
};
|
492
487
|
|
493
488
|
export const TaskList = {
|
494
|
-
render: () => <Story text={str(content.tasks, content.footer)} extensions={[decorateMarkdown()]} debug='raw
|
489
|
+
render: () => <Story text={str(content.tasks, content.footer)} extensions={[decorateMarkdown()]} debug='raw' />,
|
495
490
|
};
|
496
491
|
|
497
492
|
export const Table = {
|
package/src/defaults.ts
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
// Copyright 2023 DXOS.org
|
3
3
|
//
|
4
4
|
|
5
|
+
// https://codemirror.net/examples/autocompletion
|
6
|
+
// https://codemirror.net/docs/ref/#autocomplete.autocompletion
|
7
|
+
// https://codemirror.net/docs/ref/#autocomplete.Completion
|
8
|
+
|
5
9
|
import {
|
6
10
|
autocompletion,
|
7
11
|
completionKeymap,
|
@@ -11,7 +15,6 @@ import {
|
|
11
15
|
type CompletionResult,
|
12
16
|
} from '@codemirror/autocomplete';
|
13
17
|
import { markdownLanguage } from '@codemirror/lang-markdown';
|
14
|
-
import { type Extension } from '@codemirror/state';
|
15
18
|
import { keymap } from '@codemirror/view';
|
16
19
|
|
17
20
|
export type AutocompleteResult = Completion;
|
@@ -22,15 +25,11 @@ export type AutocompleteOptions = {
|
|
22
25
|
onSearch?: (text: string) => Completion[];
|
23
26
|
};
|
24
27
|
|
25
|
-
// https://codemirror.net/examples/autocompletion
|
26
|
-
// https://codemirror.net/docs/ref/#autocomplete.autocompletion
|
27
|
-
// https://codemirror.net/docs/ref/#autocomplete.Completion
|
28
|
-
|
29
28
|
/**
|
30
29
|
* Autocomplete extension.
|
31
30
|
*/
|
32
|
-
export const autocomplete = ({ activateOnTyping, override, onSearch }: AutocompleteOptions = {})
|
33
|
-
const
|
31
|
+
export const autocomplete = ({ activateOnTyping, override, onSearch }: AutocompleteOptions = {}) => {
|
32
|
+
const extentions = [
|
34
33
|
// https://codemirror.net/docs/ref/#view.keymap
|
35
34
|
// https://discuss.codemirror.net/t/how-can-i-replace-the-default-autocompletion-keymap-v6/3322
|
36
35
|
// TODO(burdon): Set custom keymap.
|
@@ -51,7 +50,7 @@ export const autocomplete = ({ activateOnTyping, override, onSearch }: Autocompl
|
|
51
50
|
];
|
52
51
|
|
53
52
|
if (onSearch) {
|
54
|
-
|
53
|
+
extentions.push(
|
55
54
|
// TODO(burdon): Optional decoration via addToOptions
|
56
55
|
markdownLanguage.data.of({
|
57
56
|
autocomplete: (context: CompletionContext): CompletionResult | null => {
|
@@ -69,5 +68,5 @@ export const autocomplete = ({ activateOnTyping, override, onSearch }: Autocompl
|
|
69
68
|
);
|
70
69
|
}
|
71
70
|
|
72
|
-
return
|
71
|
+
return extentions;
|
73
72
|
};
|
@@ -5,7 +5,6 @@
|
|
5
5
|
import { EditorState } from '@codemirror/state';
|
6
6
|
import { EditorView } from '@codemirror/view';
|
7
7
|
import { render, screen } from '@testing-library/react';
|
8
|
-
// TODO(wittjosiah): Move to vitest expect.
|
9
8
|
import chai, { expect } from 'chai';
|
10
9
|
import chaiDom from 'chai-dom';
|
11
10
|
import get from 'lodash.get';
|
@@ -1,5 +1,5 @@
|
|
1
1
|
//
|
2
|
-
// Copyright
|
2
|
+
// Copyright 2023 DXOS.org
|
3
3
|
// Copyright 2024 Automerge
|
4
4
|
// Ref: https://github.com/automerge/automerge-codemirror
|
5
5
|
//
|
@@ -13,7 +13,7 @@ import { type DocAccessor } from '@dxos/react-client/echo';
|
|
13
13
|
import { cursorConverter } from './cursor';
|
14
14
|
import { updateHeadsEffect, isReconcile, type State } from './defs';
|
15
15
|
import { Syncer } from './sync';
|
16
|
-
import { Cursor } from '
|
16
|
+
import { Cursor } from '../cursor';
|
17
17
|
|
18
18
|
export const automerge = (accessor: DocAccessor): Extension => {
|
19
19
|
const syncState = StateField.define<State>({
|
@@ -5,7 +5,7 @@
|
|
5
5
|
import { log } from '@dxos/log';
|
6
6
|
import { type DocAccessor, fromCursor, toCursor } from '@dxos/react-client/echo';
|
7
7
|
|
8
|
-
import { type CursorConverter } from '
|
8
|
+
import { type CursorConverter } from '../cursor';
|
9
9
|
|
10
10
|
export const cursorConverter = (accessor: DocAccessor): CursorConverter => ({
|
11
11
|
toCursor: (pos, assoc) => {
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright 2024 DXOS.org
|
3
3
|
//
|
4
4
|
|
5
|
-
import { Annotation, type Extension, RangeSet, type Range } from '@codemirror/state';
|
5
|
+
import { Annotation, Facet, type Extension, RangeSet, type Range } from '@codemirror/state';
|
6
6
|
import {
|
7
7
|
Decoration,
|
8
8
|
type DecorationSet,
|
@@ -16,7 +16,7 @@ import {
|
|
16
16
|
import { Event } from '@dxos/async';
|
17
17
|
import { Context } from '@dxos/context';
|
18
18
|
|
19
|
-
import {
|
19
|
+
import { Cursor, type CursorConverter } from '../cursor';
|
20
20
|
|
21
21
|
export interface AwarenessProvider {
|
22
22
|
remoteStateChange: Event<void>;
|
@@ -38,7 +38,9 @@ const dummyProvider: AwarenessProvider = {
|
|
38
38
|
update: () => {},
|
39
39
|
};
|
40
40
|
|
41
|
-
export const awarenessProvider =
|
41
|
+
export const awarenessProvider = Facet.define<AwarenessProvider, AwarenessProvider>({
|
42
|
+
combine: (providers) => providers[0] ?? dummyProvider,
|
43
|
+
});
|
42
44
|
|
43
45
|
// TODO(dmaretskyi): Specify the users that actually changed. Currently, we recalculate positions for every user.
|
44
46
|
const RemoteSelectionChangedAnnotation = Annotation.define();
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright 2024 DXOS.org
|
3
3
|
//
|
4
4
|
|
5
|
-
import { StateEffect, StateField } from '@codemirror/state';
|
5
|
+
import { Facet, StateEffect, StateField } from '@codemirror/state';
|
6
6
|
import {
|
7
7
|
type Command,
|
8
8
|
type EditorView,
|
@@ -13,13 +13,14 @@ import {
|
|
13
13
|
} from '@codemirror/view';
|
14
14
|
|
15
15
|
import { type CommandOptions } from './command';
|
16
|
-
import { singleValueFacet } from '../../state';
|
17
16
|
|
18
17
|
type CommandState = {
|
19
18
|
tooltip?: Tooltip | null;
|
20
19
|
};
|
21
20
|
|
22
|
-
export const commandConfig =
|
21
|
+
export const commandConfig = Facet.define<CommandOptions, Required<CommandOptions>>({
|
22
|
+
combine: (providers) => providers[0],
|
23
|
+
});
|
23
24
|
|
24
25
|
export const commandState = StateField.define<CommandState>({
|
25
26
|
create: () => ({}),
|