You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@liveblocks/react

Package Overview
Dependencies
Maintainers
3
Versions
602
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@liveblocks/react - npm Package Compare versions

Comparing version
3.15.4
to
3.16.0-flow1
dist/chunk-2VF57BZV.js

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

+23
// src/version.ts
var PKG_NAME = "@liveblocks/react";
var PKG_VERSION = "3.16.0-flow1";
var PKG_FORMAT = "esm";
// src/ClientSideSuspense.tsx
import { Suspense, useEffect, useState } from "react";
import { jsx } from "react/jsx-runtime";
function ClientSideSuspense(props) {
const [mounted, setMounted] = useState(false);
useEffect(() => {
setMounted(true);
}, []);
return /* @__PURE__ */ jsx(Suspense, { fallback: props.fallback, children: mounted ? typeof props.children === "function" ? props.children() : props.children : props.fallback });
}
export {
PKG_NAME,
PKG_VERSION,
PKG_FORMAT,
ClientSideSuspense
};
//# sourceMappingURL=chunk-4FVE2H73.js.map
{"version":3,"sources":["../src/version.ts","../src/ClientSideSuspense.tsx"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const TSUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof TSUP_FORMAT === \"string\" && TSUP_FORMAT;\n","import type { ReactNode } from \"react\";\nimport { Suspense, useEffect, useState } from \"react\";\n\ntype Props = {\n fallback: ReactNode;\n children: (() => ReactNode | undefined) | ReactNode | undefined;\n};\n\n/**\n * Almost like a normal <Suspense> component, except that for server-side\n * renders, the fallback will be used.\n *\n * The child props will have to be provided in a function, i.e. change:\n *\n * <Suspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </Suspense>\n *\n * To:\n *\n * <ClientSideSuspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </ClientSideSuspense>\n *\n */\nexport function ClientSideSuspense(props: Props) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n // Effects are never executed on the server side. The point of this is to\n // delay the flipping of this boolean until after hydration has happened.\n setMounted(true);\n }, []);\n\n return (\n <Suspense fallback={props.fallback}>\n {mounted\n ? typeof props.children === \"function\"\n ? props.children()\n : props.children\n : props.fallback}\n </Suspense>\n );\n}\n"],"mappings":";AAGO,IAAM,WAAW;AACjB,IAAM,cAAiD;AACvD,IAAM,aAAgD;;;ACJ7D,SAAS,UAAU,WAAW,gBAAgB;AAkC1C;AAVG,SAAS,mBAAmB,OAAc;AAC/C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,YAAU,MAAM;AAGd,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,SACE,oBAAC,YAAS,UAAU,MAAM,UACvB,oBACG,OAAO,MAAM,aAAa,aACxB,MAAM,SAAS,IACf,MAAM,WACR,MAAM,UACZ;AAEJ;","names":[]}
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/version.ts
var PKG_NAME = "@liveblocks/react";
var PKG_VERSION = "3.16.0-flow1";
var PKG_FORMAT = "cjs";
// src/ClientSideSuspense.tsx
var _react = require('react');
var _jsxruntime = require('react/jsx-runtime');
function ClientSideSuspense(props) {
const [mounted, setMounted] = _react.useState.call(void 0, false);
_react.useEffect.call(void 0, () => {
setMounted(true);
}, []);
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Suspense, { fallback: props.fallback, children: mounted ? typeof props.children === "function" ? props.children() : props.children : props.fallback });
}
exports.PKG_NAME = PKG_NAME; exports.PKG_VERSION = PKG_VERSION; exports.PKG_FORMAT = PKG_FORMAT; exports.ClientSideSuspense = ClientSideSuspense;
//# sourceMappingURL=chunk-N6SOTKXE.cjs.map
{"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-N6SOTKXE.cjs","../src/version.ts","../src/ClientSideSuspense.tsx"],"names":[],"mappings":"AAAA;ACGO,IAAM,SAAA,EAAW,mBAAA;AACjB,IAAM,YAAA,EAAiD,cAAA;AACvD,IAAM,WAAA,EAAgD,KAAA;ADD7D;AACA;AEJA,8BAA8C;AAkC1C,+CAAA;AAVG,SAAS,kBAAA,CAAmB,KAAA,EAAc;AAC/C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,EAAA,EAAI,6BAAA,KAAc,CAAA;AAE5C,EAAA,8BAAA,CAAU,EAAA,GAAM;AAGd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,CAAC,CAAC,CAAA;AAEL,EAAA,uBACE,6BAAA,eAAC,EAAA,EAAS,QAAA,EAAU,KAAA,CAAM,QAAA,EACvB,QAAA,EAAA,QAAA,EACG,OAAO,KAAA,CAAM,SAAA,IAAa,WAAA,EACxB,KAAA,CAAM,QAAA,CAAS,EAAA,EACf,KAAA,CAAM,SAAA,EACR,KAAA,CAAM,SAAA,CACZ,CAAA;AAEJ;AF5BA;AACA;AACE;AACA;AACA;AACA;AACF,iJAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-N6SOTKXE.cjs","sourcesContent":[null,"declare const __VERSION__: string;\ndeclare const TSUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof TSUP_FORMAT === \"string\" && TSUP_FORMAT;\n","import type { ReactNode } from \"react\";\nimport { Suspense, useEffect, useState } from \"react\";\n\ntype Props = {\n fallback: ReactNode;\n children: (() => ReactNode | undefined) | ReactNode | undefined;\n};\n\n/**\n * Almost like a normal <Suspense> component, except that for server-side\n * renders, the fallback will be used.\n *\n * The child props will have to be provided in a function, i.e. change:\n *\n * <Suspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </Suspense>\n *\n * To:\n *\n * <ClientSideSuspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </ClientSideSuspense>\n *\n */\nexport function ClientSideSuspense(props: Props) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n // Effects are never executed on the server side. The point of this is to\n // delay the flipping of this boolean until after hydration has happened.\n setMounted(true);\n }, []);\n\n return (\n <Suspense fallback={props.fallback}>\n {mounted\n ? typeof props.children === \"function\"\n ? props.children()\n : props.children\n : props.fallback}\n </Suspense>\n );\n}\n"]}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

+13
-7

@@ -28,4 +28,7 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }

var _chunkL3D3UECFcjs = require('./chunk-L3D3UECF.cjs');
var _chunkQEGVIJNNcjs = require('./chunk-QEGVIJNN.cjs');
// src/lib/use-layout-effect.ts

@@ -54,3 +57,3 @@ var _react = require('react');

function useGroup(groupId) {
const client = _chunkL3D3UECFcjs.useClient.call(void 0, );
const client = _chunkQEGVIJNNcjs.useClient.call(void 0, );
const store = client[_core.kInternal].httpClient.groupsStore;

@@ -64,3 +67,3 @@ const getGroupState = _react.useCallback.call(void 0,

}, [store, groupId]);
return _chunkL3D3UECFcjs.useSyncExternalStoreWithSelector.call(void 0,
return _chunkQEGVIJNNcjs.useSyncExternalStoreWithSelector.call(void 0,
store.subscribe,

@@ -86,4 +89,4 @@ getGroupState,

const lastInvokedAt = _react.useRef.call(void 0, );
const resolveMentionSuggestions = _chunkL3D3UECFcjs.useResolveMentionSuggestions.call(void 0, );
const mentionSuggestionsCache = _chunkL3D3UECFcjs.useMentionSuggestionsCache.call(void 0, );
const resolveMentionSuggestions = _chunkQEGVIJNNcjs.useResolveMentionSuggestions.call(void 0, );
const mentionSuggestionsCache = _chunkQEGVIJNNcjs.useMentionSuggestionsCache.call(void 0, );
_react.useEffect.call(void 0, () => {

@@ -143,3 +146,3 @@ if (search === void 0 || !resolveMentionSuggestions) {

function useSyncSource() {
const client = _chunkL3D3UECFcjs.useClient.call(void 0, );
const client = _chunkQEGVIJNNcjs.useClient.call(void 0, );
const createSyncSource = client[_core.kInternal].createSyncSource;

@@ -184,3 +187,6 @@ const [syncSource, setSyncSource] = _react.useState.call(void 0, );

exports.getUmbrellaStoreForClient = _chunkL3D3UECFcjs.getUmbrellaStoreForClient; exports.useAddRoomCommentReaction = _chunkL3D3UECFcjs.useAddRoomCommentReaction; exports.useClientOrNull = _chunkL3D3UECFcjs.useClientOrNull; exports.useCreateRoomComment = _chunkL3D3UECFcjs.useCreateRoomComment; exports.useCreateRoomThread = _chunkL3D3UECFcjs.useCreateRoomThread; exports.useCreateTextMention = _chunkL3D3UECFcjs.useCreateTextMention; exports.useDeleteRoomComment = _chunkL3D3UECFcjs.useDeleteRoomComment; exports.useDeleteRoomThread = _chunkL3D3UECFcjs.useDeleteRoomThread; exports.useDeleteTextMention = _chunkL3D3UECFcjs.useDeleteTextMention; exports.useEditRoomComment = _chunkL3D3UECFcjs.useEditRoomComment; exports.useEditRoomThreadMetadata = _chunkL3D3UECFcjs.useEditRoomThreadMetadata; exports.useGroup = useGroup; exports.useLatest = _chunkL3D3UECFcjs.useLatest; exports.useLayoutEffect = useLayoutEffect; exports.useMarkRoomThreadAsRead = _chunkL3D3UECFcjs.useMarkRoomThreadAsRead; exports.useMarkRoomThreadAsResolved = _chunkL3D3UECFcjs.useMarkRoomThreadAsResolved; exports.useMarkRoomThreadAsUnresolved = _chunkL3D3UECFcjs.useMarkRoomThreadAsUnresolved; exports.useMentionSuggestions = useMentionSuggestions; exports.useMentionSuggestionsCache = _chunkL3D3UECFcjs.useMentionSuggestionsCache; exports.useRemoveRoomCommentReaction = _chunkL3D3UECFcjs.useRemoveRoomCommentReaction; exports.useReportTextEditor = _chunkL3D3UECFcjs.useReportTextEditor; exports.useResolveMentionSuggestions = _chunkL3D3UECFcjs.useResolveMentionSuggestions; exports.useRoomAttachmentUrl = _chunkL3D3UECFcjs.useRoomAttachmentUrl; exports.useRoomPermissions = _chunkL3D3UECFcjs.useRoomPermissions; exports.useRoomThreadSubscription = _chunkL3D3UECFcjs.useRoomThreadSubscription; exports.useSignal = _chunkL3D3UECFcjs.useSignal; exports.useSyncExternalStoreWithSelector = _chunkL3D3UECFcjs.useSyncExternalStoreWithSelector; exports.useSyncSource = useSyncSource; exports.useYjsProvider = _chunkL3D3UECFcjs.useYjsProvider;
exports.getUmbrellaStoreForClient = _chunkQEGVIJNNcjs.getUmbrellaStoreForClient; exports.useAddRoomCommentReaction = _chunkQEGVIJNNcjs.useAddRoomCommentReaction; exports.useClientOrNull = _chunkQEGVIJNNcjs.useClientOrNull; exports.useCreateRoomComment = _chunkQEGVIJNNcjs.useCreateRoomComment; exports.useCreateRoomThread = _chunkQEGVIJNNcjs.useCreateRoomThread; exports.useCreateTextMention = _chunkQEGVIJNNcjs.useCreateTextMention; exports.useDeleteRoomComment = _chunkQEGVIJNNcjs.useDeleteRoomComment; exports.useDeleteRoomThread = _chunkQEGVIJNNcjs.useDeleteRoomThread; exports.useDeleteTextMention = _chunkQEGVIJNNcjs.useDeleteTextMention; exports.useEditRoomComment = _chunkQEGVIJNNcjs.useEditRoomComment; exports.useEditRoomThreadMetadata = _chunkQEGVIJNNcjs.useEditRoomThreadMetadata; exports.useGroup = useGroup; exports.useInitial = _chunkQEGVIJNNcjs.useInitial; exports.useLatest = _chunkQEGVIJNNcjs.useLatest; exports.useLayoutEffect = useLayoutEffect; exports.useMarkRoomThreadAsRead = _chunkQEGVIJNNcjs.useMarkRoomThreadAsRead; exports.useMarkRoomThreadAsResolved = _chunkQEGVIJNNcjs.useMarkRoomThreadAsResolved; exports.useMarkRoomThreadAsUnresolved = _chunkQEGVIJNNcjs.useMarkRoomThreadAsUnresolved; exports.useMentionSuggestions = useMentionSuggestions; exports.useMentionSuggestionsCache = _chunkQEGVIJNNcjs.useMentionSuggestionsCache; exports.useRemoveRoomCommentReaction = _chunkQEGVIJNNcjs.useRemoveRoomCommentReaction; exports.useReportTextEditor = _chunkQEGVIJNNcjs.useReportTextEditor; exports.useResolveMentionSuggestions = _chunkQEGVIJNNcjs.useResolveMentionSuggestions; exports.useRoomAttachmentUrl = _chunkQEGVIJNNcjs.useRoomAttachmentUrl; exports.useRoomPermissions = _chunkQEGVIJNNcjs.useRoomPermissions; exports.useRoomThreadSubscription = _chunkQEGVIJNNcjs.useRoomThreadSubscription; exports.useSignal = _chunkQEGVIJNNcjs.useSignal; exports.useSuspendUntilPresenceReady = _chunkQEGVIJNNcjs.useSuspendUntilPresenceReady; exports.useSuspendUntilStorageReady = _chunkQEGVIJNNcjs.useSuspendUntilStorageReady; exports.useSyncExternalStoreWithSelector = _chunkQEGVIJNNcjs.useSyncExternalStoreWithSelector; exports.useSyncSource = useSyncSource; exports.useYjsProvider = _chunkQEGVIJNNcjs.useYjsProvider;
//# sourceMappingURL=_private.cjs.map

@@ -1,1 +0,1 @@

{"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/_private.cjs","../src/lib/use-layout-effect.ts","../src/use-group.ts","../src/use-mention-suggestions.ts","../src/use-sync-source.ts"],"names":["useEffect","kInternal","useState"],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;AC3BA,8BAAsE;AAI/D,IAAM,gBAAA,EACX,OAAO,OAAA,IAAW,YAAA,EAAc,uBAAA,EAA0B,gBAAA;ADyB5D;AACA;AEjCA;AAGE;AACA;AAAA,wCACK;AACP;AAMA,SAAS,oBAAA,CACP,KAAA,EACkB;AAClB,EAAA,GAAA,CAAI,MAAA,IAAU,KAAA,EAAA,mBAAa,KAAA,2BAAO,WAAA,EAAW;AAC3C,IAAA,wBAAO,KAAA,UAAS,EAAE,SAAA,EAAW,KAAK,GAAA;AAAA,EACpC;AAEA,EAAA,GAAA,CAAI,KAAA,CAAM,KAAA,EAAO;AACf,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAO;AAAA,IACL,SAAA,EAAW,KAAA;AAAA,IACX,KAAA,EAAO,KAAA,CAAM;AAAA,EACf,CAAA;AACF;AAGO,SAAS,QAAA,CAAS,OAAA,EAAmC;AAC1D,EAAA,MAAM,OAAA,EAAS,yCAAA,CAAU;AACzB,EAAA,MAAM,MAAA,EAAQ,MAAA,CAAO,eAAS,CAAA,CAAE,UAAA,CAAW,WAAA;AAE3C,EAAA,MAAM,cAAA,EAAgB,gCAAA;AAAA,IACpB,CAAA,EAAA,GAAM,KAAA,CAAM,YAAA,CAAa,OAAO,CAAA;AAAA,IAChC,CAAC,KAAA,EAAO,OAAO;AAAA,EACjB,CAAA;AAEA,EAAAA,8BAAAA,CAAU,EAAA,GAAM;AACd,IAAA,KAAK,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA;AAAA,EAC5B,CAAA,EAAG,CAAC,KAAA,EAAO,OAAO,CAAC,CAAA;AAEnB,EAAA,OAAO,gEAAA;AAAA,IACL,KAAA,CAAM,SAAA;AAAA,IACN,aAAA;AAAA,IACA,aAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,EACF,CAAA;AACF;AFmBA;AACA;AGtEA;AACA;AAOA,IAAM,6BAAA,EAA+B,GAAA;AASrC,SAAS,2BAAA,CACP,WAAA,EACe;AACf,EAAA,OAAO,WAAA,CAAY,GAAA;AAAA,IACjB,CAAC,UAAA,EAAA,GACC,OAAO,WAAA,IAAe,SAAA,EAClB,EAAE,IAAA,EAAM,MAAA,EAAiB,EAAA,EAAI,WAAW,EAAA,EACxC;AAAA,EACR,CAAA;AACF;AAQO,SAAS,qBAAA,CAAsB,MAAA,EAAgB,MAAA,EAAiB;AACrE,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,EAAA,EAAI,6BAAA,CAAwB;AAC5E,EAAA,MAAM,cAAA,EAAgB,2BAAA,CAAe;AAErC,EAAA,MAAM,0BAAA,EAA4B,4DAAA,CAA6B;AAC/D,EAAA,MAAM,wBAAA,EAA0B,0DAAA,CAA2B;AAE3D,EAAAA,8BAAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,OAAA,IAAW,KAAA,EAAA,GAAa,CAAC,yBAAA,EAA2B;AACtD,MAAA,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,8BAAA,EAAgC,EAAE,IAAA,EAAM,MAAA,EAAQ,OAAO,CAAA;AAC7D,IAAA,MAAM,2BAAA,EAA6B,mCAAA;AAAA,MACjC;AAAA,IACF,CAAA;AACA,IAAA,IAAI,eAAA;AACJ,IAAA,IAAI,WAAA,EAAa,KAAA;AAEjB,IAAA,MAAM,sBAAA,EAAwB,MAAA,CAAA,EAAA,GAAY;AACxC,MAAA,IAAI;AACF,QAAA,aAAA,CAAc,QAAA,EAAU,WAAA,CAAY,GAAA,CAAI,CAAA;AACxC,QAAA,MAAM,sBAAA,EAAwB,MAAM,yBAAA;AAAA,UAClC;AAAA,QACF,CAAA;AAEA,QAAA,GAAA,CAAI,CAAC,UAAA,EAAY;AACf,UAAA,MAAM,sBAAA,EAAwB,2BAAA;AAAA,YAC5B;AAAA,UACF,CAAA;AACA,UAAA,qBAAA,CAAsB,qBAAqB,CAAA;AAC3C,UAAA,uBAAA,CAAwB,GAAA;AAAA,YACtB,0BAAA;AAAA,YACA;AAAA,UACF,CAAA;AAAA,QACF;AAAA,MACF,EAAA,MAAA,CAAS,KAAA,EAAO;AACd,QAAA,OAAA,CAAQ,KAAA,iBAAO,KAAA,6BAAiB,SAAO,CAAA;AAAA,MACzC;AAAA,IACF,CAAA;AAEA,IAAA,GAAA,CAAI,uBAAA,CAAwB,GAAA,CAAI,0BAA0B,CAAA,EAAG;AAE3D,MAAA,MAAM,kBAAA,EAAoB,uBAAA,CAAwB,GAAA;AAAA,QAChD;AAAA,MACF,CAAA;AACA,MAAA,qBAAA,CAAsB,iBAAiB,CAAA;AAAA,IACzC,EAAA,KAAA,GAAA,CACE,CAAC,aAAA,CAAc,QAAA,GACf,IAAA,CAAK,GAAA,CAAI,WAAA,CAAY,GAAA,CAAI,EAAA,EAAI,aAAA,CAAc,OAAO,EAAA,EAChD,4BAAA,EACF;AAGA,MAAA,KAAK,qBAAA,CAAsB,CAAA;AAAA,IAC7B,EAAA,KAAO;AAEL,MAAA,gBAAA,EAAkB,MAAA,CAAO,UAAA,CAAW,CAAA,EAAA,GAAM;AACxC,QAAA,KAAK,qBAAA,CAAsB,CAAA;AAAA,MAC7B,CAAA,EAAG,4BAA4B,CAAA;AAAA,IACjC;AAEA,IAAA,OAAO,CAAA,EAAA,GAAM;AACX,MAAA,WAAA,EAAa,IAAA;AACb,MAAA,MAAA,CAAO,YAAA,CAAa,eAAe,CAAA;AAAA,IACrC,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,EAAQ,MAAA,EAAQ,yBAAA,EAA2B,uBAAuB,CAAC,CAAA;AAEvE,EAAA,OAAO,kBAAA;AACT;AH8BA;AACA;AIrIA;AACA;AAOO,SAAS,aAAA,CAAA,EAAwC;AACtD,EAAA,MAAM,OAAA,EAAS,yCAAA,CAAU;AACzB,EAAA,MAAM,iBAAA,EAAmB,MAAA,CAAOC,eAAS,CAAA,CAAE,gBAAA;AAC3C,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,EAAA,EAAIC,6BAAAA,CAAiC;AAErE,EAAAF,8BAAAA,CAAU,EAAA,GAAM;AAEd,IAAA,MAAM,cAAA,EAAgB,gBAAA,CAAiB,CAAA;AACvC,IAAA,aAAA,CAAc,aAAa,CAAA;AAC3B,IAAA,OAAO,CAAA,EAAA,GAAM,aAAA,CAAc,OAAA,CAAQ,CAAA;AAAA,EACrC,CAAA,EAAG,CAAC,gBAAgB,CAAC,CAAA;AAErB,EAAA,OAAO,UAAA;AACT;AJ8HA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,s9DAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/_private.cjs","sourcesContent":[null,"/* eslint-disable no-restricted-syntax */\n\nimport { useEffect, useLayoutEffect as useOriginalLayoutEffect } from \"react\";\n\n// On React 18.2.0 and earlier, useLayoutEffect triggers a warning when\n// executed on the server, so this workaround should be used instead.\nexport const useLayoutEffect =\n typeof window !== \"undefined\" ? useOriginalLayoutEffect : useEffect;\n","import {\n type AsyncResult,\n type GroupData,\n kInternal,\n shallow,\n} from \"@liveblocks/core\";\nimport { useCallback, useEffect } from \"react\";\n\nimport { useClient } from \"./contexts\";\nimport type { GroupAsyncResult } from \"./types\";\nimport { useSyncExternalStoreWithSelector } from \"./use-sync-external-store-with-selector\";\n\nfunction selectorFor_useGroup(\n state: AsyncResult<GroupData | undefined> | undefined\n): GroupAsyncResult {\n if (state === undefined || state?.isLoading) {\n return state ?? { isLoading: true };\n }\n\n if (state.error) {\n return state;\n }\n\n return {\n isLoading: false,\n group: state.data,\n };\n}\n\n/** @private - Internal API, do not rely on it. */\nexport function useGroup(groupId: string): GroupAsyncResult {\n const client = useClient();\n const store = client[kInternal].httpClient.groupsStore;\n\n const getGroupState = useCallback(\n () => store.getItemState(groupId),\n [store, groupId]\n );\n\n useEffect(() => {\n void store.enqueue(groupId);\n }, [store, groupId]);\n\n return useSyncExternalStoreWithSelector(\n store.subscribe,\n getGroupState,\n getGroupState,\n selectorFor_useGroup,\n shallow\n );\n}\n","import { type MentionData, stableStringify } from \"@liveblocks/core\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n useMentionSuggestionsCache,\n useResolveMentionSuggestions,\n} from \"./room\";\n\nconst MENTION_SUGGESTIONS_DEBOUNCE = 500;\n\n/**\n * Normalize mention suggestions as `MentionData[]`.\n *\n * Mention suggestions were previously typed as `string[]`, a list of user IDs,\n * but to support multiple mention kinds (user, group, etc), they're now\n * typed as `MentionData[]`.\n */\nfunction normalizeMentionSuggestions<T extends string[] | MentionData[]>(\n suggestions: T\n): MentionData[] {\n return suggestions.map(\n (suggestion): MentionData =>\n typeof suggestion === \"string\"\n ? { kind: \"user\" as const, id: suggestion }\n : suggestion\n );\n}\n\n/**\n * @private For internal use only. Do not rely on this hook.\n *\n * Simplistic debounced search, we don't need to worry too much about deduping\n * and race conditions as there can only be one search at a time.\n */\nexport function useMentionSuggestions(roomId: string, search?: string) {\n const [mentionSuggestions, setMentionSuggestions] = useState<MentionData[]>();\n const lastInvokedAt = useRef<number>();\n\n const resolveMentionSuggestions = useResolveMentionSuggestions();\n const mentionSuggestionsCache = useMentionSuggestionsCache();\n\n useEffect(() => {\n if (search === undefined || !resolveMentionSuggestions) {\n return;\n }\n\n const resolveMentionSuggestionsArgs = { text: search, roomId };\n const mentionSuggestionsCacheKey = stableStringify(\n resolveMentionSuggestionsArgs\n );\n let debounceTimeout: number | undefined;\n let isCanceled = false;\n\n const getMentionSuggestions = async () => {\n try {\n lastInvokedAt.current = performance.now();\n const rawMentionSuggestions = await resolveMentionSuggestions(\n resolveMentionSuggestionsArgs\n );\n\n if (!isCanceled) {\n const normalizedSuggestions = normalizeMentionSuggestions(\n rawMentionSuggestions\n );\n setMentionSuggestions(normalizedSuggestions);\n mentionSuggestionsCache.set(\n mentionSuggestionsCacheKey,\n normalizedSuggestions\n );\n }\n } catch (error) {\n console.error((error as Error)?.message);\n }\n };\n\n if (mentionSuggestionsCache.has(mentionSuggestionsCacheKey)) {\n // If there are already cached mention suggestions, use them immediately.\n const cachedSuggestions = mentionSuggestionsCache.get(\n mentionSuggestionsCacheKey\n );\n setMentionSuggestions(cachedSuggestions);\n } else if (\n !lastInvokedAt.current ||\n Math.abs(performance.now() - lastInvokedAt.current) >\n MENTION_SUGGESTIONS_DEBOUNCE\n ) {\n // If on the debounce's leading edge (either because it's the first invokation or enough\n // time has passed since the last debounce), get mention suggestions immediately.\n void getMentionSuggestions();\n } else {\n // Otherwise, wait for the debounce delay.\n debounceTimeout = window.setTimeout(() => {\n void getMentionSuggestions();\n }, MENTION_SUGGESTIONS_DEBOUNCE);\n }\n\n return () => {\n isCanceled = true;\n window.clearTimeout(debounceTimeout);\n };\n }, [search, roomId, resolveMentionSuggestions, mentionSuggestionsCache]);\n\n return mentionSuggestions;\n}\n","import type { SyncSource } from \"@liveblocks/core\";\nimport { kInternal } from \"@liveblocks/core\";\nimport { useEffect, useState } from \"react\";\n\nimport { useClient } from \"./contexts\";\n\n/**\n * @private For internal use only. Do not rely on this hook.\n */\nexport function useSyncSource(): SyncSource | undefined {\n const client = useClient();\n const createSyncSource = client[kInternal].createSyncSource;\n const [syncSource, setSyncSource] = useState<SyncSource | undefined>();\n\n useEffect(() => {\n // Create new sync source on mount\n const newSyncSource = createSyncSource();\n setSyncSource(newSyncSource);\n return () => newSyncSource.destroy();\n }, [createSyncSource]);\n\n return syncSource;\n}\n"]}
{"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/_private.cjs","../src/lib/use-layout-effect.ts","../src/use-group.ts","../src/use-mention-suggestions.ts","../src/use-sync-source.ts"],"names":["useEffect","kInternal","useState"],"mappings":"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","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/_private.cjs","sourcesContent":[null,"/* eslint-disable no-restricted-syntax */\n\nimport { useEffect, useLayoutEffect as useOriginalLayoutEffect } from \"react\";\n\n// On React 18.2.0 and earlier, useLayoutEffect triggers a warning when\n// executed on the server, so this workaround should be used instead.\nexport const useLayoutEffect =\n typeof window !== \"undefined\" ? useOriginalLayoutEffect : useEffect;\n","import {\n type AsyncResult,\n type GroupData,\n kInternal,\n shallow,\n} from \"@liveblocks/core\";\nimport { useCallback, useEffect } from \"react\";\n\nimport { useClient } from \"./contexts\";\nimport type { GroupAsyncResult } from \"./types\";\nimport { useSyncExternalStoreWithSelector } from \"./use-sync-external-store-with-selector\";\n\nfunction selectorFor_useGroup(\n state: AsyncResult<GroupData | undefined> | undefined\n): GroupAsyncResult {\n if (state === undefined || state?.isLoading) {\n return state ?? { isLoading: true };\n }\n\n if (state.error) {\n return state;\n }\n\n return {\n isLoading: false,\n group: state.data,\n };\n}\n\n/** @private - Internal API, do not rely on it. */\nexport function useGroup(groupId: string): GroupAsyncResult {\n const client = useClient();\n const store = client[kInternal].httpClient.groupsStore;\n\n const getGroupState = useCallback(\n () => store.getItemState(groupId),\n [store, groupId]\n );\n\n useEffect(() => {\n void store.enqueue(groupId);\n }, [store, groupId]);\n\n return useSyncExternalStoreWithSelector(\n store.subscribe,\n getGroupState,\n getGroupState,\n selectorFor_useGroup,\n shallow\n );\n}\n","import { type MentionData, stableStringify } from \"@liveblocks/core\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n useMentionSuggestionsCache,\n useResolveMentionSuggestions,\n} from \"./room\";\n\nconst MENTION_SUGGESTIONS_DEBOUNCE = 500;\n\n/**\n * Normalize mention suggestions as `MentionData[]`.\n *\n * Mention suggestions were previously typed as `string[]`, a list of user IDs,\n * but to support multiple mention kinds (user, group, etc), they're now\n * typed as `MentionData[]`.\n */\nfunction normalizeMentionSuggestions<T extends string[] | MentionData[]>(\n suggestions: T\n): MentionData[] {\n return suggestions.map(\n (suggestion): MentionData =>\n typeof suggestion === \"string\"\n ? { kind: \"user\" as const, id: suggestion }\n : suggestion\n );\n}\n\n/**\n * @private For internal use only. Do not rely on this hook.\n *\n * Simplistic debounced search, we don't need to worry too much about deduping\n * and race conditions as there can only be one search at a time.\n */\nexport function useMentionSuggestions(roomId: string, search?: string) {\n const [mentionSuggestions, setMentionSuggestions] = useState<MentionData[]>();\n const lastInvokedAt = useRef<number>();\n\n const resolveMentionSuggestions = useResolveMentionSuggestions();\n const mentionSuggestionsCache = useMentionSuggestionsCache();\n\n useEffect(() => {\n if (search === undefined || !resolveMentionSuggestions) {\n return;\n }\n\n const resolveMentionSuggestionsArgs = { text: search, roomId };\n const mentionSuggestionsCacheKey = stableStringify(\n resolveMentionSuggestionsArgs\n );\n let debounceTimeout: number | undefined;\n let isCanceled = false;\n\n const getMentionSuggestions = async () => {\n try {\n lastInvokedAt.current = performance.now();\n const rawMentionSuggestions = await resolveMentionSuggestions(\n resolveMentionSuggestionsArgs\n );\n\n if (!isCanceled) {\n const normalizedSuggestions = normalizeMentionSuggestions(\n rawMentionSuggestions\n );\n setMentionSuggestions(normalizedSuggestions);\n mentionSuggestionsCache.set(\n mentionSuggestionsCacheKey,\n normalizedSuggestions\n );\n }\n } catch (error) {\n console.error((error as Error)?.message);\n }\n };\n\n if (mentionSuggestionsCache.has(mentionSuggestionsCacheKey)) {\n // If there are already cached mention suggestions, use them immediately.\n const cachedSuggestions = mentionSuggestionsCache.get(\n mentionSuggestionsCacheKey\n );\n setMentionSuggestions(cachedSuggestions);\n } else if (\n !lastInvokedAt.current ||\n Math.abs(performance.now() - lastInvokedAt.current) >\n MENTION_SUGGESTIONS_DEBOUNCE\n ) {\n // If on the debounce's leading edge (either because it's the first invokation or enough\n // time has passed since the last debounce), get mention suggestions immediately.\n void getMentionSuggestions();\n } else {\n // Otherwise, wait for the debounce delay.\n debounceTimeout = window.setTimeout(() => {\n void getMentionSuggestions();\n }, MENTION_SUGGESTIONS_DEBOUNCE);\n }\n\n return () => {\n isCanceled = true;\n window.clearTimeout(debounceTimeout);\n };\n }, [search, roomId, resolveMentionSuggestions, mentionSuggestionsCache]);\n\n return mentionSuggestions;\n}\n","import type { SyncSource } from \"@liveblocks/core\";\nimport { kInternal } from \"@liveblocks/core\";\nimport { useEffect, useState } from \"react\";\n\nimport { useClient } from \"./contexts\";\n\n/**\n * @private For internal use only. Do not rely on this hook.\n */\nexport function useSyncSource(): SyncSource | undefined {\n const client = useClient();\n const createSyncSource = client[kInternal].createSyncSource;\n const [syncSource, setSyncSource] = useState<SyncSource | undefined>();\n\n useEffect(() => {\n // Create new sync source on mount\n const newSyncSource = createSyncSource();\n setSyncSource(newSyncSource);\n return () => newSyncSource.destroy();\n }, [createSyncSource]);\n\n return syncSource;\n}\n"]}

@@ -1,3 +0,3 @@

import { G as GroupAsyncResult } from './room-MsYY4ALB.cjs';
export { g as getUmbrellaStoreForClient, a as useAddRoomCommentReaction, u as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useMarkRoomThreadAsRead, l as useMarkRoomThreadAsResolved, m as useMarkRoomThreadAsUnresolved, n as useMentionSuggestionsCache, o as useRemoveRoomCommentReaction, p as useReportTextEditor, q as useResolveMentionSuggestions, r as useRoomAttachmentUrl, s as useRoomPermissions, t as useRoomThreadSubscription, v as useYjsProvider } from './room-MsYY4ALB.cjs';
import { G as GroupAsyncResult } from './room-BvPZu216.cjs';
export { g as getUmbrellaStoreForClient, a as useAddRoomCommentReaction, u as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useMarkRoomThreadAsRead, l as useMarkRoomThreadAsResolved, m as useMarkRoomThreadAsUnresolved, n as useMentionSuggestionsCache, o as useRemoveRoomCommentReaction, p as useReportTextEditor, q as useResolveMentionSuggestions, r as useRoomAttachmentUrl, s as useRoomPermissions, t as useRoomThreadSubscription, v as useSuspendUntilPresenceReady, w as useSuspendUntilStorageReady, x as useYjsProvider } from './room-BvPZu216.cjs';
import { MutableRefObject, useEffect } from 'react';

@@ -9,2 +9,10 @@ import { MentionData, ISignal, SyncSource } from '@liveblocks/core';

/**
* "Freezes" a given value, so that it will return the same value/instance on
* each subsequent render. This can be used to freeze "initial" values for
* custom hooks, much like how `useState(initialState)` or
* `useRef(initialValue)` works.
*/
declare function useInitial<T>(value: T, roomId?: string): T;
/**
* Keeps a ref in sync with a given value that may or may not change on

@@ -42,2 +50,2 @@ * every render.

export { useGroup, useLatest, useLayoutEffect, useMentionSuggestions, useSignal, useSyncExternalStoreWithSelector, useSyncSource };
export { useGroup, useInitial, useLatest, useLayoutEffect, useMentionSuggestions, useSignal, useSyncExternalStoreWithSelector, useSyncSource };

@@ -1,3 +0,3 @@

import { G as GroupAsyncResult } from './room-MsYY4ALB.js';
export { g as getUmbrellaStoreForClient, a as useAddRoomCommentReaction, u as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useMarkRoomThreadAsRead, l as useMarkRoomThreadAsResolved, m as useMarkRoomThreadAsUnresolved, n as useMentionSuggestionsCache, o as useRemoveRoomCommentReaction, p as useReportTextEditor, q as useResolveMentionSuggestions, r as useRoomAttachmentUrl, s as useRoomPermissions, t as useRoomThreadSubscription, v as useYjsProvider } from './room-MsYY4ALB.js';
import { G as GroupAsyncResult } from './room-BvPZu216.js';
export { g as getUmbrellaStoreForClient, a as useAddRoomCommentReaction, u as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useMarkRoomThreadAsRead, l as useMarkRoomThreadAsResolved, m as useMarkRoomThreadAsUnresolved, n as useMentionSuggestionsCache, o as useRemoveRoomCommentReaction, p as useReportTextEditor, q as useResolveMentionSuggestions, r as useRoomAttachmentUrl, s as useRoomPermissions, t as useRoomThreadSubscription, v as useSuspendUntilPresenceReady, w as useSuspendUntilStorageReady, x as useYjsProvider } from './room-BvPZu216.js';
import { MutableRefObject, useEffect } from 'react';

@@ -9,2 +9,10 @@ import { MentionData, ISignal, SyncSource } from '@liveblocks/core';

/**
* "Freezes" a given value, so that it will return the same value/instance on
* each subsequent render. This can be used to freeze "initial" values for
* custom hooks, much like how `useState(initialState)` or
* `useRef(initialValue)` works.
*/
declare function useInitial<T>(value: T, roomId?: string): T;
/**
* Keeps a ref in sync with a given value that may or may not change on

@@ -42,2 +50,2 @@ * every render.

export { useGroup, useLatest, useLayoutEffect, useMentionSuggestions, useSignal, useSyncExternalStoreWithSelector, useSyncSource };
export { useGroup, useInitial, useLatest, useLayoutEffect, useMentionSuggestions, useSignal, useSyncExternalStoreWithSelector, useSyncSource };

@@ -14,2 +14,3 @@ import {

useEditRoomThreadMetadata,
useInitial,
useLatest,

@@ -27,5 +28,7 @@ useMarkRoomThreadAsRead,

useSignal,
useSuspendUntilPresenceReady,
useSuspendUntilStorageReady,
useSyncExternalStoreWithSelector,
useYjsProvider
} from "./chunk-7TVEKSIE.js";
} from "./chunk-2VF57BZV.js";

@@ -164,2 +167,3 @@ // src/lib/use-layout-effect.ts

useGroup,
useInitial,
useLatest,

@@ -179,2 +183,4 @@ useLayoutEffect,

useSignal,
useSuspendUntilPresenceReady,
useSuspendUntilStorageReady,
useSyncExternalStoreWithSelector,

@@ -181,0 +187,0 @@ useSyncSource,

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/lib/use-layout-effect.ts","../src/use-group.ts","../src/use-mention-suggestions.ts","../src/use-sync-source.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax */\n\nimport { useEffect, useLayoutEffect as useOriginalLayoutEffect } from \"react\";\n\n// On React 18.2.0 and earlier, useLayoutEffect triggers a warning when\n// executed on the server, so this workaround should be used instead.\nexport const useLayoutEffect =\n typeof window !== \"undefined\" ? useOriginalLayoutEffect : useEffect;\n","import {\n type AsyncResult,\n type GroupData,\n kInternal,\n shallow,\n} from \"@liveblocks/core\";\nimport { useCallback, useEffect } from \"react\";\n\nimport { useClient } from \"./contexts\";\nimport type { GroupAsyncResult } from \"./types\";\nimport { useSyncExternalStoreWithSelector } from \"./use-sync-external-store-with-selector\";\n\nfunction selectorFor_useGroup(\n state: AsyncResult<GroupData | undefined> | undefined\n): GroupAsyncResult {\n if (state === undefined || state?.isLoading) {\n return state ?? { isLoading: true };\n }\n\n if (state.error) {\n return state;\n }\n\n return {\n isLoading: false,\n group: state.data,\n };\n}\n\n/** @private - Internal API, do not rely on it. */\nexport function useGroup(groupId: string): GroupAsyncResult {\n const client = useClient();\n const store = client[kInternal].httpClient.groupsStore;\n\n const getGroupState = useCallback(\n () => store.getItemState(groupId),\n [store, groupId]\n );\n\n useEffect(() => {\n void store.enqueue(groupId);\n }, [store, groupId]);\n\n return useSyncExternalStoreWithSelector(\n store.subscribe,\n getGroupState,\n getGroupState,\n selectorFor_useGroup,\n shallow\n );\n}\n","import { type MentionData, stableStringify } from \"@liveblocks/core\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n useMentionSuggestionsCache,\n useResolveMentionSuggestions,\n} from \"./room\";\n\nconst MENTION_SUGGESTIONS_DEBOUNCE = 500;\n\n/**\n * Normalize mention suggestions as `MentionData[]`.\n *\n * Mention suggestions were previously typed as `string[]`, a list of user IDs,\n * but to support multiple mention kinds (user, group, etc), they're now\n * typed as `MentionData[]`.\n */\nfunction normalizeMentionSuggestions<T extends string[] | MentionData[]>(\n suggestions: T\n): MentionData[] {\n return suggestions.map(\n (suggestion): MentionData =>\n typeof suggestion === \"string\"\n ? { kind: \"user\" as const, id: suggestion }\n : suggestion\n );\n}\n\n/**\n * @private For internal use only. Do not rely on this hook.\n *\n * Simplistic debounced search, we don't need to worry too much about deduping\n * and race conditions as there can only be one search at a time.\n */\nexport function useMentionSuggestions(roomId: string, search?: string) {\n const [mentionSuggestions, setMentionSuggestions] = useState<MentionData[]>();\n const lastInvokedAt = useRef<number>();\n\n const resolveMentionSuggestions = useResolveMentionSuggestions();\n const mentionSuggestionsCache = useMentionSuggestionsCache();\n\n useEffect(() => {\n if (search === undefined || !resolveMentionSuggestions) {\n return;\n }\n\n const resolveMentionSuggestionsArgs = { text: search, roomId };\n const mentionSuggestionsCacheKey = stableStringify(\n resolveMentionSuggestionsArgs\n );\n let debounceTimeout: number | undefined;\n let isCanceled = false;\n\n const getMentionSuggestions = async () => {\n try {\n lastInvokedAt.current = performance.now();\n const rawMentionSuggestions = await resolveMentionSuggestions(\n resolveMentionSuggestionsArgs\n );\n\n if (!isCanceled) {\n const normalizedSuggestions = normalizeMentionSuggestions(\n rawMentionSuggestions\n );\n setMentionSuggestions(normalizedSuggestions);\n mentionSuggestionsCache.set(\n mentionSuggestionsCacheKey,\n normalizedSuggestions\n );\n }\n } catch (error) {\n console.error((error as Error)?.message);\n }\n };\n\n if (mentionSuggestionsCache.has(mentionSuggestionsCacheKey)) {\n // If there are already cached mention suggestions, use them immediately.\n const cachedSuggestions = mentionSuggestionsCache.get(\n mentionSuggestionsCacheKey\n );\n setMentionSuggestions(cachedSuggestions);\n } else if (\n !lastInvokedAt.current ||\n Math.abs(performance.now() - lastInvokedAt.current) >\n MENTION_SUGGESTIONS_DEBOUNCE\n ) {\n // If on the debounce's leading edge (either because it's the first invokation or enough\n // time has passed since the last debounce), get mention suggestions immediately.\n void getMentionSuggestions();\n } else {\n // Otherwise, wait for the debounce delay.\n debounceTimeout = window.setTimeout(() => {\n void getMentionSuggestions();\n }, MENTION_SUGGESTIONS_DEBOUNCE);\n }\n\n return () => {\n isCanceled = true;\n window.clearTimeout(debounceTimeout);\n };\n }, [search, roomId, resolveMentionSuggestions, mentionSuggestionsCache]);\n\n return mentionSuggestions;\n}\n","import type { SyncSource } from \"@liveblocks/core\";\nimport { kInternal } from \"@liveblocks/core\";\nimport { useEffect, useState } from \"react\";\n\nimport { useClient } from \"./contexts\";\n\n/**\n * @private For internal use only. Do not rely on this hook.\n */\nexport function useSyncSource(): SyncSource | undefined {\n const client = useClient();\n const createSyncSource = client[kInternal].createSyncSource;\n const [syncSource, setSyncSource] = useState<SyncSource | undefined>();\n\n useEffect(() => {\n // Create new sync source on mount\n const newSyncSource = createSyncSource();\n setSyncSource(newSyncSource);\n return () => newSyncSource.destroy();\n }, [createSyncSource]);\n\n return syncSource;\n}\n"],"mappings":"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","names":["useEffect","useEffect","useEffect","useEffect","kInternal","useEffect","useState","kInternal","useState","useEffect"]}
{"version":3,"sources":["../src/lib/use-layout-effect.ts","../src/use-group.ts","../src/use-mention-suggestions.ts","../src/use-sync-source.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax */\n\nimport { useEffect, useLayoutEffect as useOriginalLayoutEffect } from \"react\";\n\n// On React 18.2.0 and earlier, useLayoutEffect triggers a warning when\n// executed on the server, so this workaround should be used instead.\nexport const useLayoutEffect =\n typeof window !== \"undefined\" ? useOriginalLayoutEffect : useEffect;\n","import {\n type AsyncResult,\n type GroupData,\n kInternal,\n shallow,\n} from \"@liveblocks/core\";\nimport { useCallback, useEffect } from \"react\";\n\nimport { useClient } from \"./contexts\";\nimport type { GroupAsyncResult } from \"./types\";\nimport { useSyncExternalStoreWithSelector } from \"./use-sync-external-store-with-selector\";\n\nfunction selectorFor_useGroup(\n state: AsyncResult<GroupData | undefined> | undefined\n): GroupAsyncResult {\n if (state === undefined || state?.isLoading) {\n return state ?? { isLoading: true };\n }\n\n if (state.error) {\n return state;\n }\n\n return {\n isLoading: false,\n group: state.data,\n };\n}\n\n/** @private - Internal API, do not rely on it. */\nexport function useGroup(groupId: string): GroupAsyncResult {\n const client = useClient();\n const store = client[kInternal].httpClient.groupsStore;\n\n const getGroupState = useCallback(\n () => store.getItemState(groupId),\n [store, groupId]\n );\n\n useEffect(() => {\n void store.enqueue(groupId);\n }, [store, groupId]);\n\n return useSyncExternalStoreWithSelector(\n store.subscribe,\n getGroupState,\n getGroupState,\n selectorFor_useGroup,\n shallow\n );\n}\n","import { type MentionData, stableStringify } from \"@liveblocks/core\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport {\n useMentionSuggestionsCache,\n useResolveMentionSuggestions,\n} from \"./room\";\n\nconst MENTION_SUGGESTIONS_DEBOUNCE = 500;\n\n/**\n * Normalize mention suggestions as `MentionData[]`.\n *\n * Mention suggestions were previously typed as `string[]`, a list of user IDs,\n * but to support multiple mention kinds (user, group, etc), they're now\n * typed as `MentionData[]`.\n */\nfunction normalizeMentionSuggestions<T extends string[] | MentionData[]>(\n suggestions: T\n): MentionData[] {\n return suggestions.map(\n (suggestion): MentionData =>\n typeof suggestion === \"string\"\n ? { kind: \"user\" as const, id: suggestion }\n : suggestion\n );\n}\n\n/**\n * @private For internal use only. Do not rely on this hook.\n *\n * Simplistic debounced search, we don't need to worry too much about deduping\n * and race conditions as there can only be one search at a time.\n */\nexport function useMentionSuggestions(roomId: string, search?: string) {\n const [mentionSuggestions, setMentionSuggestions] = useState<MentionData[]>();\n const lastInvokedAt = useRef<number>();\n\n const resolveMentionSuggestions = useResolveMentionSuggestions();\n const mentionSuggestionsCache = useMentionSuggestionsCache();\n\n useEffect(() => {\n if (search === undefined || !resolveMentionSuggestions) {\n return;\n }\n\n const resolveMentionSuggestionsArgs = { text: search, roomId };\n const mentionSuggestionsCacheKey = stableStringify(\n resolveMentionSuggestionsArgs\n );\n let debounceTimeout: number | undefined;\n let isCanceled = false;\n\n const getMentionSuggestions = async () => {\n try {\n lastInvokedAt.current = performance.now();\n const rawMentionSuggestions = await resolveMentionSuggestions(\n resolveMentionSuggestionsArgs\n );\n\n if (!isCanceled) {\n const normalizedSuggestions = normalizeMentionSuggestions(\n rawMentionSuggestions\n );\n setMentionSuggestions(normalizedSuggestions);\n mentionSuggestionsCache.set(\n mentionSuggestionsCacheKey,\n normalizedSuggestions\n );\n }\n } catch (error) {\n console.error((error as Error)?.message);\n }\n };\n\n if (mentionSuggestionsCache.has(mentionSuggestionsCacheKey)) {\n // If there are already cached mention suggestions, use them immediately.\n const cachedSuggestions = mentionSuggestionsCache.get(\n mentionSuggestionsCacheKey\n );\n setMentionSuggestions(cachedSuggestions);\n } else if (\n !lastInvokedAt.current ||\n Math.abs(performance.now() - lastInvokedAt.current) >\n MENTION_SUGGESTIONS_DEBOUNCE\n ) {\n // If on the debounce's leading edge (either because it's the first invokation or enough\n // time has passed since the last debounce), get mention suggestions immediately.\n void getMentionSuggestions();\n } else {\n // Otherwise, wait for the debounce delay.\n debounceTimeout = window.setTimeout(() => {\n void getMentionSuggestions();\n }, MENTION_SUGGESTIONS_DEBOUNCE);\n }\n\n return () => {\n isCanceled = true;\n window.clearTimeout(debounceTimeout);\n };\n }, [search, roomId, resolveMentionSuggestions, mentionSuggestionsCache]);\n\n return mentionSuggestions;\n}\n","import type { SyncSource } from \"@liveblocks/core\";\nimport { kInternal } from \"@liveblocks/core\";\nimport { useEffect, useState } from \"react\";\n\nimport { useClient } from \"./contexts\";\n\n/**\n * @private For internal use only. Do not rely on this hook.\n */\nexport function useSyncSource(): SyncSource | undefined {\n const client = useClient();\n const createSyncSource = client[kInternal].createSyncSource;\n const [syncSource, setSyncSource] = useState<SyncSource | undefined>();\n\n useEffect(() => {\n // Create new sync source on mount\n const newSyncSource = createSyncSource();\n setSyncSource(newSyncSource);\n return () => newSyncSource.destroy();\n }, [createSyncSource]);\n\n return syncSource;\n}\n"],"mappings":"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","names":["useEffect","useEffect","useEffect","useEffect","kInternal","useEffect","useState","kInternal","useState","useEffect"]}

@@ -6,3 +6,3 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkMB6JGE6Bcjs = require('./chunk-MB6JGE6B.cjs');
var _chunkN6SOTKXEcjs = require('./chunk-N6SOTKXE.cjs');

@@ -85,3 +85,3 @@

var _chunkL3D3UECFcjs = require('./chunk-L3D3UECF.cjs');
var _chunkQEGVIJNNcjs = require('./chunk-QEGVIJNN.cjs');

@@ -91,3 +91,3 @@ // src/index.ts

var _client = require('@liveblocks/client');
_core.detectDupes.call(void 0, _chunkMB6JGE6Bcjs.PKG_NAME, _chunkMB6JGE6Bcjs.PKG_VERSION, _chunkMB6JGE6Bcjs.PKG_FORMAT);
_core.detectDupes.call(void 0, _chunkN6SOTKXEcjs.PKG_NAME, _chunkN6SOTKXEcjs.PKG_VERSION, _chunkN6SOTKXEcjs.PKG_FORMAT);

@@ -173,3 +173,3 @@

exports.ClientContext = _chunkL3D3UECFcjs.ClientContext; exports.ClientSideSuspense = _chunkMB6JGE6Bcjs.ClientSideSuspense; exports.LiveblocksProvider = _chunkL3D3UECFcjs.LiveblocksProvider; exports.RegisterAiKnowledge = _chunkL3D3UECFcjs.RegisterAiKnowledge; exports.RegisterAiTool = _chunkL3D3UECFcjs.RegisterAiTool; exports.RoomContext = _chunkL3D3UECFcjs.GlobalRoomContext; exports.RoomProvider = _chunkL3D3UECFcjs._RoomProvider; exports.createLiveblocksContext = _chunkL3D3UECFcjs.createLiveblocksContext; exports.createRoomContext = _chunkL3D3UECFcjs.createRoomContext; exports.isNotificationChannelEnabled = _client.isNotificationChannelEnabled; exports.shallow = _client.shallow; exports.useAddReaction = _chunkL3D3UECFcjs._useAddReaction; exports.useAiChat = _chunkL3D3UECFcjs._useAiChat; exports.useAiChatMessages = _chunkL3D3UECFcjs._useAiChatMessages; exports.useAiChatStatus = _chunkL3D3UECFcjs.useAiChatStatus; exports.useAiChats = _chunkL3D3UECFcjs._useAiChats; exports.useAttachmentUrl = _chunkL3D3UECFcjs.useAttachmentUrl; exports.useBroadcastEvent = _chunkL3D3UECFcjs._useBroadcastEvent; exports.useCanRedo = _chunkL3D3UECFcjs.useCanRedo; exports.useCanUndo = _chunkL3D3UECFcjs.useCanUndo; exports.useClient = _chunkL3D3UECFcjs.useClient; exports.useCreateAiChat = _chunkL3D3UECFcjs.useCreateAiChat; exports.useCreateComment = _chunkL3D3UECFcjs._useCreateComment; exports.useCreateThread = _chunkL3D3UECFcjs._useCreateThread; exports.useDeleteAiChat = _chunkL3D3UECFcjs.useDeleteAiChat; exports.useDeleteAllInboxNotifications = _chunkL3D3UECFcjs.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunkL3D3UECFcjs.useDeleteComment; exports.useDeleteInboxNotification = _chunkL3D3UECFcjs.useDeleteInboxNotification; exports.useDeleteThread = _chunkL3D3UECFcjs._useDeleteThread; exports.useEditComment = _chunkL3D3UECFcjs._useEditComment; exports.useEditCommentMetadata = _chunkL3D3UECFcjs._useEditCommentMetadata; exports.useEditThreadMetadata = _chunkL3D3UECFcjs._useEditThreadMetadata; exports.useErrorListener = _chunkL3D3UECFcjs.useErrorListener; exports.useEventListener = _chunkL3D3UECFcjs._useEventListener; exports.useGroupInfo = _chunkL3D3UECFcjs.useGroupInfo; exports.useHistory = _chunkL3D3UECFcjs.useHistory; exports.useHistoryVersionData = _chunkL3D3UECFcjs.useHistoryVersionData; exports.useHistoryVersions = _chunkL3D3UECFcjs._useHistoryVersions; exports.useInboxNotificationThread = _chunkL3D3UECFcjs._useInboxNotificationThread; exports.useInboxNotifications = _chunkL3D3UECFcjs.useInboxNotifications; exports.useIsInsideRoom = _chunkL3D3UECFcjs._useIsInsideRoom; exports.useLostConnectionListener = _chunkL3D3UECFcjs.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunkL3D3UECFcjs.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunkL3D3UECFcjs.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunkL3D3UECFcjs.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunkL3D3UECFcjs.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunkL3D3UECFcjs.useMarkThreadAsUnresolved; exports.useMutation = _chunkL3D3UECFcjs._useMutation; exports.useMyPresence = _chunkL3D3UECFcjs._useMyPresence; exports.useNotificationSettings = _chunkL3D3UECFcjs.useNotificationSettings; exports.useOther = _chunkL3D3UECFcjs._useOther; exports.useOthers = _chunkL3D3UECFcjs._useOthers; exports.useOthersConnectionIds = _chunkL3D3UECFcjs.useOthersConnectionIds; exports.useOthersListener = _chunkL3D3UECFcjs._useOthersListener; exports.useOthersMapped = _chunkL3D3UECFcjs._useOthersMapped; exports.useRedo = _chunkL3D3UECFcjs.useRedo; exports.useRemoveReaction = _chunkL3D3UECFcjs.useRemoveReaction; exports.useRoom = _chunkL3D3UECFcjs._useRoom; exports.useRoomInfo = _chunkL3D3UECFcjs.useRoomInfo; exports.useRoomSubscriptionSettings = _chunkL3D3UECFcjs._useRoomSubscriptionSettings; exports.useSearchComments = _chunkL3D3UECFcjs._useSearchComments; exports.useSelf = _chunkL3D3UECFcjs._useSelf; exports.useSendAiMessage = _chunkL3D3UECFcjs.useSendAiMessage; exports.useStatus = _chunkL3D3UECFcjs.useStatus; exports.useStorage = _chunkL3D3UECFcjs._useStorage; exports.useStorageRoot = _chunkL3D3UECFcjs._useStorageRoot; exports.useSubscribeToThread = _chunkL3D3UECFcjs.useSubscribeToThread; exports.useSyncStatus = _chunkL3D3UECFcjs.useSyncStatus; exports.useThreadSubscription = _chunkL3D3UECFcjs.useThreadSubscription; exports.useThreads = _chunkL3D3UECFcjs._useThreads; exports.useUndo = _chunkL3D3UECFcjs.useUndo; exports.useUnreadInboxNotificationsCount = _chunkL3D3UECFcjs.useUnreadInboxNotificationsCount; exports.useUnsubscribeFromThread = _chunkL3D3UECFcjs.useUnsubscribeFromThread; exports.useUpdateMyPresence = _chunkL3D3UECFcjs._useUpdateMyPresence; exports.useUpdateNotificationSettings = _chunkL3D3UECFcjs.useUpdateNotificationSettings; exports.useUpdateRoomSubscriptionSettings = _chunkL3D3UECFcjs.useUpdateRoomSubscriptionSettings; exports.useUrlMetadata = _chunkL3D3UECFcjs._useUrlMetadata; exports.useUser = _chunkL3D3UECFcjs._useUser; exports.useUserThreads_experimental = _chunkL3D3UECFcjs._useUserThreads_experimental;
exports.ClientContext = _chunkQEGVIJNNcjs.ClientContext; exports.ClientSideSuspense = _chunkN6SOTKXEcjs.ClientSideSuspense; exports.LiveblocksProvider = _chunkQEGVIJNNcjs.LiveblocksProvider; exports.RegisterAiKnowledge = _chunkQEGVIJNNcjs.RegisterAiKnowledge; exports.RegisterAiTool = _chunkQEGVIJNNcjs.RegisterAiTool; exports.RoomContext = _chunkQEGVIJNNcjs.GlobalRoomContext; exports.RoomProvider = _chunkQEGVIJNNcjs._RoomProvider; exports.createLiveblocksContext = _chunkQEGVIJNNcjs.createLiveblocksContext; exports.createRoomContext = _chunkQEGVIJNNcjs.createRoomContext; exports.isNotificationChannelEnabled = _client.isNotificationChannelEnabled; exports.shallow = _client.shallow; exports.useAddReaction = _chunkQEGVIJNNcjs._useAddReaction; exports.useAiChat = _chunkQEGVIJNNcjs._useAiChat; exports.useAiChatMessages = _chunkQEGVIJNNcjs._useAiChatMessages; exports.useAiChatStatus = _chunkQEGVIJNNcjs.useAiChatStatus; exports.useAiChats = _chunkQEGVIJNNcjs._useAiChats; exports.useAttachmentUrl = _chunkQEGVIJNNcjs.useAttachmentUrl; exports.useBroadcastEvent = _chunkQEGVIJNNcjs._useBroadcastEvent; exports.useCanRedo = _chunkQEGVIJNNcjs.useCanRedo; exports.useCanUndo = _chunkQEGVIJNNcjs.useCanUndo; exports.useClient = _chunkQEGVIJNNcjs.useClient; exports.useCreateAiChat = _chunkQEGVIJNNcjs.useCreateAiChat; exports.useCreateComment = _chunkQEGVIJNNcjs._useCreateComment; exports.useCreateThread = _chunkQEGVIJNNcjs._useCreateThread; exports.useDeleteAiChat = _chunkQEGVIJNNcjs.useDeleteAiChat; exports.useDeleteAllInboxNotifications = _chunkQEGVIJNNcjs.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunkQEGVIJNNcjs.useDeleteComment; exports.useDeleteInboxNotification = _chunkQEGVIJNNcjs.useDeleteInboxNotification; exports.useDeleteThread = _chunkQEGVIJNNcjs._useDeleteThread; exports.useEditComment = _chunkQEGVIJNNcjs._useEditComment; exports.useEditCommentMetadata = _chunkQEGVIJNNcjs._useEditCommentMetadata; exports.useEditThreadMetadata = _chunkQEGVIJNNcjs._useEditThreadMetadata; exports.useErrorListener = _chunkQEGVIJNNcjs.useErrorListener; exports.useEventListener = _chunkQEGVIJNNcjs._useEventListener; exports.useGroupInfo = _chunkQEGVIJNNcjs.useGroupInfo; exports.useHistory = _chunkQEGVIJNNcjs.useHistory; exports.useHistoryVersionData = _chunkQEGVIJNNcjs.useHistoryVersionData; exports.useHistoryVersions = _chunkQEGVIJNNcjs._useHistoryVersions; exports.useInboxNotificationThread = _chunkQEGVIJNNcjs._useInboxNotificationThread; exports.useInboxNotifications = _chunkQEGVIJNNcjs.useInboxNotifications; exports.useIsInsideRoom = _chunkQEGVIJNNcjs._useIsInsideRoom; exports.useLostConnectionListener = _chunkQEGVIJNNcjs.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunkQEGVIJNNcjs.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunkQEGVIJNNcjs.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunkQEGVIJNNcjs.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunkQEGVIJNNcjs.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunkQEGVIJNNcjs.useMarkThreadAsUnresolved; exports.useMutation = _chunkQEGVIJNNcjs._useMutation; exports.useMyPresence = _chunkQEGVIJNNcjs._useMyPresence; exports.useNotificationSettings = _chunkQEGVIJNNcjs.useNotificationSettings; exports.useOther = _chunkQEGVIJNNcjs._useOther; exports.useOthers = _chunkQEGVIJNNcjs._useOthers; exports.useOthersConnectionIds = _chunkQEGVIJNNcjs.useOthersConnectionIds; exports.useOthersListener = _chunkQEGVIJNNcjs._useOthersListener; exports.useOthersMapped = _chunkQEGVIJNNcjs._useOthersMapped; exports.useRedo = _chunkQEGVIJNNcjs.useRedo; exports.useRemoveReaction = _chunkQEGVIJNNcjs.useRemoveReaction; exports.useRoom = _chunkQEGVIJNNcjs._useRoom; exports.useRoomInfo = _chunkQEGVIJNNcjs.useRoomInfo; exports.useRoomSubscriptionSettings = _chunkQEGVIJNNcjs._useRoomSubscriptionSettings; exports.useSearchComments = _chunkQEGVIJNNcjs._useSearchComments; exports.useSelf = _chunkQEGVIJNNcjs._useSelf; exports.useSendAiMessage = _chunkQEGVIJNNcjs.useSendAiMessage; exports.useStatus = _chunkQEGVIJNNcjs.useStatus; exports.useStorage = _chunkQEGVIJNNcjs._useStorage; exports.useStorageRoot = _chunkQEGVIJNNcjs._useStorageRoot; exports.useSubscribeToThread = _chunkQEGVIJNNcjs.useSubscribeToThread; exports.useSyncStatus = _chunkQEGVIJNNcjs.useSyncStatus; exports.useThreadSubscription = _chunkQEGVIJNNcjs.useThreadSubscription; exports.useThreads = _chunkQEGVIJNNcjs._useThreads; exports.useUndo = _chunkQEGVIJNNcjs.useUndo; exports.useUnreadInboxNotificationsCount = _chunkQEGVIJNNcjs.useUnreadInboxNotificationsCount; exports.useUnsubscribeFromThread = _chunkQEGVIJNNcjs.useUnsubscribeFromThread; exports.useUpdateMyPresence = _chunkQEGVIJNNcjs._useUpdateMyPresence; exports.useUpdateNotificationSettings = _chunkQEGVIJNNcjs.useUpdateNotificationSettings; exports.useUpdateRoomSubscriptionSettings = _chunkQEGVIJNNcjs.useUpdateRoomSubscriptionSettings; exports.useUrlMetadata = _chunkQEGVIJNNcjs._useUrlMetadata; exports.useUser = _chunkQEGVIJNNcjs._useUser; exports.useUserThreads_experimental = _chunkQEGVIJNNcjs._useUserThreads_experimental;
//# sourceMappingURL=index.cjs.map

@@ -1,3 +0,3 @@

import { R as RegisterAiKnowledgeProps, w as RegisterAiToolProps } from './room-MsYY4ALB.cjs';
export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext, N as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, B as createLiveblocksContext, K as createRoomContext, O as useAddReaction, aJ as useAiChat, aL as useAiChatMessages, aM as useAiChatStatus, aK as useAiChats, av as useAttachmentUrl, P as useBroadcastEvent, Q as useCanRedo, T as useCanUndo, z as useClient, aB as useCreateAiChat, V as useCreateComment, W as useCreateThread, aC as useDeleteAiChat, D as useDeleteAllInboxNotifications, X as useDeleteComment, E as useDeleteInboxNotification, Y as useDeleteThread, Z as useEditComment, a0 as useEditCommentMetadata, $ as useEditThreadMetadata, F as useErrorListener, a5 as useEventListener, aG as useGroupInfo, a6 as useHistory, am as useHistoryVersionData, aw as useHistoryVersions, _ as useInboxNotificationThread, ay as useInboxNotifications, a7 as useIsInsideRoom, a8 as useLostConnectionListener, H as useMarkAllInboxNotificationsAsRead, I as useMarkInboxNotificationAsRead, a9 as useMarkThreadAsRead, a1 as useMarkThreadAsResolved, a2 as useMarkThreadAsUnresolved, aa as useMutation, ab as useMyPresence, az as useNotificationSettings, an as useOther, ao as useOthers, ap as useOthersConnectionIds, ac as useOthersListener, aq as useOthersMapped, ad as useRedo, ae as useRemoveReaction, af as useRoom, aF as useRoomInfo, ax as useRoomSubscriptionSettings, au as useSearchComments, ar as useSelf, aD as useSendAiMessage, ag as useStatus, as as useStorage, ah as useStorageRoot, a3 as useSubscribeToThread, J as useSyncStatus, ai as useThreadSubscription, at as useThreads, aj as useUndo, aH as useUnreadInboxNotificationsCount, a4 as useUnsubscribeFromThread, ak as useUpdateMyPresence, aA as useUpdateNotificationSettings, al as useUpdateRoomSubscriptionSettings, aN as useUrlMetadata, aI as useUser, aE as useUserThreads_experimental } from './room-MsYY4ALB.cjs';
import { R as RegisterAiKnowledgeProps, y as RegisterAiToolProps } from './room-BvPZu216.cjs';
export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, B as RoomContext, P as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, z as UseThreadsOptions, E as createLiveblocksContext, O as createRoomContext, Q as useAddReaction, aL as useAiChat, aN as useAiChatMessages, aO as useAiChatStatus, aM as useAiChats, ax as useAttachmentUrl, T as useBroadcastEvent, V as useCanRedo, W as useCanUndo, D as useClient, aD as useCreateAiChat, X as useCreateComment, Y as useCreateThread, aE as useDeleteAiChat, F as useDeleteAllInboxNotifications, Z as useDeleteComment, H as useDeleteInboxNotification, $ as useDeleteThread, a0 as useEditComment, a2 as useEditCommentMetadata, a1 as useEditThreadMetadata, I as useErrorListener, a7 as useEventListener, aI as useGroupInfo, a8 as useHistory, ao as useHistoryVersionData, ay as useHistoryVersions, _ as useInboxNotificationThread, aA as useInboxNotifications, a9 as useIsInsideRoom, aa as useLostConnectionListener, J as useMarkAllInboxNotificationsAsRead, K as useMarkInboxNotificationAsRead, ab as useMarkThreadAsRead, a3 as useMarkThreadAsResolved, a4 as useMarkThreadAsUnresolved, ac as useMutation, ad as useMyPresence, aB as useNotificationSettings, ap as useOther, aq as useOthers, ar as useOthersConnectionIds, ae as useOthersListener, as as useOthersMapped, af as useRedo, ag as useRemoveReaction, ah as useRoom, aH as useRoomInfo, az as useRoomSubscriptionSettings, aw as useSearchComments, at as useSelf, aF as useSendAiMessage, ai as useStatus, au as useStorage, aj as useStorageRoot, a5 as useSubscribeToThread, N as useSyncStatus, ak as useThreadSubscription, av as useThreads, al as useUndo, aJ as useUnreadInboxNotificationsCount, a6 as useUnsubscribeFromThread, am as useUpdateMyPresence, aC as useUpdateNotificationSettings, an as useUpdateRoomSubscriptionSettings, aP as useUrlMetadata, aK as useUser, aG as useUserThreads_experimental } from './room-BvPZu216.cjs';
export { Json, JsonObject, isNotificationChannelEnabled, shallow } from '@liveblocks/client';

@@ -4,0 +4,0 @@ import * as react_jsx_runtime from 'react/jsx-runtime';

@@ -1,3 +0,3 @@

import { R as RegisterAiKnowledgeProps, w as RegisterAiToolProps } from './room-MsYY4ALB.js';
export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext, N as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, B as createLiveblocksContext, K as createRoomContext, O as useAddReaction, aJ as useAiChat, aL as useAiChatMessages, aM as useAiChatStatus, aK as useAiChats, av as useAttachmentUrl, P as useBroadcastEvent, Q as useCanRedo, T as useCanUndo, z as useClient, aB as useCreateAiChat, V as useCreateComment, W as useCreateThread, aC as useDeleteAiChat, D as useDeleteAllInboxNotifications, X as useDeleteComment, E as useDeleteInboxNotification, Y as useDeleteThread, Z as useEditComment, a0 as useEditCommentMetadata, $ as useEditThreadMetadata, F as useErrorListener, a5 as useEventListener, aG as useGroupInfo, a6 as useHistory, am as useHistoryVersionData, aw as useHistoryVersions, _ as useInboxNotificationThread, ay as useInboxNotifications, a7 as useIsInsideRoom, a8 as useLostConnectionListener, H as useMarkAllInboxNotificationsAsRead, I as useMarkInboxNotificationAsRead, a9 as useMarkThreadAsRead, a1 as useMarkThreadAsResolved, a2 as useMarkThreadAsUnresolved, aa as useMutation, ab as useMyPresence, az as useNotificationSettings, an as useOther, ao as useOthers, ap as useOthersConnectionIds, ac as useOthersListener, aq as useOthersMapped, ad as useRedo, ae as useRemoveReaction, af as useRoom, aF as useRoomInfo, ax as useRoomSubscriptionSettings, au as useSearchComments, ar as useSelf, aD as useSendAiMessage, ag as useStatus, as as useStorage, ah as useStorageRoot, a3 as useSubscribeToThread, J as useSyncStatus, ai as useThreadSubscription, at as useThreads, aj as useUndo, aH as useUnreadInboxNotificationsCount, a4 as useUnsubscribeFromThread, ak as useUpdateMyPresence, aA as useUpdateNotificationSettings, al as useUpdateRoomSubscriptionSettings, aN as useUrlMetadata, aI as useUser, aE as useUserThreads_experimental } from './room-MsYY4ALB.js';
import { R as RegisterAiKnowledgeProps, y as RegisterAiToolProps } from './room-BvPZu216.js';
export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, B as RoomContext, P as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, z as UseThreadsOptions, E as createLiveblocksContext, O as createRoomContext, Q as useAddReaction, aL as useAiChat, aN as useAiChatMessages, aO as useAiChatStatus, aM as useAiChats, ax as useAttachmentUrl, T as useBroadcastEvent, V as useCanRedo, W as useCanUndo, D as useClient, aD as useCreateAiChat, X as useCreateComment, Y as useCreateThread, aE as useDeleteAiChat, F as useDeleteAllInboxNotifications, Z as useDeleteComment, H as useDeleteInboxNotification, $ as useDeleteThread, a0 as useEditComment, a2 as useEditCommentMetadata, a1 as useEditThreadMetadata, I as useErrorListener, a7 as useEventListener, aI as useGroupInfo, a8 as useHistory, ao as useHistoryVersionData, ay as useHistoryVersions, _ as useInboxNotificationThread, aA as useInboxNotifications, a9 as useIsInsideRoom, aa as useLostConnectionListener, J as useMarkAllInboxNotificationsAsRead, K as useMarkInboxNotificationAsRead, ab as useMarkThreadAsRead, a3 as useMarkThreadAsResolved, a4 as useMarkThreadAsUnresolved, ac as useMutation, ad as useMyPresence, aB as useNotificationSettings, ap as useOther, aq as useOthers, ar as useOthersConnectionIds, ae as useOthersListener, as as useOthersMapped, af as useRedo, ag as useRemoveReaction, ah as useRoom, aH as useRoomInfo, az as useRoomSubscriptionSettings, aw as useSearchComments, at as useSelf, aF as useSendAiMessage, ai as useStatus, au as useStorage, aj as useStorageRoot, a5 as useSubscribeToThread, N as useSyncStatus, ak as useThreadSubscription, av as useThreads, al as useUndo, aJ as useUnreadInboxNotificationsCount, a6 as useUnsubscribeFromThread, am as useUpdateMyPresence, aC as useUpdateNotificationSettings, an as useUpdateRoomSubscriptionSettings, aP as useUrlMetadata, aK as useUser, aG as useUserThreads_experimental } from './room-BvPZu216.js';
export { Json, JsonObject, isNotificationChannelEnabled, shallow } from '@liveblocks/client';

@@ -4,0 +4,0 @@ import * as react_jsx_runtime from 'react/jsx-runtime';

@@ -6,3 +6,3 @@ import {

PKG_VERSION
} from "./chunk-O7LORLIQ.js";
} from "./chunk-4FVE2H73.js";
import {

@@ -85,3 +85,3 @@ ClientContext,

useUpdateRoomSubscriptionSettings
} from "./chunk-7TVEKSIE.js";
} from "./chunk-2VF57BZV.js";

@@ -88,0 +88,0 @@ // src/index.ts

@@ -6,3 +6,3 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkMB6JGE6Bcjs = require('./chunk-MB6JGE6B.cjs');
var _chunkN6SOTKXEcjs = require('./chunk-N6SOTKXE.cjs');

@@ -81,3 +81,3 @@

var _chunkL3D3UECFcjs = require('./chunk-L3D3UECF.cjs');
var _chunkQEGVIJNNcjs = require('./chunk-QEGVIJNN.cjs');

@@ -87,3 +87,3 @@ // src/suspense.ts

var _client = require('@liveblocks/client');
_core.detectDupes.call(void 0, _chunkMB6JGE6Bcjs.PKG_NAME, _chunkMB6JGE6Bcjs.PKG_VERSION, _chunkMB6JGE6Bcjs.PKG_FORMAT);
_core.detectDupes.call(void 0, _chunkN6SOTKXEcjs.PKG_NAME, _chunkN6SOTKXEcjs.PKG_VERSION, _chunkN6SOTKXEcjs.PKG_FORMAT);

@@ -165,3 +165,3 @@

exports.ClientContext = _chunkL3D3UECFcjs.ClientContext; exports.ClientSideSuspense = _chunkMB6JGE6Bcjs.ClientSideSuspense; exports.LiveblocksProvider = _chunkL3D3UECFcjs.LiveblocksProvider; exports.RegisterAiKnowledge = _chunkL3D3UECFcjs.RegisterAiKnowledge; exports.RegisterAiTool = _chunkL3D3UECFcjs.RegisterAiTool; exports.RoomContext = _chunkL3D3UECFcjs.GlobalRoomContext; exports.RoomProvider = _chunkL3D3UECFcjs._RoomProvider; exports.isNotificationChannelEnabled = _client.isNotificationChannelEnabled; exports.shallow = _client.shallow; exports.useAddReaction = _chunkL3D3UECFcjs._useAddReaction; exports.useAiChat = _chunkL3D3UECFcjs._useAiChatSuspense; exports.useAiChatMessages = _chunkL3D3UECFcjs._useAiChatMessagesSuspense; exports.useAiChatStatus = _chunkL3D3UECFcjs.useAiChatStatus; exports.useAiChats = _chunkL3D3UECFcjs._useAiChatsSuspense; exports.useAttachmentUrl = _chunkL3D3UECFcjs.useAttachmentUrlSuspense; exports.useBroadcastEvent = _chunkL3D3UECFcjs._useBroadcastEvent; exports.useCanRedo = _chunkL3D3UECFcjs.useCanRedo; exports.useCanUndo = _chunkL3D3UECFcjs.useCanUndo; exports.useClient = _chunkL3D3UECFcjs.useClient; exports.useCreateAiChat = _chunkL3D3UECFcjs.useCreateAiChat; exports.useCreateComment = _chunkL3D3UECFcjs._useCreateComment; exports.useCreateThread = _chunkL3D3UECFcjs._useCreateThread; exports.useDeleteAiChat = _chunkL3D3UECFcjs.useDeleteAiChat; exports.useDeleteAllInboxNotifications = _chunkL3D3UECFcjs.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunkL3D3UECFcjs.useDeleteComment; exports.useDeleteInboxNotification = _chunkL3D3UECFcjs.useDeleteInboxNotification; exports.useDeleteThread = _chunkL3D3UECFcjs._useDeleteThread; exports.useEditComment = _chunkL3D3UECFcjs._useEditComment; exports.useEditCommentMetadata = _chunkL3D3UECFcjs._useEditCommentMetadata; exports.useEditThreadMetadata = _chunkL3D3UECFcjs._useEditThreadMetadata; exports.useErrorListener = _chunkL3D3UECFcjs.useErrorListener; exports.useEventListener = _chunkL3D3UECFcjs._useEventListener; exports.useGroupInfo = _chunkL3D3UECFcjs.useGroupInfoSuspense; exports.useHistory = _chunkL3D3UECFcjs.useHistory; exports.useHistoryVersions = _chunkL3D3UECFcjs._useHistoryVersionsSuspense; exports.useInboxNotificationThread = _chunkL3D3UECFcjs._useInboxNotificationThread; exports.useInboxNotifications = _chunkL3D3UECFcjs.useInboxNotificationsSuspense; exports.useIsInsideRoom = _chunkL3D3UECFcjs._useIsInsideRoom; exports.useLostConnectionListener = _chunkL3D3UECFcjs.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunkL3D3UECFcjs.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunkL3D3UECFcjs.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunkL3D3UECFcjs.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunkL3D3UECFcjs.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunkL3D3UECFcjs.useMarkThreadAsUnresolved; exports.useMutation = _chunkL3D3UECFcjs._useMutation; exports.useMyPresence = _chunkL3D3UECFcjs._useMyPresence; exports.useNotificationSettings = _chunkL3D3UECFcjs.useNotificationSettingsSuspense; exports.useOther = _chunkL3D3UECFcjs._useOtherSuspense; exports.useOthers = _chunkL3D3UECFcjs._useOthersSuspense; exports.useOthersConnectionIds = _chunkL3D3UECFcjs.useOthersConnectionIdsSuspense; exports.useOthersListener = _chunkL3D3UECFcjs._useOthersListener; exports.useOthersMapped = _chunkL3D3UECFcjs._useOthersMappedSuspense; exports.useRedo = _chunkL3D3UECFcjs.useRedo; exports.useRemoveReaction = _chunkL3D3UECFcjs.useRemoveReaction; exports.useRoom = _chunkL3D3UECFcjs._useRoom; exports.useRoomInfo = _chunkL3D3UECFcjs.useRoomInfoSuspense; exports.useRoomSubscriptionSettings = _chunkL3D3UECFcjs._useRoomSubscriptionSettingsSuspense; exports.useSelf = _chunkL3D3UECFcjs._useSelfSuspense; exports.useSendAiMessage = _chunkL3D3UECFcjs.useSendAiMessage; exports.useStatus = _chunkL3D3UECFcjs.useStatus; exports.useStorage = _chunkL3D3UECFcjs._useStorageSuspense; exports.useStorageRoot = _chunkL3D3UECFcjs._useStorageRoot; exports.useSubscribeToThread = _chunkL3D3UECFcjs.useSubscribeToThread; exports.useSyncStatus = _chunkL3D3UECFcjs.useSyncStatus; exports.useThreadSubscription = _chunkL3D3UECFcjs.useThreadSubscription; exports.useThreads = _chunkL3D3UECFcjs._useThreadsSuspense; exports.useUndo = _chunkL3D3UECFcjs.useUndo; exports.useUnreadInboxNotificationsCount = _chunkL3D3UECFcjs.useUnreadInboxNotificationsCountSuspense; exports.useUnsubscribeFromThread = _chunkL3D3UECFcjs.useUnsubscribeFromThread; exports.useUpdateMyPresence = _chunkL3D3UECFcjs._useUpdateMyPresence; exports.useUpdateNotificationSettings = _chunkL3D3UECFcjs.useUpdateNotificationSettings; exports.useUpdateRoomSubscriptionSettings = _chunkL3D3UECFcjs.useUpdateRoomSubscriptionSettings; exports.useUrlMetadata = _chunkL3D3UECFcjs._useUrlMetadataSuspense; exports.useUser = _chunkL3D3UECFcjs._useUserSuspense; exports.useUserThreads_experimental = _chunkL3D3UECFcjs._useUserThreadsSuspense_experimental;
exports.ClientContext = _chunkQEGVIJNNcjs.ClientContext; exports.ClientSideSuspense = _chunkN6SOTKXEcjs.ClientSideSuspense; exports.LiveblocksProvider = _chunkQEGVIJNNcjs.LiveblocksProvider; exports.RegisterAiKnowledge = _chunkQEGVIJNNcjs.RegisterAiKnowledge; exports.RegisterAiTool = _chunkQEGVIJNNcjs.RegisterAiTool; exports.RoomContext = _chunkQEGVIJNNcjs.GlobalRoomContext; exports.RoomProvider = _chunkQEGVIJNNcjs._RoomProvider; exports.isNotificationChannelEnabled = _client.isNotificationChannelEnabled; exports.shallow = _client.shallow; exports.useAddReaction = _chunkQEGVIJNNcjs._useAddReaction; exports.useAiChat = _chunkQEGVIJNNcjs._useAiChatSuspense; exports.useAiChatMessages = _chunkQEGVIJNNcjs._useAiChatMessagesSuspense; exports.useAiChatStatus = _chunkQEGVIJNNcjs.useAiChatStatus; exports.useAiChats = _chunkQEGVIJNNcjs._useAiChatsSuspense; exports.useAttachmentUrl = _chunkQEGVIJNNcjs.useAttachmentUrlSuspense; exports.useBroadcastEvent = _chunkQEGVIJNNcjs._useBroadcastEvent; exports.useCanRedo = _chunkQEGVIJNNcjs.useCanRedo; exports.useCanUndo = _chunkQEGVIJNNcjs.useCanUndo; exports.useClient = _chunkQEGVIJNNcjs.useClient; exports.useCreateAiChat = _chunkQEGVIJNNcjs.useCreateAiChat; exports.useCreateComment = _chunkQEGVIJNNcjs._useCreateComment; exports.useCreateThread = _chunkQEGVIJNNcjs._useCreateThread; exports.useDeleteAiChat = _chunkQEGVIJNNcjs.useDeleteAiChat; exports.useDeleteAllInboxNotifications = _chunkQEGVIJNNcjs.useDeleteAllInboxNotifications; exports.useDeleteComment = _chunkQEGVIJNNcjs.useDeleteComment; exports.useDeleteInboxNotification = _chunkQEGVIJNNcjs.useDeleteInboxNotification; exports.useDeleteThread = _chunkQEGVIJNNcjs._useDeleteThread; exports.useEditComment = _chunkQEGVIJNNcjs._useEditComment; exports.useEditCommentMetadata = _chunkQEGVIJNNcjs._useEditCommentMetadata; exports.useEditThreadMetadata = _chunkQEGVIJNNcjs._useEditThreadMetadata; exports.useErrorListener = _chunkQEGVIJNNcjs.useErrorListener; exports.useEventListener = _chunkQEGVIJNNcjs._useEventListener; exports.useGroupInfo = _chunkQEGVIJNNcjs.useGroupInfoSuspense; exports.useHistory = _chunkQEGVIJNNcjs.useHistory; exports.useHistoryVersions = _chunkQEGVIJNNcjs._useHistoryVersionsSuspense; exports.useInboxNotificationThread = _chunkQEGVIJNNcjs._useInboxNotificationThread; exports.useInboxNotifications = _chunkQEGVIJNNcjs.useInboxNotificationsSuspense; exports.useIsInsideRoom = _chunkQEGVIJNNcjs._useIsInsideRoom; exports.useLostConnectionListener = _chunkQEGVIJNNcjs.useLostConnectionListener; exports.useMarkAllInboxNotificationsAsRead = _chunkQEGVIJNNcjs.useMarkAllInboxNotificationsAsRead; exports.useMarkInboxNotificationAsRead = _chunkQEGVIJNNcjs.useMarkInboxNotificationAsRead; exports.useMarkThreadAsRead = _chunkQEGVIJNNcjs.useMarkThreadAsRead; exports.useMarkThreadAsResolved = _chunkQEGVIJNNcjs.useMarkThreadAsResolved; exports.useMarkThreadAsUnresolved = _chunkQEGVIJNNcjs.useMarkThreadAsUnresolved; exports.useMutation = _chunkQEGVIJNNcjs._useMutation; exports.useMyPresence = _chunkQEGVIJNNcjs._useMyPresence; exports.useNotificationSettings = _chunkQEGVIJNNcjs.useNotificationSettingsSuspense; exports.useOther = _chunkQEGVIJNNcjs._useOtherSuspense; exports.useOthers = _chunkQEGVIJNNcjs._useOthersSuspense; exports.useOthersConnectionIds = _chunkQEGVIJNNcjs.useOthersConnectionIdsSuspense; exports.useOthersListener = _chunkQEGVIJNNcjs._useOthersListener; exports.useOthersMapped = _chunkQEGVIJNNcjs._useOthersMappedSuspense; exports.useRedo = _chunkQEGVIJNNcjs.useRedo; exports.useRemoveReaction = _chunkQEGVIJNNcjs.useRemoveReaction; exports.useRoom = _chunkQEGVIJNNcjs._useRoom; exports.useRoomInfo = _chunkQEGVIJNNcjs.useRoomInfoSuspense; exports.useRoomSubscriptionSettings = _chunkQEGVIJNNcjs._useRoomSubscriptionSettingsSuspense; exports.useSelf = _chunkQEGVIJNNcjs._useSelfSuspense; exports.useSendAiMessage = _chunkQEGVIJNNcjs.useSendAiMessage; exports.useStatus = _chunkQEGVIJNNcjs.useStatus; exports.useStorage = _chunkQEGVIJNNcjs._useStorageSuspense; exports.useStorageRoot = _chunkQEGVIJNNcjs._useStorageRoot; exports.useSubscribeToThread = _chunkQEGVIJNNcjs.useSubscribeToThread; exports.useSyncStatus = _chunkQEGVIJNNcjs.useSyncStatus; exports.useThreadSubscription = _chunkQEGVIJNNcjs.useThreadSubscription; exports.useThreads = _chunkQEGVIJNNcjs._useThreadsSuspense; exports.useUndo = _chunkQEGVIJNNcjs.useUndo; exports.useUnreadInboxNotificationsCount = _chunkQEGVIJNNcjs.useUnreadInboxNotificationsCountSuspense; exports.useUnsubscribeFromThread = _chunkQEGVIJNNcjs.useUnsubscribeFromThread; exports.useUpdateMyPresence = _chunkQEGVIJNNcjs._useUpdateMyPresence; exports.useUpdateNotificationSettings = _chunkQEGVIJNNcjs.useUpdateNotificationSettings; exports.useUpdateRoomSubscriptionSettings = _chunkQEGVIJNNcjs.useUpdateRoomSubscriptionSettings; exports.useUrlMetadata = _chunkQEGVIJNNcjs._useUrlMetadataSuspense; exports.useUser = _chunkQEGVIJNNcjs._useUserSuspense; exports.useUserThreads_experimental = _chunkQEGVIJNNcjs._useUserThreadsSuspense_experimental;
//# sourceMappingURL=suspense.cjs.map
export { ClientSideSuspense, RegisterAiKnowledge, RegisterAiTool } from './index.cjs';
export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, R as RegisterAiKnowledgeProps, w as RegisterAiToolProps, y as RoomContext, N as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, O as useAddReaction, b5 as useAiChat, b4 as useAiChatMessages, aM as useAiChatStatus, b3 as useAiChats, aV as useAttachmentUrl, P as useBroadcastEvent, Q as useCanRedo, T as useCanUndo, z as useClient, aB as useCreateAiChat, V as useCreateComment, W as useCreateThread, aC as useDeleteAiChat, D as useDeleteAllInboxNotifications, X as useDeleteComment, E as useDeleteInboxNotification, Y as useDeleteThread, Z as useEditComment, a0 as useEditCommentMetadata, $ as useEditThreadMetadata, F as useErrorListener, a5 as useEventListener, a$ as useGroupInfo, a6 as useHistory, aW as useHistoryVersions, _ as useInboxNotificationThread, aY as useInboxNotifications, a7 as useIsInsideRoom, a8 as useLostConnectionListener, H as useMarkAllInboxNotificationsAsRead, I as useMarkInboxNotificationAsRead, a9 as useMarkThreadAsRead, a1 as useMarkThreadAsResolved, a2 as useMarkThreadAsUnresolved, aa as useMutation, ab as useMyPresence, aZ as useNotificationSettings, aO as useOther, aP as useOthers, aQ as useOthersConnectionIds, ac as useOthersListener, aR as useOthersMapped, ad as useRedo, ae as useRemoveReaction, af as useRoom, a_ as useRoomInfo, aX as useRoomSubscriptionSettings, aS as useSelf, aD as useSendAiMessage, ag as useStatus, aT as useStorage, ah as useStorageRoot, a3 as useSubscribeToThread, J as useSyncStatus, ai as useThreadSubscription, aU as useThreads, aj as useUndo, b0 as useUnreadInboxNotificationsCount, a4 as useUnsubscribeFromThread, ak as useUpdateMyPresence, aA as useUpdateNotificationSettings, al as useUpdateRoomSubscriptionSettings, b6 as useUrlMetadata, b1 as useUser, b2 as useUserThreads_experimental } from './room-MsYY4ALB.cjs';
export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, R as RegisterAiKnowledgeProps, y as RegisterAiToolProps, B as RoomContext, P as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, z as UseThreadsOptions, Q as useAddReaction, b7 as useAiChat, b6 as useAiChatMessages, aO as useAiChatStatus, b5 as useAiChats, aX as useAttachmentUrl, T as useBroadcastEvent, V as useCanRedo, W as useCanUndo, D as useClient, aD as useCreateAiChat, X as useCreateComment, Y as useCreateThread, aE as useDeleteAiChat, F as useDeleteAllInboxNotifications, Z as useDeleteComment, H as useDeleteInboxNotification, $ as useDeleteThread, a0 as useEditComment, a2 as useEditCommentMetadata, a1 as useEditThreadMetadata, I as useErrorListener, a7 as useEventListener, b1 as useGroupInfo, a8 as useHistory, aY as useHistoryVersions, _ as useInboxNotificationThread, a_ as useInboxNotifications, a9 as useIsInsideRoom, aa as useLostConnectionListener, J as useMarkAllInboxNotificationsAsRead, K as useMarkInboxNotificationAsRead, ab as useMarkThreadAsRead, a3 as useMarkThreadAsResolved, a4 as useMarkThreadAsUnresolved, ac as useMutation, ad as useMyPresence, a$ as useNotificationSettings, aQ as useOther, aR as useOthers, aS as useOthersConnectionIds, ae as useOthersListener, aT as useOthersMapped, af as useRedo, ag as useRemoveReaction, ah as useRoom, b0 as useRoomInfo, aZ as useRoomSubscriptionSettings, aU as useSelf, aF as useSendAiMessage, ai as useStatus, aV as useStorage, aj as useStorageRoot, a5 as useSubscribeToThread, N as useSyncStatus, ak as useThreadSubscription, aW as useThreads, al as useUndo, b2 as useUnreadInboxNotificationsCount, a6 as useUnsubscribeFromThread, am as useUpdateMyPresence, aC as useUpdateNotificationSettings, an as useUpdateRoomSubscriptionSettings, b8 as useUrlMetadata, b3 as useUser, b4 as useUserThreads_experimental } from './room-BvPZu216.cjs';
export { Json, JsonObject, isNotificationChannelEnabled, shallow } from '@liveblocks/client';

@@ -4,0 +4,0 @@ import 'react/jsx-runtime';

export { ClientSideSuspense, RegisterAiKnowledge, RegisterAiTool } from './index.js';
export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, R as RegisterAiKnowledgeProps, w as RegisterAiToolProps, y as RoomContext, N as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, O as useAddReaction, b5 as useAiChat, b4 as useAiChatMessages, aM as useAiChatStatus, b3 as useAiChats, aV as useAttachmentUrl, P as useBroadcastEvent, Q as useCanRedo, T as useCanUndo, z as useClient, aB as useCreateAiChat, V as useCreateComment, W as useCreateThread, aC as useDeleteAiChat, D as useDeleteAllInboxNotifications, X as useDeleteComment, E as useDeleteInboxNotification, Y as useDeleteThread, Z as useEditComment, a0 as useEditCommentMetadata, $ as useEditThreadMetadata, F as useErrorListener, a5 as useEventListener, a$ as useGroupInfo, a6 as useHistory, aW as useHistoryVersions, _ as useInboxNotificationThread, aY as useInboxNotifications, a7 as useIsInsideRoom, a8 as useLostConnectionListener, H as useMarkAllInboxNotificationsAsRead, I as useMarkInboxNotificationAsRead, a9 as useMarkThreadAsRead, a1 as useMarkThreadAsResolved, a2 as useMarkThreadAsUnresolved, aa as useMutation, ab as useMyPresence, aZ as useNotificationSettings, aO as useOther, aP as useOthers, aQ as useOthersConnectionIds, ac as useOthersListener, aR as useOthersMapped, ad as useRedo, ae as useRemoveReaction, af as useRoom, a_ as useRoomInfo, aX as useRoomSubscriptionSettings, aS as useSelf, aD as useSendAiMessage, ag as useStatus, aT as useStorage, ah as useStorageRoot, a3 as useSubscribeToThread, J as useSyncStatus, ai as useThreadSubscription, aU as useThreads, aj as useUndo, b0 as useUnreadInboxNotificationsCount, a4 as useUnsubscribeFromThread, ak as useUpdateMyPresence, aA as useUpdateNotificationSettings, al as useUpdateRoomSubscriptionSettings, b6 as useUrlMetadata, b1 as useUser, b2 as useUserThreads_experimental } from './room-MsYY4ALB.js';
export { A as AiChatStatus, C as ClientContext, L as LiveblocksProvider, M as MutationContext, R as RegisterAiKnowledgeProps, y as RegisterAiToolProps, B as RoomContext, P as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, z as UseThreadsOptions, Q as useAddReaction, b7 as useAiChat, b6 as useAiChatMessages, aO as useAiChatStatus, b5 as useAiChats, aX as useAttachmentUrl, T as useBroadcastEvent, V as useCanRedo, W as useCanUndo, D as useClient, aD as useCreateAiChat, X as useCreateComment, Y as useCreateThread, aE as useDeleteAiChat, F as useDeleteAllInboxNotifications, Z as useDeleteComment, H as useDeleteInboxNotification, $ as useDeleteThread, a0 as useEditComment, a2 as useEditCommentMetadata, a1 as useEditThreadMetadata, I as useErrorListener, a7 as useEventListener, b1 as useGroupInfo, a8 as useHistory, aY as useHistoryVersions, _ as useInboxNotificationThread, a_ as useInboxNotifications, a9 as useIsInsideRoom, aa as useLostConnectionListener, J as useMarkAllInboxNotificationsAsRead, K as useMarkInboxNotificationAsRead, ab as useMarkThreadAsRead, a3 as useMarkThreadAsResolved, a4 as useMarkThreadAsUnresolved, ac as useMutation, ad as useMyPresence, a$ as useNotificationSettings, aQ as useOther, aR as useOthers, aS as useOthersConnectionIds, ae as useOthersListener, aT as useOthersMapped, af as useRedo, ag as useRemoveReaction, ah as useRoom, b0 as useRoomInfo, aZ as useRoomSubscriptionSettings, aU as useSelf, aF as useSendAiMessage, ai as useStatus, aV as useStorage, aj as useStorageRoot, a5 as useSubscribeToThread, N as useSyncStatus, ak as useThreadSubscription, aW as useThreads, al as useUndo, b2 as useUnreadInboxNotificationsCount, a6 as useUnsubscribeFromThread, am as useUpdateMyPresence, aC as useUpdateNotificationSettings, an as useUpdateRoomSubscriptionSettings, b8 as useUrlMetadata, b3 as useUser, b4 as useUserThreads_experimental } from './room-BvPZu216.js';
export { Json, JsonObject, isNotificationChannelEnabled, shallow } from '@liveblocks/client';

@@ -4,0 +4,0 @@ import 'react/jsx-runtime';

@@ -6,3 +6,3 @@ import {

PKG_VERSION
} from "./chunk-O7LORLIQ.js";
} from "./chunk-4FVE2H73.js";
import {

@@ -81,3 +81,3 @@ ClientContext,

useUpdateRoomSubscriptionSettings
} from "./chunk-7TVEKSIE.js";
} from "./chunk-2VF57BZV.js";

@@ -84,0 +84,0 @@ // src/suspense.ts

{
"name": "@liveblocks/react",
"version": "3.15.4",
"version": "3.16.0-flow1",
"description": "A set of React hooks and providers to use Liveblocks declaratively. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.",

@@ -66,4 +66,4 @@ "license": "Apache-2.0",

"dependencies": {
"@liveblocks/client": "3.15.4",
"@liveblocks/core": "3.15.4"
"@liveblocks/client": "3.16.0-flow1",
"@liveblocks/core": "3.16.0-flow1"
},

@@ -70,0 +70,0 @@ "peerDependencies": {

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/version.ts
var PKG_NAME = "@liveblocks/react";
var PKG_VERSION = "3.15.4";
var PKG_FORMAT = "cjs";
// src/ClientSideSuspense.tsx
var _react = require('react');
var _jsxruntime = require('react/jsx-runtime');
function ClientSideSuspense(props) {
const [mounted, setMounted] = _react.useState.call(void 0, false);
_react.useEffect.call(void 0, () => {
setMounted(true);
}, []);
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Suspense, { fallback: props.fallback, children: mounted ? typeof props.children === "function" ? props.children() : props.children : props.fallback });
}
exports.PKG_NAME = PKG_NAME; exports.PKG_VERSION = PKG_VERSION; exports.PKG_FORMAT = PKG_FORMAT; exports.ClientSideSuspense = ClientSideSuspense;
//# sourceMappingURL=chunk-MB6JGE6B.cjs.map
{"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-MB6JGE6B.cjs","../src/version.ts","../src/ClientSideSuspense.tsx"],"names":[],"mappings":"AAAA;ACGO,IAAM,SAAA,EAAW,mBAAA;AACjB,IAAM,YAAA,EAAiD,QAAA;AACvD,IAAM,WAAA,EAAgD,KAAA;ADD7D;AACA;AEJA,8BAA8C;AAkC1C,+CAAA;AAVG,SAAS,kBAAA,CAAmB,KAAA,EAAc;AAC/C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,EAAA,EAAI,6BAAA,KAAc,CAAA;AAE5C,EAAA,8BAAA,CAAU,EAAA,GAAM;AAGd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,CAAC,CAAC,CAAA;AAEL,EAAA,uBACE,6BAAA,eAAC,EAAA,EAAS,QAAA,EAAU,KAAA,CAAM,QAAA,EACvB,QAAA,EAAA,QAAA,EACG,OAAO,KAAA,CAAM,SAAA,IAAa,WAAA,EACxB,KAAA,CAAM,QAAA,CAAS,EAAA,EACf,KAAA,CAAM,SAAA,EACR,KAAA,CAAM,SAAA,CACZ,CAAA;AAEJ;AF5BA;AACA;AACE;AACA;AACA;AACA;AACF,iJAAC","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-react/dist/chunk-MB6JGE6B.cjs","sourcesContent":[null,"declare const __VERSION__: string;\ndeclare const TSUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof TSUP_FORMAT === \"string\" && TSUP_FORMAT;\n","import type { ReactNode } from \"react\";\nimport { Suspense, useEffect, useState } from \"react\";\n\ntype Props = {\n fallback: ReactNode;\n children: (() => ReactNode | undefined) | ReactNode | undefined;\n};\n\n/**\n * Almost like a normal <Suspense> component, except that for server-side\n * renders, the fallback will be used.\n *\n * The child props will have to be provided in a function, i.e. change:\n *\n * <Suspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </Suspense>\n *\n * To:\n *\n * <ClientSideSuspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </ClientSideSuspense>\n *\n */\nexport function ClientSideSuspense(props: Props) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n // Effects are never executed on the server side. The point of this is to\n // delay the flipping of this boolean until after hydration has happened.\n setMounted(true);\n }, []);\n\n return (\n <Suspense fallback={props.fallback}>\n {mounted\n ? typeof props.children === \"function\"\n ? props.children()\n : props.children\n : props.fallback}\n </Suspense>\n );\n}\n"]}
// src/version.ts
var PKG_NAME = "@liveblocks/react";
var PKG_VERSION = "3.15.4";
var PKG_FORMAT = "esm";
// src/ClientSideSuspense.tsx
import { Suspense, useEffect, useState } from "react";
import { jsx } from "react/jsx-runtime";
function ClientSideSuspense(props) {
const [mounted, setMounted] = useState(false);
useEffect(() => {
setMounted(true);
}, []);
return /* @__PURE__ */ jsx(Suspense, { fallback: props.fallback, children: mounted ? typeof props.children === "function" ? props.children() : props.children : props.fallback });
}
export {
PKG_NAME,
PKG_VERSION,
PKG_FORMAT,
ClientSideSuspense
};
//# sourceMappingURL=chunk-O7LORLIQ.js.map
{"version":3,"sources":["../src/version.ts","../src/ClientSideSuspense.tsx"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const TSUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof TSUP_FORMAT === \"string\" && TSUP_FORMAT;\n","import type { ReactNode } from \"react\";\nimport { Suspense, useEffect, useState } from \"react\";\n\ntype Props = {\n fallback: ReactNode;\n children: (() => ReactNode | undefined) | ReactNode | undefined;\n};\n\n/**\n * Almost like a normal <Suspense> component, except that for server-side\n * renders, the fallback will be used.\n *\n * The child props will have to be provided in a function, i.e. change:\n *\n * <Suspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </Suspense>\n *\n * To:\n *\n * <ClientSideSuspense fallback={<Loading />}>\n * <MyRealComponent a={1} />\n * </ClientSideSuspense>\n *\n */\nexport function ClientSideSuspense(props: Props) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n // Effects are never executed on the server side. The point of this is to\n // delay the flipping of this boolean until after hydration has happened.\n setMounted(true);\n }, []);\n\n return (\n <Suspense fallback={props.fallback}>\n {mounted\n ? typeof props.children === \"function\"\n ? props.children()\n : props.children\n : props.fallback}\n </Suspense>\n );\n}\n"],"mappings":";AAGO,IAAM,WAAW;AACjB,IAAM,cAAiD;AACvD,IAAM,aAAgD;;;ACJ7D,SAAS,UAAU,WAAW,gBAAgB;AAkC1C;AAVG,SAAS,mBAAmB,OAAc;AAC/C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,YAAU,MAAM;AAGd,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,CAAC;AAEL,SACE,oBAAC,YAAS,UAAU,MAAM,UACvB,oBACG,OAAO,MAAM,aAAa,aACxB,MAAM,SAAS,IACf,MAAM,WACR,MAAM,UACZ;AAEJ;","names":[]}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display