@realtimexsco/live-chat 1.4.11 → 1.4.12
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.
- package/LICENSE +2 -2
- package/README.md +6 -6
- package/dist/index.cjs +1107 -438
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +139 -66
- package/dist/index.d.ts +139 -66
- package/dist/index.mjs +838 -172
- package/dist/index.mjs.map +1 -1
- package/package.json +19 -4
package/dist/index.d.mts
CHANGED
|
@@ -95,8 +95,8 @@ interface IAttachment {
|
|
|
95
95
|
* Named API targets for selective query-param injection.
|
|
96
96
|
* Consumers pick which endpoints receive `queryParams`.
|
|
97
97
|
*/
|
|
98
|
-
declare const CHAT_GET_API_KEYS: readonly ["users", "conversations", "conversationInfo", "messages", "pinnedMessages", "starredMessages", "searchMessages", "searchMessagesContext"];
|
|
99
|
-
declare const CHAT_API_KEYS: readonly ["all", "get", "login", "users", "conversations", "conversationInfo", "messages", "pinnedMessages", "starredMessages", "searchMessages", "searchMessagesContext", "createGroup", "updateGroupPermissions", "updateGroupInfo", "manageMembers", "manageAdmins", "blockUnblock", "presignedUrls"];
|
|
98
|
+
declare const CHAT_GET_API_KEYS: readonly ["users", "conversations", "conversationInfo", "messages", "pinnedMessages", "starredMessages", "searchMessages", "searchMessagesContext", "effectiveSettings"];
|
|
99
|
+
declare const CHAT_API_KEYS: readonly ["all", "get", "login", "users", "conversations", "conversationInfo", "messages", "pinnedMessages", "starredMessages", "searchMessages", "searchMessagesContext", "effectiveSettings", "createGroup", "updateGroupPermissions", "updateGroupInfo", "manageMembers", "manageAdmins", "blockUnblock", "presignedUrls"];
|
|
100
100
|
type ChatApiKey = (typeof CHAT_API_KEYS)[number];
|
|
101
101
|
type ChatGetApiKey = (typeof CHAT_GET_API_KEYS)[number];
|
|
102
102
|
type ChatQueryParamValue = string | number | boolean;
|
|
@@ -105,12 +105,12 @@ type ChatQueryParamsByApi = Partial<Record<Exclude<ChatApiKey, "all" | "get">, C
|
|
|
105
105
|
/** Match an axios request URL to a named API key (first match wins). */
|
|
106
106
|
declare function resolveChatApiKey(url?: string): Exclude<ChatApiKey, "all" | "get"> | null;
|
|
107
107
|
|
|
108
|
-
type ChatApiVersionKey = "
|
|
108
|
+
type ChatApiVersionKey = "v1" | "v2";
|
|
109
109
|
interface ChatApiVersionConfig {
|
|
110
|
-
/**
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
|
|
110
|
+
/** Primary chat REST API version path segment. Default: `v1`. */
|
|
111
|
+
v1?: string;
|
|
112
|
+
/** Secondary API version path segment (e.g. push). Default: `v2`. */
|
|
113
|
+
v2?: string;
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
116
|
* Strip a trailing `/v1`, `/v2`, … from the configured base URL.
|
|
@@ -120,10 +120,12 @@ declare const resolveApiRoot: (baseUrl?: string) => string;
|
|
|
120
120
|
declare const buildVersionedApiUrl: (path: string, options?: {
|
|
121
121
|
version?: string;
|
|
122
122
|
baseUrl?: string;
|
|
123
|
+
/** Which configured version slot to use. Default: `v1`. */
|
|
123
124
|
service?: ChatApiVersionKey;
|
|
124
125
|
}) => string;
|
|
125
126
|
declare const setChatApiVersions: (config?: ChatApiVersionConfig | null) => void;
|
|
126
127
|
declare const getChatApiVersions: () => Readonly<Record<ChatApiVersionKey, string>>;
|
|
128
|
+
/** Sets the secondary (`v2`) API version slot. */
|
|
127
129
|
declare const setChatPushApiVersion: (version: string) => void;
|
|
128
130
|
|
|
129
131
|
declare const setChatClientId: (id: string) => void;
|
|
@@ -142,7 +144,7 @@ declare const getChatQueryParams: () => {
|
|
|
142
144
|
* Use `['all']` for every method, or specific keys like `['conversations']`.
|
|
143
145
|
*/
|
|
144
146
|
declare const setChatQueryParamApis: (apis?: ChatApiKey[] | null) => void;
|
|
145
|
-
declare const getChatQueryParamApis: () => ("all" | "get" | "login" | "users" | "conversations" | "conversationInfo" | "messages" | "pinnedMessages" | "starredMessages" | "searchMessages" | "searchMessagesContext" | "createGroup" | "updateGroupPermissions" | "updateGroupInfo" | "manageMembers" | "manageAdmins" | "blockUnblock" | "presignedUrls")[];
|
|
147
|
+
declare const getChatQueryParamApis: () => ("all" | "get" | "login" | "users" | "conversations" | "conversationInfo" | "messages" | "pinnedMessages" | "starredMessages" | "searchMessages" | "searchMessagesContext" | "effectiveSettings" | "createGroup" | "updateGroupPermissions" | "updateGroupInfo" | "manageMembers" | "manageAdmins" | "blockUnblock" | "presignedUrls")[];
|
|
146
148
|
/** Per-API query params (override / extend shared params for that endpoint). */
|
|
147
149
|
declare const setChatQueryParamsByApi: (byApi?: ChatQueryParamsByApi | null) => void;
|
|
148
150
|
declare const getChatQueryParamsByApi: () => {
|
|
@@ -155,6 +157,7 @@ declare const getChatQueryParamsByApi: () => {
|
|
|
155
157
|
starredMessages?: Record<string, string> | undefined;
|
|
156
158
|
searchMessages?: Record<string, string> | undefined;
|
|
157
159
|
searchMessagesContext?: Record<string, string> | undefined;
|
|
160
|
+
effectiveSettings?: Record<string, string> | undefined;
|
|
158
161
|
createGroup?: Record<string, string> | undefined;
|
|
159
162
|
updateGroupPermissions?: Record<string, string> | undefined;
|
|
160
163
|
updateGroupInfo?: Record<string, string> | undefined;
|
|
@@ -164,38 +167,6 @@ declare const getChatQueryParamsByApi: () => {
|
|
|
164
167
|
presignedUrls?: Record<string, string> | undefined;
|
|
165
168
|
};
|
|
166
169
|
|
|
167
|
-
interface PushNotificationToggleRenderProps {
|
|
168
|
-
label: string;
|
|
169
|
-
description: string;
|
|
170
|
-
checked: boolean;
|
|
171
|
-
disabled: boolean;
|
|
172
|
-
loading: boolean;
|
|
173
|
-
permissionBlocked: boolean;
|
|
174
|
-
error: string | null;
|
|
175
|
-
onCheckedChange: (checked: boolean) => void;
|
|
176
|
-
}
|
|
177
|
-
interface PushNotificationToggleProps {
|
|
178
|
-
className?: string;
|
|
179
|
-
label?: string;
|
|
180
|
-
description?: string;
|
|
181
|
-
/** Build your own row UI while keeping package push logic. */
|
|
182
|
-
children?: (props: PushNotificationToggleRenderProps) => ReactNode;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Drop-in per-user push notification switch. Renders nothing while push is
|
|
186
|
-
* unsupported by the browser, disabled by the workspace admins, or not yet
|
|
187
|
-
* configured on the backend — users only ever see a switch they can use.
|
|
188
|
-
*
|
|
189
|
-
* On: prompts for browser permission and registers this device.
|
|
190
|
-
* Off: unregisters this device.
|
|
191
|
-
*/
|
|
192
|
-
declare const PushNotificationToggle: ({ className, label, description, children, }: PushNotificationToggleProps) => React.JSX.Element | null;
|
|
193
|
-
|
|
194
|
-
interface ChatForwardItem {
|
|
195
|
-
message: IMessage;
|
|
196
|
-
attachmentId?: string;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
170
|
interface IUser {
|
|
200
171
|
_id: string;
|
|
201
172
|
id?: string;
|
|
@@ -210,25 +181,6 @@ interface IUser {
|
|
|
210
181
|
isOnline?: boolean;
|
|
211
182
|
}
|
|
212
183
|
|
|
213
|
-
interface ChatLayoutConfig {
|
|
214
|
-
/** Sidebar with profile + conversation list */
|
|
215
|
-
sidebar?: boolean;
|
|
216
|
-
/** Logged-in user profile block at top of sidebar */
|
|
217
|
-
loggedUserDetails?: boolean;
|
|
218
|
-
/** Conversation list in sidebar */
|
|
219
|
-
channelList?: boolean;
|
|
220
|
-
/** Active channel header (name, actions, search) */
|
|
221
|
-
header?: boolean;
|
|
222
|
-
/** Scrollable message area */
|
|
223
|
-
messageList?: boolean;
|
|
224
|
-
/** Message composer / input box */
|
|
225
|
-
input?: boolean;
|
|
226
|
-
/** Forward message modal */
|
|
227
|
-
forwardModal?: boolean;
|
|
228
|
-
}
|
|
229
|
-
declare const defaultChatLayoutConfig: Required<ChatLayoutConfig>;
|
|
230
|
-
declare const mergeChatLayoutConfig: (config?: ChatLayoutConfig) => Required<ChatLayoutConfig>;
|
|
231
|
-
|
|
232
184
|
type SocketStatus = "idle" | "connecting" | "connected" | "disconnected" | "error";
|
|
233
185
|
interface AuthState {
|
|
234
186
|
loggedUserDetails: IUser | null;
|
|
@@ -501,6 +453,98 @@ interface SocketState {
|
|
|
501
453
|
interface AppStoreState extends SocketState, AuthState {
|
|
502
454
|
}
|
|
503
455
|
|
|
456
|
+
interface EffectiveCallsSettings {
|
|
457
|
+
enabled: boolean;
|
|
458
|
+
configured: boolean;
|
|
459
|
+
}
|
|
460
|
+
interface EffectiveGroupPolicy {
|
|
461
|
+
defaults: GroupPermissions;
|
|
462
|
+
locked: Array<keyof GroupPermissions | string>;
|
|
463
|
+
}
|
|
464
|
+
interface EffectiveMessageTimers {
|
|
465
|
+
dmEditMinutes: number;
|
|
466
|
+
dmDeleteMinutes: number;
|
|
467
|
+
groupEditMinutes: number;
|
|
468
|
+
groupDeleteMinutes: number;
|
|
469
|
+
}
|
|
470
|
+
interface EffectiveAttachmentsSettings {
|
|
471
|
+
enabled: boolean;
|
|
472
|
+
maxFileSizeMB: number;
|
|
473
|
+
allowedMimeTypes: string[];
|
|
474
|
+
maxAttachmentsPerMessage: number;
|
|
475
|
+
}
|
|
476
|
+
interface EffectiveSettings {
|
|
477
|
+
pushNotificationEnabled: boolean;
|
|
478
|
+
videoCallEnabled: boolean;
|
|
479
|
+
audioCallEnabled: boolean;
|
|
480
|
+
blockUsersEnabled: boolean;
|
|
481
|
+
calls: EffectiveCallsSettings;
|
|
482
|
+
groupPolicy: EffectiveGroupPolicy;
|
|
483
|
+
messageTimers: EffectiveMessageTimers;
|
|
484
|
+
attachments: EffectiveAttachmentsSettings;
|
|
485
|
+
maxAdminsPerGroup: number;
|
|
486
|
+
maxParticipantsPerGroup: number;
|
|
487
|
+
maxPinnedMessagesPerConversation: number;
|
|
488
|
+
groupCreationEnabled: boolean;
|
|
489
|
+
}
|
|
490
|
+
declare const DEFAULT_EFFECTIVE_SETTINGS: EffectiveSettings;
|
|
491
|
+
declare const ADMIN_PERMISSION_DENIED_MESSAGE = "This feature is disabled by your administrator.";
|
|
492
|
+
declare const CALLS_NOT_CONFIGURED_MESSAGE = "Calls are not configured. Please contact your administrator.";
|
|
493
|
+
|
|
494
|
+
declare const fetchEffectiveSettings: () => Promise<EffectiveSettings>;
|
|
495
|
+
|
|
496
|
+
interface PushNotificationToggleRenderProps {
|
|
497
|
+
label: string;
|
|
498
|
+
description: string;
|
|
499
|
+
checked: boolean;
|
|
500
|
+
disabled: boolean;
|
|
501
|
+
loading: boolean;
|
|
502
|
+
permissionBlocked: boolean;
|
|
503
|
+
error: string | null;
|
|
504
|
+
onCheckedChange: (checked: boolean) => void;
|
|
505
|
+
}
|
|
506
|
+
interface PushNotificationToggleProps {
|
|
507
|
+
className?: string;
|
|
508
|
+
label?: string;
|
|
509
|
+
description?: string;
|
|
510
|
+
/** Build your own row UI while keeping package push logic. */
|
|
511
|
+
children?: (props: PushNotificationToggleRenderProps) => ReactNode;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Drop-in per-user push notification switch.
|
|
515
|
+
*
|
|
516
|
+
* Always visible when the browser supports push. If workspace admins disable
|
|
517
|
+
* push via effective settings, the switch stays visible but disabled with a tooltip.
|
|
518
|
+
*
|
|
519
|
+
* On: prompts for browser permission and registers this device.
|
|
520
|
+
* Off: unregisters this device.
|
|
521
|
+
*/
|
|
522
|
+
declare const PushNotificationToggle: ({ className, label, description, children, }: PushNotificationToggleProps) => React.JSX.Element | null;
|
|
523
|
+
|
|
524
|
+
interface ChatForwardItem {
|
|
525
|
+
message: IMessage;
|
|
526
|
+
attachmentId?: string;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
interface ChatLayoutConfig {
|
|
530
|
+
/** Sidebar with profile + conversation list */
|
|
531
|
+
sidebar?: boolean;
|
|
532
|
+
/** Logged-in user profile block at top of sidebar */
|
|
533
|
+
loggedUserDetails?: boolean;
|
|
534
|
+
/** Conversation list in sidebar */
|
|
535
|
+
channelList?: boolean;
|
|
536
|
+
/** Active channel header (name, actions, search) */
|
|
537
|
+
header?: boolean;
|
|
538
|
+
/** Scrollable message area */
|
|
539
|
+
messageList?: boolean;
|
|
540
|
+
/** Message composer / input box */
|
|
541
|
+
input?: boolean;
|
|
542
|
+
/** Forward message modal */
|
|
543
|
+
forwardModal?: boolean;
|
|
544
|
+
}
|
|
545
|
+
declare const defaultChatLayoutConfig: Required<ChatLayoutConfig>;
|
|
546
|
+
declare const mergeChatLayoutConfig: (config?: ChatLayoutConfig) => Required<ChatLayoutConfig>;
|
|
547
|
+
|
|
504
548
|
/** Context passed to phone / video call handlers */
|
|
505
549
|
interface ChatCallContext {
|
|
506
550
|
activeChannel: IChannel;
|
|
@@ -961,9 +1005,9 @@ interface ChatProps {
|
|
|
961
1005
|
/** Different query params per API key */
|
|
962
1006
|
queryParamsByApi?: ChatQueryParamsByApi;
|
|
963
1007
|
/**
|
|
964
|
-
*
|
|
965
|
-
* Example: `{
|
|
966
|
-
* `
|
|
1008
|
+
* API versions after `/api`.
|
|
1009
|
+
* Example: `{ v1: 'v1', v2: 'v2' }`.
|
|
1010
|
+
* `v1` is also parsed from `apiUrl` when it ends with `/v1`, `/v2`, etc.
|
|
967
1011
|
*/
|
|
968
1012
|
apiVersions?: ChatApiVersionConfig;
|
|
969
1013
|
channelsData?: IChannel[];
|
|
@@ -1057,7 +1101,7 @@ interface ChatMainProps {
|
|
|
1057
1101
|
* pinnedMessages, starredMessages, searchMessages, searchMessagesContext
|
|
1058
1102
|
*/
|
|
1059
1103
|
queryParamsByApi?: ChatQueryParamsByApi;
|
|
1060
|
-
/**
|
|
1104
|
+
/** API versions after `/api` — e.g. `{ v1: 'v1', v2: 'v2' }`. */
|
|
1061
1105
|
apiVersions?: ChatApiVersionConfig;
|
|
1062
1106
|
themeColor?: string;
|
|
1063
1107
|
theme?: string;
|
|
@@ -1637,8 +1681,8 @@ declare function ChatAlertsProvider({ children, value, }: {
|
|
|
1637
1681
|
declare function useChatAlerts(): ChatAlertsContextValue;
|
|
1638
1682
|
|
|
1639
1683
|
declare const buttonVariants: (props?: ({
|
|
1640
|
-
variant?: "
|
|
1641
|
-
size?: "
|
|
1684
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
1685
|
+
size?: "sm" | "default" | "xs" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
1642
1686
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1643
1687
|
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
1644
1688
|
asChild?: boolean;
|
|
@@ -1775,4 +1819,33 @@ interface NotificationClickBridgeOptions {
|
|
|
1775
1819
|
declare const consumePendingOpenFromPushCache: () => Promise<PushOpenRequest | null>;
|
|
1776
1820
|
declare const installNotificationClickBridge: (options?: NotificationClickBridgeOptions) => (() => void);
|
|
1777
1821
|
|
|
1778
|
-
|
|
1822
|
+
interface CallFeatureGate {
|
|
1823
|
+
/** Feature should remain visible. */
|
|
1824
|
+
visible: boolean;
|
|
1825
|
+
/** Interaction allowed. */
|
|
1826
|
+
enabled: boolean;
|
|
1827
|
+
/** Hover / tooltip reason when disabled. */
|
|
1828
|
+
disabledReason: string | null;
|
|
1829
|
+
}
|
|
1830
|
+
interface ChatEffectiveSettingsContextValue {
|
|
1831
|
+
settings: EffectiveSettings;
|
|
1832
|
+
loading: boolean;
|
|
1833
|
+
error: string | null;
|
|
1834
|
+
refresh: () => Promise<void>;
|
|
1835
|
+
isGroupPermissionLocked: (key: keyof GroupPermissions) => boolean;
|
|
1836
|
+
getAudioCallGate: () => CallFeatureGate;
|
|
1837
|
+
getVideoCallGate: () => CallFeatureGate;
|
|
1838
|
+
getPushNotificationGate: () => CallFeatureGate;
|
|
1839
|
+
getBlockUsersGate: () => CallFeatureGate;
|
|
1840
|
+
getAttachmentsGate: () => CallFeatureGate;
|
|
1841
|
+
getGroupCreationGate: () => CallFeatureGate;
|
|
1842
|
+
}
|
|
1843
|
+
declare function ChatEffectiveSettingsProvider({ children, enabled, }: {
|
|
1844
|
+
children: React__default.ReactNode;
|
|
1845
|
+
/** Fetch only after chat session credentials are ready. */
|
|
1846
|
+
enabled?: boolean;
|
|
1847
|
+
}): React__default.JSX.Element;
|
|
1848
|
+
declare function useEffectiveSettings(): ChatEffectiveSettingsContextValue;
|
|
1849
|
+
declare function useEffectiveSettingsOptional(): ChatEffectiveSettingsContextValue;
|
|
1850
|
+
|
|
1851
|
+
export { ADMIN_PERMISSION_DENIED_MESSAGE, type ActiveChannelMessagesSlotProps, type AdminsDrawerSlotProps, type AttachmentsDrawerSlotProps, type AvatarSlotProps, CALLS_NOT_CONFIGURED_MESSAGE, CHAT_API_KEYS, CHAT_GET_API_KEYS, Calendar, CalendarDayButton, Channel, type ChannelDetailsDrawerSlotProps, ChannelHeaderView as ChannelHeader, type ChannelHeaderSlotProps, ChannelListView as ChannelList, ChannelListItem, type ChannelListItemSlotProps, type ChannelListSlotProps, type ChannelMessageBoxSlotProps, Chat, type ChatActionModalSlotProps, ChatAlertsProvider, type ChatApiKey, type ChatApiVersionConfig, type ChatApiVersionKey, ChatAvatar, type ChatCallContext, type ChatClassNames, type ChatColorMode, type ChatComponents, type ChatCustomizationConfig, ChatCustomizationProvider, ChatDateJumpMenu, type ChatDateTimePreferences, ChatEffectiveSettingsProvider, type ChatFeatures, type ChatGetApiKey, ChatLayout, type ChatLayoutConfig, type ChatLayoutSlotProps, ChatLocaleProvider, ChatMain, type ChatPanelAlertsSlotProps, type ChatQueryParams, type ChatQueryParamsByApi, ChatThemeProvider, ChatViewport, type ChatViewportHeight, DEFAULT_EFFECTIVE_SETTINGS, DefaultChannelListItem, DefaultChatAvatar, DefaultChatLayout, type EffectiveAttachmentsSettings, type EffectiveCallsSettings, type EffectiveGroupPolicy, type EffectiveMessageTimers, type EffectiveSettings, ForegroundPushBridge, type ForegroundPushBridgeProps, type ForegroundPushPayload, ForwardModalView as ForwardModal, type ForwardModalSlotProps, HeaderCallActions, type HeaderCallActionsSlotProps, type HeaderLeftSideSlotProps, type HeaderRightSideSlotProps, type HeaderSearchOverlaySlotProps, type IAttachment, type IChannel, type IDMDelete, type IDMEditMessage, type IDMForward, type IDMMessage, type IDMPin, type IDMReaction, type IDMRead, type IDMStar, type IDMTyping, type IDMUnstar, type IMessage, type ISocketConfig, type JumpToPreset, LoggedUserDetails, type LoggedUserDetailsSlotProps, LoggedUserSettingsContent, type LoggedUserSettingsContentSlotProps, LoggedUserSettingsDialog, type LoggedUserSettingsDialogSlotProps, LoggedUserSettingsTrigger, type LoggedUserSettingsTriggerSlotProps, type MembersDrawerSlotProps, type MessageAttachmentsSlotProps, ChannelMessageBoxView as MessageInput, MessageItemView as MessageItem, type MessageItemSlotProps, ActiveChannelMessagesView as MessageList, type MessageReactionsSlotProps, type MessageReplySnippetSlotProps, type MessageStatusSlotProps, type MessageToolbarSlotProps, NOTIFICATION_CLICK_SW_TYPE, type NotificationClickBridgeOptions, OPEN_CONVERSATION_EVENT, PUSH_BROADCAST_CHANNEL, PUSH_CHANGED_EVENT, PUSH_DATA_CACHE_NAME, type PendingJump, type PermissionDrawerSlotProps, type PhoneCallButtonSlotProps, type PinnedMessagesDrawerSlotProps, type PushConfig, PushNotificationToggle, type PushNotificationToggleProps, type PushNotificationToggleRenderProps, type PushNotificationsState, type PushOpenRequest, type PushPreference, type StarredMessagesDrawerSlotProps, type UIConfig, type UsePushNotifications, type VideoCallButtonSlotProps, apiGetPushConfig, apiGetPushPreference, apiRegisterPushToken, apiRemovePushToken, apiUpdatePushPreference, buildChannelFromPushRequest, buildLoggedUserProfile, buildVersionedApiUrl, capitalizeFirst, clampJumpDate, consumePendingOpenConversation, consumePendingOpenFromPushCache, consumePendingOpenRequest, ChatMain as default, defaultChatClassNames, defaultChatComponents, defaultChatFeatures, defaultChatLayoutConfig, disablePushOnThisDevice, downloadFile, enablePushOnThisDevice, fetchEffectiveSettings, getChatApiVersions, getChatBaseUrl, getChatQueryParamApis, getChatQueryParams, getChatQueryParamsByApi, getChatSocketUrl, getFirstAndLastNameOneCharacter, getResponsiveWidth, getSocketConfig, getStoredPushToken, installNotificationClickBridge, isEmpty, isPushSupported, mergeChatCustomization, mergeChatLayoutConfig, onForegroundPush, packageDefaultComponents, peekPendingOpenConversation, peekPendingOpenRequest, requestOpenConversation, resolveApiRoot, resolveApiUrl, resolveChatApiKey, resolveConversationIdFromPushData, resolveJumpDateBounds, resolveJumpPreset, resolveJumpStep, resolveSocketUrl, setChatAccessToken, setChatApiVersions, setChatBaseURL, setChatClientId, setChatPushApiVersion, setChatQueryParamApis, setChatQueryParams, setChatQueryParamsByApi, setChatSocketUrl, showNotification, smoothScrollToMessage, socketService, startOfLocalDay, toDateInputValue, uniqueList, useChatAlerts, useChatContext, useChatController, useChatCustomization, useChatCustomizationOptional, useChatFeatures, useChatFeaturesOptional, useChatLocale, useStore as useChatStore, useChatTheme, useEffectiveSettings, useEffectiveSettingsOptional, usePushNotifications };
|
package/dist/index.d.ts
CHANGED
|
@@ -95,8 +95,8 @@ interface IAttachment {
|
|
|
95
95
|
* Named API targets for selective query-param injection.
|
|
96
96
|
* Consumers pick which endpoints receive `queryParams`.
|
|
97
97
|
*/
|
|
98
|
-
declare const CHAT_GET_API_KEYS: readonly ["users", "conversations", "conversationInfo", "messages", "pinnedMessages", "starredMessages", "searchMessages", "searchMessagesContext"];
|
|
99
|
-
declare const CHAT_API_KEYS: readonly ["all", "get", "login", "users", "conversations", "conversationInfo", "messages", "pinnedMessages", "starredMessages", "searchMessages", "searchMessagesContext", "createGroup", "updateGroupPermissions", "updateGroupInfo", "manageMembers", "manageAdmins", "blockUnblock", "presignedUrls"];
|
|
98
|
+
declare const CHAT_GET_API_KEYS: readonly ["users", "conversations", "conversationInfo", "messages", "pinnedMessages", "starredMessages", "searchMessages", "searchMessagesContext", "effectiveSettings"];
|
|
99
|
+
declare const CHAT_API_KEYS: readonly ["all", "get", "login", "users", "conversations", "conversationInfo", "messages", "pinnedMessages", "starredMessages", "searchMessages", "searchMessagesContext", "effectiveSettings", "createGroup", "updateGroupPermissions", "updateGroupInfo", "manageMembers", "manageAdmins", "blockUnblock", "presignedUrls"];
|
|
100
100
|
type ChatApiKey = (typeof CHAT_API_KEYS)[number];
|
|
101
101
|
type ChatGetApiKey = (typeof CHAT_GET_API_KEYS)[number];
|
|
102
102
|
type ChatQueryParamValue = string | number | boolean;
|
|
@@ -105,12 +105,12 @@ type ChatQueryParamsByApi = Partial<Record<Exclude<ChatApiKey, "all" | "get">, C
|
|
|
105
105
|
/** Match an axios request URL to a named API key (first match wins). */
|
|
106
106
|
declare function resolveChatApiKey(url?: string): Exclude<ChatApiKey, "all" | "get"> | null;
|
|
107
107
|
|
|
108
|
-
type ChatApiVersionKey = "
|
|
108
|
+
type ChatApiVersionKey = "v1" | "v2";
|
|
109
109
|
interface ChatApiVersionConfig {
|
|
110
|
-
/**
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
|
|
110
|
+
/** Primary chat REST API version path segment. Default: `v1`. */
|
|
111
|
+
v1?: string;
|
|
112
|
+
/** Secondary API version path segment (e.g. push). Default: `v2`. */
|
|
113
|
+
v2?: string;
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
116
|
* Strip a trailing `/v1`, `/v2`, … from the configured base URL.
|
|
@@ -120,10 +120,12 @@ declare const resolveApiRoot: (baseUrl?: string) => string;
|
|
|
120
120
|
declare const buildVersionedApiUrl: (path: string, options?: {
|
|
121
121
|
version?: string;
|
|
122
122
|
baseUrl?: string;
|
|
123
|
+
/** Which configured version slot to use. Default: `v1`. */
|
|
123
124
|
service?: ChatApiVersionKey;
|
|
124
125
|
}) => string;
|
|
125
126
|
declare const setChatApiVersions: (config?: ChatApiVersionConfig | null) => void;
|
|
126
127
|
declare const getChatApiVersions: () => Readonly<Record<ChatApiVersionKey, string>>;
|
|
128
|
+
/** Sets the secondary (`v2`) API version slot. */
|
|
127
129
|
declare const setChatPushApiVersion: (version: string) => void;
|
|
128
130
|
|
|
129
131
|
declare const setChatClientId: (id: string) => void;
|
|
@@ -142,7 +144,7 @@ declare const getChatQueryParams: () => {
|
|
|
142
144
|
* Use `['all']` for every method, or specific keys like `['conversations']`.
|
|
143
145
|
*/
|
|
144
146
|
declare const setChatQueryParamApis: (apis?: ChatApiKey[] | null) => void;
|
|
145
|
-
declare const getChatQueryParamApis: () => ("all" | "get" | "login" | "users" | "conversations" | "conversationInfo" | "messages" | "pinnedMessages" | "starredMessages" | "searchMessages" | "searchMessagesContext" | "createGroup" | "updateGroupPermissions" | "updateGroupInfo" | "manageMembers" | "manageAdmins" | "blockUnblock" | "presignedUrls")[];
|
|
147
|
+
declare const getChatQueryParamApis: () => ("all" | "get" | "login" | "users" | "conversations" | "conversationInfo" | "messages" | "pinnedMessages" | "starredMessages" | "searchMessages" | "searchMessagesContext" | "effectiveSettings" | "createGroup" | "updateGroupPermissions" | "updateGroupInfo" | "manageMembers" | "manageAdmins" | "blockUnblock" | "presignedUrls")[];
|
|
146
148
|
/** Per-API query params (override / extend shared params for that endpoint). */
|
|
147
149
|
declare const setChatQueryParamsByApi: (byApi?: ChatQueryParamsByApi | null) => void;
|
|
148
150
|
declare const getChatQueryParamsByApi: () => {
|
|
@@ -155,6 +157,7 @@ declare const getChatQueryParamsByApi: () => {
|
|
|
155
157
|
starredMessages?: Record<string, string> | undefined;
|
|
156
158
|
searchMessages?: Record<string, string> | undefined;
|
|
157
159
|
searchMessagesContext?: Record<string, string> | undefined;
|
|
160
|
+
effectiveSettings?: Record<string, string> | undefined;
|
|
158
161
|
createGroup?: Record<string, string> | undefined;
|
|
159
162
|
updateGroupPermissions?: Record<string, string> | undefined;
|
|
160
163
|
updateGroupInfo?: Record<string, string> | undefined;
|
|
@@ -164,38 +167,6 @@ declare const getChatQueryParamsByApi: () => {
|
|
|
164
167
|
presignedUrls?: Record<string, string> | undefined;
|
|
165
168
|
};
|
|
166
169
|
|
|
167
|
-
interface PushNotificationToggleRenderProps {
|
|
168
|
-
label: string;
|
|
169
|
-
description: string;
|
|
170
|
-
checked: boolean;
|
|
171
|
-
disabled: boolean;
|
|
172
|
-
loading: boolean;
|
|
173
|
-
permissionBlocked: boolean;
|
|
174
|
-
error: string | null;
|
|
175
|
-
onCheckedChange: (checked: boolean) => void;
|
|
176
|
-
}
|
|
177
|
-
interface PushNotificationToggleProps {
|
|
178
|
-
className?: string;
|
|
179
|
-
label?: string;
|
|
180
|
-
description?: string;
|
|
181
|
-
/** Build your own row UI while keeping package push logic. */
|
|
182
|
-
children?: (props: PushNotificationToggleRenderProps) => ReactNode;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Drop-in per-user push notification switch. Renders nothing while push is
|
|
186
|
-
* unsupported by the browser, disabled by the workspace admins, or not yet
|
|
187
|
-
* configured on the backend — users only ever see a switch they can use.
|
|
188
|
-
*
|
|
189
|
-
* On: prompts for browser permission and registers this device.
|
|
190
|
-
* Off: unregisters this device.
|
|
191
|
-
*/
|
|
192
|
-
declare const PushNotificationToggle: ({ className, label, description, children, }: PushNotificationToggleProps) => React.JSX.Element | null;
|
|
193
|
-
|
|
194
|
-
interface ChatForwardItem {
|
|
195
|
-
message: IMessage;
|
|
196
|
-
attachmentId?: string;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
170
|
interface IUser {
|
|
200
171
|
_id: string;
|
|
201
172
|
id?: string;
|
|
@@ -210,25 +181,6 @@ interface IUser {
|
|
|
210
181
|
isOnline?: boolean;
|
|
211
182
|
}
|
|
212
183
|
|
|
213
|
-
interface ChatLayoutConfig {
|
|
214
|
-
/** Sidebar with profile + conversation list */
|
|
215
|
-
sidebar?: boolean;
|
|
216
|
-
/** Logged-in user profile block at top of sidebar */
|
|
217
|
-
loggedUserDetails?: boolean;
|
|
218
|
-
/** Conversation list in sidebar */
|
|
219
|
-
channelList?: boolean;
|
|
220
|
-
/** Active channel header (name, actions, search) */
|
|
221
|
-
header?: boolean;
|
|
222
|
-
/** Scrollable message area */
|
|
223
|
-
messageList?: boolean;
|
|
224
|
-
/** Message composer / input box */
|
|
225
|
-
input?: boolean;
|
|
226
|
-
/** Forward message modal */
|
|
227
|
-
forwardModal?: boolean;
|
|
228
|
-
}
|
|
229
|
-
declare const defaultChatLayoutConfig: Required<ChatLayoutConfig>;
|
|
230
|
-
declare const mergeChatLayoutConfig: (config?: ChatLayoutConfig) => Required<ChatLayoutConfig>;
|
|
231
|
-
|
|
232
184
|
type SocketStatus = "idle" | "connecting" | "connected" | "disconnected" | "error";
|
|
233
185
|
interface AuthState {
|
|
234
186
|
loggedUserDetails: IUser | null;
|
|
@@ -501,6 +453,98 @@ interface SocketState {
|
|
|
501
453
|
interface AppStoreState extends SocketState, AuthState {
|
|
502
454
|
}
|
|
503
455
|
|
|
456
|
+
interface EffectiveCallsSettings {
|
|
457
|
+
enabled: boolean;
|
|
458
|
+
configured: boolean;
|
|
459
|
+
}
|
|
460
|
+
interface EffectiveGroupPolicy {
|
|
461
|
+
defaults: GroupPermissions;
|
|
462
|
+
locked: Array<keyof GroupPermissions | string>;
|
|
463
|
+
}
|
|
464
|
+
interface EffectiveMessageTimers {
|
|
465
|
+
dmEditMinutes: number;
|
|
466
|
+
dmDeleteMinutes: number;
|
|
467
|
+
groupEditMinutes: number;
|
|
468
|
+
groupDeleteMinutes: number;
|
|
469
|
+
}
|
|
470
|
+
interface EffectiveAttachmentsSettings {
|
|
471
|
+
enabled: boolean;
|
|
472
|
+
maxFileSizeMB: number;
|
|
473
|
+
allowedMimeTypes: string[];
|
|
474
|
+
maxAttachmentsPerMessage: number;
|
|
475
|
+
}
|
|
476
|
+
interface EffectiveSettings {
|
|
477
|
+
pushNotificationEnabled: boolean;
|
|
478
|
+
videoCallEnabled: boolean;
|
|
479
|
+
audioCallEnabled: boolean;
|
|
480
|
+
blockUsersEnabled: boolean;
|
|
481
|
+
calls: EffectiveCallsSettings;
|
|
482
|
+
groupPolicy: EffectiveGroupPolicy;
|
|
483
|
+
messageTimers: EffectiveMessageTimers;
|
|
484
|
+
attachments: EffectiveAttachmentsSettings;
|
|
485
|
+
maxAdminsPerGroup: number;
|
|
486
|
+
maxParticipantsPerGroup: number;
|
|
487
|
+
maxPinnedMessagesPerConversation: number;
|
|
488
|
+
groupCreationEnabled: boolean;
|
|
489
|
+
}
|
|
490
|
+
declare const DEFAULT_EFFECTIVE_SETTINGS: EffectiveSettings;
|
|
491
|
+
declare const ADMIN_PERMISSION_DENIED_MESSAGE = "This feature is disabled by your administrator.";
|
|
492
|
+
declare const CALLS_NOT_CONFIGURED_MESSAGE = "Calls are not configured. Please contact your administrator.";
|
|
493
|
+
|
|
494
|
+
declare const fetchEffectiveSettings: () => Promise<EffectiveSettings>;
|
|
495
|
+
|
|
496
|
+
interface PushNotificationToggleRenderProps {
|
|
497
|
+
label: string;
|
|
498
|
+
description: string;
|
|
499
|
+
checked: boolean;
|
|
500
|
+
disabled: boolean;
|
|
501
|
+
loading: boolean;
|
|
502
|
+
permissionBlocked: boolean;
|
|
503
|
+
error: string | null;
|
|
504
|
+
onCheckedChange: (checked: boolean) => void;
|
|
505
|
+
}
|
|
506
|
+
interface PushNotificationToggleProps {
|
|
507
|
+
className?: string;
|
|
508
|
+
label?: string;
|
|
509
|
+
description?: string;
|
|
510
|
+
/** Build your own row UI while keeping package push logic. */
|
|
511
|
+
children?: (props: PushNotificationToggleRenderProps) => ReactNode;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Drop-in per-user push notification switch.
|
|
515
|
+
*
|
|
516
|
+
* Always visible when the browser supports push. If workspace admins disable
|
|
517
|
+
* push via effective settings, the switch stays visible but disabled with a tooltip.
|
|
518
|
+
*
|
|
519
|
+
* On: prompts for browser permission and registers this device.
|
|
520
|
+
* Off: unregisters this device.
|
|
521
|
+
*/
|
|
522
|
+
declare const PushNotificationToggle: ({ className, label, description, children, }: PushNotificationToggleProps) => React.JSX.Element | null;
|
|
523
|
+
|
|
524
|
+
interface ChatForwardItem {
|
|
525
|
+
message: IMessage;
|
|
526
|
+
attachmentId?: string;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
interface ChatLayoutConfig {
|
|
530
|
+
/** Sidebar with profile + conversation list */
|
|
531
|
+
sidebar?: boolean;
|
|
532
|
+
/** Logged-in user profile block at top of sidebar */
|
|
533
|
+
loggedUserDetails?: boolean;
|
|
534
|
+
/** Conversation list in sidebar */
|
|
535
|
+
channelList?: boolean;
|
|
536
|
+
/** Active channel header (name, actions, search) */
|
|
537
|
+
header?: boolean;
|
|
538
|
+
/** Scrollable message area */
|
|
539
|
+
messageList?: boolean;
|
|
540
|
+
/** Message composer / input box */
|
|
541
|
+
input?: boolean;
|
|
542
|
+
/** Forward message modal */
|
|
543
|
+
forwardModal?: boolean;
|
|
544
|
+
}
|
|
545
|
+
declare const defaultChatLayoutConfig: Required<ChatLayoutConfig>;
|
|
546
|
+
declare const mergeChatLayoutConfig: (config?: ChatLayoutConfig) => Required<ChatLayoutConfig>;
|
|
547
|
+
|
|
504
548
|
/** Context passed to phone / video call handlers */
|
|
505
549
|
interface ChatCallContext {
|
|
506
550
|
activeChannel: IChannel;
|
|
@@ -961,9 +1005,9 @@ interface ChatProps {
|
|
|
961
1005
|
/** Different query params per API key */
|
|
962
1006
|
queryParamsByApi?: ChatQueryParamsByApi;
|
|
963
1007
|
/**
|
|
964
|
-
*
|
|
965
|
-
* Example: `{
|
|
966
|
-
* `
|
|
1008
|
+
* API versions after `/api`.
|
|
1009
|
+
* Example: `{ v1: 'v1', v2: 'v2' }`.
|
|
1010
|
+
* `v1` is also parsed from `apiUrl` when it ends with `/v1`, `/v2`, etc.
|
|
967
1011
|
*/
|
|
968
1012
|
apiVersions?: ChatApiVersionConfig;
|
|
969
1013
|
channelsData?: IChannel[];
|
|
@@ -1057,7 +1101,7 @@ interface ChatMainProps {
|
|
|
1057
1101
|
* pinnedMessages, starredMessages, searchMessages, searchMessagesContext
|
|
1058
1102
|
*/
|
|
1059
1103
|
queryParamsByApi?: ChatQueryParamsByApi;
|
|
1060
|
-
/**
|
|
1104
|
+
/** API versions after `/api` — e.g. `{ v1: 'v1', v2: 'v2' }`. */
|
|
1061
1105
|
apiVersions?: ChatApiVersionConfig;
|
|
1062
1106
|
themeColor?: string;
|
|
1063
1107
|
theme?: string;
|
|
@@ -1637,8 +1681,8 @@ declare function ChatAlertsProvider({ children, value, }: {
|
|
|
1637
1681
|
declare function useChatAlerts(): ChatAlertsContextValue;
|
|
1638
1682
|
|
|
1639
1683
|
declare const buttonVariants: (props?: ({
|
|
1640
|
-
variant?: "
|
|
1641
|
-
size?: "
|
|
1684
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
1685
|
+
size?: "sm" | "default" | "xs" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
1642
1686
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
1643
1687
|
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
|
|
1644
1688
|
asChild?: boolean;
|
|
@@ -1775,4 +1819,33 @@ interface NotificationClickBridgeOptions {
|
|
|
1775
1819
|
declare const consumePendingOpenFromPushCache: () => Promise<PushOpenRequest | null>;
|
|
1776
1820
|
declare const installNotificationClickBridge: (options?: NotificationClickBridgeOptions) => (() => void);
|
|
1777
1821
|
|
|
1778
|
-
|
|
1822
|
+
interface CallFeatureGate {
|
|
1823
|
+
/** Feature should remain visible. */
|
|
1824
|
+
visible: boolean;
|
|
1825
|
+
/** Interaction allowed. */
|
|
1826
|
+
enabled: boolean;
|
|
1827
|
+
/** Hover / tooltip reason when disabled. */
|
|
1828
|
+
disabledReason: string | null;
|
|
1829
|
+
}
|
|
1830
|
+
interface ChatEffectiveSettingsContextValue {
|
|
1831
|
+
settings: EffectiveSettings;
|
|
1832
|
+
loading: boolean;
|
|
1833
|
+
error: string | null;
|
|
1834
|
+
refresh: () => Promise<void>;
|
|
1835
|
+
isGroupPermissionLocked: (key: keyof GroupPermissions) => boolean;
|
|
1836
|
+
getAudioCallGate: () => CallFeatureGate;
|
|
1837
|
+
getVideoCallGate: () => CallFeatureGate;
|
|
1838
|
+
getPushNotificationGate: () => CallFeatureGate;
|
|
1839
|
+
getBlockUsersGate: () => CallFeatureGate;
|
|
1840
|
+
getAttachmentsGate: () => CallFeatureGate;
|
|
1841
|
+
getGroupCreationGate: () => CallFeatureGate;
|
|
1842
|
+
}
|
|
1843
|
+
declare function ChatEffectiveSettingsProvider({ children, enabled, }: {
|
|
1844
|
+
children: React__default.ReactNode;
|
|
1845
|
+
/** Fetch only after chat session credentials are ready. */
|
|
1846
|
+
enabled?: boolean;
|
|
1847
|
+
}): React__default.JSX.Element;
|
|
1848
|
+
declare function useEffectiveSettings(): ChatEffectiveSettingsContextValue;
|
|
1849
|
+
declare function useEffectiveSettingsOptional(): ChatEffectiveSettingsContextValue;
|
|
1850
|
+
|
|
1851
|
+
export { ADMIN_PERMISSION_DENIED_MESSAGE, type ActiveChannelMessagesSlotProps, type AdminsDrawerSlotProps, type AttachmentsDrawerSlotProps, type AvatarSlotProps, CALLS_NOT_CONFIGURED_MESSAGE, CHAT_API_KEYS, CHAT_GET_API_KEYS, Calendar, CalendarDayButton, Channel, type ChannelDetailsDrawerSlotProps, ChannelHeaderView as ChannelHeader, type ChannelHeaderSlotProps, ChannelListView as ChannelList, ChannelListItem, type ChannelListItemSlotProps, type ChannelListSlotProps, type ChannelMessageBoxSlotProps, Chat, type ChatActionModalSlotProps, ChatAlertsProvider, type ChatApiKey, type ChatApiVersionConfig, type ChatApiVersionKey, ChatAvatar, type ChatCallContext, type ChatClassNames, type ChatColorMode, type ChatComponents, type ChatCustomizationConfig, ChatCustomizationProvider, ChatDateJumpMenu, type ChatDateTimePreferences, ChatEffectiveSettingsProvider, type ChatFeatures, type ChatGetApiKey, ChatLayout, type ChatLayoutConfig, type ChatLayoutSlotProps, ChatLocaleProvider, ChatMain, type ChatPanelAlertsSlotProps, type ChatQueryParams, type ChatQueryParamsByApi, ChatThemeProvider, ChatViewport, type ChatViewportHeight, DEFAULT_EFFECTIVE_SETTINGS, DefaultChannelListItem, DefaultChatAvatar, DefaultChatLayout, type EffectiveAttachmentsSettings, type EffectiveCallsSettings, type EffectiveGroupPolicy, type EffectiveMessageTimers, type EffectiveSettings, ForegroundPushBridge, type ForegroundPushBridgeProps, type ForegroundPushPayload, ForwardModalView as ForwardModal, type ForwardModalSlotProps, HeaderCallActions, type HeaderCallActionsSlotProps, type HeaderLeftSideSlotProps, type HeaderRightSideSlotProps, type HeaderSearchOverlaySlotProps, type IAttachment, type IChannel, type IDMDelete, type IDMEditMessage, type IDMForward, type IDMMessage, type IDMPin, type IDMReaction, type IDMRead, type IDMStar, type IDMTyping, type IDMUnstar, type IMessage, type ISocketConfig, type JumpToPreset, LoggedUserDetails, type LoggedUserDetailsSlotProps, LoggedUserSettingsContent, type LoggedUserSettingsContentSlotProps, LoggedUserSettingsDialog, type LoggedUserSettingsDialogSlotProps, LoggedUserSettingsTrigger, type LoggedUserSettingsTriggerSlotProps, type MembersDrawerSlotProps, type MessageAttachmentsSlotProps, ChannelMessageBoxView as MessageInput, MessageItemView as MessageItem, type MessageItemSlotProps, ActiveChannelMessagesView as MessageList, type MessageReactionsSlotProps, type MessageReplySnippetSlotProps, type MessageStatusSlotProps, type MessageToolbarSlotProps, NOTIFICATION_CLICK_SW_TYPE, type NotificationClickBridgeOptions, OPEN_CONVERSATION_EVENT, PUSH_BROADCAST_CHANNEL, PUSH_CHANGED_EVENT, PUSH_DATA_CACHE_NAME, type PendingJump, type PermissionDrawerSlotProps, type PhoneCallButtonSlotProps, type PinnedMessagesDrawerSlotProps, type PushConfig, PushNotificationToggle, type PushNotificationToggleProps, type PushNotificationToggleRenderProps, type PushNotificationsState, type PushOpenRequest, type PushPreference, type StarredMessagesDrawerSlotProps, type UIConfig, type UsePushNotifications, type VideoCallButtonSlotProps, apiGetPushConfig, apiGetPushPreference, apiRegisterPushToken, apiRemovePushToken, apiUpdatePushPreference, buildChannelFromPushRequest, buildLoggedUserProfile, buildVersionedApiUrl, capitalizeFirst, clampJumpDate, consumePendingOpenConversation, consumePendingOpenFromPushCache, consumePendingOpenRequest, ChatMain as default, defaultChatClassNames, defaultChatComponents, defaultChatFeatures, defaultChatLayoutConfig, disablePushOnThisDevice, downloadFile, enablePushOnThisDevice, fetchEffectiveSettings, getChatApiVersions, getChatBaseUrl, getChatQueryParamApis, getChatQueryParams, getChatQueryParamsByApi, getChatSocketUrl, getFirstAndLastNameOneCharacter, getResponsiveWidth, getSocketConfig, getStoredPushToken, installNotificationClickBridge, isEmpty, isPushSupported, mergeChatCustomization, mergeChatLayoutConfig, onForegroundPush, packageDefaultComponents, peekPendingOpenConversation, peekPendingOpenRequest, requestOpenConversation, resolveApiRoot, resolveApiUrl, resolveChatApiKey, resolveConversationIdFromPushData, resolveJumpDateBounds, resolveJumpPreset, resolveJumpStep, resolveSocketUrl, setChatAccessToken, setChatApiVersions, setChatBaseURL, setChatClientId, setChatPushApiVersion, setChatQueryParamApis, setChatQueryParams, setChatQueryParamsByApi, setChatSocketUrl, showNotification, smoothScrollToMessage, socketService, startOfLocalDay, toDateInputValue, uniqueList, useChatAlerts, useChatContext, useChatController, useChatCustomization, useChatCustomizationOptional, useChatFeatures, useChatFeaturesOptional, useChatLocale, useStore as useChatStore, useChatTheme, useEffectiveSettings, useEffectiveSettingsOptional, usePushNotifications };
|