@veltdev/sdk 4.0.0-beta.21 → 4.0.0-beta.23

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.
@@ -26,219 +26,214 @@ import { DocumentMetadata } from "../models/data/document-metadata.model";
26
26
  import { ReactionElement } from "../models/element/reaction-element.model";
27
27
  import { VeltEventMetadata } from "../models/data/event-metadata.data.model";
28
28
  import { CoreEventTypesMap } from "../models/data/core-events.data.model";
29
- import { Document, SetDocumentsRequestOptions } from "../models/data/document.data.model";
29
+ import { Document, SetDocumentsRequestOptions, FetchDocumentsRequest, FetchFoldersRequest } from "../models/data/document.data.model";
30
+ import { FetchDocumentsResponse, FetchFoldersResponse } from "../models/data/document-events.data.model";
30
31
  import { UserDataProvider } from "../models/data/user-resolver.data.model";
32
+
31
33
  export declare class Snippyly {
32
- constructor();
33
- initConfig: (apiKey: string, config?: Config) => void;
34
- identify: (user: User, userOptions?: UserOptions) => Promise<unknown>;
35
- /**
36
- * Tell us who the currently logged in user is.
37
- *
38
- * Call whenever the user is updated: signs in, signs out, signs up etc.
39
- * @deprecated This method is deprecated and will be removed in next release.
40
- */
41
- updateUser: (user: User) => void;
42
- /**
43
- * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
44
- * @param id unique document ID
45
- * @param documentMetadata Document Metadata
46
- */
47
- setDocument: (id: string, documentMetadata?: DocumentMetadata) => void;
48
- /**
49
- * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
50
- * @param id unique document ID
51
- */
52
- setDocumentId: (id: string) => void;
53
- /**
54
- * To set multiple documents
55
- */
56
- setDocuments: (documents: Document[], options?: SetDocumentsRequestOptions) => void;
57
- /**
58
- * To unset the document id
59
- */
60
- unsetDocumentId: () => void;
61
- /**
62
- * To unset the documents
63
- */
64
- unsetDocuments: () => void;
65
- /**
66
- * To set the user data provider.
67
- */
68
- setUserDataProvider: (userDataProvider: UserDataProvider) => void;
69
- /**
70
- * Get Document ID
71
- */
72
- getDocumentId: () => string;
73
- /**
74
- * Tell us the custom params of the current document/resource to identify sub document inside a document.
75
- * @param params Document Params
76
- * @deprecated This method is depercated and will be removed in next release. Use `setLocation` method instead.
77
- */
78
- setDocumentParams: (params: Location) => void;
79
- /**
80
- * Tell us the custom params of the current document/resource to identify sub document inside a document.
81
- * @param params Location
82
- * @param appendLocation Append location to existing location
83
- */
84
- setLocation: (params: Location, appendLocation?: boolean) => void;
85
- /**
86
- * To remove document params from a User
87
- * @deprecated This method is depercated and will be removed in next release. Use `removeLocation` method instead.
88
- */
89
- removeDocumentParams: () => void;
90
- /**
91
- * To remove location from a User
92
- * @param location Location
93
- */
94
- removeLocation: (location?: Location) => void;
95
- /**
96
- * To exclude data of specific location ids
97
- * @param ids Location Ids
98
- */
99
- excludeLocationIds: (ids: string[]) => void;
100
- /**
101
- * Tell us the about the scrollable document ids to keep track on its scroll changes
102
- * @param ids scrollable elements ids
103
- */
104
- setScrollableElementsIds: (ids: string[]) => void;
105
- /**
106
- * To remove document params from a User
107
- */
108
- removeScrollableElementsIds: () => void;
109
- /**
110
- * Get the Presence Element Object to access the raw presence data.
111
- *
112
- * This is for Pros who don’t want to use Snippyly Presence web component and want to design their own UI.
113
- */
114
- getPresenceElement: () => PresenceElement;
115
- /**
116
- * Get the Cursor Element Object to access the raw cursor data.
117
- *
118
- * This is for Pros who don’t want to use Snippyly Presence web component and want to design their own UI.
119
- */
120
- getCursorElement: () => CursorElement;
121
- /**
122
- * Get the Comment Element Object to access the raw comment data.
123
- *
124
- * This is for Pros who don’t want to use Snippyly Comment web component and want to design their own UI.
125
- */
126
- getCommentElement: () => CommentElement;
127
- /**
128
- * Get the Tag Pin Annotation Object to access the raw tag data.
129
- *
130
- * This is for Pros who don’t want to use Snippyly Tag web component and want to design their own UI.
131
- */
132
- getTagElement: () => TagElement;
133
- /**
134
- * Get the Selection Object to enable/disable the feature.
135
- */
136
- getSelectionElement: () => SelectionElement;
137
- /**
138
- * Get the Recorder Object.
139
- */
140
- getRecorderElement: () => RecorderElement;
141
- /**
142
- * Get the Contact Object.
143
- */
144
- getContactElement: () => ContactElement;
145
- /**
146
- * Get the Rewriter Object.
147
- */
148
- getRewriterElement: () => RewriterElement;
149
- /**
150
- * Get the Huddle element.
151
- */
152
- getHuddleElement: () => HuddleElement;
153
- /**
154
- * Get the LiveStateSync Object.
155
- */
156
- getLiveStateSyncElement: () => LiveStateSyncElement;
157
- /**
158
- * Get the Arrow Object.
159
- */
160
- getArrowElement: () => ArrowElement;
161
- /**
162
- * Get the Views Object.
163
- */
164
- getViewsElement: () => ViewsElement;
165
- /**
166
- * Get the Notification Object.
167
- */
168
- getNotificationElement: () => NotificationElement;
169
- /**
170
- * Get the Autocomplete Object.
171
- */
172
- getAutocompleteElement: () => AutocompleteElement;
173
- /**
174
- * Get the Area Object.
175
- */
176
- getAreaElement: () => AreaElement;
177
- /**
178
- * Get the Area Object.
179
- */
180
- getReactionElement: () => ReactionElement;
181
- /**
182
- * Get the metadata of the current resource.
183
- */
184
- getMetadata: () => Promise<VeltEventMetadata | null>;
185
- /**
186
- * To signout a user
187
- */
188
- signOutUser: () => any;
189
- /**
190
- * Provide a list of features to disable.
191
- * Provide an empty array to enable all the features.
192
- * @param features List of features
193
- */
194
- disableFeatures: (features: Array<FeatureType>) => void;
195
- /**
34
+ constructor();
35
+ initConfig: (apiKey: string, config?: Config) => void;
36
+ identify: (user: User, userOptions?: UserOptions) => Promise<unknown>;
37
+ /**
38
+ * Tell us who the currently logged in user is.
39
+ *
40
+ * Call whenever the user is updated: signs in, signs out, signs up etc.
41
+ * @deprecated This method is deprecated.
42
+ */
43
+ updateUser: (user: User) => void;
44
+ /**
45
+ * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
46
+ * @param id unique document ID
47
+ * @param documentMetadata Document Metadata
48
+ */
49
+ setDocument: (id: string, documentMetadata?: DocumentMetadata) => void;
50
+ /**
51
+ * Tell us the unique ID of the current document/resource on which you want to enable collaboration.
52
+ * @param id unique document ID
53
+ * @deprecated This method is deprecated. Use `setDocuments` method instead.
54
+ */
55
+ setDocumentId: (id: string) => void;
56
+ /**
57
+ * To set multiple documents
58
+ */
59
+ setDocuments: (documents: Document[], options?: SetDocumentsRequestOptions) => void;
60
+ /**
61
+ * To unset the document id
62
+ * @deprecated This method is deprecated. Use `unsetDocuments` method instead.
63
+ */
64
+ unsetDocumentId: () => void;
65
+ /**
66
+ * To unset the documents
67
+ */
68
+ unsetDocuments: () => void;
69
+ /**
70
+ * To fetch documents
71
+ */
72
+ fetchDocuments: (options?: FetchDocumentsRequest) => Promise<FetchDocumentsResponse>;
73
+ /**
74
+ * To fetch folders
75
+ */
76
+ fetchFolders: (options?: FetchFoldersRequest) => Promise<FetchFoldersResponse>;
77
+ /**
78
+ * To set the user data provider.
79
+ */
80
+ setUserDataProvider: (userDataProvider: UserDataProvider) => void;
81
+ /**
82
+ * Get Document ID
83
+ */
84
+ getDocumentId: () => string;
85
+ /**
86
+ * Tell us the custom params of the current document/resource to identify sub document inside a document.
87
+ * @param params Location
88
+ * @param appendLocation Append location to existing location
89
+ */
90
+ setLocation: (params: Location, appendLocation?: boolean) => void;
91
+ /**
92
+ * To remove location from a User
93
+ * @param location Location
94
+ */
95
+ removeLocation: (location?: Location) => void;
96
+ /**
97
+ * To exclude data of specific location ids
98
+ * @param ids Location Ids
99
+ */
100
+ excludeLocationIds: (ids: string[]) => void;
101
+ /**
102
+ * Tell us the about the scrollable document ids to keep track on its scroll changes
103
+ * @param ids scrollable elements ids
104
+ */
105
+ setScrollableElementsIds: (ids: string[]) => void;
106
+ /**
107
+ * To remove document params from a User
108
+ */
109
+ removeScrollableElementsIds: () => void;
110
+ /**
111
+ * Get the Presence Element Object to access the raw presence data.
112
+ *
113
+ * This is for Pros who don’t want to use Snippyly Presence web component and want to design their own UI.
114
+ */
115
+ getPresenceElement: () => PresenceElement;
116
+ /**
117
+ * Get the Cursor Element Object to access the raw cursor data.
118
+ *
119
+ * This is for Pros who don’t want to use Snippyly Presence web component and want to design their own UI.
120
+ */
121
+ getCursorElement: () => CursorElement;
122
+ /**
123
+ * Get the Comment Element Object to access the raw comment data.
124
+ *
125
+ * This is for Pros who don’t want to use Snippyly Comment web component and want to design their own UI.
126
+ */
127
+ getCommentElement: () => CommentElement;
128
+ /**
129
+ * Get the Tag Pin Annotation Object to access the raw tag data.
130
+ *
131
+ * This is for Pros who don’t want to use Snippyly Tag web component and want to design their own UI.
132
+ */
133
+ getTagElement: () => TagElement;
134
+ /**
135
+ * Get the Selection Object to enable/disable the feature.
136
+ */
137
+ getSelectionElement: () => SelectionElement;
138
+ /**
139
+ * Get the Recorder Object.
140
+ */
141
+ getRecorderElement: () => RecorderElement;
142
+ /**
143
+ * Get the Contact Object.
144
+ */
145
+ getContactElement: () => ContactElement;
146
+ /**
147
+ * Get the Rewriter Object.
148
+ */
149
+ getRewriterElement: () => RewriterElement;
150
+ /**
151
+ * Get the Huddle element.
152
+ */
153
+ getHuddleElement: () => HuddleElement;
154
+ /**
155
+ * Get the LiveStateSync Object.
156
+ */
157
+ getLiveStateSyncElement: () => LiveStateSyncElement;
158
+ /**
159
+ * Get the Arrow Object.
160
+ */
161
+ getArrowElement: () => ArrowElement;
162
+ /**
163
+ * Get the Views Object.
164
+ */
165
+ getViewsElement: () => ViewsElement;
166
+ /**
167
+ * Get the Notification Object.
168
+ */
169
+ getNotificationElement: () => NotificationElement;
170
+ /**
171
+ * Get the Autocomplete Object.
172
+ */
173
+ getAutocompleteElement: () => AutocompleteElement;
174
+ /**
175
+ * Get the Area Object.
176
+ */
177
+ getAreaElement: () => AreaElement;
178
+ /**
179
+ * Get the Area Object.
180
+ */
181
+ getReactionElement: () => ReactionElement;
182
+ /**
183
+ * Get the metadata of the current resource.
184
+ */
185
+ getMetadata: () => Promise<VeltEventMetadata | null>;
186
+ /**
187
+ * To signout a user
188
+ */
189
+ signOutUser: () => any;
190
+ /**
191
+ * Provide a list of features to disable.
192
+ * Provide an empty array to enable all the features.
193
+ * @param features List of features
194
+ */
195
+ disableFeatures: (features: Array<FeatureType>) => void;
196
+ /**
196
197
  * Add location to show comments, tags, recorders etc. for provided location also.
197
198
  * @param location Location object
198
199
  * @deprecated This method is deprecated and will be removed in next release. Use `setLocation` method with `appendLocation: true` instead.
199
200
  */
200
- addLocation: (location: any) => any;
201
- /**
202
- * To set the dark mode of Velt components.
203
- * @param value {boolean} true/false
204
- */
205
- setDarkMode: (darkMode: boolean) => void;
206
-
207
- /**
208
- * To check if user allowed in provided document or not.
209
- */
210
- isUserAllowed$: () => Observable<boolean>;
201
+ addLocation: (location: any) => any;
202
+ /**
203
+ * To set the dark mode of Velt components.
204
+ * @param value {boolean} true/false
205
+ */
206
+ setDarkMode: (darkMode: boolean) => void;
211
207
 
212
- /**
213
- * To get user role in provided document.
214
- */
215
- getUserRole$: () => Observable<string | null>;
208
+ /**
209
+ * To check if user allowed in provided document or not.
210
+ */
211
+ isUserAllowed$: () => Observable<boolean>;
216
212
 
217
- /**
218
- * To check if plan is expired or not.
219
- */
220
- isPlanExpired$: () => Observable<boolean>;
213
+ /**
214
+ * To get user.
215
+ */
216
+ getUser: () => User | null;
221
217
 
222
- /**
223
- * To get if the Velt is initialized or not.
224
- * @returns Observable<boolean | undefined>
225
- */
226
- getVeltInitState: () => Observable<boolean | undefined>;
218
+ /**
219
+ * To get user role in provided document.
220
+ */
221
+ getUserRole$: () => Observable<string | null>;
227
222
 
228
- /**
229
- * To invite list of users to the document.
230
- * @param documentUsers List of document users
231
- */
232
- inviteUsers: (documentUsers: Array<DocumentUser>) => void;
223
+ /**
224
+ * To check if plan is expired or not.
225
+ */
226
+ isPlanExpired$: () => Observable<boolean>;
233
227
 
234
- /**
235
- * To remove snippyly specific content from provided html content.
236
- */
237
- removeSnippylyContent: (htmlContent: string) => string;
228
+ /**
229
+ * To get if the Velt is initialized or not.
230
+ * @returns Observable<boolean | undefined>
231
+ */
232
+ getVeltInitState: () => Observable<boolean | undefined>;
238
233
 
239
- /**
240
- * To remove velt specific content from provided html content.
241
- */
234
+ /**
235
+ * To remove velt specific content from provided html content.
236
+ */
242
237
  removeVeltContent: (htmlContent: string) => string;
243
238
 
244
239
  /**
@@ -272,10 +267,11 @@ export declare class Snippyly {
272
267
  /**
273
268
  * To update user contact list.
274
269
  */
275
- updateContactList: (userContacts: UserContact[], config?: {merge: boolean}) => void;
270
+ updateContactList: (userContacts: UserContact[], config?: { merge: boolean }) => void;
276
271
 
277
272
  /**
278
273
  * To get document metadata.
274
+ * @deprecated This method is deprecated. Use `fetchDocuments` method instead.
279
275
  */
280
276
  getDocumentMetadata: () => Observable<DocumentMetadata | null>;
281
277
 
@@ -283,4 +279,14 @@ export declare class Snippyly {
283
279
  * To subscribe to core actions
284
280
  */
285
281
  on: <T extends keyof CoreEventTypesMap>(action: T) => Observable<CoreEventTypesMap[T]>;
286
- }
282
+
283
+ /**
284
+ * To set the ui state.
285
+ */
286
+ setUiState: (uiState: { [key: string]: any }) => void;
287
+
288
+ /**
289
+ * To get the ui state.
290
+ */
291
+ getUiState: () => Observable<{ [key: string]: any }>;
292
+ }
@@ -5,9 +5,7 @@ import { AddAttachmentResponse } from "./comment-actions.data.model";
5
5
  import { CommentAnnotation, UpdateContextConfig } from "./comment-annotation.data.model";
6
6
  import { Comment } from "./comment.data.model";
7
7
  import { CustomPriority, CustomStatus } from "./custom-filter.data.model";
8
- import { DocumentMetadata } from "./document-metadata.model";
9
8
  import { VeltEventMetadata } from "./event-metadata.data.model";
10
- import { FolderMetadata } from "./folder-metadata.model";
11
9
  import { Location } from "./location.model";
12
10
  import { ReactionAnnotation } from "./reaction-annotation.data.model";
13
11
  import { RecordedData } from "./recorder.model";
@@ -79,6 +77,8 @@ export type CommentEventTypesMap = {
79
77
  [CommentEventTypes.TOGGLE_REACTION]: ToggleReactionEvent;
80
78
  [CommentEventTypes.COMMENT_SIDEBAR_DATA_INIT]: CommentSidebarDataInitEvent;
81
79
  [CommentEventTypes.COMMENT_SIDEBAR_DATA_UPDATE]: CommentSidebarDataUpdateEvent;
80
+ [CommentEventTypes.AUTOCOMPLETE_SEARCH]: AutocompleteSearchEvent;
81
+ [CommentEventTypes.COMPOSER_CLICKED]: ComposerClickedEvent;
82
82
  };
83
83
  export interface AddAttachmentEvent {
84
84
  annotationId: string;
@@ -134,14 +134,6 @@ export interface GetCommentAnnotationsResponse {
134
134
  export interface FetchCommentAnnotationsResponse extends GetCommentAnnotationsResponse {
135
135
  nextPageToken: string;
136
136
  }
137
- export interface FetchDocumentsResponse {
138
- data: Record<string, DocumentMetadata[]> | null;
139
- nextPageToken: string;
140
- }
141
- export interface FetchFoldersResponse {
142
- data: Record<string, FolderMetadata[]> | null;
143
- nextPageToken: string;
144
- }
145
137
  export interface GetCommentAnnotationsCountResponse {
146
138
  data: Record<string, CommentAnnotationsCount> | null;
147
139
  }
@@ -248,3 +240,13 @@ export interface CommentSidebarDataInitEvent extends VeltButtonClickEvent {
248
240
  }
249
241
  export interface CommentSidebarDataUpdateEvent extends VeltButtonClickEvent {
250
242
  }
243
+ export interface AutocompleteSearchEvent {
244
+ event: KeyboardEvent | InputEvent | Event;
245
+ searchText: string;
246
+ type?: 'contact' | 'custom' | 'group';
247
+ metadata?: VeltEventMetadata;
248
+ }
249
+ export interface ComposerClickedEvent {
250
+ commentAnnotation?: CommentAnnotation;
251
+ metadata?: VeltEventMetadata;
252
+ }
@@ -0,0 +1,10 @@
1
+ import { DocumentMetadata } from "./document-metadata.model";
2
+ import { FolderMetadata } from "./folder-metadata.model";
3
+ export interface FetchDocumentsResponse {
4
+ data: Record<string, DocumentMetadata> | null;
5
+ nextPageToken: string;
6
+ }
7
+ export interface FetchFoldersResponse {
8
+ data: Record<string, FolderMetadata> | null;
9
+ nextPageToken: string;
10
+ }
@@ -1073,6 +1073,16 @@ export declare class CommentElement {
1073
1073
  */
1074
1074
  public disableReadOnly: () => void;
1075
1075
 
1076
+ /**
1077
+ * To enable custom autocomplete search
1078
+ */
1079
+ public enableCustomAutocompleteSearch: () => void;
1080
+
1081
+ /**
1082
+ * To disable custom autocomplete search
1083
+ */
1084
+ public disableCustomAutocompleteSearch: () => void;
1085
+
1076
1086
  constructor();
1077
1087
  /**
1078
1088
  * Subscribe to comments on the current document.
@@ -2127,4 +2137,14 @@ export declare class CommentElement {
2127
2137
  * To disable read only
2128
2138
  */
2129
2139
  private _disableReadOnly;
2140
+
2141
+ /**
2142
+ * To enable custom autocomplete search
2143
+ */
2144
+ private _enableCustomAutocompleteSearch;
2145
+
2146
+ /**
2147
+ * To disable custom autocomplete search
2148
+ */
2149
+ private _disableCustomAutocompleteSearch;
2130
2150
  }
@@ -41,6 +41,8 @@ export declare const CommentEventTypes: {
41
41
  readonly TOGGLE_REACTION: "toggleReaction";
42
42
  readonly COMMENT_SIDEBAR_DATA_INIT: "commentSidebarDataInit";
43
43
  readonly COMMENT_SIDEBAR_DATA_UPDATE: "commentSidebarDataUpdate";
44
+ readonly AUTOCOMPLETE_SEARCH: "autocompleteSearch";
45
+ readonly COMPOSER_CLICKED: "composerClicked";
44
46
  };
45
47
  export declare const RecorderEventTypes: {
46
48
  readonly TRANSCRIPTION_DONE: "transcriptionDone";
package/models.d.ts CHANGED
@@ -18,6 +18,7 @@ export * from './app/models/data/custom-css.data.model';
18
18
  export * from './app/models/data/custom-chip-dropdown.data.model';
19
19
  export * from './app/models/data/device-info.model';
20
20
  export * from './app/models/data/document.data.model';
21
+ export * from './app/models/data/document-events.data.model';
21
22
  export * from './app/models/data/document-iam.data.model';
22
23
  export * from './app/models/data/document-metadata.model';
23
24
  export * from './app/models/data/document-paths.data.model';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltdev/sdk",
3
- "version": "4.0.0-beta.21",
3
+ "version": "4.0.0-beta.23",
4
4
  "description": "Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.",
5
5
  "homepage": "https://velt.dev",
6
6
  "keywords": [