@fileverse-dev/ddoc 3.0.69-rtc-patch-3 → 3.0.70-patch-1
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/index.d.ts +4 -1
- package/dist/index.es.js +30697 -28799
- package/dist/package/components/export-modal.d.ts +4 -5
- package/dist/package/hooks/use-ddoc-export.d.ts +6 -1
- package/dist/package/hooks/use-export-headless-editor-content.d.ts +33 -0
- package/dist/package/hooks/use-headless-editor.d.ts +3 -2
- package/dist/package/hooks/use-rtc-websocket-disconnector.d.ts +1 -0
- package/dist/package/hooks/use-tab-editor.d.ts +5 -4
- package/dist/package/hooks/use-tab-manager.d.ts +1 -1
- package/dist/package/hooks/use-yjs-setup.d.ts +11 -6
- package/dist/package/sync-local/actions/index.d.ts +137 -0
- package/dist/package/sync-local/actions/syncMachineActions.d.ts +1 -0
- package/dist/package/sync-local/constants/config.d.ts +7 -0
- package/dist/package/sync-local/constants/index.d.ts +5 -0
- package/dist/package/sync-local/guards/syncMachineGuards.d.ts +10 -0
- package/dist/package/sync-local/index.d.ts +6 -3
- package/dist/package/sync-local/services/syncMachineServices.d.ts +19 -0
- package/dist/package/sync-local/socketClient.d.ts +29 -22
- package/dist/package/sync-local/syncMachine.d.ts +13 -0
- package/dist/package/sync-local/types/index.d.ts +123 -156
- package/dist/package/sync-local/useSyncMachine.d.ts +38 -0
- package/dist/package/sync-local/utils/createAwarenessUpdateHandler.d.ts +3 -3
- package/dist/package/types.d.ts +31 -3
- package/dist/package/use-ddoc-editor.d.ts +3 -4
- package/dist/style.css +1 -1
- package/package.json +7 -3
- package/dist/package/sync-local/SyncManager.d.ts +0 -55
- package/dist/package/sync-local/collabStateMachine.d.ts +0 -23
- package/dist/package/sync-local/useSyncManager.d.ts +0 -11
|
@@ -1,176 +1,130 @@
|
|
|
1
|
-
import { Data
|
|
1
|
+
import { Data } from '../../types';
|
|
2
|
+
import { SocketClient } from '../socketClient';
|
|
2
3
|
|
|
3
4
|
import * as Y from 'yjs';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
roomKey: string;
|
|
7
|
-
roomId: string;
|
|
8
|
-
wsUrl: string;
|
|
9
|
-
isOwner: boolean;
|
|
10
|
-
ownerEdSecret?: string;
|
|
11
|
-
contractAddress?: string;
|
|
12
|
-
ownerAddress?: string;
|
|
13
|
-
roomInfo?: {
|
|
14
|
-
documentTitle: string;
|
|
15
|
-
portalAddress: string;
|
|
16
|
-
commentKey: string;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/** Session metadata — changes to these update awareness, NOT reconnect */
|
|
20
|
-
export interface CollabSessionMeta {
|
|
5
|
+
export interface IRoomMember {
|
|
6
|
+
userId: string;
|
|
21
7
|
username: string;
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
/** Storage integrations the sync engine depends on */
|
|
25
|
-
export interface CollabServices {
|
|
26
|
-
commitToStorage?: (file: File) => Promise<string>;
|
|
27
|
-
fetchFromStorage?: (cid: string) => Promise<any>;
|
|
8
|
+
role: 'owner' | 'editor';
|
|
28
9
|
}
|
|
29
|
-
export
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
status:
|
|
42
|
-
|
|
43
|
-
} | {
|
|
44
|
-
status: 'ready';
|
|
45
|
-
} | {
|
|
46
|
-
status: 'reconnecting';
|
|
47
|
-
attempt: number;
|
|
48
|
-
maxAttempts: number;
|
|
49
|
-
} | {
|
|
50
|
-
status: 'error';
|
|
51
|
-
error: CollabError;
|
|
52
|
-
} | {
|
|
53
|
-
status: 'terminated';
|
|
54
|
-
reason?: string;
|
|
55
|
-
};
|
|
56
|
-
export type CollabEvent = {
|
|
57
|
-
type: 'CONNECT';
|
|
58
|
-
} | {
|
|
59
|
-
type: 'AUTH_SUCCESS';
|
|
60
|
-
} | {
|
|
61
|
-
type: 'SYNC_COMPLETE';
|
|
62
|
-
} | {
|
|
63
|
-
type: 'SET_UNMERGED_UPDATES';
|
|
64
|
-
hasUpdates: boolean;
|
|
65
|
-
} | {
|
|
66
|
-
type: 'SOCKET_DROPPED';
|
|
67
|
-
} | {
|
|
68
|
-
type: 'RECONNECTED';
|
|
69
|
-
} | {
|
|
70
|
-
type: 'RETRY_EXHAUSTED';
|
|
71
|
-
} | {
|
|
72
|
-
type: 'ERROR';
|
|
73
|
-
error: CollabError;
|
|
74
|
-
} | {
|
|
75
|
-
type: 'SESSION_TERMINATED';
|
|
76
|
-
reason?: string;
|
|
77
|
-
} | {
|
|
78
|
-
type: 'RESET';
|
|
79
|
-
};
|
|
80
|
-
export interface CollabContext {
|
|
81
|
-
hasUnmergedPeerUpdates: boolean;
|
|
82
|
-
reconnectAttempt: number;
|
|
83
|
-
maxReconnectAttempts: number;
|
|
84
|
-
error: CollabError | null;
|
|
85
|
-
terminationReason?: string;
|
|
10
|
+
export interface SendUpdateResponse {
|
|
11
|
+
data: {
|
|
12
|
+
agent_id: string;
|
|
13
|
+
commitCid: string | null;
|
|
14
|
+
created_at: number;
|
|
15
|
+
data: string;
|
|
16
|
+
documentId: string;
|
|
17
|
+
id: string;
|
|
18
|
+
update_snapshot_ref: string | null;
|
|
19
|
+
updateType: string;
|
|
20
|
+
};
|
|
21
|
+
is_handshake_response: boolean;
|
|
22
|
+
status: boolean;
|
|
23
|
+
statusCode: number;
|
|
86
24
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
25
|
+
export interface CommitResponse {
|
|
26
|
+
data: {
|
|
27
|
+
agent_id: string;
|
|
28
|
+
cid: string;
|
|
29
|
+
created_at: number;
|
|
30
|
+
data: any | null;
|
|
31
|
+
documentId: string;
|
|
32
|
+
updates: string[];
|
|
33
|
+
};
|
|
34
|
+
is_handshake_response: boolean;
|
|
35
|
+
status: boolean;
|
|
36
|
+
statusCode: number;
|
|
96
37
|
}
|
|
97
|
-
|
|
98
|
-
export type CollaborationProps = {
|
|
99
|
-
enabled: false;
|
|
100
|
-
} | {
|
|
101
|
-
enabled: true;
|
|
102
|
-
connection: CollabConnectionConfig;
|
|
103
|
-
session: CollabSessionMeta;
|
|
104
|
-
services: CollabServices;
|
|
105
|
-
on?: CollabCallbacks;
|
|
106
|
-
};
|
|
107
|
-
export interface SyncManagerConfig {
|
|
38
|
+
export interface SyncMachineContext {
|
|
108
39
|
ydoc: Y.Doc;
|
|
109
|
-
|
|
110
|
-
|
|
40
|
+
socketClient: SocketClient | null;
|
|
41
|
+
roomId: string;
|
|
42
|
+
username: string;
|
|
43
|
+
roomMembers: IRoomMember[];
|
|
44
|
+
isConnected: boolean;
|
|
45
|
+
awareness: any;
|
|
46
|
+
_awarenessUpdateHandler: (({ added, updated, removed, }: {
|
|
47
|
+
added: number[];
|
|
48
|
+
updated: number[];
|
|
49
|
+
removed: number[];
|
|
50
|
+
}) => void) | null;
|
|
51
|
+
onError: ((e: Error) => void) | null;
|
|
52
|
+
roomKey: string;
|
|
53
|
+
wsUrl: string;
|
|
54
|
+
uncommittedUpdatesIdList: string[];
|
|
55
|
+
isOwner: boolean;
|
|
56
|
+
updateQueue: Uint8Array[];
|
|
57
|
+
isReady: boolean;
|
|
58
|
+
isNewDoc: boolean;
|
|
59
|
+
contentTobeAppliedQueue: string[];
|
|
60
|
+
initialUpdate: string | null;
|
|
61
|
+
errorCount: number;
|
|
62
|
+
errorMaxRetryCount: number;
|
|
63
|
+
errorMessage: string;
|
|
64
|
+
initalDocumentDecryptionState: 'done' | 'pending';
|
|
65
|
+
onCollaborationConnectCallback: (response: any) => void;
|
|
66
|
+
onCollaborationCommit: (file: File) => Promise<string>;
|
|
67
|
+
onFetchCommitContent: (cid: string) => Promise<any>;
|
|
68
|
+
onSessionTerminated: () => void;
|
|
69
|
+
onUnMergedUpdates: (state: boolean) => void;
|
|
111
70
|
onLocalUpdate?: (updatedDocContent: Data['editorJSONData'], updateChunk: string) => void;
|
|
112
71
|
}
|
|
113
|
-
export
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
COMMIT_MISSING_DATA = "COMMIT_MISSING_DATA",
|
|
123
|
-
INVALID_ADDRESS = "INVALID_ADDRESS",
|
|
124
|
-
NOT_AUTHENTICATED = "NOT_AUTHENTICATED",
|
|
125
|
-
DB_ERROR = "DB_ERROR",
|
|
126
|
-
INTERNAL_ERROR = "INTERNAL_ERROR"
|
|
72
|
+
export interface ErrorResponseMessage {
|
|
73
|
+
status: boolean;
|
|
74
|
+
statusCode: number;
|
|
75
|
+
seqId: string | null;
|
|
76
|
+
is_handshake_response: boolean;
|
|
77
|
+
err: string;
|
|
78
|
+
err_detail: {
|
|
79
|
+
[key: string]: any;
|
|
80
|
+
} | null;
|
|
127
81
|
}
|
|
128
|
-
export interface
|
|
82
|
+
export interface SuccessResponseMessage {
|
|
129
83
|
status: boolean;
|
|
130
84
|
statusCode: number;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
85
|
+
seqId: string | null;
|
|
86
|
+
is_handshake_response: boolean;
|
|
87
|
+
data: {
|
|
88
|
+
[key: string]: any;
|
|
89
|
+
};
|
|
134
90
|
}
|
|
135
|
-
export interface
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}> {
|
|
91
|
+
export interface EventMessage {
|
|
92
|
+
type: string;
|
|
93
|
+
event_type: string;
|
|
94
|
+
event: {
|
|
95
|
+
data: any;
|
|
96
|
+
roomId: string;
|
|
97
|
+
};
|
|
143
98
|
}
|
|
144
|
-
export
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
99
|
+
export type RequestResponse = ErrorResponseMessage | SuccessResponseMessage;
|
|
100
|
+
export type OnMessagePayloadType = RequestResponse | EventMessage;
|
|
101
|
+
export type EventHandler = (message: EventMessage) => void;
|
|
102
|
+
export type DisconnectHandler = (e: CloseEvent | ErrorEvent) => void;
|
|
103
|
+
export type ConnectHandler = () => void;
|
|
104
|
+
export interface PartialRequest {
|
|
105
|
+
cmd: string;
|
|
106
|
+
args: {
|
|
107
|
+
[key: string]: any;
|
|
108
|
+
};
|
|
150
109
|
}
|
|
110
|
+
export interface RequestPayload extends PartialRequest {
|
|
111
|
+
seqId: string;
|
|
112
|
+
}
|
|
113
|
+
export type SequenceResponseCB = (data: RequestResponse) => void;
|
|
114
|
+
export interface SequenceToRequestMapValue {
|
|
115
|
+
callback: SequenceResponseCB;
|
|
116
|
+
}
|
|
117
|
+
export type SequenceToRequestMap = {
|
|
118
|
+
[key: string]: SequenceToRequestMapValue;
|
|
119
|
+
};
|
|
120
|
+
export type Update = Uint8Array;
|
|
151
121
|
export interface ISocketInitConfig {
|
|
152
|
-
|
|
153
|
-
onDisconnect:
|
|
154
|
-
onSocketDropped: () => void;
|
|
122
|
+
onConnect: ConnectHandler;
|
|
123
|
+
onDisconnect: DisconnectHandler;
|
|
155
124
|
onError: (err: Error) => void;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
data: string;
|
|
160
|
-
createdAt: number;
|
|
161
|
-
roomId: string;
|
|
162
|
-
}) => void;
|
|
163
|
-
onMembershipChange: (data: {
|
|
164
|
-
action: string;
|
|
165
|
-
user: {
|
|
166
|
-
role: string;
|
|
167
|
-
};
|
|
168
|
-
roomId: string;
|
|
169
|
-
}) => void;
|
|
170
|
-
onSessionTerminated: (data: {
|
|
171
|
-
roomId: string;
|
|
172
|
-
}) => void;
|
|
173
|
-
onReconnectFailed: () => void;
|
|
125
|
+
onWsEvent: EventHandler;
|
|
126
|
+
onHandShakeError: (err: Error) => void;
|
|
127
|
+
roomId: string;
|
|
174
128
|
}
|
|
175
129
|
export declare enum SocketStatusEnum {
|
|
176
130
|
CLOSED = "CLOSED",
|
|
@@ -184,6 +138,19 @@ export interface RoomMember {
|
|
|
184
138
|
userId: string;
|
|
185
139
|
role: 'owner' | 'editor';
|
|
186
140
|
}
|
|
141
|
+
export type IAesKey = string;
|
|
142
|
+
export type SyncMachinEvent = {
|
|
143
|
+
type: string;
|
|
144
|
+
data: any;
|
|
145
|
+
};
|
|
146
|
+
export interface IpfsUploadResponse {
|
|
147
|
+
ipfsUrl: string;
|
|
148
|
+
ipfsHash: string;
|
|
149
|
+
ipfsStorage: string;
|
|
150
|
+
cachedUrl: string;
|
|
151
|
+
fileSize: number;
|
|
152
|
+
mimetype: string;
|
|
153
|
+
}
|
|
187
154
|
export interface IAuthArgs {
|
|
188
155
|
collaborationToken: string;
|
|
189
156
|
documentId: string;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { SyncMachineContext } from '.';
|
|
2
|
+
|
|
3
|
+
export interface IConnectConf {
|
|
4
|
+
username?: string;
|
|
5
|
+
roomKey: string;
|
|
6
|
+
roomId: string;
|
|
7
|
+
isOwner: boolean;
|
|
8
|
+
ownerEdSecret?: string;
|
|
9
|
+
contractAddress?: string;
|
|
10
|
+
ownerAddress?: string;
|
|
11
|
+
isEns?: boolean;
|
|
12
|
+
wsUrl: string;
|
|
13
|
+
roomInfo?: {
|
|
14
|
+
documentTitle: string;
|
|
15
|
+
portalAddress: string;
|
|
16
|
+
commentKey: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare const useSyncMachine: (config: Partial<SyncMachineContext>) => {
|
|
20
|
+
connect: (connectConfig: IConnectConf) => void;
|
|
21
|
+
disconnect: () => void;
|
|
22
|
+
isConnected: any;
|
|
23
|
+
isReady: boolean;
|
|
24
|
+
error: any;
|
|
25
|
+
terminateSession: () => void;
|
|
26
|
+
awareness: any;
|
|
27
|
+
hasCollabContentInitialised: boolean;
|
|
28
|
+
state: import('xstate').State<SyncMachineContext, {
|
|
29
|
+
type: string;
|
|
30
|
+
data: any;
|
|
31
|
+
}, any, {
|
|
32
|
+
value: any;
|
|
33
|
+
context: SyncMachineContext;
|
|
34
|
+
}, import('xstate').ResolveTypegenMeta<import('xstate').TypegenDisabled, {
|
|
35
|
+
type: string;
|
|
36
|
+
data: any;
|
|
37
|
+
}, import('xstate').BaseActionObject, import('xstate').ServiceMap>>;
|
|
38
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Awareness } from 'y-protocols/awareness';
|
|
2
|
-
import {
|
|
2
|
+
import { SyncMachineContext } from '../types';
|
|
3
3
|
|
|
4
|
-
export declare const createAwarenessUpdateHandler: (awareness: Awareness,
|
|
4
|
+
export declare const createAwarenessUpdateHandler: (awareness: Awareness, context: SyncMachineContext) => ({ added, updated, removed, }: {
|
|
5
5
|
added: number[];
|
|
6
6
|
updated: number[];
|
|
7
7
|
removed: number[];
|
|
8
|
-
}
|
|
8
|
+
}) => void;
|
package/dist/package/types.d.ts
CHANGED
|
@@ -4,9 +4,7 @@ import { EditorProps } from '@tiptap/pm/view';
|
|
|
4
4
|
import { Editor } from '@tiptap/react';
|
|
5
5
|
import { default as React, SetStateAction } from 'react';
|
|
6
6
|
import { IComment } from './extensions/comment';
|
|
7
|
-
import { CollaborationProps } from './sync-local/types';
|
|
8
7
|
|
|
9
|
-
export type { CollaborationProps, CollabConnectionConfig, CollabSessionMeta, CollabServices, CollabCallbacks, CollabState, CollabError, CollabErrorCode, CollabStatus, } from './sync-local/types';
|
|
10
8
|
export declare const DdocEditorProps: EditorProps;
|
|
11
9
|
export interface IDocCollabUsers {
|
|
12
10
|
clientId: number;
|
|
@@ -115,7 +113,7 @@ export interface DdocProps extends CommentAccountProps {
|
|
|
115
113
|
extensions?: Record<string, Extension | any>;
|
|
116
114
|
selectedTags?: TagType[];
|
|
117
115
|
setSelectedTags?: React.Dispatch<SetStateAction<TagType[]>>;
|
|
118
|
-
|
|
116
|
+
enableCollaboration?: boolean | undefined;
|
|
119
117
|
setIsCommentSectionOpen?: React.Dispatch<SetStateAction<boolean>>;
|
|
120
118
|
inlineCommentData?: InlineCommentData;
|
|
121
119
|
setInlineCommentData?: React.Dispatch<React.SetStateAction<InlineCommentData>>;
|
|
@@ -126,6 +124,7 @@ export interface DdocProps extends CommentAccountProps {
|
|
|
126
124
|
setIsNavbarVisible: React.Dispatch<SetStateAction<boolean>>;
|
|
127
125
|
editorCanvasClassNames?: string;
|
|
128
126
|
isCommentSectionOpen?: boolean;
|
|
127
|
+
collaborationId?: string;
|
|
129
128
|
isPreviewMode: boolean;
|
|
130
129
|
ensResolutionUrl?: string;
|
|
131
130
|
ipfsImageUploadFn?: (file: File) => Promise<IpfsImageUploadResponse>;
|
|
@@ -176,11 +175,24 @@ export interface DdocProps extends CommentAccountProps {
|
|
|
176
175
|
activeModel?: CustomModel;
|
|
177
176
|
maxTokens?: number;
|
|
178
177
|
isAIAgentEnabled?: boolean;
|
|
178
|
+
collaborationKey?: CryptoKey | null;
|
|
179
|
+
collaborationKeyPair?: {
|
|
180
|
+
publicKey: string;
|
|
181
|
+
privateKey: string;
|
|
182
|
+
};
|
|
183
|
+
collabConfig?: ICollaborationConfig;
|
|
179
184
|
/**
|
|
180
185
|
* Document styling configuration
|
|
181
186
|
* @description Customize the appearance of the document editor
|
|
182
187
|
*/
|
|
183
188
|
documentStyling?: DocumentStyling;
|
|
189
|
+
onCollaborationConnectCallback?: (response: any) => void;
|
|
190
|
+
onCollaborationCommit?: (file: File) => Promise<string>;
|
|
191
|
+
onFetchCommitContent?: (cid: string) => Promise<any>;
|
|
192
|
+
onCollabSessionTermination?: () => void;
|
|
193
|
+
onUnMergedUpdates?: (state: boolean) => void;
|
|
194
|
+
onCollabError?: (error: any) => void;
|
|
195
|
+
isExistingCollabSession?: boolean;
|
|
184
196
|
/**
|
|
185
197
|
* Callback when IndexedDB initialization fails
|
|
186
198
|
* @description Called when the IndexedDB persistence provider fails to initialize (e.g., private browsing, quota exceeded, corrupted DB). The editor will continue to function without local persistence.
|
|
@@ -217,3 +229,19 @@ export interface IpfsImageFetchPayload {
|
|
|
217
229
|
mimeType: string;
|
|
218
230
|
authTag: string;
|
|
219
231
|
}
|
|
232
|
+
export interface ICollaborationConfig {
|
|
233
|
+
roomKey: string;
|
|
234
|
+
collaborationId: string;
|
|
235
|
+
username: string;
|
|
236
|
+
isOwner: boolean;
|
|
237
|
+
ownerEdSecret?: string;
|
|
238
|
+
contractAddress?: string;
|
|
239
|
+
ownerAddress?: string;
|
|
240
|
+
wsUrl: string;
|
|
241
|
+
isEns?: boolean;
|
|
242
|
+
roomInfo?: {
|
|
243
|
+
documentTitle: string;
|
|
244
|
+
portalAddress: string;
|
|
245
|
+
commentKey: string;
|
|
246
|
+
};
|
|
247
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { DdocProps } from './types';
|
|
2
2
|
import { Editor } from '@tiptap/react';
|
|
3
3
|
|
|
4
|
-
export declare const useDdocEditor: ({ isPreviewMode, initialContent, versionHistoryState,
|
|
4
|
+
export declare const useDdocEditor: ({ isPreviewMode, initialContent, versionHistoryState, enableCollaboration, onChange, onCollaboratorChange, onCommentInteraction, onError, setCharacterCount, setWordCount, ipfsImageUploadFn, ddocId, enableIndexeddbSync, unFocused, theme, zoomLevel, onInvalidContentError, ignoreCorruptedData, isPresentationMode, metadataProxyUrl, extensions: externalExtensions, onCopyHeadingLink, ipfsImageFetchFn, fetchV1ImageFn, isConnected, activeModel, maxTokens, isAIAgentEnabled, collabConfig, onIndexedDbError, disableInlineComment, ...rest }: Partial<DdocProps>) => {
|
|
5
5
|
ydoc: import('yjs').Doc;
|
|
6
|
-
awareness:
|
|
6
|
+
awareness: any;
|
|
7
7
|
refreshYjsIndexedDbProvider: () => Promise<void>;
|
|
8
8
|
terminateSession: () => void;
|
|
9
9
|
isContentLoading: boolean;
|
|
@@ -21,11 +21,10 @@ export declare const useDdocEditor: ({ isPreviewMode, initialContent, versionHis
|
|
|
21
21
|
}) => void;
|
|
22
22
|
duplicateTab: (tabId: string) => string | undefined;
|
|
23
23
|
orderTab: (destinationTabId: string, movedTabId: string) => void;
|
|
24
|
-
onConnect: (connectConfig: import('./
|
|
24
|
+
onConnect: (connectConfig: import('./sync-local/useSyncMachine').IConnectConf) => void;
|
|
25
25
|
isReady: boolean;
|
|
26
26
|
hasCollabContentInitialised: boolean;
|
|
27
27
|
initialiseYjsIndexedDbProvider: () => Promise<void>;
|
|
28
|
-
collabState: import('./types').CollabState;
|
|
29
28
|
editor: Editor | null;
|
|
30
29
|
ref: import('react').RefObject<HTMLDivElement>;
|
|
31
30
|
slides: string[];
|