@veltdev/react 4.5.9 → 4.6.0-beta.2

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.
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const VELT_SDK_VERSION = "4.5.9";
2
+ export declare const VELT_SDK_VERSION = "4.6.0-beta.2";
3
3
  export declare const VELT_SDK_INIT_EVENT = "onVeltInit";
4
4
  export declare const VELT_TAB_ID = "veltTabId";
5
5
  export declare const INTEGRITY_MAP: Record<string, string>;
@@ -1,4 +1,4 @@
1
- import { Location, User, Options, DocumentMetadata, Document, SetDocumentsRequestOptions, SetLocationsRequestOptions } from "@veltdev/types";
1
+ import { Location, User, Options, DocumentMetadata, Document, SetDocumentsRequestOptions, SetLocationsRequestOptions, HeartbeatConfig, GetHeartbeatResponse } from "@veltdev/types";
2
2
  export declare function useClient(): any;
3
3
  export declare function useIdentify(user: User, userOptions?: Options): void;
4
4
  export declare function useSetDocument(documentId: string, documentMetadata?: DocumentMetadata): void;
@@ -23,3 +23,4 @@ export declare function useUiState<T extends object = object>(): {
23
23
  uiState: T | undefined;
24
24
  setUiState: (data: T) => void;
25
25
  };
26
+ export declare function useHeartbeat(heartbeatConfig?: HeartbeatConfig): GetHeartbeatResponse;
@@ -1,4 +1,4 @@
1
- export { useSetLocation, useSetDocument, useSetDocumentId, useSetDocuments, useSetRootDocument, useSetLocations, useSetRootLocation, useUnsetDocumentId, useUnsetDocuments, useIdentify, useClient, useVeltInitState, useUiState, } from './Client';
1
+ export { useSetLocation, useSetDocument, useSetDocumentId, useSetDocuments, useSetRootDocument, useSetLocations, useSetRootLocation, useUnsetDocumentId, useUnsetDocuments, useIdentify, useClient, useVeltInitState, useUiState, useHeartbeat, } from './Client';
2
2
  export { useCommentUtils, useCommentAnnotations, useCommentAddHandler, useCommentModeState, useCommentUpdateHandler, useCommentDialogSidebarClickHandler, useCommentSelectionChangeHandler, useUnreadCommentCountByAnnotationId, useUnreadCommentAnnotationCountOnCurrentDocument, useUnreadCommentCountOnCurrentDocument, useUnreadCommentAnnotationCountByLocationId, useUnreadCommentCountByLocationId, useCommentCopyLinkHandler, useCommentAnnotationById, useCommentSidebarActionButtonClick, useCommentSidebarInit, useCommentSidebarData, } from './CommentElement';
3
3
  export { useAddAttachment, useDeleteAttachment, useGetAttachment, useDeleteRecording, useGetRecording, useAddReaction, useDeleteReaction, useToggleReaction, useAddComment, useUpdateComment, useDeleteComment, useAddCommentAnnotation, useDeleteCommentAnnotation, useApproveCommentAnnotation, useSubscribeCommentAnnotation, useUnsubscribeCommentAnnotation, useAssignUser, useCopyLink, useGetComment, useGetLink, useRejectCommentAnnotation, useResolveCommentAnnotation, useUpdateAccess, useUpdatePriority, useUpdateStatus, useCommentActionCallback, useCommentEventCallback, useGetCommentAnnotations, useCommentAnnotationsCount, } from './CommentActions';
4
4
  export { useVeltEventCallback } from './CoreActions';
@@ -3,3 +3,10 @@ export declare const transformWireframeProps: (props: {
3
3
  }) => {
4
4
  [key: string]: any;
5
5
  };
6
+ /**
7
+ * To deep compare two objects.
8
+ * @param arg1 object 1
9
+ * @param arg2 object 2
10
+ * @returns true if both objects are equal, false otherwise
11
+ */
12
+ export declare const deepCompare: (arg1: any, arg2: any) => any;
package/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import React, { createContext, useContext, useState, useEffect, useRef, useMemo } from 'react';
1
+ import React, { createContext, useContext, useState, useRef, useEffect, useMemo } from 'react';
2
2
  import { flushSync } from 'react-dom';
3
3
 
4
4
  /******************************************************************************
@@ -137,18 +137,78 @@ var loadVelt = function (callback, version, staging, develop, proxyDomain, integ
137
137
  }
138
138
  };
139
139
 
140
- var VELT_SDK_VERSION = '4.5.9';
140
+ var VELT_SDK_VERSION = '4.6.0-beta.2';
141
141
  var VELT_SDK_INIT_EVENT = 'onVeltInit';
142
142
  var VELT_TAB_ID = 'veltTabId';
143
143
  // integrity map for the Velt SDK
144
144
  // Note: generate integrity hashes with: https://www.srihash.org/
145
145
  var INTEGRITY_MAP = {
146
- '4.5.9': 'sha384-dBr6zZx7nOz3mb9LWGSL9Oq67bjc55OcjEBXvUvKpLSDcc/QMohP7bn+KcBaPXZw',
146
+ '4.6.0-beta.2': 'sha384-41x97x3xSGab/Dq34QMkc5JBQo0LyNpWETn21C3UbdJO1qink0t99J3j/Xl3G3H9',
147
+ };
148
+
149
+ var validProps = ['veltIf', 'veltClass', 'className', 'variant'];
150
+ var transformWireframeProps = function (props) {
151
+ try {
152
+ var transformedProps_1 = {};
153
+ Object.entries(props).forEach(function (_a) {
154
+ var key = _a[0], value = _a[1];
155
+ if (key === 'children' || key === 'ref' || !validProps.includes(key)) {
156
+ transformedProps_1[key] = value;
157
+ return;
158
+ }
159
+ if (key === 'className') {
160
+ transformedProps_1['class'] = value;
161
+ return;
162
+ }
163
+ // Convert camelCase to dash-case
164
+ var dashKey = key.replace(/[A-Z]/g, function (letter) { return "-".concat(letter.toLowerCase()); });
165
+ transformedProps_1[dashKey] = value;
166
+ // // Handle boolean values - only convert if explicitly true/false
167
+ // if (typeof value === 'boolean') {
168
+ // transformedProps[dashKey] = [true, false].includes(value) ? (value ? 'true' : 'false') : undefined;
169
+ // } else {
170
+ // transformedProps[dashKey] = value;
171
+ // }
172
+ });
173
+ return transformedProps_1;
174
+ }
175
+ catch (error) {
176
+ return props;
177
+ }
178
+ };
179
+ /**
180
+ * To deep compare two objects.
181
+ * @param arg1 object 1
182
+ * @param arg2 object 2
183
+ * @returns true if both objects are equal, false otherwise
184
+ */
185
+ var deepCompare = function (arg1, arg2) {
186
+ try {
187
+ if (Object.prototype.toString.call(arg1) === Object.prototype.toString.call(arg2)) {
188
+ if (Object.prototype.toString.call(arg1) === '[object Object]' || Object.prototype.toString.call(arg1) === '[object Array]') {
189
+ if (Object.keys(arg1).length !== Object.keys(arg2).length) {
190
+ return false;
191
+ }
192
+ return (Object.keys(arg1).every(function (key) {
193
+ return deepCompare(arg1[key], arg2[key]);
194
+ }));
195
+ }
196
+ return (arg1 === arg2);
197
+ }
198
+ return false;
199
+ }
200
+ catch (err) {
201
+ return false;
202
+ }
147
203
  };
148
204
 
149
205
  var SnippylyProvider = function (props) {
150
206
  var apiKey = props.apiKey, user = props.user, config = props.config, documentId = props.documentId, language = props.language, translations = props.translations, autoTranslation = props.autoTranslation, userDataProvider = props.userDataProvider, dataProviders = props.dataProviders, encryptionProvider = props.encryptionProvider, authProvider = props.authProvider, permissionProvider = props.permissionProvider, onClientLoad = props.onClientLoad, children = props.children;
151
207
  var _a = useState(null), client = _a[0], setClient = _a[1];
208
+ var prevAuthProviderRef = useRef(undefined);
209
+ var prevUserDataProviderRef = useRef(undefined);
210
+ var prevDataProvidersRef = useRef(undefined);
211
+ var prevPermissionProviderRef = useRef(undefined);
152
212
  useEffect(function () {
153
213
  if (apiKey) {
154
214
  var staging = config === null || config === void 0 ? void 0 : config.staging;
@@ -174,16 +234,36 @@ var SnippylyProvider = function (props) {
174
234
  }
175
235
  }, []);
176
236
  useEffect(function () {
177
- if (client && userDataProvider) {
178
- if (typeof (client === null || client === void 0 ? void 0 : client.setUserDataProvider) === "function") {
179
- client === null || client === void 0 ? void 0 : client.setUserDataProvider(userDataProvider);
237
+ if (!deepCompare(prevUserDataProviderRef.current, userDataProvider)) {
238
+ if (client && userDataProvider) {
239
+ if (typeof (client === null || client === void 0 ? void 0 : client.setUserDataProvider) === "function") {
240
+ client === null || client === void 0 ? void 0 : client.setUserDataProvider(userDataProvider);
241
+ }
242
+ prevUserDataProviderRef.current = userDataProvider;
243
+ }
244
+ else {
245
+ // Only update ref to undefined if client is available (to track removal)
246
+ // If client is not available, keep old ref so we can set provider when client becomes available
247
+ if (client) {
248
+ prevUserDataProviderRef.current = userDataProvider;
249
+ }
180
250
  }
181
251
  }
182
252
  }, [client, userDataProvider]);
183
253
  useEffect(function () {
184
- if (client && dataProviders) {
185
- if (typeof (client === null || client === void 0 ? void 0 : client.setDataProviders) === "function") {
186
- client === null || client === void 0 ? void 0 : client.setDataProviders(dataProviders);
254
+ if (!deepCompare(prevDataProvidersRef.current, dataProviders)) {
255
+ if (client && dataProviders) {
256
+ if (typeof (client === null || client === void 0 ? void 0 : client.setDataProviders) === "function") {
257
+ client === null || client === void 0 ? void 0 : client.setDataProviders(dataProviders);
258
+ }
259
+ prevDataProvidersRef.current = dataProviders;
260
+ }
261
+ else {
262
+ // Only update ref to undefined if client is available (to track removal)
263
+ // If client is not available, keep old ref so we can set provider when client becomes available
264
+ if (client) {
265
+ prevDataProvidersRef.current = dataProviders;
266
+ }
187
267
  }
188
268
  }
189
269
  }, [client, dataProviders]);
@@ -195,14 +275,34 @@ var SnippylyProvider = function (props) {
195
275
  }
196
276
  }, [client, encryptionProvider]);
197
277
  useEffect(function () {
198
- if (client && authProvider && authProvider.user) {
199
- client.setVeltAuthProvider(authProvider);
278
+ if (!deepCompare(prevAuthProviderRef.current, authProvider)) {
279
+ if (client && authProvider && authProvider.user) {
280
+ client.setVeltAuthProvider(authProvider);
281
+ prevAuthProviderRef.current = authProvider;
282
+ }
283
+ else {
284
+ // Only update ref to undefined if client is available (to track removal)
285
+ // If client is not available, keep old ref so we can set provider when client becomes available
286
+ if (client) {
287
+ prevAuthProviderRef.current = authProvider;
288
+ }
289
+ }
200
290
  }
201
291
  }, [client, authProvider]);
202
292
  useEffect(function () {
203
- if (client && permissionProvider) {
204
- if (typeof (client === null || client === void 0 ? void 0 : client.setPermissionProvider) === "function") {
205
- client === null || client === void 0 ? void 0 : client.setPermissionProvider(permissionProvider);
293
+ if (!deepCompare(prevPermissionProviderRef.current, permissionProvider)) {
294
+ if (client && permissionProvider) {
295
+ if (typeof (client === null || client === void 0 ? void 0 : client.setPermissionProvider) === "function") {
296
+ client === null || client === void 0 ? void 0 : client.setPermissionProvider(permissionProvider);
297
+ }
298
+ prevPermissionProviderRef.current = permissionProvider;
299
+ }
300
+ else {
301
+ // Only update ref to undefined if client is available (to track removal)
302
+ // If client is not available, keep old ref so we can set provider when client becomes available
303
+ if (client) {
304
+ prevPermissionProviderRef.current = permissionProvider;
305
+ }
206
306
  }
207
307
  }
208
308
  }, [client, permissionProvider]);
@@ -1543,37 +1643,6 @@ var VeltWireframe = function (props) {
1543
1643
  return (React.createElement("velt-wireframe", { style: { display: 'none' } }, children));
1544
1644
  };
1545
1645
 
1546
- var validProps = ['veltIf', 'veltClass', 'className', 'variant'];
1547
- var transformWireframeProps = function (props) {
1548
- try {
1549
- var transformedProps_1 = {};
1550
- Object.entries(props).forEach(function (_a) {
1551
- var key = _a[0], value = _a[1];
1552
- if (key === 'children' || key === 'ref' || !validProps.includes(key)) {
1553
- transformedProps_1[key] = value;
1554
- return;
1555
- }
1556
- if (key === 'className') {
1557
- transformedProps_1['class'] = value;
1558
- return;
1559
- }
1560
- // Convert camelCase to dash-case
1561
- var dashKey = key.replace(/[A-Z]/g, function (letter) { return "-".concat(letter.toLowerCase()); });
1562
- transformedProps_1[dashKey] = value;
1563
- // // Handle boolean values - only convert if explicitly true/false
1564
- // if (typeof value === 'boolean') {
1565
- // transformedProps[dashKey] = [true, false].includes(value) ? (value ? 'true' : 'false') : undefined;
1566
- // } else {
1567
- // transformedProps[dashKey] = value;
1568
- // }
1569
- });
1570
- return transformedProps_1;
1571
- }
1572
- catch (error) {
1573
- return props;
1574
- }
1575
- };
1576
-
1577
1646
  var VeltCommentDialogAllComment = function (props) {
1578
1647
  var children = props.children, remainingProps = __rest(props, ["children"]);
1579
1648
  var transformedProps = transformWireframeProps(remainingProps);
@@ -6155,6 +6224,32 @@ function useUiState() {
6155
6224
  setUiState: setUiState
6156
6225
  };
6157
6226
  }
6227
+ function useHeartbeat(heartbeatConfig) {
6228
+ var client = useVeltClient().client;
6229
+ var _a = React.useState({ data: null }), data = _a[0], setData = _a[1];
6230
+ var memoizedConfig = React.useMemo(function () { return heartbeatConfig; }, [JSON.stringify(heartbeatConfig)]);
6231
+ var subscriptionRef = React.useRef();
6232
+ React.useEffect(function () {
6233
+ if (!(client === null || client === void 0 ? void 0 : client.getHeartbeat))
6234
+ return;
6235
+ // Unsubscribe from the previous subscription if it exists
6236
+ if (subscriptionRef.current) {
6237
+ subscriptionRef.current.unsubscribe();
6238
+ }
6239
+ var subscription = client.getHeartbeat(memoizedConfig).subscribe(function (res) {
6240
+ setData(res);
6241
+ });
6242
+ // Store the new subscription
6243
+ subscriptionRef.current = subscription;
6244
+ // Cleanup function
6245
+ return function () {
6246
+ if (subscriptionRef.current) {
6247
+ subscriptionRef.current.unsubscribe();
6248
+ }
6249
+ };
6250
+ }, [client === null || client === void 0 ? void 0 : client.getHeartbeat, memoizedConfig]);
6251
+ return data;
6252
+ }
6158
6253
 
6159
6254
  function useCommentUtils() {
6160
6255
  var _a = React.useState(), commentElement = _a[0], setCommentElement = _a[1];
@@ -7875,5 +7970,5 @@ var logLiveState = function (action, liveStateDataId) {
7875
7970
  }
7876
7971
  };
7877
7972
 
7878
- export { SnippylyArrowTool as VeltArrowTool, SnippylyArrows as VeltArrows, VeltAutocomplete, VeltAutocompleteChipTooltipWireframe, VeltAutocompleteGroupOptionWireframe, VeltAutocompleteOptionWireframe, VeltButtonWireframe, VeltCanvasComment, VeltChartComment, SnippylyCommentBubble as VeltCommentBubble, VeltCommentBubbleWireframe, VeltCommentComposer, VeltCommentComposerWireframe, VeltCommentDialogOptionsDropdownContentWireframe, VeltCommentDialogOptionsDropdownTriggerWireframe, VeltCommentDialogPriorityDropdownContentWireframe, VeltCommentDialogPriorityDropdownTriggerWireframe, VeltCommentDialogStatusDropdownContentWireframe, VeltCommentDialogStatusDropdownTriggerWireframe, VeltCommentDialogWireframe, VeltCommentPin, VeltCommentPinWireframe, VeltCommentPlayerTimeline, VeltCommentText, VeltCommentThread, VeltCommentThreadWireframe, SnippylyCommentTool as VeltCommentTool, VeltCommentToolWireframe, SnippylyComments as VeltComments, VeltCommentsMinimap, SnippylyCommentsSidebar as VeltCommentsSidebar, VeltCommentsSidebarButton, VeltCommentsSidebarStatusDropdownWireframe, VeltCommentsSidebarWireframe, VeltConfirmDialogWireframe, SnippylyCursor as VeltCursor, VeltCursorPointerWireframe, VeltData, VeltHighChartComments, SnippylyHuddle as VeltHuddle, SnippylyHuddleTool as VeltHuddleTool, VeltIf, VeltInlineCommentsSection, VeltInlineCommentsSectionWireframe, VeltInlineReactionsSection, VeltInlineReactionsSectionWireframe, VeltMediaSourceSettingsWireframe, VeltMultiThreadCommentDialogWireframe, VeltNivoChartComments, VeltNotificationsHistoryPanel, VeltNotificationsPanel, VeltNotificationsPanelWireframe, VeltNotificationsTool, VeltNotificationsToolWireframe, VeltPersistentCommentModeWireframe, SnippylyPresence as VeltPresence, VeltPresenceTooltipWireframe, VeltPresenceWireframe, SnippylyProvider as VeltProvider, VeltReactionPinTooltipWireframe, VeltReactionPinWireframe, VeltReactionTool, VeltReactionToolWireframe, VeltReactionsPanelWireframe, VeltRecorderAllToolMenuWireframe, VeltRecorderAllToolWireframe, VeltRecorderAudioToolWireframe, SnippylyRecorderControlPanel as VeltRecorderControlPanel, VeltRecorderControlPanelWireframe, SnippylyRecorderNotes as VeltRecorderNotes, SnippylyRecorderPlayer as VeltRecorderPlayer, VeltRecorderPlayerExpandedWireframe, VeltRecorderPlayerWireframe, VeltRecorderScreenToolWireframe, SnippylyRecorderTool as VeltRecorderTool, VeltRecorderVideoToolWireframe, VeltRecordingPreviewStepsDialogWireframe, SnippylySidebarButton as VeltSidebarButton, VeltSidebarButtonWireframe, VeltSingleEditorModePanel, VeltSingleEditorModePanelWireframe, VeltSubtitlesWireframe, SnippylyTagTool as VeltTagTool, SnippylyTags as VeltTags, VeltTextCommentToolWireframe, VeltTextCommentToolbar as VeltTextCommentToolbarWireframe, VeltTranscriptionWireframe, SnippylyUserInviteTool as VeltUserInviteTool, SnippylyUserRequestTool as VeltUserRequestTool, VeltUserSelectorDropdown as VeltUserSelectorDropdownWireframe, VeltVideoEditor, VeltVideoEditorPlayerWireframe, VeltVideoPlayer, VeltViewAnalytics, VeltWireframe, createLiveStateMiddleware, useAIRewriterUtils, useAddAttachment, useAddComment, useAddCommentAnnotation, useAddReaction, useApproveCommentAnnotation, useAssignUser, useAutocompleteChipClick, useAutocompleteUtils, useClient, useCommentActionCallback, useCommentAddHandler, useCommentAnnotationById, useCommentAnnotations, useCommentAnnotationsCount, useCommentCopyLinkHandler, useCommentDialogSidebarClickHandler, useCommentEventCallback, useCommentModeState, useCommentSelectionChangeHandler, useCommentSidebarActionButtonClick, useCommentSidebarData, useCommentSidebarInit, useCommentUpdateHandler, useCommentUtils, useContactList, useContactSelected, useContactUtils, useCopyLink, useCursorUsers, useCursorUtils, useDeleteAttachment, useDeleteComment, useDeleteCommentAnnotation, useDeleteReaction, useDeleteRecording, useEditor, useEditorAccessRequestHandler, useEditorAccessTimer, useGetAttachment, useGetComment, useGetCommentAnnotations, useGetLink, useGetRecording, useHuddleUtils, useIdentify, useLiveSelectionDataHandler, useLiveSelectionUtils, useLiveState, useLiveStateData, useLiveStateSyncEventCallback, useLiveStateSyncUtils, useNotificationEventCallback, useNotificationSettings, useNotificationUtils, useNotificationsData, usePresenceData, usePresenceEventCallback, usePresenceUsers, usePresenceUtils, useRecorderAddHandler, useRecorderEventCallback, useRecorderUtils, useRecordingDataByRecorderId, useRecordings, useRejectCommentAnnotation, useResolveCommentAnnotation, useServerConnectionStateChangeHandler, useSetDocument, useSetDocumentId, useSetDocuments, useSetLiveStateData, useSetLocation, useSetLocations, useSetRootDocument, useSetRootLocation, useSubscribeCommentAnnotation, useTagAnnotations, useTagUtils, useToggleReaction, useUiState, useUniqueViewsByDate, useUniqueViewsByUser, useUnreadCommentAnnotationCountByLocationId, useUnreadCommentAnnotationCountOnCurrentDocument, useUnreadCommentCountByAnnotationId, useUnreadCommentCountByLocationId, useUnreadCommentCountOnCurrentDocument, useUnreadNotificationsCount, useUnsetDocumentId, useUnsetDocuments, useUnsubscribeCommentAnnotation, useUpdateAccess, useUpdateComment, useUpdatePriority, useUpdateStatus, useUserEditorState, useVeltClient, useVeltEventCallback, useVeltInitState, useViewsUtils };
7973
+ export { SnippylyArrowTool as VeltArrowTool, SnippylyArrows as VeltArrows, VeltAutocomplete, VeltAutocompleteChipTooltipWireframe, VeltAutocompleteGroupOptionWireframe, VeltAutocompleteOptionWireframe, VeltButtonWireframe, VeltCanvasComment, VeltChartComment, SnippylyCommentBubble as VeltCommentBubble, VeltCommentBubbleWireframe, VeltCommentComposer, VeltCommentComposerWireframe, VeltCommentDialogOptionsDropdownContentWireframe, VeltCommentDialogOptionsDropdownTriggerWireframe, VeltCommentDialogPriorityDropdownContentWireframe, VeltCommentDialogPriorityDropdownTriggerWireframe, VeltCommentDialogStatusDropdownContentWireframe, VeltCommentDialogStatusDropdownTriggerWireframe, VeltCommentDialogWireframe, VeltCommentPin, VeltCommentPinWireframe, VeltCommentPlayerTimeline, VeltCommentText, VeltCommentThread, VeltCommentThreadWireframe, SnippylyCommentTool as VeltCommentTool, VeltCommentToolWireframe, SnippylyComments as VeltComments, VeltCommentsMinimap, SnippylyCommentsSidebar as VeltCommentsSidebar, VeltCommentsSidebarButton, VeltCommentsSidebarStatusDropdownWireframe, VeltCommentsSidebarWireframe, VeltConfirmDialogWireframe, SnippylyCursor as VeltCursor, VeltCursorPointerWireframe, VeltData, VeltHighChartComments, SnippylyHuddle as VeltHuddle, SnippylyHuddleTool as VeltHuddleTool, VeltIf, VeltInlineCommentsSection, VeltInlineCommentsSectionWireframe, VeltInlineReactionsSection, VeltInlineReactionsSectionWireframe, VeltMediaSourceSettingsWireframe, VeltMultiThreadCommentDialogWireframe, VeltNivoChartComments, VeltNotificationsHistoryPanel, VeltNotificationsPanel, VeltNotificationsPanelWireframe, VeltNotificationsTool, VeltNotificationsToolWireframe, VeltPersistentCommentModeWireframe, SnippylyPresence as VeltPresence, VeltPresenceTooltipWireframe, VeltPresenceWireframe, SnippylyProvider as VeltProvider, VeltReactionPinTooltipWireframe, VeltReactionPinWireframe, VeltReactionTool, VeltReactionToolWireframe, VeltReactionsPanelWireframe, VeltRecorderAllToolMenuWireframe, VeltRecorderAllToolWireframe, VeltRecorderAudioToolWireframe, SnippylyRecorderControlPanel as VeltRecorderControlPanel, VeltRecorderControlPanelWireframe, SnippylyRecorderNotes as VeltRecorderNotes, SnippylyRecorderPlayer as VeltRecorderPlayer, VeltRecorderPlayerExpandedWireframe, VeltRecorderPlayerWireframe, VeltRecorderScreenToolWireframe, SnippylyRecorderTool as VeltRecorderTool, VeltRecorderVideoToolWireframe, VeltRecordingPreviewStepsDialogWireframe, SnippylySidebarButton as VeltSidebarButton, VeltSidebarButtonWireframe, VeltSingleEditorModePanel, VeltSingleEditorModePanelWireframe, VeltSubtitlesWireframe, SnippylyTagTool as VeltTagTool, SnippylyTags as VeltTags, VeltTextCommentToolWireframe, VeltTextCommentToolbar as VeltTextCommentToolbarWireframe, VeltTranscriptionWireframe, SnippylyUserInviteTool as VeltUserInviteTool, SnippylyUserRequestTool as VeltUserRequestTool, VeltUserSelectorDropdown as VeltUserSelectorDropdownWireframe, VeltVideoEditor, VeltVideoEditorPlayerWireframe, VeltVideoPlayer, VeltViewAnalytics, VeltWireframe, createLiveStateMiddleware, useAIRewriterUtils, useAddAttachment, useAddComment, useAddCommentAnnotation, useAddReaction, useApproveCommentAnnotation, useAssignUser, useAutocompleteChipClick, useAutocompleteUtils, useClient, useCommentActionCallback, useCommentAddHandler, useCommentAnnotationById, useCommentAnnotations, useCommentAnnotationsCount, useCommentCopyLinkHandler, useCommentDialogSidebarClickHandler, useCommentEventCallback, useCommentModeState, useCommentSelectionChangeHandler, useCommentSidebarActionButtonClick, useCommentSidebarData, useCommentSidebarInit, useCommentUpdateHandler, useCommentUtils, useContactList, useContactSelected, useContactUtils, useCopyLink, useCursorUsers, useCursorUtils, useDeleteAttachment, useDeleteComment, useDeleteCommentAnnotation, useDeleteReaction, useDeleteRecording, useEditor, useEditorAccessRequestHandler, useEditorAccessTimer, useGetAttachment, useGetComment, useGetCommentAnnotations, useGetLink, useGetRecording, useHeartbeat, useHuddleUtils, useIdentify, useLiveSelectionDataHandler, useLiveSelectionUtils, useLiveState, useLiveStateData, useLiveStateSyncEventCallback, useLiveStateSyncUtils, useNotificationEventCallback, useNotificationSettings, useNotificationUtils, useNotificationsData, usePresenceData, usePresenceEventCallback, usePresenceUsers, usePresenceUtils, useRecorderAddHandler, useRecorderEventCallback, useRecorderUtils, useRecordingDataByRecorderId, useRecordings, useRejectCommentAnnotation, useResolveCommentAnnotation, useServerConnectionStateChangeHandler, useSetDocument, useSetDocumentId, useSetDocuments, useSetLiveStateData, useSetLocation, useSetLocations, useSetRootDocument, useSetRootLocation, useSubscribeCommentAnnotation, useTagAnnotations, useTagUtils, useToggleReaction, useUiState, useUniqueViewsByDate, useUniqueViewsByUser, useUnreadCommentAnnotationCountByLocationId, useUnreadCommentAnnotationCountOnCurrentDocument, useUnreadCommentCountByAnnotationId, useUnreadCommentCountByLocationId, useUnreadCommentCountOnCurrentDocument, useUnreadNotificationsCount, useUnsetDocumentId, useUnsetDocuments, useUnsubscribeCommentAnnotation, useUpdateAccess, useUpdateComment, useUpdatePriority, useUpdateStatus, useUserEditorState, useVeltClient, useVeltEventCallback, useVeltInitState, useViewsUtils };
7879
7974
  //# sourceMappingURL=index.js.map