@veltdev/types 4.7.2 → 4.7.3

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.
Files changed (75) hide show
  1. package/app/models/data/anchor-record.data.model.d.ts +109 -0
  2. package/app/models/data/area-annotation.data.model.d.ts +7 -1
  3. package/app/models/data/arrow-annotation.data.model.d.ts +51 -0
  4. package/app/models/data/attachment-resolver.data.model.d.ts +52 -0
  5. package/app/models/data/attachment.model.d.ts +21 -1
  6. package/app/models/data/autocomplete.data.model.d.ts +51 -0
  7. package/app/models/data/base-metadata.data.model.d.ts +9 -0
  8. package/app/models/data/button.data.model.d.ts +37 -0
  9. package/app/models/data/comment-actions.data.model.d.ts +190 -0
  10. package/app/models/data/comment-annotation.data.model.d.ts +80 -4
  11. package/app/models/data/comment-events.data.model.d.ts +277 -0
  12. package/app/models/data/comment-resolver.data.model.d.ts +72 -0
  13. package/app/models/data/comment-sidebar-config.model.d.ts +95 -0
  14. package/app/models/data/comment-utils.data.model.d.ts +16 -0
  15. package/app/models/data/comment.data.model.d.ts +26 -1
  16. package/app/models/data/config.data.model.d.ts +23 -0
  17. package/app/models/data/contact-utils.data.model.d.ts +9 -0
  18. package/app/models/data/core-events.data.model.d.ts +180 -0
  19. package/app/models/data/crdt-events.data.model.d.ts +25 -0
  20. package/app/models/data/crdt.data.model.d.ts +60 -0
  21. package/app/models/data/cursor-position.data.model.d.ts +15 -0
  22. package/app/models/data/cursor-user.data.model.d.ts +5 -0
  23. package/app/models/data/custom-chip-dropdown.data.model.d.ts +10 -0
  24. package/app/models/data/custom-css.data.model.d.ts +10 -0
  25. package/app/models/data/custom-filter.data.model.d.ts +8 -0
  26. package/app/models/data/customer-metadata.data.model.d.ts +15 -0
  27. package/app/models/data/document-events.data.model.d.ts +8 -0
  28. package/app/models/data/document-iam.data.model.d.ts +8 -0
  29. package/app/models/data/document-metadata.model.d.ts +28 -0
  30. package/app/models/data/document-paths.data.model.d.ts +51 -1
  31. package/app/models/data/document.data.model.d.ts +63 -0
  32. package/app/models/data/encryption-provider.data.model.d.ts +12 -0
  33. package/app/models/data/event-metadata.data.model.d.ts +32 -0
  34. package/app/models/data/folder-metadata.model.d.ts +40 -0
  35. package/app/models/data/heartbeat.data.model.d.ts +16 -0
  36. package/app/models/data/huddle.model.d.ts +2 -1
  37. package/app/models/data/live-state-data-map.data.model.d.ts +7 -6
  38. package/app/models/data/live-state-data.data.model.d.ts +37 -2
  39. package/app/models/data/live-state-events.data.model.d.ts +23 -0
  40. package/app/models/data/location-metadata.model.d.ts +14 -0
  41. package/app/models/data/location.model.d.ts +0 -2
  42. package/app/models/data/media-preview-config.data.model.d.ts +3 -0
  43. package/app/models/data/multi-thread.data.model.d.ts +63 -0
  44. package/app/models/data/notification.model.d.ts +129 -3
  45. package/app/models/data/notifications-events.data.model.d.ts +9 -0
  46. package/app/models/data/organization-groups.data.model.d.ts +16 -0
  47. package/app/models/data/organization-metadata.model.d.ts +31 -0
  48. package/app/models/data/page-info.model.d.ts +4 -0
  49. package/app/models/data/presence-actions.data.model.d.ts +5 -0
  50. package/app/models/data/presence-events.data.model.d.ts +16 -0
  51. package/app/models/data/presence-user.data.model.d.ts +7 -0
  52. package/app/models/data/provider.data.model.d.ts +10 -0
  53. package/app/models/data/reaction-annotation.data.model.d.ts +68 -0
  54. package/app/models/data/reaction-resolver.data.model.d.ts +42 -0
  55. package/app/models/data/reaction.data.model.d.ts +18 -0
  56. package/app/models/data/recorder-annotation.data.model.d.ts +101 -9
  57. package/app/models/data/recorder-events.data.model.d.ts +45 -0
  58. package/app/models/data/recorder.model.d.ts +31 -2
  59. package/app/models/data/resolver.data.model.d.ts +36 -0
  60. package/app/models/data/screenshot.data.model.d.ts +10 -0
  61. package/app/models/data/selection.model.d.ts +12 -0
  62. package/app/models/data/sync-video-player.data.model.d.ts +47 -0
  63. package/app/models/data/target-element.data.model.d.ts +5 -0
  64. package/app/models/data/target-text-range.data.model.d.ts +13 -0
  65. package/app/models/data/user-contact.data.model.d.ts +21 -0
  66. package/app/models/data/user-iam.data.model.d.ts +15 -0
  67. package/app/models/data/user-organization.data.model.d.ts +12 -0
  68. package/app/models/data/user-resolver.data.model.d.ts +56 -0
  69. package/app/models/data/user.data.model.d.ts +82 -0
  70. package/app/models/data/views.data.model.d.ts +64 -0
  71. package/app/models/element/comment-element.model.d.ts +12 -0
  72. package/app/utils/constants.d.ts +133 -6
  73. package/app/utils/enums.d.ts +209 -4
  74. package/models.d.ts +36 -0
  75. package/package.json +2 -2
@@ -0,0 +1,16 @@
1
+ import { BaseMetadata } from "./base-metadata.data.model";
2
+ export interface Heartbeat {
3
+ id: string;
4
+ createdTimestamp: number;
5
+ userId: string;
6
+ veltUserId: string;
7
+ tabId: string;
8
+ metadata: BaseMetadata;
9
+ lastUpdatedTimestamp: number;
10
+ }
11
+ export interface HeartbeatConfig {
12
+ userId?: string;
13
+ }
14
+ export interface GetHeartbeatResponse {
15
+ data: Heartbeat[] | null;
16
+ }
@@ -1,3 +1,4 @@
1
+ import { HuddleType } from "../../utils/enums";
1
2
  import { User } from "./user.data.model";
2
3
  export declare class Attendee extends User {
3
4
  state?: {
@@ -12,7 +13,7 @@ export declare class Attendee extends User {
12
13
  screenSharing?: boolean;
13
14
  };
14
15
  streamMetadata?: any;
15
- initialHuddleType?: 'audio' | 'video' | 'presentation';
16
+ initialHuddleType?: HuddleType;
16
17
  huddleOnCursorMode?: boolean;
17
18
  }
18
19
  export declare class Message {
@@ -11,11 +11,12 @@ export declare class LiveStateDataMap {
11
11
  */
12
12
  default?: {
13
13
  singleEditor?: SingleEditorLiveStateData;
14
- autoSyncState?: {
15
- current?: LiveStateData;
16
- history?: {
17
- [liveStateDataId: string]: LiveStateData;
18
- };
19
- };
14
+ autoSyncState?: LiveStateAutoSyncState;
15
+ };
16
+ }
17
+ export declare class LiveStateAutoSyncState {
18
+ current?: LiveStateData;
19
+ history?: {
20
+ [liveStateDataId: string]: LiveStateData;
20
21
  };
21
22
  }
@@ -1,3 +1,5 @@
1
+ import { SingleEditorState, SingleEditorStatus } from "../../utils/enums";
2
+ import { ErrorEvent } from "./core-events.data.model";
1
3
  import { User } from "./user.data.model";
2
4
  export declare class LiveStateData {
3
5
  /**
@@ -17,13 +19,20 @@ export declare class LiveStateData {
17
19
  lastUpdated: any;
18
20
  updatedBy: User;
19
21
  tabId?: string | null;
22
+ isDataStringified?: boolean;
23
+ }
24
+ export declare class SetLiveStateDataConfig {
25
+ /**
26
+ * To merge data with existing data.
27
+ */
28
+ merge?: boolean;
20
29
  }
21
30
  export declare class SingleEditorLiveStateData {
22
31
  editor?: User | null;
23
32
  requestEditorAccess?: {
24
33
  user: User;
25
34
  requestedAt: any;
26
- status: 'pending' | 'accepted' | 'rejected' | 'cancelled';
35
+ status: SingleEditorStatus;
27
36
  editorAccessTimeout: number;
28
37
  tabId?: string | null;
29
38
  } | null;
@@ -55,9 +64,35 @@ export declare class EditorAccessTimer {
55
64
  /**
56
65
  * The time when the editor access was requested.
57
66
  */
58
- state: 'idle' | 'inProgress' | 'completed';
67
+ state: SingleEditorState;
59
68
  /**
60
69
  * Duration left for the editor access timer to be completed.
61
70
  */
62
71
  durationLeft?: number;
63
72
  }
73
+ export declare class LiveStateDataConfig {
74
+ listenToNewChangesOnly?: boolean;
75
+ }
76
+ export interface SetUserAsEditorResponse {
77
+ error?: ErrorEvent;
78
+ }
79
+ export interface LiveStateSingleEditorExternalUserPresence {
80
+ /**
81
+ * True if the same user is present on different tab.
82
+ */
83
+ sameUserPresentOnTab?: boolean;
84
+ /**
85
+ * True if the different user is present on different tab.
86
+ */
87
+ differentUserPresentOnTab?: boolean;
88
+ /**
89
+ * User ids of the users present on different tab.
90
+ */
91
+ userIds?: string[];
92
+ }
93
+ export interface FetchLiveStateDataRequest {
94
+ /**
95
+ * Unique identifier to identify the state data you are syncing.
96
+ */
97
+ liveStateDataId?: string;
98
+ }
@@ -0,0 +1,23 @@
1
+ import { LiveStateSyncEventTypes } from "../../utils/enums";
2
+ import { User } from "./user.data.model";
3
+ export interface AccessRequestEvent {
4
+ viewer?: User;
5
+ editor?: User;
6
+ timestamp?: number;
7
+ status?: string;
8
+ }
9
+ export interface SEMEvent {
10
+ viewer?: User;
11
+ editor?: User;
12
+ timestamp?: number;
13
+ role?: string;
14
+ }
15
+ export type LiveStateEventTypesMap = {
16
+ [LiveStateSyncEventTypes.ACCESS_REQUESTED]: AccessRequestEvent;
17
+ [LiveStateSyncEventTypes.ACCESS_REQUEST_CANCELED]: AccessRequestEvent;
18
+ [LiveStateSyncEventTypes.ACCESS_ACCEPTED]: AccessRequestEvent;
19
+ [LiveStateSyncEventTypes.ACCESS_REJECTED]: AccessRequestEvent;
20
+ [LiveStateSyncEventTypes.EDITOR_ASSIGNED]: SEMEvent;
21
+ [LiveStateSyncEventTypes.VIEWER_ASSIGNED]: SEMEvent;
22
+ [LiveStateSyncEventTypes.EDITOR_ON_DIFFERENT_TAB_DETECTED]: SEMEvent;
23
+ };
@@ -1,3 +1,4 @@
1
+ import { BaseMetadata } from "./base-metadata.data.model";
1
2
  import { Location } from "./location.model";
2
3
  import { PageInfo } from "./page-info.model";
3
4
  export declare class LocationMetadata {
@@ -5,6 +6,10 @@ export declare class LocationMetadata {
5
6
  * Unique location id generated from client location information
6
7
  */
7
8
  locationId?: number;
9
+ /**
10
+ * Location id generated from velt location information
11
+ */
12
+ veltLocationId?: string;
8
13
  /**
9
14
  * Location object provided by a client
10
15
  */
@@ -13,4 +18,13 @@ export declare class LocationMetadata {
13
18
  * Page metadata
14
19
  */
15
20
  pageInfo?: PageInfo;
21
+ /**
22
+ * Location metadata
23
+ */
24
+ metadata?: BaseMetadata;
25
+ }
26
+ export interface LocationMetadatas {
27
+ [documentId: string]: {
28
+ [locationId: string]: LocationMetadata;
29
+ };
16
30
  }
@@ -23,13 +23,11 @@ export declare class Version {
23
23
  */
24
24
  name: string;
25
25
  }
26
-
27
26
  export declare class SetLocationsRequestOptions {
28
27
  /**
29
28
  * Root location.
30
29
  */
31
30
  rootLocationId?: string;
32
-
33
31
  /**
34
32
  * Merge locations.
35
33
  */
@@ -2,10 +2,13 @@ export declare class MediaPreviewConfig {
2
2
  audio?: {
3
3
  enabled?: boolean;
4
4
  deviceId?: string;
5
+ stream?: MediaStream;
5
6
  };
6
7
  video?: {
7
8
  enabled?: boolean;
8
9
  deviceId?: string;
10
+ track?: MediaStreamTrack;
11
+ stream?: MediaStream;
9
12
  };
10
13
  screen?: {
11
14
  enabled?: boolean;
@@ -0,0 +1,63 @@
1
+ import { BaseMetadata } from "./base-metadata.data.model";
2
+ import { CommentAnnotation, GhostComment, InlineCommentSectionConfig } from "./comment-annotation.data.model";
3
+ import { CursorPosition } from "./cursor-position.data.model";
4
+ import { Location } from "./location.model";
5
+ import { TargetElement } from "./target-element.data.model";
6
+ import { TargetTextRange } from "./target-text-range.data.model";
7
+ import { User } from "./user.data.model";
8
+ export declare class MultiThreadCommentAnnotation {
9
+ /**
10
+ * The id of the annotation.
11
+ */
12
+ annotationId: string;
13
+ /**
14
+ * The id of the area annotation.
15
+ */
16
+ areaAnnotationId?: string;
17
+ /**
18
+ * The target element of the annotation.
19
+ */
20
+ targetElement?: TargetElement | null;
21
+ /**
22
+ * The id of the target element.
23
+ */
24
+ targetElementId?: string | null;
25
+ /**
26
+ * Selected text range of comment annotation
27
+ */
28
+ targetTextRange?: TargetTextRange | null;
29
+ /**
30
+ * The id of the target inline comment element.
31
+ */
32
+ targetInlineCommentElementId?: string;
33
+ /**
34
+ * The inline comment section config.
35
+ */
36
+ inlineCommentSectionConfig?: InlineCommentSectionConfig;
37
+ commentAnnotations?: {
38
+ [commentAnnotationId: string]: boolean;
39
+ };
40
+ commentAnnotationsMap?: {
41
+ [commentAnnotationId: string]: CommentAnnotation;
42
+ };
43
+ /**
44
+ * Unique location id generated from provided location
45
+ */
46
+ locationId?: number | null;
47
+ /**
48
+ * Set location to identify user on sub document
49
+ */
50
+ location?: Location | null;
51
+ position?: CursorPosition | null;
52
+ ghostComment?: GhostComment | null;
53
+ from: User;
54
+ type: string;
55
+ isDraft?: boolean;
56
+ sourceId?: string;
57
+ metadata?: MultiThreadMetadata;
58
+ isTemporary?: boolean;
59
+ context?: any;
60
+ }
61
+ export declare class MultiThreadMetadata extends BaseMetadata {
62
+ [key: string]: any;
63
+ }
@@ -1,4 +1,4 @@
1
- import { AreaStatus, ArrowStatus, CommentStatus, TagStatus, UserActionTypes } from "../../utils/enums";
1
+ import { AreaStatus, ArrowStatus, CommentStatus, CrdtActionTypes, HuddleActionTypes, NotificationSettingsItemType, NotificationSource, TagStatus, UserActionTypes } from "../../utils/enums";
2
2
  import { DocumentMetadata } from "./document-metadata.model";
3
3
  import { DocumentUser } from "./document-user.data.model";
4
4
  import { Location } from "./location.model";
@@ -19,11 +19,11 @@ export declare class NotificationRawData {
19
19
  /**
20
20
  * Source of a notification
21
21
  */
22
- notificationSource?: 'area' | 'arrow' | 'comment' | 'tag' | 'huddle' | 'userInvite' | 'user' | 'recorder' | 'huddleInvite' | 'userFeedback' | 'userContactUs' | 'userReportBug' | 'documentViews' | 'custom';
22
+ notificationSource?: NotificationSource;
23
23
  /**
24
24
  * Type of notification like 'Added', 'Updated' etc.
25
25
  */
26
- actionType?: AreaStatus | ArrowStatus | CommentStatus | TagStatus | UserActionTypes;
26
+ actionType?: AreaStatus | ArrowStatus | CommentStatus | TagStatus | UserActionTypes | HuddleActionTypes | CrdtActionTypes;
27
27
  /**
28
28
  * Annotation object
29
29
  */
@@ -39,6 +39,8 @@ export declare class NotificationRawData {
39
39
  newStatus?: string;
40
40
  metadata?: DocumentMetadata & {
41
41
  apiKey?: string;
42
+ clientOrganizationId?: string;
43
+ organizationId?: string;
42
44
  } | null;
43
45
  documentUser?: DocumentUser;
44
46
  oldAccess?: string;
@@ -65,6 +67,8 @@ export declare class NotificationRawData {
65
67
  commenter?: {
66
68
  clientDocumentId: string;
67
69
  documentId: string;
70
+ clientOrganizationId?: string;
71
+ organizationId?: string;
68
72
  emails: string[];
69
73
  emailProperties: {
70
74
  url?: string;
@@ -84,10 +88,17 @@ export declare class NotificationRawData {
84
88
  [key: string]: any;
85
89
  };
86
90
  displayBodyMessage?: string;
91
+ displayBodyMessageTemplate?: string;
92
+ displayBodyMessageTemplateData?: {
93
+ users?: User[];
94
+ [key: string]: any;
95
+ };
87
96
  customData?: any;
88
97
  notifyUsers?: {
89
98
  [email: string]: boolean;
90
99
  };
100
+ crdtData?: unknown;
101
+ notificationSourceData?: any;
91
102
  }
92
103
  export declare class Notification {
93
104
  /**
@@ -122,8 +133,123 @@ export declare class Notification {
122
133
  * Notification body message
123
134
  */
124
135
  displayBodyMessage?: string;
136
+ /**
137
+ * Is comment text available
138
+ */
139
+ isCommentResolverUsed?: boolean;
140
+ /**
141
+ * Display body message template
142
+ */
143
+ displayBodyMessageTemplate?: string;
144
+ /**
145
+ * Display body message template data
146
+ */
147
+ displayBodyMessageTemplateData?: {
148
+ users?: User[];
149
+ [key: string]: any;
150
+ };
151
+ /**
152
+ * Display message template
153
+ */
154
+ displayHeadlineMessageTemplate?: string;
155
+ /**
156
+ * Display message template data
157
+ */
158
+ displayHeadlineMessageTemplateData?: {
159
+ actionUser: User;
160
+ recipientUser: User;
161
+ actionMessage: string;
162
+ project: string;
163
+ [key: string]: any;
164
+ };
125
165
  /**
126
166
  * Is notification for you
127
167
  */
128
168
  forYou?: boolean;
169
+ /**
170
+ * Notification annotation target
171
+ */
172
+ targetAnnotationId?: string;
173
+ /**
174
+ * Notification annotation data
175
+ */
176
+ notificationSourceData?: any;
177
+ /**
178
+ * Notification metadata
179
+ */
180
+ metadata?: NotificationMetadata;
181
+ /**
182
+ * Notification notify users map by email hash
183
+ */
184
+ notifyUsers?: {
185
+ [email: string]: boolean;
186
+ };
187
+ /**
188
+ * Notification notify users map by user id hash
189
+ */
190
+ notifyUsersByUserId?: {
191
+ [userId: string]: boolean;
192
+ };
193
+ }
194
+ export declare class NotificationMetadata {
195
+ /**
196
+ * API Key
197
+ */
198
+ apiKey?: string;
199
+ /**
200
+ * Client organization ID
201
+ */
202
+ clientOrganizationId?: string;
203
+ /**
204
+ * Organization ID
205
+ */
206
+ organizationId?: string;
207
+ /**
208
+ * Client document ID
209
+ */
210
+ clientDocumentId?: string | number;
211
+ /**
212
+ * Document ID
213
+ */
214
+ documentId?: string;
215
+ /**
216
+ * Location ID
217
+ */
218
+ locationId?: number;
219
+ /**
220
+ * Location object
221
+ */
222
+ location?: Location;
223
+ }
224
+ export declare class NotificationTabConfigItem {
225
+ name?: string;
226
+ enable?: boolean;
227
+ }
228
+ export declare class NotificationTabConfig {
229
+ forYou?: NotificationTabConfigItem;
230
+ documents?: NotificationTabConfigItem;
231
+ all?: NotificationTabConfigItem;
232
+ people?: NotificationTabConfigItem;
233
+ }
234
+ export declare class NotificationInitialSettingsConfig {
235
+ name?: string;
236
+ id: string;
237
+ default?: string;
238
+ enable?: boolean;
239
+ values?: NotificationConfigValue[];
240
+ }
241
+ export declare class NotificationConfigValue {
242
+ name?: string;
243
+ id: NotificationSettingsItemType;
244
+ }
245
+ export declare class NotificationSettingsConfig {
246
+ [key: string]: NotificationSettingsItemType;
247
+ }
248
+ export interface NotificationsDocConfig {
249
+ inbox: 'ALL' | 'NONE' | 'MINE';
250
+ email: 'ALL' | 'NONE' | 'MINE';
251
+ [key: string]: string;
252
+ }
253
+ export interface GetNotificationsDataQuery {
254
+ type?: 'all' | 'forYou' | 'documents';
129
255
  }
@@ -0,0 +1,9 @@
1
+ import { NotificationSettingsConfig } from "./notification.model";
2
+ import { NotificationEventTypes } from "../../utils/enums";
3
+ export interface SettingsUpdatedEvent {
4
+ settings: NotificationSettingsConfig;
5
+ isMutedAll: boolean;
6
+ }
7
+ export type NotificationEventTypesMap = {
8
+ [NotificationEventTypes.SETTINGS_UPDATED]: SettingsUpdatedEvent;
9
+ };
@@ -0,0 +1,16 @@
1
+ import { User } from "./user.data.model";
2
+ export declare class OrganizationUserGroup {
3
+ metadata: {
4
+ groupId: string;
5
+ clientGroupId: string;
6
+ groupName: string;
7
+ };
8
+ users: {
9
+ [userIdHash: string]: boolean;
10
+ };
11
+ }
12
+ export interface UserGroup {
13
+ groupId: string;
14
+ groupName: string;
15
+ users: User[];
16
+ }
@@ -0,0 +1,31 @@
1
+ import { DocumentMetadata } from "./document-metadata.model";
2
+ import { PageInfo } from "./page-info.model";
3
+ import { User } from "./user.data.model";
4
+ export declare class OrganizationMetadata {
5
+ /**
6
+ * Unique organization id generated from client organization id
7
+ */
8
+ organizationId?: string;
9
+ /**
10
+ * API key
11
+ */
12
+ apiKey?: string;
13
+ /**
14
+ * Document id provided by client
15
+ */
16
+ clientOrganizationId?: string | number;
17
+ /**
18
+ * Page metadata
19
+ */
20
+ pageInfo?: PageInfo;
21
+ /**
22
+ *
23
+ */
24
+ documents?: {
25
+ [documentId: number]: DocumentMetadata;
26
+ };
27
+ /**
28
+ * Organization creator
29
+ */
30
+ creator?: User;
31
+ }
@@ -8,6 +8,10 @@ export declare class PageInfo {
8
8
  * Path of the webpage excluding base url
9
9
  */
10
10
  path?: string;
11
+ /**
12
+ * Query parameters of the webpage
13
+ */
14
+ queryParams?: string;
11
15
  /**
12
16
  * Base URL (domain) of a webpage
13
17
  */
@@ -0,0 +1,5 @@
1
+ export interface PresenceRequestQuery {
2
+ documentId?: string;
3
+ organizationId?: string;
4
+ statuses?: string[];
5
+ }
@@ -0,0 +1,16 @@
1
+ import { PresenceEventTypes } from "../../utils/enums";
2
+ import { PresenceUser } from "./presence-user.data.model";
3
+ export interface PresenceMultipleUsersOnlineEvent {
4
+ users: PresenceUser[];
5
+ }
6
+ export interface PresenceUserStateChangeEvent {
7
+ user: PresenceUser;
8
+ state: string;
9
+ }
10
+ export type PresenceEventTypesMap = {
11
+ [PresenceEventTypes.MULTIPLE_USERS_ONLINE]: PresenceMultipleUsersOnlineEvent;
12
+ [PresenceEventTypes.USER_STATE_CHANGE]: PresenceUserStateChangeEvent;
13
+ };
14
+ export interface GetPresenceDataResponse {
15
+ data: PresenceUser[] | null;
16
+ }
@@ -38,6 +38,10 @@ export declare class PresenceUser {
38
38
  * This is the color on the avatar border and live cursor, if these features are enabled.
39
39
  */
40
40
  color?: string;
41
+ /**
42
+ * This is the color on the avatar text.
43
+ */
44
+ textColor?: string;
41
45
  /**
42
46
  * Server Timestamp.
43
47
  *
@@ -76,4 +80,7 @@ export declare class PresenceUser {
76
80
  */
77
81
  isAnonymous?: boolean;
78
82
  pageInfo: PageInfo;
83
+ initial?: string;
84
+ isTabAway?: boolean;
85
+ isUserIdle?: boolean;
79
86
  }
@@ -0,0 +1,10 @@
1
+ import { CommentAnnotationDataProvider } from "./comment-resolver.data.model";
2
+ import { AttachmentDataProvider } from "./attachment-resolver.data.model";
3
+ import { ReactionAnnotationDataProvider } from "./reaction-resolver.data.model";
4
+ import { UserDataProvider } from "./user-resolver.data.model";
5
+ export interface VeltDataProvider {
6
+ comment?: CommentAnnotationDataProvider;
7
+ user?: UserDataProvider;
8
+ reaction?: ReactionAnnotationDataProvider;
9
+ attachment?: AttachmentDataProvider;
10
+ }
@@ -0,0 +1,68 @@
1
+ import { BaseMetadata } from "./base-metadata.data.model";
2
+ import { CursorPosition } from "./cursor-position.data.model";
3
+ import { Location } from "./location.model";
4
+ import { PageInfo } from "./page-info.model";
5
+ import { Reaction } from "./reaction.data.model";
6
+ import { TargetElement } from "./target-element.data.model";
7
+ import { Context, User } from "./user.data.model";
8
+ export declare class ReactionAnnotation {
9
+ /**
10
+ * Unique identifier for the reaction pin annotation.
11
+ *
12
+ * Auto generated.
13
+ */
14
+ annotationId: string;
15
+ context?: Context;
16
+ /**
17
+ * Connected comment annotation id of reaction annotation
18
+ */
19
+ commentAnnotationId?: string;
20
+ reactions?: Reaction[];
21
+ /**
22
+ * Timestamp when the reaction annotation was last updated.
23
+ *
24
+ * Auto generated.
25
+ */
26
+ lastUpdated?: any;
27
+ /**
28
+ * Target element of reaction annotation
29
+ */
30
+ targetElement?: TargetElement | null;
31
+ /**
32
+ * Target element id provided by user
33
+ */
34
+ targetElementId?: string | null;
35
+ position?: CursorPosition | null;
36
+ /**
37
+ * Unique location id generated from provided location
38
+ */
39
+ locationId?: number | null;
40
+ /**
41
+ * Set location to identify user on sub document
42
+ */
43
+ location?: Location | null;
44
+ type?: string;
45
+ /**
46
+ * To maintain index of current annotation in available list of annotations
47
+ * It will start from 1, so no need to add 1 in that.
48
+ */
49
+ annotationIndex?: number;
50
+ pageInfo?: PageInfo;
51
+ from?: User;
52
+ icon?: string;
53
+ isReactionResolverUsed?: boolean;
54
+ iconUrl?: string;
55
+ iconEmoji?: string;
56
+ metadata?: ReactionMetadata;
57
+ }
58
+ export declare class ReactionMetadata extends BaseMetadata {
59
+ [key: string]: any;
60
+ }
61
+ export declare class ReactionMap {
62
+ [reactionId: string]: ReactionItem;
63
+ }
64
+ export declare class ReactionItem {
65
+ url?: string;
66
+ svg?: string;
67
+ emoji?: string;
68
+ }
@@ -0,0 +1,42 @@
1
+ import { ResolverActions } from "../../utils/enums";
2
+ import { BaseMetadata } from "./base-metadata.data.model";
3
+ import { PartialUser } from "./comment-resolver.data.model";
4
+ import { ReactionAnnotation } from "./reaction-annotation.data.model";
5
+ import { ResolverConfig, ResolverResponse } from "./resolver.data.model";
6
+ export interface ReactionAnnotationDataProvider {
7
+ get: (request: GetReactionResolverRequest) => Promise<ResolverResponse<Record<string, PartialReactionAnnotation>>>;
8
+ save: (request: SaveReactionResolverRequest) => Promise<ResolverResponse<undefined>>;
9
+ delete: (request: DeleteReactionResolverRequest) => Promise<ResolverResponse<undefined>>;
10
+ config?: ResolverConfig;
11
+ }
12
+ export interface GetReactionResolverRequest {
13
+ organizationId: string;
14
+ reactionAnnotationIds?: string[];
15
+ documentIds?: string[];
16
+ folderId?: string;
17
+ allDocuments?: boolean;
18
+ }
19
+ export interface DeleteReactionResolverRequest {
20
+ reactionAnnotationId: string;
21
+ metadata?: BaseMetadata;
22
+ event?: ResolverActions;
23
+ }
24
+ export interface SaveReactionResolverRequest {
25
+ reactionAnnotation: {
26
+ [key: string]: PartialReactionAnnotation;
27
+ };
28
+ metadata?: BaseMetadata;
29
+ event?: ResolverActions;
30
+ }
31
+ export interface PartialReactionAnnotationResult {
32
+ strippedData: {
33
+ [annotationId: string]: PartialReactionAnnotation;
34
+ } | null;
35
+ originalData: ReactionAnnotation | null;
36
+ }
37
+ export interface PartialReactionAnnotation {
38
+ annotationId: string;
39
+ metadata?: BaseMetadata;
40
+ icon?: string;
41
+ from?: PartialUser;
42
+ }