@liveblocks/react 2.7.0-beta2 → 2.7.0-versions2

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,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/version.ts
2
2
  var PKG_NAME = "@liveblocks/react";
3
- var PKG_VERSION = "2.7.0-beta2";
3
+ var PKG_VERSION = "2.7.0-versions2";
4
4
  var PKG_FORMAT = "cjs";
5
5
 
6
6
  // src/ClientSideSuspense.tsx
@@ -191,7 +191,6 @@ var _client = require('@liveblocks/client');
191
191
 
192
192
 
193
193
 
194
-
195
194
 
196
195
  var _withselectorjs = require('use-sync-external-store/shim/with-selector.js');
197
196
 
@@ -1324,6 +1323,40 @@ function makeExtrasForClient2(client) {
1324
1323
  return;
1325
1324
  }
1326
1325
  }
1326
+ async function getRoomVersions(room, { retryCount } = { retryCount: 0 }) {
1327
+ const queryKey = getVersionsQueryKey(room.id);
1328
+ const existingRequest = requestsByQuery.get(queryKey);
1329
+ if (existingRequest !== void 0) return existingRequest;
1330
+ const request = room[_core.kInternal].listTextVersions();
1331
+ requestsByQuery.set(queryKey, request);
1332
+ store.setQueryState(queryKey, {
1333
+ isLoading: true
1334
+ });
1335
+ try {
1336
+ const result = await request;
1337
+ const data = await result.json();
1338
+ const versions = data.versions.map(({ createdAt, ...version2 }) => {
1339
+ return {
1340
+ createdAt: new Date(createdAt),
1341
+ ...version2
1342
+ };
1343
+ });
1344
+ store.updateRoomVersions(room.id, versions, queryKey);
1345
+ requestsByQuery.delete(queryKey);
1346
+ } catch (err) {
1347
+ requestsByQuery.delete(queryKey);
1348
+ retryError(() => {
1349
+ void getRoomVersions(room, {
1350
+ retryCount: retryCount + 1
1351
+ });
1352
+ }, retryCount);
1353
+ store.setQueryState(queryKey, {
1354
+ isLoading: false,
1355
+ error: err
1356
+ });
1357
+ }
1358
+ return;
1359
+ }
1327
1360
  async function getThreadsAndInboxNotifications(room, queryKey, options, { retryCount } = { retryCount: 0 }) {
1328
1361
  const existingRequest = requestsByQuery.get(queryKey);
1329
1362
  if (existingRequest !== void 0) return existingRequest;
@@ -1412,6 +1445,7 @@ function makeExtrasForClient2(client) {
1412
1445
  getThreadsUpdates,
1413
1446
  getThreadsAndInboxNotifications,
1414
1447
  getInboxNotificationSettings,
1448
+ getRoomVersions,
1415
1449
  onMutationFailure
1416
1450
  };
1417
1451
  }
@@ -1461,7 +1495,8 @@ function makeRoomContextBundle(client) {
1461
1495
  useRemoveReaction,
1462
1496
  useMarkThreadAsRead,
1463
1497
  useThreadSubscription,
1464
- useAttachmentUrl,
1498
+ useHistoryVersions,
1499
+ useHistoryVersionData,
1465
1500
  useRoomNotificationSettings,
1466
1501
  useUpdateRoomNotificationSettings,
1467
1502
  ...shared.classic,
@@ -1505,7 +1540,8 @@ function makeRoomContextBundle(client) {
1505
1540
  useRemoveReaction,
1506
1541
  useMarkThreadAsRead,
1507
1542
  useThreadSubscription,
1508
- useAttachmentUrl: useAttachmentUrlSuspense,
1543
+ // TODO: useHistoryVersionData: useHistoryVersionDataSuspense,
1544
+ useHistoryVersions: useHistoryVersionsSuspense,
1509
1545
  useRoomNotificationSettings: useRoomNotificationSettingsSuspense,
1510
1546
  useUpdateRoomNotificationSettings,
1511
1547
  ...shared.suspense
@@ -1970,7 +2006,6 @@ function useCreateThread() {
1970
2006
  (options) => {
1971
2007
  const body = options.body;
1972
2008
  const metadata = _nullishCoalesce(options.metadata, () => ( {}));
1973
- const attachments = options.attachments;
1974
2009
  const threadId = _core.createThreadId.call(void 0, );
1975
2010
  const commentId = _core.createCommentId.call(void 0, );
1976
2011
  const createdAt = /* @__PURE__ */ new Date();
@@ -1982,8 +2017,7 @@ function useCreateThread() {
1982
2017
  type: "comment",
1983
2018
  userId: getCurrentUserId(room),
1984
2019
  body,
1985
- reactions: [],
1986
- attachments: _nullishCoalesce(attachments, () => ( []))
2020
+ reactions: []
1987
2021
  };
1988
2022
  const newThread = {
1989
2023
  id: threadId,
@@ -2003,8 +2037,7 @@ function useCreateThread() {
2003
2037
  id: optimisticUpdateId,
2004
2038
  roomId: room.id
2005
2039
  });
2006
- const attachmentIds = _optionalChain([attachments, 'optionalAccess', _8 => _8.map, 'call', _9 => _9((attachment) => attachment.id)]);
2007
- room.createThread({ threadId, commentId, body, metadata, attachmentIds }).then(
2040
+ room.createThread({ threadId, commentId, body, metadata }).then(
2008
2041
  (thread) => {
2009
2042
  store.set((state) => ({
2010
2043
  ...state,
@@ -2043,7 +2076,7 @@ function useDeleteThread() {
2043
2076
  const { store, onMutationFailure } = getExtrasForClient2(client);
2044
2077
  const thread = store.get().threads[threadId];
2045
2078
  const userId = getCurrentUserId(room);
2046
- if (_optionalChain([thread, 'optionalAccess', _10 => _10.comments, 'optionalAccess', _11 => _11[0], 'optionalAccess', _12 => _12.userId]) !== userId) {
2079
+ if (_optionalChain([thread, 'optionalAccess', _8 => _8.comments, 'optionalAccess', _9 => _9[0], 'optionalAccess', _10 => _10.userId]) !== userId) {
2047
2080
  throw new Error("Only the thread creator can delete the thread");
2048
2081
  }
2049
2082
  store.pushOptimisticUpdate({
@@ -2162,7 +2195,7 @@ function useCreateComment() {
2162
2195
  const client = useClient();
2163
2196
  const room = useRoom();
2164
2197
  return React4.useCallback(
2165
- ({ threadId, body, attachments }) => {
2198
+ ({ threadId, body }) => {
2166
2199
  const commentId = _core.createCommentId.call(void 0, );
2167
2200
  const createdAt = /* @__PURE__ */ new Date();
2168
2201
  const comment = {
@@ -2173,8 +2206,7 @@ function useCreateComment() {
2173
2206
  createdAt,
2174
2207
  userId: getCurrentUserId(room),
2175
2208
  body,
2176
- reactions: [],
2177
- attachments: _nullishCoalesce(attachments, () => ( []))
2209
+ reactions: []
2178
2210
  };
2179
2211
  const optimisticUpdateId = _core.nanoid.call(void 0, );
2180
2212
  const { store, onMutationFailure } = getExtrasForClient2(client);
@@ -2183,8 +2215,7 @@ function useCreateComment() {
2183
2215
  comment,
2184
2216
  id: optimisticUpdateId
2185
2217
  });
2186
- const attachmentIds = _optionalChain([attachments, 'optionalAccess', _13 => _13.map, 'call', _14 => _14((attachment) => attachment.id)]);
2187
- room.createComment({ threadId, commentId, body, attachmentIds }).then(
2218
+ room.createComment({ threadId, commentId, body }).then(
2188
2219
  (newComment) => {
2189
2220
  store.set((state) => {
2190
2221
  const existingThread = state.threads[threadId];
@@ -2242,7 +2273,7 @@ function useEditComment() {
2242
2273
  const client = useClient();
2243
2274
  const room = useRoom();
2244
2275
  return React4.useCallback(
2245
- ({ threadId, commentId, body, attachments }) => {
2276
+ ({ threadId, commentId, body }) => {
2246
2277
  const editedAt = /* @__PURE__ */ new Date();
2247
2278
  const optimisticUpdateId = _core.nanoid.call(void 0, );
2248
2279
  const { store, onMutationFailure } = getExtrasForClient2(client);
@@ -2267,13 +2298,11 @@ function useEditComment() {
2267
2298
  comment: {
2268
2299
  ...comment,
2269
2300
  editedAt,
2270
- body,
2271
- attachments: _nullishCoalesce(attachments, () => ( []))
2301
+ body
2272
2302
  },
2273
2303
  id: optimisticUpdateId
2274
2304
  });
2275
- const attachmentIds = _optionalChain([attachments, 'optionalAccess', _15 => _15.map, 'call', _16 => _16((attachment) => attachment.id)]);
2276
- room.editComment({ threadId, commentId, body, attachmentIds }).then(
2305
+ room.editComment({ threadId, commentId, body }).then(
2277
2306
  (editedComment) => {
2278
2307
  store.set((state) => {
2279
2308
  const existingThread = state.threads[threadId];
@@ -2734,6 +2763,68 @@ function useRoomNotificationSettings() {
2734
2763
  return [settings, updateRoomNotificationSettings];
2735
2764
  }, [settings, updateRoomNotificationSettings]);
2736
2765
  }
2766
+ function useHistoryVersionData(versionId) {
2767
+ const [state, setState] = React4.useState({
2768
+ isLoading: true
2769
+ });
2770
+ const room = useRoom();
2771
+ React4.useEffect(() => {
2772
+ setState({ isLoading: true });
2773
+ const load = async () => {
2774
+ try {
2775
+ const response = await room[_core.kInternal].getTextVersion(versionId);
2776
+ const buffer = await response.arrayBuffer();
2777
+ const data = new Uint8Array(buffer);
2778
+ setState({
2779
+ isLoading: false,
2780
+ data
2781
+ });
2782
+ } catch (error) {
2783
+ setState({
2784
+ isLoading: false,
2785
+ error: error instanceof Error ? error : new Error(
2786
+ "An unknown error occurred while loading this version"
2787
+ )
2788
+ });
2789
+ }
2790
+ };
2791
+ void load();
2792
+ }, [room, versionId]);
2793
+ return state;
2794
+ }
2795
+ function useHistoryVersions() {
2796
+ const client = useClient();
2797
+ const room = useRoom();
2798
+ const queryKey = getVersionsQueryKey(room.id);
2799
+ const { store, getRoomVersions } = getExtrasForClient2(client);
2800
+ React4.useEffect(() => {
2801
+ void getRoomVersions(room);
2802
+ }, [room]);
2803
+ const selector = React4.useCallback(
2804
+ (state2) => {
2805
+ const query = state2.queries[queryKey];
2806
+ if (query === void 0 || query.isLoading) {
2807
+ return {
2808
+ isLoading: true
2809
+ };
2810
+ }
2811
+ return {
2812
+ versions: state2.versions[room.id],
2813
+ isLoading: false,
2814
+ error: query.error
2815
+ };
2816
+ },
2817
+ [room, queryKey]
2818
+ // eslint-disable-line react-hooks/exhaustive-deps
2819
+ );
2820
+ const state = _withselectorjs.useSyncExternalStoreWithSelector.call(void 0,
2821
+ store.subscribe,
2822
+ store.get,
2823
+ store.get,
2824
+ selector
2825
+ );
2826
+ return state;
2827
+ }
2737
2828
  function useUpdateRoomNotificationSettings() {
2738
2829
  const client = useClient();
2739
2830
  const room = useRoom();
@@ -2866,64 +2957,35 @@ function useThreadsSuspense(options = {
2866
2957
  useScrollToCommentOnLoadEffect(scrollOnLoad, state);
2867
2958
  return state;
2868
2959
  }
2869
- function selectorFor_useAttachmentUrl(state) {
2870
- if (state === void 0 || _optionalChain([state, 'optionalAccess', _17 => _17.isLoading])) {
2871
- return _nullishCoalesce(state, () => ( { isLoading: true }));
2872
- }
2873
- if (state.error) {
2874
- return state;
2875
- }
2876
- _core.assert.call(void 0, state.data !== void 0, "Unexpected missing attachment URL");
2877
- return {
2878
- isLoading: false,
2879
- url: state.data
2880
- };
2881
- }
2882
- function useAttachmentUrl(attachmentId) {
2883
- const room = useRoom();
2884
- const { attachmentUrlsStore } = room[_core.kInternal];
2885
- const getAttachmentUrlState = React4.useCallback(
2886
- () => attachmentUrlsStore.getState(attachmentId),
2887
- [attachmentUrlsStore, attachmentId]
2888
- );
2889
- React4.useEffect(() => {
2890
- void attachmentUrlsStore.get(attachmentId);
2891
- }, [attachmentUrlsStore, attachmentId]);
2892
- return _withselectorjs.useSyncExternalStoreWithSelector.call(void 0,
2893
- attachmentUrlsStore.subscribe,
2894
- getAttachmentUrlState,
2895
- getAttachmentUrlState,
2896
- selectorFor_useAttachmentUrl,
2897
- _client.shallow
2898
- );
2899
- }
2900
- function useAttachmentUrlSuspense(attachmentId) {
2960
+ function useHistoryVersionsSuspense() {
2961
+ const client = useClient();
2901
2962
  const room = useRoom();
2902
- const { attachmentUrlsStore } = room[_core.kInternal];
2903
- const getAttachmentUrlState = React4.useCallback(
2904
- () => attachmentUrlsStore.getState(attachmentId),
2905
- [attachmentUrlsStore, attachmentId]
2906
- );
2907
- const attachmentUrlState = getAttachmentUrlState();
2908
- if (!attachmentUrlState || attachmentUrlState.isLoading) {
2909
- throw attachmentUrlsStore.get(attachmentId);
2963
+ const queryKey = getVersionsQueryKey(room.id);
2964
+ const { store, getRoomVersions } = getExtrasForClient2(client);
2965
+ const query = store.get().queries[queryKey];
2966
+ if (query === void 0 || query.isLoading) {
2967
+ throw getRoomVersions(room);
2910
2968
  }
2911
- if (attachmentUrlState.error) {
2912
- throw attachmentUrlState.error;
2969
+ if (query.error) {
2970
+ throw query.error;
2913
2971
  }
2914
- const state = useSyncExternalStore2(
2915
- attachmentUrlsStore.subscribe,
2916
- getAttachmentUrlState,
2917
- getAttachmentUrlState
2972
+ const selector = React4.useCallback(
2973
+ (state2) => {
2974
+ return {
2975
+ versions: state2.versions[room.id],
2976
+ isLoading: false
2977
+ };
2978
+ },
2979
+ [room, queryKey]
2980
+ // eslint-disable-line react-hooks/exhaustive-deps
2918
2981
  );
2919
- _core.assert.call(void 0, state !== void 0, "Unexpected missing state");
2920
- _core.assert.call(void 0, !state.isLoading, "Unexpected loading state");
2921
- _core.assert.call(void 0, !state.error, "Unexpected error state");
2922
- return {
2923
- isLoading: false,
2924
- url: state.data,
2925
- error: void 0
2926
- };
2982
+ const state = _withselectorjs.useSyncExternalStoreWithSelector.call(void 0,
2983
+ store.subscribe,
2984
+ store.get,
2985
+ store.get,
2986
+ selector
2987
+ );
2988
+ return state;
2927
2989
  }
2928
2990
  function useRoomNotificationSettingsSuspense() {
2929
2991
  const updateRoomNotificationSettings = useUpdateRoomNotificationSettings();
@@ -2966,6 +3028,9 @@ function createRoomContext(client) {
2966
3028
  function generateQueryKey(roomId, options) {
2967
3029
  return `${roomId}-${_core.stringify.call(void 0, _nullishCoalesce(options, () => ( {})))}`;
2968
3030
  }
3031
+ function getVersionsQueryKey(roomId) {
3032
+ return `${roomId}-VERSIONS`;
3033
+ }
2969
3034
  var _RoomProvider = RoomProvider;
2970
3035
  var _useBroadcastEvent = useBroadcastEvent;
2971
3036
  var _useOthersListener = useOthersListener;
@@ -2982,6 +3047,8 @@ var _useOthersMapped = useOthersMapped;
2982
3047
  var _useOthersMappedSuspense = useOthersMappedSuspense;
2983
3048
  var _useThreads = useThreads;
2984
3049
  var _useThreadsSuspense = useThreadsSuspense;
3050
+ var _useHistoryVersions = useHistoryVersions;
3051
+ var _useHistoryVersionsSuspense = useHistoryVersionsSuspense;
2985
3052
  var _useOther = useOther;
2986
3053
  function _useOthers(...args) {
2987
3054
  return useOthers(...args);
@@ -3081,5 +3148,6 @@ var _useUpdateMyPresence = useUpdateMyPresence;
3081
3148
 
3082
3149
 
3083
3150
 
3084
- exports.PKG_NAME = PKG_NAME; exports.PKG_VERSION = PKG_VERSION; exports.PKG_FORMAT = PKG_FORMAT; exports.ClientSideSuspense = ClientSideSuspense; exports.selectedThreads = selectedThreads; exports.CreateThreadError = CreateThreadError; exports.RoomContext = RoomContext; exports.useStatus = useStatus; exports.useStorageStatus = useStorageStatus; exports.useBatch = useBatch; exports.useLostConnectionListener = useLostConnectionListener; exports.useErrorListener = useErrorListener; exports.useHistory = useHistory; exports.useUndo = useUndo; exports.useRedo = useRedo; exports.useCanUndo = useCanUndo; exports.useCanRedo = useCanRedo; exports.useOthersConnectionIds = useOthersConnectionIds; exports.useCommentsErrorListener = useCommentsErrorListener; exports.useCreateComment = useCreateComment; exports.useEditComment = useEditComment; exports.useDeleteComment = useDeleteComment; exports.useRemoveReaction = useRemoveReaction; exports.useMarkThreadAsRead = useMarkThreadAsRead; exports.useMarkThreadAsResolved = useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = useMarkThreadAsUnresolved; exports.useThreadSubscription = useThreadSubscription; exports.useRoomNotificationSettings = useRoomNotificationSettings; exports.useUpdateRoomNotificationSettings = useUpdateRoomNotificationSettings; exports.useOthersConnectionIdsSuspense = useOthersConnectionIdsSuspense; exports.useStorageStatusSuspense = useStorageStatusSuspense; exports.useAttachmentUrl = useAttachmentUrl; exports.useAttachmentUrlSuspense = useAttachmentUrlSuspense; exports.createRoomContext = createRoomContext; exports._RoomProvider = _RoomProvider; exports._useBroadcastEvent = _useBroadcastEvent; exports._useOthersListener = _useOthersListener; exports._useRoom = _useRoom; exports._useIsInsideRoom = _useIsInsideRoom; exports._useAddReaction = _useAddReaction; exports._useMutation = _useMutation; exports._useCreateThread = _useCreateThread; exports._useDeleteThread = _useDeleteThread; exports._useEditThreadMetadata = _useEditThreadMetadata; exports._useEventListener = _useEventListener; exports._useMyPresence = _useMyPresence; exports._useOthersMapped = _useOthersMapped; exports._useOthersMappedSuspense = _useOthersMappedSuspense; exports._useThreads = _useThreads; exports._useThreadsSuspense = _useThreadsSuspense; exports._useOther = _useOther; exports._useOthers = _useOthers; exports._useOtherSuspense = _useOtherSuspense; exports._useOthersSuspense = _useOthersSuspense; exports._useStorage = _useStorage; exports._useStorageSuspense = _useStorageSuspense; exports._useSelf = _useSelf; exports._useSelfSuspense = _useSelfSuspense; exports._useStorageRoot = _useStorageRoot; exports._useUpdateMyPresence = _useUpdateMyPresence; exports.ClientContext = ClientContext; exports.useClient = useClient; exports.LiveblocksProvider = LiveblocksProvider; exports.createLiveblocksContext = createLiveblocksContext; exports.useInboxNotifications = useInboxNotifications; exports.useInboxNotificationsSuspense = useInboxNotificationsSuspense; exports.useMarkAllInboxNotificationsAsRead = useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = useMarkInboxNotificationAsRead; exports.useDeleteAllInboxNotifications = useDeleteAllInboxNotifications; exports.useDeleteInboxNotification = useDeleteInboxNotification; exports.useUnreadInboxNotificationsCount = useUnreadInboxNotificationsCount; exports.useUnreadInboxNotificationsCountSuspense = useUnreadInboxNotificationsCountSuspense; exports.useRoomInfo = useRoomInfo; exports.useRoomInfoSuspense = useRoomInfoSuspense; exports._useInboxNotificationThread = _useInboxNotificationThread; exports._useUser = _useUser; exports._useUserSuspense = _useUserSuspense; exports._useUserThreads_experimental = _useUserThreads_experimental; exports._useUserThreadsSuspense_experimental = _useUserThreadsSuspense_experimental;
3085
- //# sourceMappingURL=chunk-MREN32VN.js.map
3151
+
3152
+ exports.PKG_NAME = PKG_NAME; exports.PKG_VERSION = PKG_VERSION; exports.PKG_FORMAT = PKG_FORMAT; exports.ClientSideSuspense = ClientSideSuspense; exports.selectedThreads = selectedThreads; exports.CreateThreadError = CreateThreadError; exports.RoomContext = RoomContext; exports.useStatus = useStatus; exports.useStorageStatus = useStorageStatus; exports.useBatch = useBatch; exports.useLostConnectionListener = useLostConnectionListener; exports.useErrorListener = useErrorListener; exports.useHistory = useHistory; exports.useUndo = useUndo; exports.useRedo = useRedo; exports.useCanUndo = useCanUndo; exports.useCanRedo = useCanRedo; exports.useOthersConnectionIds = useOthersConnectionIds; exports.useCommentsErrorListener = useCommentsErrorListener; exports.useCreateComment = useCreateComment; exports.useEditComment = useEditComment; exports.useDeleteComment = useDeleteComment; exports.useRemoveReaction = useRemoveReaction; exports.useMarkThreadAsRead = useMarkThreadAsRead; exports.useMarkThreadAsResolved = useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = useMarkThreadAsUnresolved; exports.useThreadSubscription = useThreadSubscription; exports.useRoomNotificationSettings = useRoomNotificationSettings; exports.useHistoryVersionData = useHistoryVersionData; exports.useUpdateRoomNotificationSettings = useUpdateRoomNotificationSettings; exports.useOthersConnectionIdsSuspense = useOthersConnectionIdsSuspense; exports.useStorageStatusSuspense = useStorageStatusSuspense; exports.createRoomContext = createRoomContext; exports._RoomProvider = _RoomProvider; exports._useBroadcastEvent = _useBroadcastEvent; exports._useOthersListener = _useOthersListener; exports._useRoom = _useRoom; exports._useIsInsideRoom = _useIsInsideRoom; exports._useAddReaction = _useAddReaction; exports._useMutation = _useMutation; exports._useCreateThread = _useCreateThread; exports._useDeleteThread = _useDeleteThread; exports._useEditThreadMetadata = _useEditThreadMetadata; exports._useEventListener = _useEventListener; exports._useMyPresence = _useMyPresence; exports._useOthersMapped = _useOthersMapped; exports._useOthersMappedSuspense = _useOthersMappedSuspense; exports._useThreads = _useThreads; exports._useThreadsSuspense = _useThreadsSuspense; exports._useHistoryVersions = _useHistoryVersions; exports._useHistoryVersionsSuspense = _useHistoryVersionsSuspense; exports._useOther = _useOther; exports._useOthers = _useOthers; exports._useOtherSuspense = _useOtherSuspense; exports._useOthersSuspense = _useOthersSuspense; exports._useStorage = _useStorage; exports._useStorageSuspense = _useStorageSuspense; exports._useSelf = _useSelf; exports._useSelfSuspense = _useSelfSuspense; exports._useStorageRoot = _useStorageRoot; exports._useUpdateMyPresence = _useUpdateMyPresence; exports.ClientContext = ClientContext; exports.useClient = useClient; exports.LiveblocksProvider = LiveblocksProvider; exports.createLiveblocksContext = createLiveblocksContext; exports.useInboxNotifications = useInboxNotifications; exports.useInboxNotificationsSuspense = useInboxNotificationsSuspense; exports.useMarkAllInboxNotificationsAsRead = useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = useMarkInboxNotificationAsRead; exports.useDeleteAllInboxNotifications = useDeleteAllInboxNotifications; exports.useDeleteInboxNotification = useDeleteInboxNotification; exports.useUnreadInboxNotificationsCount = useUnreadInboxNotificationsCount; exports.useUnreadInboxNotificationsCountSuspense = useUnreadInboxNotificationsCountSuspense; exports.useRoomInfo = useRoomInfo; exports.useRoomInfoSuspense = useRoomInfoSuspense; exports._useInboxNotificationThread = _useInboxNotificationThread; exports._useUser = _useUser; exports._useUserSuspense = _useUserSuspense; exports._useUserThreads_experimental = _useUserThreads_experimental; exports._useUserThreadsSuspense_experimental = _useUserThreadsSuspense_experimental;
3153
+ //# sourceMappingURL=chunk-YGRZXVI6.js.map