@dxos/react-ui-editor 0.3.7-main.645bcb5 → 0.3.7-main.77874ab
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 +16 -22
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/components/Composer/Composer.d.ts +15 -0
- package/dist/types/src/components/Composer/Composer.d.ts.map +1 -0
- package/dist/types/src/components/{Editor/Editor.stories.d.ts → Composer/Composer.stories.d.ts} +3 -3
- package/dist/types/src/components/Composer/Composer.stories.d.ts.map +1 -0
- package/dist/types/src/components/Composer/index.d.ts +2 -0
- package/dist/types/src/components/Composer/index.d.ts.map +1 -0
- package/dist/types/src/components/Markdown/Markdown.d.ts +6 -6
- package/dist/types/src/components/Markdown/Markdown.d.ts.map +1 -1
- package/dist/types/src/components/Markdown/Markdown.stories.d.ts +1 -1
- package/dist/types/src/components/Markdown/markdownTheme.d.ts +4 -10
- package/dist/types/src/components/Markdown/markdownTheme.d.ts.map +1 -1
- package/dist/types/src/components/RichText/RichText.d.ts +7 -7
- package/dist/types/src/components/RichText/RichText.d.ts.map +1 -1
- package/dist/types/src/components/RichText/RichText.stories.d.ts +5 -5
- package/dist/types/src/components/RichText/RichText.stories.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/model.d.ts +3 -3
- package/dist/types/src/model.d.ts.map +1 -1
- package/dist/types/src/testing/proto/gen/schema.d.ts +4 -4
- package/dist/types/src/testing/proto/gen/schema.d.ts.map +1 -1
- package/dist/types/src/testing/replicator.d.ts +4 -4
- package/dist/types/src/testing/replicator.d.ts.map +1 -1
- package/package.json +15 -15
- package/src/components/{Editor/Editor.stories.tsx → Composer/Composer.stories.tsx} +8 -8
- package/src/components/Composer/Composer.tsx +33 -0
- package/src/components/{Editor → Composer}/index.ts +1 -1
- package/src/components/Markdown/Markdown.stories.tsx +3 -3
- package/src/components/Markdown/Markdown.tsx +6 -6
- package/src/components/Markdown/markdownTheme.ts +6 -12
- package/src/components/RichText/RichText.stories.tsx +4 -4
- package/src/components/RichText/RichText.tsx +6 -6
- package/src/components/index.ts +1 -1
- package/src/model.ts +4 -4
- package/src/testing/proto/gen/schema.ts +10 -10
- package/src/testing/proto/schema.proto +2 -2
- package/src/testing/replicator.ts +6 -6
- package/dist/types/src/components/Editor/Editor.d.ts +0 -15
- package/dist/types/src/components/Editor/Editor.d.ts.map +0 -1
- package/dist/types/src/components/Editor/Editor.stories.d.ts.map +0 -1
- package/dist/types/src/components/Editor/index.d.ts +0 -2
- package/dist/types/src/components/Editor/index.d.ts.map +0 -1
- package/src/components/Editor/Editor.tsx +0 -33
|
@@ -41,11 +41,11 @@ export declare const markdownTheme: {
|
|
|
41
41
|
'& .cm-line *': {
|
|
42
42
|
lineHeight: number;
|
|
43
43
|
};
|
|
44
|
-
'
|
|
45
|
-
background:
|
|
44
|
+
'& .cm-selectionBackground': {
|
|
45
|
+
background: string;
|
|
46
46
|
};
|
|
47
|
-
'.dark & .cm-selectionBackground
|
|
48
|
-
background:
|
|
47
|
+
'.dark & .cm-selectionBackground': {
|
|
48
|
+
background: string;
|
|
49
49
|
};
|
|
50
50
|
'& .cm-selectionMatch': {
|
|
51
51
|
background: string;
|
|
@@ -87,12 +87,6 @@ export declare const markdownTheme: {
|
|
|
87
87
|
paddingBlockStart: string;
|
|
88
88
|
paddingBlockEnd: string;
|
|
89
89
|
};
|
|
90
|
-
'& .cm-ySelection, & .cm-yLineSelection': {
|
|
91
|
-
mixBlendMode: string;
|
|
92
|
-
};
|
|
93
|
-
'.dark & .cm-ySelection, .dark & .cm-yLineSelection': {
|
|
94
|
-
mixBlendMode: string;
|
|
95
|
-
};
|
|
96
90
|
'& .cm-ySelectionCaret': {
|
|
97
91
|
display: string;
|
|
98
92
|
insetBlockStart: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownTheme.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/markdownTheme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,eAAO,MAAM,MAAM,YAAY,CAAC;AAIhC,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"markdownTheme.d.ts","sourceRoot":"","sources":["../../../../../src/components/Markdown/markdownTheme.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,eAAO,MAAM,MAAM,YAAY,CAAC;AAChC,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,MAAM,YAAY,CAAC;AAEhC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,eAAO,MAAM,MAAM,YAAY,CAAC;AAIhC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkIzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,gBA6EpC,CAAC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { type Editor } from '@tiptap/react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { type
|
|
3
|
+
import { type ComposerModel, type ComposerSlots } from '../../model';
|
|
4
4
|
export type TipTapEditor = Editor;
|
|
5
5
|
type UseEditorOptions = {
|
|
6
|
-
model?:
|
|
6
|
+
model?: ComposerModel;
|
|
7
7
|
placeholder?: string;
|
|
8
|
-
slots?: Pick<
|
|
8
|
+
slots?: Pick<ComposerSlots, 'editor'>;
|
|
9
9
|
};
|
|
10
|
-
export type
|
|
11
|
-
slots?:
|
|
10
|
+
export type RichTextComposerProps = UseEditorOptions & {
|
|
11
|
+
slots?: ComposerSlots;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
14
|
* @deprecated
|
|
15
15
|
*/
|
|
16
|
-
export declare const
|
|
17
|
-
slots?:
|
|
16
|
+
export declare const RichTextComposer: React.ForwardRefExoticComponent<UseEditorOptions & {
|
|
17
|
+
slots?: ComposerSlots | undefined;
|
|
18
18
|
} & React.RefAttributes<Editor | null>>;
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=RichText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../../../../src/components/RichText/RichText.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAgD,MAAM,eAAe,CAAC;AAE1F,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../../../../../src/components/RichText/RichText.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,MAAM,EAAgD,MAAM,eAAe,CAAC;AAE1F,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAkBrE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;CACvC,CAAC;AA2HF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IACrD,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,gBAAgB;;uCAS3B,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import '@dxosTheme';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { type
|
|
3
|
+
import { type RichTextComposerProps } from './RichText';
|
|
4
4
|
declare const _default: {
|
|
5
5
|
component: React.ForwardRefExoticComponent<{
|
|
6
|
-
model?: import("../..").
|
|
6
|
+
model?: import("../..").ComposerModel | undefined;
|
|
7
7
|
placeholder?: string | undefined;
|
|
8
|
-
slots?: Pick<import("../..").
|
|
8
|
+
slots?: Pick<import("../..").ComposerSlots, "editor"> | undefined;
|
|
9
9
|
} & {
|
|
10
|
-
slots?: import("../..").
|
|
10
|
+
slots?: import("../..").ComposerSlots | undefined;
|
|
11
11
|
} & React.RefAttributes<import("@tiptap/react").Editor | null>>;
|
|
12
12
|
};
|
|
13
13
|
export default _default;
|
|
@@ -20,7 +20,7 @@ export declare const Default: {
|
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
22
|
export declare const WithYjs: {
|
|
23
|
-
render: (args: Omit<
|
|
23
|
+
render: (args: Omit<RichTextComposerProps, 'model'>) => JSX.Element;
|
|
24
24
|
decorators: import("@storybook/csf").DecoratorFunction<import("@storybook/react/dist/types-0a347bb9").R, any>[];
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=RichText.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichText.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/RichText/RichText.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,OAAO,
|
|
1
|
+
{"version":3,"file":"RichText.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/RichText/RichText.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;AAG1E,wBAEE;AAEF,eAAO,MAAM,OAAO;;;;;;;CAOnB,CAAC;AAGF,eAAO,MAAM,OAAO;mBACH,KAAK,qBAAqB,EAAE,OAAO,CAAC;;CAmCpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -4,7 +4,7 @@ import type * as awarenessProtocol from 'y-protocols/awareness';
|
|
|
4
4
|
import { type Space, type TextObject } from '@dxos/react-client/echo';
|
|
5
5
|
import { type Identity } from '@dxos/react-client/halo';
|
|
6
6
|
import type { YText, YXmlFragment } from '@dxos/text-model';
|
|
7
|
-
export type
|
|
7
|
+
export type ComposerSlots = {
|
|
8
8
|
root?: Omit<ComponentProps<'div'>, 'ref'>;
|
|
9
9
|
editor?: {
|
|
10
10
|
className?: string;
|
|
@@ -18,7 +18,7 @@ type Awareness = awarenessProtocol.Awareness;
|
|
|
18
18
|
type Provider = {
|
|
19
19
|
awareness: Awareness;
|
|
20
20
|
};
|
|
21
|
-
export type
|
|
21
|
+
export type ComposerModel = {
|
|
22
22
|
id: string;
|
|
23
23
|
content: string | YText | YXmlFragment;
|
|
24
24
|
provider?: Provider;
|
|
@@ -32,6 +32,6 @@ export type UseTextModelOptions = {
|
|
|
32
32
|
space?: Space;
|
|
33
33
|
text?: TextObject;
|
|
34
34
|
};
|
|
35
|
-
export declare const useTextModel: ({ identity, space, text }: UseTextModelOptions) =>
|
|
35
|
+
export declare const useTextModel: ({ identity, space, text }: UseTextModelOptions) => ComposerModel | undefined;
|
|
36
36
|
export {};
|
|
37
37
|
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAI5D,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,cAAc,EAAW,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAI5D,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACxD,CAAC;CACH,CAAC;AAEF,KAAK,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAC7C,KAAK,QAAQ,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,CAAC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,YAAY,8BAA+B,mBAAmB,KAAG,aAAa,GAAG,SAwB7F,CAAC"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
**/
|
|
4
4
|
import * as dxos_echo_schema from "@dxos/echo-schema";
|
|
5
5
|
export declare const types: dxos_echo_schema.TypeCollection;
|
|
6
|
-
export type
|
|
6
|
+
export type ComposerDocumentProps = {
|
|
7
7
|
content: dxos_echo_schema.Text;
|
|
8
8
|
};
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class ComposerDocument extends dxos_echo_schema.TypedObject<ComposerDocumentProps> {
|
|
10
10
|
static readonly schema: dxos_echo_schema.Schema;
|
|
11
|
-
static filter(filter?: Partial<
|
|
12
|
-
constructor(initValues?: Partial<
|
|
11
|
+
static filter(filter?: Partial<ComposerDocumentProps> | dxos_echo_schema.OperatorFilter<ComposerDocument>): dxos_echo_schema.Filter<ComposerDocument>;
|
|
12
|
+
constructor(initValues?: Partial<ComposerDocumentProps>, opts?: dxos_echo_schema.TypedObjectOptions);
|
|
13
13
|
content: dxos_echo_schema.Text;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../src/testing/proto/gen/schema.ts"],"names":[],"mappings":"AAAA;;IAEI;AAEJ,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,KAAK,iCAAwC,CAAC;AAE3D,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../../../src/testing/proto/gen/schema.ts"],"names":[],"mappings":"AAAA;;IAEI;AAEJ,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,KAAK,iCAAwC,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;CAChC,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,gBAAgB,CAAC,WAAW,CAAC,qBAAqB,CAAC;IACvF,gBAAwB,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAExD,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,EACH,OAAO,CAAC,qBAAqB,CAAC,GAC9B,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAQ1C,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAC3C,IAAI,CAAC,EAAE,gBAAgB,CAAC,kBAAkB;IAIpC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;CACxC"}
|
|
@@ -3,7 +3,7 @@ import * as awarenessProtocol from 'y-protocols/awareness';
|
|
|
3
3
|
import { Doc } from 'yjs';
|
|
4
4
|
import { Event } from '@dxos/async';
|
|
5
5
|
import { TextKind } from '@dxos/protocols/proto/dxos/echo/model/text';
|
|
6
|
-
import { type
|
|
6
|
+
import { type ComposerModel } from '../model';
|
|
7
7
|
type Awareness = awarenessProtocol.Awareness;
|
|
8
8
|
/**
|
|
9
9
|
* Yjs awareness provider in-memory.
|
|
@@ -32,14 +32,14 @@ export declare class Replicator {
|
|
|
32
32
|
private readonly _update;
|
|
33
33
|
private _peers;
|
|
34
34
|
constructor(_kind: TextKind);
|
|
35
|
-
setPeers(peers:
|
|
36
|
-
createPeer: (id: string, doc?: Doc) =>
|
|
35
|
+
setPeers(peers: ComposerModel[]): void;
|
|
36
|
+
createPeer: (id: string, doc?: Doc) => ComposerModel;
|
|
37
37
|
}
|
|
38
38
|
export type UseYjsModelOptions = {
|
|
39
39
|
replicator: Replicator;
|
|
40
40
|
id: string;
|
|
41
41
|
doc?: Doc;
|
|
42
42
|
};
|
|
43
|
-
export declare const useYjsModel: ({ replicator, id, doc }: UseYjsModelOptions) =>
|
|
43
|
+
export declare const useYjsModel: ({ replicator, id, doc }: UseYjsModelOptions) => ComposerModel;
|
|
44
44
|
export {};
|
|
45
45
|
//# sourceMappingURL=replicator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../src/testing/replicator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../src/testing/replicator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,KAAK,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAM7C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,GAAG,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAM;gBAEf,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,GAAG,EAAE,GAAG,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE;IA+BtG,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,mBAAmB;CAG5B;AAED;;GAEG;AACH,qBAAa,UAAU;IAIT,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAuB;gBAER,KAAK,EAAE,QAAQ;IAE5C,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE;IAI/B,UAAU,OAAQ,MAAM,QAAO,GAAG,KAAe,aAAa,CAmB5D;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,WAAW,4BAA6B,kBAAkB,KAAG,aAIzE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui-editor",
|
|
3
|
-
"version": "0.3.7-main.
|
|
3
|
+
"version": "0.3.7-main.77874ab",
|
|
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",
|
|
@@ -47,15 +47,15 @@
|
|
|
47
47
|
"y-prosemirror": "~1.0.20",
|
|
48
48
|
"y-protocols": "^1.0.5",
|
|
49
49
|
"yjs": "^13.6.8",
|
|
50
|
-
"@dxos/debug": "0.3.7-main.
|
|
51
|
-
"@dxos/display-name": "0.3.7-main.
|
|
52
|
-
"@dxos/log": "0.3.7-main.
|
|
53
|
-
"@dxos/protocols": "0.3.7-main.
|
|
54
|
-
"@dxos/react-async": "0.3.7-main.
|
|
55
|
-
"@dxos/react-ui": "0.3.7-main.
|
|
56
|
-
"@dxos/react-ui-theme": "0.3.7-main.
|
|
57
|
-
"@dxos/text-model": "0.3.7-main.
|
|
58
|
-
"@dxos/util": "0.3.7-main.
|
|
50
|
+
"@dxos/debug": "0.3.7-main.77874ab",
|
|
51
|
+
"@dxos/display-name": "0.3.7-main.77874ab",
|
|
52
|
+
"@dxos/log": "0.3.7-main.77874ab",
|
|
53
|
+
"@dxos/protocols": "0.3.7-main.77874ab",
|
|
54
|
+
"@dxos/react-async": "0.3.7-main.77874ab",
|
|
55
|
+
"@dxos/react-ui": "0.3.7-main.77874ab",
|
|
56
|
+
"@dxos/react-ui-theme": "0.3.7-main.77874ab",
|
|
57
|
+
"@dxos/text-model": "0.3.7-main.77874ab",
|
|
58
|
+
"@dxos/util": "0.3.7-main.77874ab"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/lodash.get": "^4.4.7",
|
|
@@ -63,15 +63,15 @@
|
|
|
63
63
|
"@types/react-dom": "^18.0.6",
|
|
64
64
|
"react": "^18.2.0",
|
|
65
65
|
"react-dom": "^18.2.0",
|
|
66
|
-
"@dxos/config": "0.3.7-main.
|
|
67
|
-
"@dxos/echo-schema": "0.3.7-main.
|
|
68
|
-
"@dxos/echo-typegen": "0.3.7-main.
|
|
69
|
-
"@dxos/react-client": "0.3.7-main.
|
|
66
|
+
"@dxos/config": "0.3.7-main.77874ab",
|
|
67
|
+
"@dxos/echo-schema": "0.3.7-main.77874ab",
|
|
68
|
+
"@dxos/echo-typegen": "0.3.7-main.77874ab",
|
|
69
|
+
"@dxos/react-client": "0.3.7-main.77874ab"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"react": "^18.2.0",
|
|
73
73
|
"react-dom": "^18.2.0",
|
|
74
|
-
"@dxos/react-client": "0.3.7-main.
|
|
74
|
+
"@dxos/react-client": "0.3.7-main.77874ab"
|
|
75
75
|
},
|
|
76
76
|
"publishConfig": {
|
|
77
77
|
"access": "public"
|
|
@@ -12,20 +12,20 @@ import { useIdentity } from '@dxos/react-client/halo';
|
|
|
12
12
|
import { ClientDecorator, setupPeersInSpace, textGenerator, useDataGenerator } from '@dxos/react-client/testing';
|
|
13
13
|
import { useId } from '@dxos/react-ui';
|
|
14
14
|
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
15
|
+
import { Composer, type ComposerProps } from './Composer';
|
|
16
|
+
import { ComposerDocument, types as schema } from '../../testing';
|
|
17
17
|
|
|
18
18
|
export default {
|
|
19
|
-
component:
|
|
19
|
+
component: Composer,
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const Story = ({ spaceKey, ...args }: Pick<
|
|
22
|
+
const Story = ({ spaceKey, ...args }: Pick<ComposerProps, 'slots'> & { spaceKey: PublicKey }) => {
|
|
23
23
|
const [generate, setGenerate] = useState(false);
|
|
24
24
|
const generateId = useId('generate');
|
|
25
25
|
|
|
26
26
|
const identity = useIdentity();
|
|
27
27
|
const space = useSpace(spaceKey);
|
|
28
|
-
const [document] = useQuery(space,
|
|
28
|
+
const [document] = useQuery(space, ComposerDocument.filter());
|
|
29
29
|
|
|
30
30
|
useDataGenerator({
|
|
31
31
|
generator: generate ? textGenerator : undefined,
|
|
@@ -39,7 +39,7 @@ const Story = ({ spaceKey, ...args }: Pick<EditorProps, 'slots'> & { spaceKey: P
|
|
|
39
39
|
Generate Data
|
|
40
40
|
</div>
|
|
41
41
|
{document?.content.toString().length}
|
|
42
|
-
<
|
|
42
|
+
<Composer identity={identity} space={space} text={document?.content} {...args} />
|
|
43
43
|
</main>
|
|
44
44
|
);
|
|
45
45
|
};
|
|
@@ -48,7 +48,7 @@ const { spaceKey: markdownSpaceKey, clients: markdownClients } = await setupPeer
|
|
|
48
48
|
count: 2,
|
|
49
49
|
schema,
|
|
50
50
|
onCreateSpace: async (space) => {
|
|
51
|
-
const document = new
|
|
51
|
+
const document = new ComposerDocument({ content: new TextObject('Hello, Storybook!') });
|
|
52
52
|
await space?.db.add(document);
|
|
53
53
|
},
|
|
54
54
|
});
|
|
@@ -62,7 +62,7 @@ const { spaceKey: richSpaceKey, clients: richClients } = await setupPeersInSpace
|
|
|
62
62
|
count: 2,
|
|
63
63
|
schema,
|
|
64
64
|
onCreateSpace: async (space) => {
|
|
65
|
-
const document = new
|
|
65
|
+
const document = new ComposerDocument({ content: new TextObject('Hello, Storybook!', TextKind.RICH) });
|
|
66
66
|
await space?.db.add(document);
|
|
67
67
|
},
|
|
68
68
|
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import React, { forwardRef, memo, type Ref } from 'react';
|
|
6
|
+
|
|
7
|
+
import { YXmlFragment } from '@dxos/text-model';
|
|
8
|
+
|
|
9
|
+
import { type ComposerSlots, useTextModel, type UseTextModelOptions } from '../../model';
|
|
10
|
+
import { MarkdownComposer, type MarkdownComposerRef } from '../Markdown';
|
|
11
|
+
import { RichTextComposer, type TipTapEditor } from '../RichText';
|
|
12
|
+
|
|
13
|
+
export type ComposerProps = UseTextModelOptions & {
|
|
14
|
+
slots?: ComposerSlots;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Memoized composer which depends DXOS platform.
|
|
19
|
+
*
|
|
20
|
+
* Determines which composer to render based on the kind of text.
|
|
21
|
+
*/
|
|
22
|
+
// NOTE: Without `memo`, if parent component uses `observer` the composer re-renders excessively.
|
|
23
|
+
// TODO(wittjosiah): Factor out?
|
|
24
|
+
export const Composer = memo(
|
|
25
|
+
forwardRef<TipTapEditor | MarkdownComposerRef, ComposerProps>(({ slots, ...options }, forwardedRef) => {
|
|
26
|
+
const model = useTextModel(options);
|
|
27
|
+
if (model?.content instanceof YXmlFragment) {
|
|
28
|
+
return <RichTextComposer ref={forwardedRef as Ref<TipTapEditor>} model={model} slots={slots} />;
|
|
29
|
+
} else {
|
|
30
|
+
return <MarkdownComposer ref={forwardedRef as Ref<MarkdownComposerRef>} model={model} slots={slots} />;
|
|
31
|
+
}
|
|
32
|
+
}),
|
|
33
|
+
);
|
|
@@ -11,11 +11,11 @@ import { TextKind } from '@dxos/react-client/echo';
|
|
|
11
11
|
import { ClientDecorator, textGenerator, useDataGenerator } from '@dxos/react-client/testing';
|
|
12
12
|
import { useId } from '@dxos/react-ui';
|
|
13
13
|
|
|
14
|
-
import {
|
|
14
|
+
import { MarkdownComposer } from './Markdown';
|
|
15
15
|
import { Replicator, useYjsModel } from '../../testing';
|
|
16
16
|
|
|
17
17
|
export default {
|
|
18
|
-
component:
|
|
18
|
+
component: MarkdownComposer,
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export const Default = {
|
|
@@ -47,7 +47,7 @@ export const WithYjs = {
|
|
|
47
47
|
<input type='checkbox' onChange={(event) => setGenerate(event.target.checked)} />
|
|
48
48
|
Generate Data
|
|
49
49
|
</div>
|
|
50
|
-
<
|
|
50
|
+
<MarkdownComposer model={model} />
|
|
51
51
|
</main>
|
|
52
52
|
);
|
|
53
53
|
},
|
|
@@ -49,25 +49,25 @@ import { YText } from '@dxos/text-model';
|
|
|
49
49
|
|
|
50
50
|
import { markdownTagsExtension } from './markdownTags';
|
|
51
51
|
import { markdownDarkHighlighting, markdownTheme } from './markdownTheme';
|
|
52
|
-
import { type
|
|
52
|
+
import { type ComposerModel, type ComposerSlots } from '../../model';
|
|
53
53
|
|
|
54
54
|
export const EditorModes = ['default', 'vim'] as const;
|
|
55
55
|
export type EditorMode = (typeof EditorModes)[number];
|
|
56
56
|
|
|
57
|
-
export type
|
|
58
|
-
model?:
|
|
59
|
-
slots?:
|
|
57
|
+
export type MarkdownComposerProps = {
|
|
58
|
+
model?: ComposerModel;
|
|
59
|
+
slots?: ComposerSlots;
|
|
60
60
|
editorMode?: EditorMode;
|
|
61
61
|
onChange?: (content: string | Text) => void;
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
-
export type
|
|
64
|
+
export type MarkdownComposerRef = {
|
|
65
65
|
editor: HTMLDivElement | null;
|
|
66
66
|
state?: EditorState;
|
|
67
67
|
view?: EditorView;
|
|
68
68
|
};
|
|
69
69
|
|
|
70
|
-
export const
|
|
70
|
+
export const MarkdownComposer = forwardRef<MarkdownComposerRef, MarkdownComposerProps>(
|
|
71
71
|
({ model, slots = {}, onChange, editorMode }, forwardedRef) => {
|
|
72
72
|
const { id, content, provider, peer } = model ?? {};
|
|
73
73
|
const { themeMode } = useThemeContext();
|
|
@@ -99,17 +99,17 @@ export const markdownTheme = {
|
|
|
99
99
|
'& .cm-line *': {
|
|
100
100
|
lineHeight: 1.6,
|
|
101
101
|
},
|
|
102
|
-
'
|
|
103
|
-
background: get(tokens, 'extend.colors.primary.150', '#00ffff'),
|
|
102
|
+
'& .cm-selectionBackground': {
|
|
103
|
+
background: get(tokens, 'extend.colors.primary.150', '#00ffff') + 'aa',
|
|
104
104
|
},
|
|
105
|
-
'.dark & .cm-selectionBackground
|
|
106
|
-
background: get(tokens, 'extend.colors.primary.
|
|
105
|
+
'.dark & .cm-selectionBackground': {
|
|
106
|
+
background: get(tokens, 'extend.colors.primary.500', '#00ffff') + 'aa',
|
|
107
107
|
},
|
|
108
108
|
'& .cm-selectionMatch': {
|
|
109
|
-
background: get(tokens, 'extend.colors.primary.
|
|
109
|
+
background: get(tokens, 'extend.colors.primary.100', '#00ffff') + '44',
|
|
110
110
|
},
|
|
111
111
|
'.dark & .cm-selectionMatch': {
|
|
112
|
-
background: get(tokens, 'extend.colors.primary.
|
|
112
|
+
background: get(tokens, 'extend.colors.primary.400', '#00ffff') + '44',
|
|
113
113
|
},
|
|
114
114
|
'& .cm-content': {
|
|
115
115
|
caretColor: 'black',
|
|
@@ -145,12 +145,6 @@ export const markdownTheme = {
|
|
|
145
145
|
paddingBlockStart: '.15em',
|
|
146
146
|
paddingBlockEnd: '.15em',
|
|
147
147
|
},
|
|
148
|
-
'& .cm-ySelection, & .cm-yLineSelection': {
|
|
149
|
-
mixBlendMode: 'multiply',
|
|
150
|
-
},
|
|
151
|
-
'.dark & .cm-ySelection, .dark & .cm-yLineSelection': {
|
|
152
|
-
mixBlendMode: 'screen',
|
|
153
|
-
},
|
|
154
148
|
'& .cm-ySelectionCaret': {
|
|
155
149
|
display: 'inline-block',
|
|
156
150
|
insetBlockStart: '.1em',
|
|
@@ -12,11 +12,11 @@ import { ClientDecorator, textGenerator, useDataGenerator } from '@dxos/react-cl
|
|
|
12
12
|
import { useId } from '@dxos/react-ui';
|
|
13
13
|
import { mx } from '@dxos/react-ui-theme';
|
|
14
14
|
|
|
15
|
-
import {
|
|
15
|
+
import { RichTextComposer, type RichTextComposerProps } from './RichText';
|
|
16
16
|
import { Replicator, useYjsModel } from '../../testing';
|
|
17
17
|
|
|
18
18
|
export default {
|
|
19
|
-
component:
|
|
19
|
+
component: RichTextComposer,
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export const Default = {
|
|
@@ -30,7 +30,7 @@ export const Default = {
|
|
|
30
30
|
|
|
31
31
|
const replicator = new Replicator(TextKind.RICH);
|
|
32
32
|
export const WithYjs = {
|
|
33
|
-
render: (args: Omit<
|
|
33
|
+
render: (args: Omit<RichTextComposerProps, 'model'>) => {
|
|
34
34
|
const [generate, setGenerate] = useState(false);
|
|
35
35
|
const generateId = useId('generate');
|
|
36
36
|
|
|
@@ -48,7 +48,7 @@ export const WithYjs = {
|
|
|
48
48
|
<input type='checkbox' onChange={(event) => setGenerate(event.target.checked)} />
|
|
49
49
|
Generate Data
|
|
50
50
|
</div>
|
|
51
|
-
<
|
|
51
|
+
<RichTextComposer
|
|
52
52
|
{...args}
|
|
53
53
|
model={model}
|
|
54
54
|
slots={{
|
|
@@ -14,7 +14,7 @@ import React, { forwardRef, useImperativeHandle, useMemo } from 'react';
|
|
|
14
14
|
import { generateName } from '@dxos/display-name';
|
|
15
15
|
import { mx } from '@dxos/react-ui-theme';
|
|
16
16
|
|
|
17
|
-
import { type
|
|
17
|
+
import { type ComposerModel, type ComposerSlots } from '../../model';
|
|
18
18
|
import {
|
|
19
19
|
blockquote,
|
|
20
20
|
bold,
|
|
@@ -35,9 +35,9 @@ import { cursorColor } from '../../yjs';
|
|
|
35
35
|
export type TipTapEditor = Editor;
|
|
36
36
|
|
|
37
37
|
type UseEditorOptions = {
|
|
38
|
-
model?:
|
|
38
|
+
model?: ComposerModel;
|
|
39
39
|
placeholder?: string;
|
|
40
|
-
slots?: Pick<
|
|
40
|
+
slots?: Pick<ComposerSlots, 'editor'>;
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
const useEditor = ({ model, placeholder = 'Enter text…', slots = {} }: UseEditorOptions) => {
|
|
@@ -161,15 +161,15 @@ const useEditor = ({ model, placeholder = 'Enter text…', slots = {} }: UseEdit
|
|
|
161
161
|
);
|
|
162
162
|
};
|
|
163
163
|
|
|
164
|
-
export type
|
|
165
|
-
slots?:
|
|
164
|
+
export type RichTextComposerProps = UseEditorOptions & {
|
|
165
|
+
slots?: ComposerSlots;
|
|
166
166
|
};
|
|
167
167
|
|
|
168
168
|
/**
|
|
169
169
|
* @deprecated
|
|
170
170
|
*/
|
|
171
171
|
// TODO(burdon): Currently broken.
|
|
172
|
-
export const
|
|
172
|
+
export const RichTextComposer = forwardRef<Editor | null, RichTextComposerProps>((props, ref) => {
|
|
173
173
|
const editor = useEditor(props);
|
|
174
174
|
useImperativeHandle<Editor | null, Editor | null>(ref, () => editor, [editor]);
|
|
175
175
|
|
package/src/components/index.ts
CHANGED
package/src/model.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type { YText, YXmlFragment } from '@dxos/text-model';
|
|
|
12
12
|
|
|
13
13
|
import { SpaceAwarenessProvider } from './yjs';
|
|
14
14
|
|
|
15
|
-
export type
|
|
15
|
+
export type ComposerSlots = {
|
|
16
16
|
root?: Omit<ComponentProps<'div'>, 'ref'>;
|
|
17
17
|
editor?: {
|
|
18
18
|
className?: string;
|
|
@@ -27,7 +27,7 @@ type Awareness = awarenessProtocol.Awareness;
|
|
|
27
27
|
type Provider = { awareness: Awareness };
|
|
28
28
|
|
|
29
29
|
// TODO(wittjosiah): Factor out to common package? @dxos/react-client?
|
|
30
|
-
export type
|
|
30
|
+
export type ComposerModel = {
|
|
31
31
|
id: string;
|
|
32
32
|
content: string | YText | YXmlFragment;
|
|
33
33
|
provider?: Provider;
|
|
@@ -44,8 +44,8 @@ export type UseTextModelOptions = {
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
// TODO(wittjosiah): Factor out to common package? @dxos/react-client?
|
|
47
|
-
// TODO(burdon): Decouple space (make
|
|
48
|
-
export const useTextModel = ({ identity, space, text }: UseTextModelOptions):
|
|
47
|
+
// TODO(burdon): Decouple space (make Composer less dependent on entire stack)?
|
|
48
|
+
export const useTextModel = ({ identity, space, text }: UseTextModelOptions): ComposerModel | undefined => {
|
|
49
49
|
const provider = useMemo(() => {
|
|
50
50
|
if (!space || !text?.doc) {
|
|
51
51
|
return undefined;
|
|
@@ -6,35 +6,35 @@ import * as dxos_echo_schema from "@dxos/echo-schema";
|
|
|
6
6
|
|
|
7
7
|
export const types = new dxos_echo_schema.TypeCollection();
|
|
8
8
|
|
|
9
|
-
export type
|
|
9
|
+
export type ComposerDocumentProps = {
|
|
10
10
|
content: dxos_echo_schema.Text;
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
export class
|
|
13
|
+
export class ComposerDocument extends dxos_echo_schema.TypedObject<ComposerDocumentProps> {
|
|
14
14
|
declare static readonly schema: dxos_echo_schema.Schema;
|
|
15
15
|
|
|
16
16
|
static filter(
|
|
17
17
|
filter?:
|
|
18
|
-
| Partial<
|
|
19
|
-
| dxos_echo_schema.OperatorFilter<
|
|
20
|
-
): dxos_echo_schema.Filter<
|
|
18
|
+
| Partial<ComposerDocumentProps>
|
|
19
|
+
| dxos_echo_schema.OperatorFilter<ComposerDocument>
|
|
20
|
+
): dxos_echo_schema.Filter<ComposerDocument> {
|
|
21
21
|
return dxos_echo_schema.Filter.typename(
|
|
22
|
-
"dxos.testing.
|
|
22
|
+
"dxos.testing.composer.ComposerDocument",
|
|
23
23
|
filter
|
|
24
24
|
);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
constructor(
|
|
28
|
-
initValues?: Partial<
|
|
28
|
+
initValues?: Partial<ComposerDocumentProps>,
|
|
29
29
|
opts?: dxos_echo_schema.TypedObjectOptions
|
|
30
30
|
) {
|
|
31
|
-
super({ ...initValues }, { schema:
|
|
31
|
+
super({ ...initValues }, { schema: ComposerDocument.schema, ...opts });
|
|
32
32
|
}
|
|
33
33
|
declare content: dxos_echo_schema.Text;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
types.registerPrototype(
|
|
37
|
-
typename: "dxos.testing.
|
|
36
|
+
types.registerPrototype(ComposerDocument, {
|
|
37
|
+
typename: "dxos.testing.composer.ComposerDocument",
|
|
38
38
|
props: [
|
|
39
39
|
{
|
|
40
40
|
id: "content",
|