@sendbird/uikit-react-native 3.8.1 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +4 -12
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +4 -12
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +2 -3
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +5 -5
- package/src/containers/SendbirdUIKitContainer.tsx +7 -25
- package/src/version.ts +1 -1
|
@@ -45,14 +45,6 @@ const SendbirdUIKit = exports.SendbirdUIKit = Object.freeze({
|
|
|
45
45
|
IMAGE_COMPRESSION: true
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
-
const chatOmitKeys = ['appId', 'newInstance', 'modules', 'debugMode', 'appVersion', 'localCacheEnabled', 'useAsyncStorageStore', 'useMMKVStorageStore'];
|
|
49
|
-
function sanitizeChatOptions(chatOptions) {
|
|
50
|
-
const opts = {
|
|
51
|
-
...chatOptions
|
|
52
|
-
};
|
|
53
|
-
chatOmitKeys.forEach(key => delete opts[key]);
|
|
54
|
-
return opts;
|
|
55
|
-
}
|
|
56
48
|
const SendbirdUIKitContainer = props => {
|
|
57
49
|
const {
|
|
58
50
|
children,
|
|
@@ -78,7 +70,7 @@ const SendbirdUIKitContainer = props => {
|
|
|
78
70
|
const unsubscribes = (0, _react.useRef)([]);
|
|
79
71
|
const [internalStorage] = (0, _react.useState)(() => new _InternalLocalCacheStorage.default(chatOptions.localCacheStorage));
|
|
80
72
|
const [sdkInstance, setSdkInstance] = (0, _react.useState)(() => {
|
|
81
|
-
const sendbird = initializeSendbird(appId,
|
|
73
|
+
const sendbird = initializeSendbird(appId, chatOptions);
|
|
82
74
|
unsubscribes.current = sendbird.unsubscribes;
|
|
83
75
|
return sendbird.chatSDK;
|
|
84
76
|
});
|
|
@@ -92,7 +84,7 @@ const SendbirdUIKitContainer = props => {
|
|
|
92
84
|
const voiceMessageStatusManager = (0, _react.useMemo)(() => new _VoiceMessageStatusManager.default(), []);
|
|
93
85
|
(0, _react.useLayoutEffect)(() => {
|
|
94
86
|
if (!isFirstMount) {
|
|
95
|
-
const sendbird = initializeSendbird(appId,
|
|
87
|
+
const sendbird = initializeSendbird(appId, chatOptions);
|
|
96
88
|
setSdkInstance(sendbird.chatSDK);
|
|
97
89
|
unsubscribes.current = sendbird.unsubscribes;
|
|
98
90
|
}
|
|
@@ -187,13 +179,13 @@ const initializeSendbird = (appId, options) => {
|
|
|
187
179
|
} = options;
|
|
188
180
|
const isMMKVStorage = 'getString' in localCacheStorage;
|
|
189
181
|
chatSDK = _chat.default.init({
|
|
190
|
-
...chatInitParams,
|
|
191
182
|
appId,
|
|
192
183
|
newInstance: true,
|
|
193
184
|
modules: [new _groupChannel.GroupChannelModule(), new _openChannel.OpenChannelModule()],
|
|
194
185
|
localCacheEnabled: true,
|
|
195
186
|
useMMKVStorageStore: isMMKVStorage ? localCacheStorage : undefined,
|
|
196
|
-
useAsyncStorageStore: !isMMKVStorage ? localCacheStorage : undefined
|
|
187
|
+
useAsyncStorageStore: !isMMKVStorage ? localCacheStorage : undefined,
|
|
188
|
+
...chatInitParams
|
|
197
189
|
});
|
|
198
190
|
if (onInitialized) {
|
|
199
191
|
chatSDK = onInitialized(chatSDK);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_chat","_groupChannel","_openChannel","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_LocalizationCtx","_PlatformServiceCtx","_ReactionCtx","_SBUHandlersCtx","_SendbirdChatCtx","_UserProfileCtx","_EmojiManager","_interopRequireDefault","_ImageCompressionConfig","_InternalLocalCacheStorage","_MentionConfig","_MentionManager","_SBUUtils","_VoiceMessageConfig","_VoiceMessageStatusManager","_StringSet","_dynamicModule","_version","_InternalErrorBoundaryContainer","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","NetInfo","SBUDynamicModule","SendbirdUIKit","exports","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","USE_USER_ID_FOR_NICKNAME","IMAGE_COMPRESSION","chatOmitKeys","sanitizeChatOptions","chatOptions","opts","forEach","key","SendbirdUIKitContainer","props","children","appId","uikitOptions","platformServices","localization","styles","errorBoundary","handlers","toast","userProfile","reaction","localCacheStorage","Error","Logger","warn","defaultStringSet","stringSet","StringSetEn","isFirstMount","useIsFirstMount","unsubscribes","useRef","internalStorage","useState","InternalLocalCacheStorage","sdkInstance","setSdkInstance","sendbird","initializeSendbird","current","chatSDK","imageCompressionConfig","voiceMessageConfig","mentionConfig","useConfigInstance","emojiManager","useMemo","EmojiManager","mentionManager","MentionManager","voiceMessageStatusManager","VoiceMessageStatusManager","useLayoutEffect","renderChildren","disabled","createElement","sbuHandlers","onOpenURL","SBUUtils","openURL","SBUHandlersProvider","SafeAreaProvider","UIKitConfigProvider","storage","localConfigs","common","groupChannel","channel","enableReactionsSupergroup","undefined","channelList","groupChannelList","setting","groupChannelSettings","openChannel","SendbirdChatProvider","enableAutoPushTokenRegistration","enableUseUserIdForNickname","enableImageCompression","LocalizationProvider","PlatformServiceProvider","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","playerService","player","recorderService","recorder","UIKitThemeProvider","theme","LightUIKitTheme","HeaderStyleProvider","HeaderComponent","Header","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","ToastProvider","dismissTimeout","UserProfileProvider","ReactionProvider","LocalizationContext","Consumer","value","STRINGS","DialogProvider","defaultLabels","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","options","onInitialized","chatInitParams","isMMKVStorage","SendbirdChat","init","newInstance","modules","GroupChannelModule","OpenChannelModule","localCacheEnabled","useMMKVStorageStore","useAsyncStorageStore","platform","getDeviceOSPlatform","deviceOSInfo","version","String","Version","customData","platform_version","getReactNativeVersion","uikitExtension","product","SendbirdProduct","UIKIT_CHAT","SendbirdPlatform","REACT_NATIVE","addSendbirdExtensions","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","NOOP","listener","callback","callbackType","callCount","unsubscribe","state","online","Boolean","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","DeviceOsPlatform","ANDROID","IOS","WEB","WINDOWS","major","minor","patch","constants","reactNativeVersion","imageCompression","userMention","voiceMessage","_voiceMessage$recorde3","_voiceMessage$recorde4","MentionConfig","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","ImageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","_voiceMessage$recorde","_voiceMessage$recorde2","VoiceMessageConfig","minDuration","RECORDER","MIN_DURATION","maxDuration","MAX_DURATION","_default"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { MMKV } from 'react-native-mmkv';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport SendbirdChat, { DeviceOsPlatform, SendbirdChatParams, SendbirdPlatform, SendbirdProduct } from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport { SBUConfig, UIKitConfigProvider } from '@sendbird/uikit-tools';\nimport {\n Logger,\n NOOP,\n PartialDeep,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdReactedUserInfo,\n SendbirdUser,\n useIsFirstMount,\n} from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport { type SBUHandlers, SBUHandlersProvider } from '../contexts/SBUHandlersCtx';\nimport type { ChatRelatedFeaturesInUIKit } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport SBUUtils from '../libs/SBUUtils';\nimport VoiceMessageConfig, { VoiceMessageConfigInterface } from '../libs/VoiceMessageConfig';\nimport VoiceMessageStatusManager from '../libs/VoiceMessageStatusManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n PlayerServiceInterface,\n RecorderServiceInterface,\n} from '../platform/types';\nimport { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n USE_USER_ID_FOR_NICKNAME: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type ChatOmittedInitParams = Omit<\n SendbirdChatParams<[GroupChannelModule, OpenChannelModule]>,\n (typeof chatOmitKeys)[number]\n>;\n\nconst chatOmitKeys = [\n 'appId',\n 'newInstance',\n 'modules',\n 'debugMode',\n 'appVersion',\n 'localCacheEnabled',\n 'useAsyncStorageStore',\n 'useMMKVStorageStore',\n] as const;\nfunction sanitizeChatOptions<T extends Record<string, unknown>>(chatOptions: T): T {\n const opts = { ...chatOptions };\n chatOmitKeys.forEach((key) => delete opts[key]);\n return opts;\n}\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n player: PlayerServiceInterface;\n recorder: RecorderServiceInterface;\n };\n chatOptions: Partial<ChatOmittedInitParams> &\n Partial<ChatRelatedFeaturesInUIKit> & {\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n localCacheStorage: LocalCacheStorage;\n };\n uikitOptions?: PartialDeep<{\n common: SBUConfig['common'];\n groupChannel: Omit<SBUConfig['groupChannel']['channel'], 'enableReactionsSupergroup'> & {\n /**\n * @deprecated Currently, this feature is turned off by default. If you wish to use this feature, contact us: {@link https://dashboard.sendbird.com/settings/contact_us?category=feedback_and_feature_requests&product=UIKit}\n */\n enableReactionsSupergroup: never;\n };\n groupChannelList: SBUConfig['groupChannel']['channelList'];\n groupChannelSettings: SBUConfig['groupChannel']['setting'];\n openChannel: SBUConfig['openChannel']['channel'];\n }>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => React.ReactNode;\n };\n handlers?: Partial<SBUHandlers>;\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[] | SendbirdReactedUserInfo[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n reaction?: {\n onPressUserProfile?: (user: SendbirdReactedUserInfo) => void;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n voiceMessage?: PartialDeep<VoiceMessageConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {\n const {\n children,\n appId,\n chatOptions,\n uikitOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n handlers,\n toast,\n userProfile,\n reaction,\n } = props;\n\n if (!chatOptions.localCacheStorage) {\n throw new Error('SendbirdUIKitContainer: chatOptions.localCacheStorage is required');\n } else if ('getItem' in chatOptions.localCacheStorage) {\n Logger.warn(\n 'SendbirdUIKitContainer: localCacheStorage for `AsyncStorage` is deprecated. Please use `MMKV` instead.',\n );\n }\n\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n\n const [internalStorage] = useState(() => new InternalLocalCacheStorage(chatOptions.localCacheStorage));\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, sanitizeChatOptions(chatOptions));\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const { imageCompressionConfig, voiceMessageConfig, mentionConfig } = useConfigInstance(props);\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n const mentionManager = useMemo(() => new MentionManager(mentionConfig), [mentionConfig]);\n const voiceMessageStatusManager = useMemo(() => new VoiceMessageStatusManager(), []);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, sanitizeChatOptions(chatOptions));\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n const sbuHandlers: SBUHandlers = {\n onOpenURL: SBUUtils.openURL,\n ...handlers,\n };\n\n return (\n <SBUHandlersProvider {...sbuHandlers}>\n <SafeAreaProvider>\n <UIKitConfigProvider\n storage={internalStorage}\n localConfigs={{\n common: uikitOptions?.common,\n groupChannel: {\n channel: { ...uikitOptions?.groupChannel, enableReactionsSupergroup: undefined },\n channelList: uikitOptions?.groupChannelList,\n setting: uikitOptions?.groupChannelSettings,\n },\n openChannel: {\n channel: uikitOptions?.openChannel,\n },\n }}\n >\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n voiceMessageConfig={voiceMessageConfig}\n voiceMessageStatusManager={voiceMessageStatusManager}\n enableAutoPushTokenRegistration={\n chatOptions.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableUseUserIdForNickname={\n chatOptions.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableImageCompression={chatOptions.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n playerService={platformServices.player}\n recorderService={platformServices.recorder}\n voiceMessageConfig={voiceMessageConfig}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider {...userProfile} statusBarTranslucent={styles?.statusBarTranslucent ?? true}>\n <ReactionProvider {...reaction}>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </UIKitConfigProvider>\n </SafeAreaProvider>\n </SBUHandlersProvider>\n );\n};\n\ninterface InitOptions extends ChatOmittedInitParams {\n localCacheStorage: LocalCacheStorage;\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK;\n}\nconst initializeSendbird = (appId: string, options: InitOptions) => {\n let chatSDK: SendbirdChatSDK;\n const unsubscribes: Array<() => void> = [];\n const { localCacheStorage, onInitialized, ...chatInitParams } = options;\n\n const isMMKVStorage = 'getString' in localCacheStorage;\n chatSDK = SendbirdChat.init({\n ...chatInitParams,\n appId,\n newInstance: true,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: true,\n useMMKVStorageStore: isMMKVStorage ? (localCacheStorage as MMKV) : undefined,\n useAsyncStorageStore: !isMMKVStorage ? (localCacheStorage as AsyncStorageStatic) : undefined,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n const platform = getDeviceOSPlatform();\n if (SendbirdUIKit.VERSION && platform) {\n const deviceOSInfo = { platform, version: String(Platform.Version) };\n const customData = { platform_version: getReactNativeVersion() };\n const uikitExtension = {\n product: SendbirdProduct.UIKIT_CHAT,\n version: SendbirdUIKit.VERSION,\n platform: SendbirdPlatform.REACT_NATIVE,\n };\n\n chatSDK.addSendbirdExtensions([uikitExtension], deviceOSInfo, customData);\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n try {\n // NOTE: For removing buggy behavior of NetInfo.addEventListener\n // When you first add an event listener, it is assumed that the initialization of the internal event detector is done simultaneously.\n // In other words, when you call the first event listener two events are triggered immediately\n // - the one that is called when adding the event listener\n // - and the internal initialization event\n NetInfo.addEventListener(NOOP)();\n } catch {}\n\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n let callCount = 0;\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n\n // NOTE: When NetInfo.addEventListener is called\n // the event is immediately triggered regardless of whether the event actually occurred.\n // This is why it filters the first event.\n if (callCount === 0) {\n callCount++;\n return;\n }\n\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nfunction getDeviceOSPlatform() {\n switch (Platform.OS) {\n case 'android':\n return DeviceOsPlatform.ANDROID;\n case 'ios':\n return DeviceOsPlatform.IOS;\n case 'web':\n return DeviceOsPlatform.WEB;\n case 'windows':\n return DeviceOsPlatform.WINDOWS;\n default:\n return undefined;\n }\n}\n\nfunction getReactNativeVersion() {\n const { major, minor, patch } = Platform.constants.reactNativeVersion;\n return `${major}.${minor}.${patch}`;\n}\n\nconst useConfigInstance = ({ imageCompression, userMention, voiceMessage }: SendbirdUIKitContainerProps) => {\n const mentionConfig = useMemo(() => {\n return new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n }, [userMention?.mentionLimit, userMention?.suggestionLimit, userMention?.debounceMills]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n const voiceMessageConfig = useMemo(() => {\n return new VoiceMessageConfig({\n recorder: {\n minDuration: voiceMessage?.recorder?.minDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MIN_DURATION,\n maxDuration: voiceMessage?.recorder?.maxDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MAX_DURATION,\n },\n });\n }, [voiceMessage?.recorder?.minDuration, voiceMessage?.recorder?.maxDuration]);\n\n return {\n mentionConfig,\n imageCompressionConfig,\n voiceMessageConfig,\n };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_chat","_groupChannel","_openChannel","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_LocalizationCtx","_PlatformServiceCtx","_ReactionCtx","_SBUHandlersCtx","_SendbirdChatCtx","_UserProfileCtx","_EmojiManager","_interopRequireDefault","_ImageCompressionConfig","_InternalLocalCacheStorage","_MentionConfig","_MentionManager","_SBUUtils","_VoiceMessageConfig","_VoiceMessageStatusManager","_StringSet","_dynamicModule","_version","_InternalErrorBoundaryContainer","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","NetInfo","SBUDynamicModule","SendbirdUIKit","exports","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","USE_USER_ID_FOR_NICKNAME","IMAGE_COMPRESSION","SendbirdUIKitContainer","props","children","appId","chatOptions","uikitOptions","platformServices","localization","styles","errorBoundary","handlers","toast","userProfile","reaction","localCacheStorage","Error","Logger","warn","defaultStringSet","stringSet","StringSetEn","isFirstMount","useIsFirstMount","unsubscribes","useRef","internalStorage","useState","InternalLocalCacheStorage","sdkInstance","setSdkInstance","sendbird","initializeSendbird","current","chatSDK","imageCompressionConfig","voiceMessageConfig","mentionConfig","useConfigInstance","emojiManager","useMemo","EmojiManager","mentionManager","MentionManager","voiceMessageStatusManager","VoiceMessageStatusManager","useLayoutEffect","forEach","renderChildren","disabled","createElement","sbuHandlers","onOpenURL","SBUUtils","openURL","SBUHandlersProvider","SafeAreaProvider","UIKitConfigProvider","storage","localConfigs","common","groupChannel","channel","enableReactionsSupergroup","undefined","channelList","groupChannelList","setting","groupChannelSettings","openChannel","SendbirdChatProvider","enableAutoPushTokenRegistration","enableUseUserIdForNickname","enableImageCompression","LocalizationProvider","PlatformServiceProvider","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","playerService","player","recorderService","recorder","UIKitThemeProvider","theme","LightUIKitTheme","HeaderStyleProvider","HeaderComponent","Header","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","ToastProvider","dismissTimeout","UserProfileProvider","ReactionProvider","LocalizationContext","Consumer","value","STRINGS","DialogProvider","defaultLabels","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","options","onInitialized","chatInitParams","isMMKVStorage","SendbirdChat","init","newInstance","modules","GroupChannelModule","OpenChannelModule","localCacheEnabled","useMMKVStorageStore","useAsyncStorageStore","platform","getDeviceOSPlatform","deviceOSInfo","version","String","Version","customData","platform_version","getReactNativeVersion","uikitExtension","product","SendbirdProduct","UIKIT_CHAT","SendbirdPlatform","REACT_NATIVE","addSendbirdExtensions","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","NOOP","listener","callback","callbackType","callCount","unsubscribe","state","online","Boolean","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","DeviceOsPlatform","ANDROID","IOS","WEB","WINDOWS","major","minor","patch","constants","reactNativeVersion","imageCompression","userMention","voiceMessage","_voiceMessage$recorde3","_voiceMessage$recorde4","MentionConfig","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","ImageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","_voiceMessage$recorde","_voiceMessage$recorde2","VoiceMessageConfig","minDuration","RECORDER","MIN_DURATION","maxDuration","MAX_DURATION","_default"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { MMKV } from 'react-native-mmkv';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport SendbirdChat, { DeviceOsPlatform, SendbirdChatParams, SendbirdPlatform, SendbirdProduct } from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport { SBUConfig, UIKitConfigProvider } from '@sendbird/uikit-tools';\nimport {\n Logger,\n NOOP,\n PartialDeep,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdReactedUserInfo,\n SendbirdUser,\n useIsFirstMount,\n} from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport { type SBUHandlers, SBUHandlersProvider } from '../contexts/SBUHandlersCtx';\nimport type { ChatRelatedFeaturesInUIKit } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport SBUUtils from '../libs/SBUUtils';\nimport VoiceMessageConfig, { VoiceMessageConfigInterface } from '../libs/VoiceMessageConfig';\nimport VoiceMessageStatusManager from '../libs/VoiceMessageStatusManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n PlayerServiceInterface,\n RecorderServiceInterface,\n} from '../platform/types';\nimport { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n USE_USER_ID_FOR_NICKNAME: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type ChatOmittedInitParams = SendbirdChatParams<[GroupChannelModule, OpenChannelModule]>;\n\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n player: PlayerServiceInterface;\n recorder: RecorderServiceInterface;\n };\n chatOptions: Partial<ChatOmittedInitParams> &\n Partial<ChatRelatedFeaturesInUIKit> & {\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n localCacheStorage: LocalCacheStorage;\n };\n uikitOptions?: PartialDeep<{\n common: SBUConfig['common'];\n groupChannel: Omit<SBUConfig['groupChannel']['channel'], 'enableReactionsSupergroup'> & {\n /**\n * @deprecated Currently, this feature is turned off by default. If you wish to use this feature, contact us: {@link https://dashboard.sendbird.com/settings/contact_us?category=feedback_and_feature_requests&product=UIKit}\n */\n enableReactionsSupergroup: never;\n };\n groupChannelList: SBUConfig['groupChannel']['channelList'];\n groupChannelSettings: SBUConfig['groupChannel']['setting'];\n openChannel: SBUConfig['openChannel']['channel'];\n }>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => React.ReactNode;\n };\n handlers?: Partial<SBUHandlers>;\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[] | SendbirdReactedUserInfo[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n reaction?: {\n onPressUserProfile?: (user: SendbirdReactedUserInfo) => void;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n voiceMessage?: PartialDeep<VoiceMessageConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {\n const {\n children,\n appId,\n chatOptions,\n uikitOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n handlers,\n toast,\n userProfile,\n reaction,\n } = props;\n\n if (!chatOptions.localCacheStorage) {\n throw new Error('SendbirdUIKitContainer: chatOptions.localCacheStorage is required');\n } else if ('getItem' in chatOptions.localCacheStorage) {\n Logger.warn(\n 'SendbirdUIKitContainer: localCacheStorage for `AsyncStorage` is deprecated. Please use `MMKV` instead.',\n );\n }\n\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n\n const [internalStorage] = useState(() => new InternalLocalCacheStorage(chatOptions.localCacheStorage));\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, chatOptions);\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const { imageCompressionConfig, voiceMessageConfig, mentionConfig } = useConfigInstance(props);\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n const mentionManager = useMemo(() => new MentionManager(mentionConfig), [mentionConfig]);\n const voiceMessageStatusManager = useMemo(() => new VoiceMessageStatusManager(), []);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, chatOptions);\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n const sbuHandlers: SBUHandlers = {\n onOpenURL: SBUUtils.openURL,\n ...handlers,\n };\n\n return (\n <SBUHandlersProvider {...sbuHandlers}>\n <SafeAreaProvider>\n <UIKitConfigProvider\n storage={internalStorage}\n localConfigs={{\n common: uikitOptions?.common,\n groupChannel: {\n channel: { ...uikitOptions?.groupChannel, enableReactionsSupergroup: undefined },\n channelList: uikitOptions?.groupChannelList,\n setting: uikitOptions?.groupChannelSettings,\n },\n openChannel: {\n channel: uikitOptions?.openChannel,\n },\n }}\n >\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n voiceMessageConfig={voiceMessageConfig}\n voiceMessageStatusManager={voiceMessageStatusManager}\n enableAutoPushTokenRegistration={\n chatOptions.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableUseUserIdForNickname={\n chatOptions.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableImageCompression={chatOptions.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n playerService={platformServices.player}\n recorderService={platformServices.recorder}\n voiceMessageConfig={voiceMessageConfig}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider {...userProfile} statusBarTranslucent={styles?.statusBarTranslucent ?? true}>\n <ReactionProvider {...reaction}>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </UIKitConfigProvider>\n </SafeAreaProvider>\n </SBUHandlersProvider>\n );\n};\n\ntype InitOptions = Partial<ChatOmittedInitParams> & {\n localCacheStorage: LocalCacheStorage;\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK;\n};\nconst initializeSendbird = (appId: string, options: InitOptions) => {\n let chatSDK: SendbirdChatSDK;\n const unsubscribes: Array<() => void> = [];\n const { localCacheStorage, onInitialized, ...chatInitParams } = options;\n\n const isMMKVStorage = 'getString' in localCacheStorage;\n chatSDK = SendbirdChat.init({\n appId,\n newInstance: true,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: true,\n useMMKVStorageStore: isMMKVStorage ? (localCacheStorage as MMKV) : undefined,\n useAsyncStorageStore: !isMMKVStorage ? (localCacheStorage as AsyncStorageStatic) : undefined,\n ...chatInitParams,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n const platform = getDeviceOSPlatform();\n if (SendbirdUIKit.VERSION && platform) {\n const deviceOSInfo = { platform, version: String(Platform.Version) };\n const customData = { platform_version: getReactNativeVersion() };\n const uikitExtension = {\n product: SendbirdProduct.UIKIT_CHAT,\n version: SendbirdUIKit.VERSION,\n platform: SendbirdPlatform.REACT_NATIVE,\n };\n\n chatSDK.addSendbirdExtensions([uikitExtension], deviceOSInfo, customData);\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n try {\n // NOTE: For removing buggy behavior of NetInfo.addEventListener\n // When you first add an event listener, it is assumed that the initialization of the internal event detector is done simultaneously.\n // In other words, when you call the first event listener two events are triggered immediately\n // - the one that is called when adding the event listener\n // - and the internal initialization event\n NetInfo.addEventListener(NOOP)();\n } catch {}\n\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n let callCount = 0;\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n\n // NOTE: When NetInfo.addEventListener is called\n // the event is immediately triggered regardless of whether the event actually occurred.\n // This is why it filters the first event.\n if (callCount === 0) {\n callCount++;\n return;\n }\n\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nfunction getDeviceOSPlatform() {\n switch (Platform.OS) {\n case 'android':\n return DeviceOsPlatform.ANDROID;\n case 'ios':\n return DeviceOsPlatform.IOS;\n case 'web':\n return DeviceOsPlatform.WEB;\n case 'windows':\n return DeviceOsPlatform.WINDOWS;\n default:\n return undefined;\n }\n}\n\nfunction getReactNativeVersion() {\n const { major, minor, patch } = Platform.constants.reactNativeVersion;\n return `${major}.${minor}.${patch}`;\n}\n\nconst useConfigInstance = ({ imageCompression, userMention, voiceMessage }: SendbirdUIKitContainerProps) => {\n const mentionConfig = useMemo(() => {\n return new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n }, [userMention?.mentionLimit, userMention?.suggestionLimit, userMention?.debounceMills]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n const voiceMessageConfig = useMemo(() => {\n return new VoiceMessageConfig({\n recorder: {\n minDuration: voiceMessage?.recorder?.minDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MIN_DURATION,\n maxDuration: voiceMessage?.recorder?.maxDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MAX_DURATION,\n },\n });\n }, [voiceMessage?.recorder?.minDuration, voiceMessage?.recorder?.maxDuration]);\n\n return {\n mentionConfig,\n imageCompressionConfig,\n voiceMessageConfig,\n };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VERSION","_default","exports","default"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.8.
|
|
1
|
+
{"version":3,"names":["VERSION","_default","exports","default"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.8.2';\nexport default VERSION;\n"],"mappings":";;;;;;AAAA,MAAMA,OAAO,GAAG,OAAO;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GACTH,OAAO","ignoreList":[]}
|
|
@@ -36,14 +36,6 @@ export const SendbirdUIKit = Object.freeze({
|
|
|
36
36
|
IMAGE_COMPRESSION: true
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
|
-
const chatOmitKeys = ['appId', 'newInstance', 'modules', 'debugMode', 'appVersion', 'localCacheEnabled', 'useAsyncStorageStore', 'useMMKVStorageStore'];
|
|
40
|
-
function sanitizeChatOptions(chatOptions) {
|
|
41
|
-
const opts = {
|
|
42
|
-
...chatOptions
|
|
43
|
-
};
|
|
44
|
-
chatOmitKeys.forEach(key => delete opts[key]);
|
|
45
|
-
return opts;
|
|
46
|
-
}
|
|
47
39
|
const SendbirdUIKitContainer = props => {
|
|
48
40
|
const {
|
|
49
41
|
children,
|
|
@@ -69,7 +61,7 @@ const SendbirdUIKitContainer = props => {
|
|
|
69
61
|
const unsubscribes = useRef([]);
|
|
70
62
|
const [internalStorage] = useState(() => new InternalLocalCacheStorage(chatOptions.localCacheStorage));
|
|
71
63
|
const [sdkInstance, setSdkInstance] = useState(() => {
|
|
72
|
-
const sendbird = initializeSendbird(appId,
|
|
64
|
+
const sendbird = initializeSendbird(appId, chatOptions);
|
|
73
65
|
unsubscribes.current = sendbird.unsubscribes;
|
|
74
66
|
return sendbird.chatSDK;
|
|
75
67
|
});
|
|
@@ -83,7 +75,7 @@ const SendbirdUIKitContainer = props => {
|
|
|
83
75
|
const voiceMessageStatusManager = useMemo(() => new VoiceMessageStatusManager(), []);
|
|
84
76
|
useLayoutEffect(() => {
|
|
85
77
|
if (!isFirstMount) {
|
|
86
|
-
const sendbird = initializeSendbird(appId,
|
|
78
|
+
const sendbird = initializeSendbird(appId, chatOptions);
|
|
87
79
|
setSdkInstance(sendbird.chatSDK);
|
|
88
80
|
unsubscribes.current = sendbird.unsubscribes;
|
|
89
81
|
}
|
|
@@ -178,13 +170,13 @@ const initializeSendbird = (appId, options) => {
|
|
|
178
170
|
} = options;
|
|
179
171
|
const isMMKVStorage = 'getString' in localCacheStorage;
|
|
180
172
|
chatSDK = SendbirdChat.init({
|
|
181
|
-
...chatInitParams,
|
|
182
173
|
appId,
|
|
183
174
|
newInstance: true,
|
|
184
175
|
modules: [new GroupChannelModule(), new OpenChannelModule()],
|
|
185
176
|
localCacheEnabled: true,
|
|
186
177
|
useMMKVStorageStore: isMMKVStorage ? localCacheStorage : undefined,
|
|
187
|
-
useAsyncStorageStore: !isMMKVStorage ? localCacheStorage : undefined
|
|
178
|
+
useAsyncStorageStore: !isMMKVStorage ? localCacheStorage : undefined,
|
|
179
|
+
...chatInitParams
|
|
188
180
|
});
|
|
189
181
|
if (onInitialized) {
|
|
190
182
|
chatSDK = onInitialized(chatSDK);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useLayoutEffect","useMemo","useRef","useState","Platform","SafeAreaProvider","SendbirdChat","DeviceOsPlatform","SendbirdPlatform","SendbirdProduct","GroupChannelModule","OpenChannelModule","DialogProvider","Header","HeaderStyleProvider","LightUIKitTheme","ToastProvider","UIKitThemeProvider","UIKitConfigProvider","Logger","NOOP","useIsFirstMount","LocalizationContext","LocalizationProvider","PlatformServiceProvider","ReactionProvider","SBUHandlersProvider","SendbirdChatProvider","UserProfileProvider","EmojiManager","ImageCompressionConfig","InternalLocalCacheStorage","MentionConfig","MentionManager","SBUUtils","VoiceMessageConfig","VoiceMessageStatusManager","StringSetEn","SBUDynamicModule","VERSION","InternalErrorBoundaryContainer","NetInfo","get","SendbirdUIKit","Object","freeze","PLATFORM","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","USE_USER_ID_FOR_NICKNAME","IMAGE_COMPRESSION","chatOmitKeys","sanitizeChatOptions","chatOptions","opts","forEach","key","SendbirdUIKitContainer","props","children","appId","uikitOptions","platformServices","localization","styles","errorBoundary","handlers","toast","userProfile","reaction","localCacheStorage","Error","warn","defaultStringSet","stringSet","isFirstMount","unsubscribes","internalStorage","sdkInstance","setSdkInstance","sendbird","initializeSendbird","current","chatSDK","imageCompressionConfig","voiceMessageConfig","mentionConfig","useConfigInstance","emojiManager","mentionManager","voiceMessageStatusManager","u","renderChildren","disabled","createElement","sbuHandlers","onOpenURL","openURL","storage","localConfigs","common","groupChannel","channel","enableReactionsSupergroup","undefined","channelList","groupChannelList","setting","groupChannelSettings","openChannel","enableAutoPushTokenRegistration","enableUseUserIdForNickname","enableImageCompression","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","playerService","player","recorderService","recorder","theme","HeaderComponent","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","dismissTimeout","_extends","Consumer","value","STRINGS","defaultLabels","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","options","onInitialized","chatInitParams","isMMKVStorage","init","newInstance","modules","localCacheEnabled","useMMKVStorageStore","useAsyncStorageStore","platform","getDeviceOSPlatform","deviceOSInfo","version","String","Version","customData","platform_version","getReactNativeVersion","uikitExtension","product","UIKIT_CHAT","REACT_NATIVE","addSendbirdExtensions","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","listener","callback","callbackType","callCount","unsubscribe","state","online","Boolean","isConnected","isInternetReachable","push","setOnlineListener","call","onOnline","setOfflineListener","onOffline","ANDROID","IOS","WEB","WINDOWS","major","minor","patch","constants","reactNativeVersion","imageCompression","userMention","voiceMessage","_voiceMessage$recorde3","_voiceMessage$recorde4","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","compressionRate","COMPRESSION_RATE","width","height","_voiceMessage$recorde","_voiceMessage$recorde2","minDuration","RECORDER","MIN_DURATION","maxDuration","MAX_DURATION"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { MMKV } from 'react-native-mmkv';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport SendbirdChat, { DeviceOsPlatform, SendbirdChatParams, SendbirdPlatform, SendbirdProduct } from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport { SBUConfig, UIKitConfigProvider } from '@sendbird/uikit-tools';\nimport {\n Logger,\n NOOP,\n PartialDeep,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdReactedUserInfo,\n SendbirdUser,\n useIsFirstMount,\n} from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport { type SBUHandlers, SBUHandlersProvider } from '../contexts/SBUHandlersCtx';\nimport type { ChatRelatedFeaturesInUIKit } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport SBUUtils from '../libs/SBUUtils';\nimport VoiceMessageConfig, { VoiceMessageConfigInterface } from '../libs/VoiceMessageConfig';\nimport VoiceMessageStatusManager from '../libs/VoiceMessageStatusManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n PlayerServiceInterface,\n RecorderServiceInterface,\n} from '../platform/types';\nimport { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n USE_USER_ID_FOR_NICKNAME: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type ChatOmittedInitParams = Omit<\n SendbirdChatParams<[GroupChannelModule, OpenChannelModule]>,\n (typeof chatOmitKeys)[number]\n>;\n\nconst chatOmitKeys = [\n 'appId',\n 'newInstance',\n 'modules',\n 'debugMode',\n 'appVersion',\n 'localCacheEnabled',\n 'useAsyncStorageStore',\n 'useMMKVStorageStore',\n] as const;\nfunction sanitizeChatOptions<T extends Record<string, unknown>>(chatOptions: T): T {\n const opts = { ...chatOptions };\n chatOmitKeys.forEach((key) => delete opts[key]);\n return opts;\n}\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n player: PlayerServiceInterface;\n recorder: RecorderServiceInterface;\n };\n chatOptions: Partial<ChatOmittedInitParams> &\n Partial<ChatRelatedFeaturesInUIKit> & {\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n localCacheStorage: LocalCacheStorage;\n };\n uikitOptions?: PartialDeep<{\n common: SBUConfig['common'];\n groupChannel: Omit<SBUConfig['groupChannel']['channel'], 'enableReactionsSupergroup'> & {\n /**\n * @deprecated Currently, this feature is turned off by default. If you wish to use this feature, contact us: {@link https://dashboard.sendbird.com/settings/contact_us?category=feedback_and_feature_requests&product=UIKit}\n */\n enableReactionsSupergroup: never;\n };\n groupChannelList: SBUConfig['groupChannel']['channelList'];\n groupChannelSettings: SBUConfig['groupChannel']['setting'];\n openChannel: SBUConfig['openChannel']['channel'];\n }>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => React.ReactNode;\n };\n handlers?: Partial<SBUHandlers>;\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[] | SendbirdReactedUserInfo[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n reaction?: {\n onPressUserProfile?: (user: SendbirdReactedUserInfo) => void;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n voiceMessage?: PartialDeep<VoiceMessageConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {\n const {\n children,\n appId,\n chatOptions,\n uikitOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n handlers,\n toast,\n userProfile,\n reaction,\n } = props;\n\n if (!chatOptions.localCacheStorage) {\n throw new Error('SendbirdUIKitContainer: chatOptions.localCacheStorage is required');\n } else if ('getItem' in chatOptions.localCacheStorage) {\n Logger.warn(\n 'SendbirdUIKitContainer: localCacheStorage for `AsyncStorage` is deprecated. Please use `MMKV` instead.',\n );\n }\n\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n\n const [internalStorage] = useState(() => new InternalLocalCacheStorage(chatOptions.localCacheStorage));\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, sanitizeChatOptions(chatOptions));\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const { imageCompressionConfig, voiceMessageConfig, mentionConfig } = useConfigInstance(props);\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n const mentionManager = useMemo(() => new MentionManager(mentionConfig), [mentionConfig]);\n const voiceMessageStatusManager = useMemo(() => new VoiceMessageStatusManager(), []);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, sanitizeChatOptions(chatOptions));\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n const sbuHandlers: SBUHandlers = {\n onOpenURL: SBUUtils.openURL,\n ...handlers,\n };\n\n return (\n <SBUHandlersProvider {...sbuHandlers}>\n <SafeAreaProvider>\n <UIKitConfigProvider\n storage={internalStorage}\n localConfigs={{\n common: uikitOptions?.common,\n groupChannel: {\n channel: { ...uikitOptions?.groupChannel, enableReactionsSupergroup: undefined },\n channelList: uikitOptions?.groupChannelList,\n setting: uikitOptions?.groupChannelSettings,\n },\n openChannel: {\n channel: uikitOptions?.openChannel,\n },\n }}\n >\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n voiceMessageConfig={voiceMessageConfig}\n voiceMessageStatusManager={voiceMessageStatusManager}\n enableAutoPushTokenRegistration={\n chatOptions.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableUseUserIdForNickname={\n chatOptions.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableImageCompression={chatOptions.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n playerService={platformServices.player}\n recorderService={platformServices.recorder}\n voiceMessageConfig={voiceMessageConfig}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider {...userProfile} statusBarTranslucent={styles?.statusBarTranslucent ?? true}>\n <ReactionProvider {...reaction}>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </UIKitConfigProvider>\n </SafeAreaProvider>\n </SBUHandlersProvider>\n );\n};\n\ninterface InitOptions extends ChatOmittedInitParams {\n localCacheStorage: LocalCacheStorage;\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK;\n}\nconst initializeSendbird = (appId: string, options: InitOptions) => {\n let chatSDK: SendbirdChatSDK;\n const unsubscribes: Array<() => void> = [];\n const { localCacheStorage, onInitialized, ...chatInitParams } = options;\n\n const isMMKVStorage = 'getString' in localCacheStorage;\n chatSDK = SendbirdChat.init({\n ...chatInitParams,\n appId,\n newInstance: true,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: true,\n useMMKVStorageStore: isMMKVStorage ? (localCacheStorage as MMKV) : undefined,\n useAsyncStorageStore: !isMMKVStorage ? (localCacheStorage as AsyncStorageStatic) : undefined,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n const platform = getDeviceOSPlatform();\n if (SendbirdUIKit.VERSION && platform) {\n const deviceOSInfo = { platform, version: String(Platform.Version) };\n const customData = { platform_version: getReactNativeVersion() };\n const uikitExtension = {\n product: SendbirdProduct.UIKIT_CHAT,\n version: SendbirdUIKit.VERSION,\n platform: SendbirdPlatform.REACT_NATIVE,\n };\n\n chatSDK.addSendbirdExtensions([uikitExtension], deviceOSInfo, customData);\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n try {\n // NOTE: For removing buggy behavior of NetInfo.addEventListener\n // When you first add an event listener, it is assumed that the initialization of the internal event detector is done simultaneously.\n // In other words, when you call the first event listener two events are triggered immediately\n // - the one that is called when adding the event listener\n // - and the internal initialization event\n NetInfo.addEventListener(NOOP)();\n } catch {}\n\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n let callCount = 0;\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n\n // NOTE: When NetInfo.addEventListener is called\n // the event is immediately triggered regardless of whether the event actually occurred.\n // This is why it filters the first event.\n if (callCount === 0) {\n callCount++;\n return;\n }\n\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nfunction getDeviceOSPlatform() {\n switch (Platform.OS) {\n case 'android':\n return DeviceOsPlatform.ANDROID;\n case 'ios':\n return DeviceOsPlatform.IOS;\n case 'web':\n return DeviceOsPlatform.WEB;\n case 'windows':\n return DeviceOsPlatform.WINDOWS;\n default:\n return undefined;\n }\n}\n\nfunction getReactNativeVersion() {\n const { major, minor, patch } = Platform.constants.reactNativeVersion;\n return `${major}.${minor}.${patch}`;\n}\n\nconst useConfigInstance = ({ imageCompression, userMention, voiceMessage }: SendbirdUIKitContainerProps) => {\n const mentionConfig = useMemo(() => {\n return new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n }, [userMention?.mentionLimit, userMention?.suggestionLimit, userMention?.debounceMills]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n const voiceMessageConfig = useMemo(() => {\n return new VoiceMessageConfig({\n recorder: {\n minDuration: voiceMessage?.recorder?.minDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MIN_DURATION,\n maxDuration: voiceMessage?.recorder?.maxDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MAX_DURATION,\n },\n });\n }, [voiceMessage?.recorder?.minDuration, voiceMessage?.recorder?.maxDuration]);\n\n return {\n mentionConfig,\n imageCompressionConfig,\n voiceMessageConfig,\n };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useLayoutEffect","useMemo","useRef","useState","Platform","SafeAreaProvider","SendbirdChat","DeviceOsPlatform","SendbirdPlatform","SendbirdProduct","GroupChannelModule","OpenChannelModule","DialogProvider","Header","HeaderStyleProvider","LightUIKitTheme","ToastProvider","UIKitThemeProvider","UIKitConfigProvider","Logger","NOOP","useIsFirstMount","LocalizationContext","LocalizationProvider","PlatformServiceProvider","ReactionProvider","SBUHandlersProvider","SendbirdChatProvider","UserProfileProvider","EmojiManager","ImageCompressionConfig","InternalLocalCacheStorage","MentionConfig","MentionManager","SBUUtils","VoiceMessageConfig","VoiceMessageStatusManager","StringSetEn","SBUDynamicModule","VERSION","InternalErrorBoundaryContainer","NetInfo","get","SendbirdUIKit","Object","freeze","PLATFORM","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","USE_USER_ID_FOR_NICKNAME","IMAGE_COMPRESSION","SendbirdUIKitContainer","props","children","appId","chatOptions","uikitOptions","platformServices","localization","styles","errorBoundary","handlers","toast","userProfile","reaction","localCacheStorage","Error","warn","defaultStringSet","stringSet","isFirstMount","unsubscribes","internalStorage","sdkInstance","setSdkInstance","sendbird","initializeSendbird","current","chatSDK","imageCompressionConfig","voiceMessageConfig","mentionConfig","useConfigInstance","emojiManager","mentionManager","voiceMessageStatusManager","forEach","u","renderChildren","disabled","createElement","sbuHandlers","onOpenURL","openURL","storage","localConfigs","common","groupChannel","channel","enableReactionsSupergroup","undefined","channelList","groupChannelList","setting","groupChannelSettings","openChannel","enableAutoPushTokenRegistration","enableUseUserIdForNickname","enableImageCompression","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","playerService","player","recorderService","recorder","theme","HeaderComponent","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","dismissTimeout","_extends","Consumer","value","STRINGS","defaultLabels","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","options","onInitialized","chatInitParams","isMMKVStorage","init","newInstance","modules","localCacheEnabled","useMMKVStorageStore","useAsyncStorageStore","platform","getDeviceOSPlatform","deviceOSInfo","version","String","Version","customData","platform_version","getReactNativeVersion","uikitExtension","product","UIKIT_CHAT","REACT_NATIVE","addSendbirdExtensions","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","listener","callback","callbackType","callCount","unsubscribe","state","online","Boolean","isConnected","isInternetReachable","push","setOnlineListener","call","onOnline","setOfflineListener","onOffline","ANDROID","IOS","WEB","WINDOWS","major","minor","patch","constants","reactNativeVersion","imageCompression","userMention","voiceMessage","_voiceMessage$recorde3","_voiceMessage$recorde4","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","compressionRate","COMPRESSION_RATE","width","height","_voiceMessage$recorde","_voiceMessage$recorde2","minDuration","RECORDER","MIN_DURATION","maxDuration","MAX_DURATION"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import type { AsyncStorageStatic } from '@react-native-async-storage/async-storage';\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { MMKV } from 'react-native-mmkv';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport SendbirdChat, { DeviceOsPlatform, SendbirdChatParams, SendbirdPlatform, SendbirdProduct } from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport { SBUConfig, UIKitConfigProvider } from '@sendbird/uikit-tools';\nimport {\n Logger,\n NOOP,\n PartialDeep,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdReactedUserInfo,\n SendbirdUser,\n useIsFirstMount,\n} from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport { type SBUHandlers, SBUHandlersProvider } from '../contexts/SBUHandlersCtx';\nimport type { ChatRelatedFeaturesInUIKit } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport SBUUtils from '../libs/SBUUtils';\nimport VoiceMessageConfig, { VoiceMessageConfigInterface } from '../libs/VoiceMessageConfig';\nimport VoiceMessageStatusManager from '../libs/VoiceMessageStatusManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n PlayerServiceInterface,\n RecorderServiceInterface,\n} from '../platform/types';\nimport { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n USE_USER_ID_FOR_NICKNAME: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type ChatOmittedInitParams = SendbirdChatParams<[GroupChannelModule, OpenChannelModule]>;\n\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n player: PlayerServiceInterface;\n recorder: RecorderServiceInterface;\n };\n chatOptions: Partial<ChatOmittedInitParams> &\n Partial<ChatRelatedFeaturesInUIKit> & {\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n localCacheStorage: LocalCacheStorage;\n };\n uikitOptions?: PartialDeep<{\n common: SBUConfig['common'];\n groupChannel: Omit<SBUConfig['groupChannel']['channel'], 'enableReactionsSupergroup'> & {\n /**\n * @deprecated Currently, this feature is turned off by default. If you wish to use this feature, contact us: {@link https://dashboard.sendbird.com/settings/contact_us?category=feedback_and_feature_requests&product=UIKit}\n */\n enableReactionsSupergroup: never;\n };\n groupChannelList: SBUConfig['groupChannel']['channelList'];\n groupChannelSettings: SBUConfig['groupChannel']['setting'];\n openChannel: SBUConfig['openChannel']['channel'];\n }>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => React.ReactNode;\n };\n handlers?: Partial<SBUHandlers>;\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[] | SendbirdReactedUserInfo[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n reaction?: {\n onPressUserProfile?: (user: SendbirdReactedUserInfo) => void;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n voiceMessage?: PartialDeep<VoiceMessageConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {\n const {\n children,\n appId,\n chatOptions,\n uikitOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n handlers,\n toast,\n userProfile,\n reaction,\n } = props;\n\n if (!chatOptions.localCacheStorage) {\n throw new Error('SendbirdUIKitContainer: chatOptions.localCacheStorage is required');\n } else if ('getItem' in chatOptions.localCacheStorage) {\n Logger.warn(\n 'SendbirdUIKitContainer: localCacheStorage for `AsyncStorage` is deprecated. Please use `MMKV` instead.',\n );\n }\n\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n\n const [internalStorage] = useState(() => new InternalLocalCacheStorage(chatOptions.localCacheStorage));\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, chatOptions);\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const { imageCompressionConfig, voiceMessageConfig, mentionConfig } = useConfigInstance(props);\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n const mentionManager = useMemo(() => new MentionManager(mentionConfig), [mentionConfig]);\n const voiceMessageStatusManager = useMemo(() => new VoiceMessageStatusManager(), []);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, chatOptions);\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n const sbuHandlers: SBUHandlers = {\n onOpenURL: SBUUtils.openURL,\n ...handlers,\n };\n\n return (\n <SBUHandlersProvider {...sbuHandlers}>\n <SafeAreaProvider>\n <UIKitConfigProvider\n storage={internalStorage}\n localConfigs={{\n common: uikitOptions?.common,\n groupChannel: {\n channel: { ...uikitOptions?.groupChannel, enableReactionsSupergroup: undefined },\n channelList: uikitOptions?.groupChannelList,\n setting: uikitOptions?.groupChannelSettings,\n },\n openChannel: {\n channel: uikitOptions?.openChannel,\n },\n }}\n >\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n voiceMessageConfig={voiceMessageConfig}\n voiceMessageStatusManager={voiceMessageStatusManager}\n enableAutoPushTokenRegistration={\n chatOptions.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableUseUserIdForNickname={\n chatOptions.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableImageCompression={chatOptions.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n playerService={platformServices.player}\n recorderService={platformServices.recorder}\n voiceMessageConfig={voiceMessageConfig}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider {...userProfile} statusBarTranslucent={styles?.statusBarTranslucent ?? true}>\n <ReactionProvider {...reaction}>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </UIKitConfigProvider>\n </SafeAreaProvider>\n </SBUHandlersProvider>\n );\n};\n\ntype InitOptions = Partial<ChatOmittedInitParams> & {\n localCacheStorage: LocalCacheStorage;\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK;\n};\nconst initializeSendbird = (appId: string, options: InitOptions) => {\n let chatSDK: SendbirdChatSDK;\n const unsubscribes: Array<() => void> = [];\n const { localCacheStorage, onInitialized, ...chatInitParams } = options;\n\n const isMMKVStorage = 'getString' in localCacheStorage;\n chatSDK = SendbirdChat.init({\n appId,\n newInstance: true,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: true,\n useMMKVStorageStore: isMMKVStorage ? (localCacheStorage as MMKV) : undefined,\n useAsyncStorageStore: !isMMKVStorage ? (localCacheStorage as AsyncStorageStatic) : undefined,\n ...chatInitParams,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n const platform = getDeviceOSPlatform();\n if (SendbirdUIKit.VERSION && platform) {\n const deviceOSInfo = { platform, version: String(Platform.Version) };\n const customData = { platform_version: getReactNativeVersion() };\n const uikitExtension = {\n product: SendbirdProduct.UIKIT_CHAT,\n version: SendbirdUIKit.VERSION,\n platform: SendbirdPlatform.REACT_NATIVE,\n };\n\n chatSDK.addSendbirdExtensions([uikitExtension], deviceOSInfo, customData);\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n try {\n // NOTE: For removing buggy behavior of NetInfo.addEventListener\n // When you first add an event listener, it is assumed that the initialization of the internal event detector is done simultaneously.\n // In other words, when you call the first event listener two events are triggered immediately\n // - the one that is called when adding the event listener\n // - and the internal initialization event\n NetInfo.addEventListener(NOOP)();\n } catch {}\n\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n let callCount = 0;\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n\n // NOTE: When NetInfo.addEventListener is called\n // the event is immediately triggered regardless of whether the event actually occurred.\n // This is why it filters the first event.\n if (callCount === 0) {\n callCount++;\n return;\n }\n\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nfunction getDeviceOSPlatform() {\n switch (Platform.OS) {\n case 'android':\n return DeviceOsPlatform.ANDROID;\n case 'ios':\n return DeviceOsPlatform.IOS;\n case 'web':\n return DeviceOsPlatform.WEB;\n case 'windows':\n return DeviceOsPlatform.WINDOWS;\n default:\n return undefined;\n }\n}\n\nfunction getReactNativeVersion() {\n const { major, minor, patch } = Platform.constants.reactNativeVersion;\n return `${major}.${minor}.${patch}`;\n}\n\nconst useConfigInstance = ({ imageCompression, userMention, voiceMessage }: SendbirdUIKitContainerProps) => {\n const mentionConfig = useMemo(() => {\n return new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n }, [userMention?.mentionLimit, userMention?.suggestionLimit, userMention?.debounceMills]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n const voiceMessageConfig = useMemo(() => {\n return new VoiceMessageConfig({\n recorder: {\n minDuration: voiceMessage?.recorder?.minDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MIN_DURATION,\n maxDuration: voiceMessage?.recorder?.maxDuration ?? VoiceMessageConfig.DEFAULT.RECORDER.MAX_DURATION,\n },\n });\n }, [voiceMessage?.recorder?.minDuration, voiceMessage?.recorder?.maxDuration]);\n\n return {\n mentionConfig,\n imageCompressionConfig,\n voiceMessageConfig,\n };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.8.
|
|
1
|
+
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.8.2';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAO;AACvB,eAAeA,OAAO","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ import type { StringSet } from '../localization/StringSet.type';
|
|
|
14
14
|
import type { ClipboardServiceInterface, FileServiceInterface, MediaServiceInterface, NotificationServiceInterface, PlayerServiceInterface, RecorderServiceInterface } from '../platform/types';
|
|
15
15
|
import { ErrorBoundaryProps, LocalCacheStorage } from '../types';
|
|
16
16
|
export declare const SendbirdUIKit: Readonly<{
|
|
17
|
-
VERSION: "3.8.
|
|
17
|
+
VERSION: "3.8.2";
|
|
18
18
|
PLATFORM: string;
|
|
19
19
|
DEFAULT: {
|
|
20
20
|
AUTO_PUSH_TOKEN_REGISTRATION: boolean;
|
|
@@ -22,8 +22,7 @@ export declare const SendbirdUIKit: Readonly<{
|
|
|
22
22
|
IMAGE_COMPRESSION: boolean;
|
|
23
23
|
};
|
|
24
24
|
}>;
|
|
25
|
-
export type ChatOmittedInitParams =
|
|
26
|
-
declare const chatOmitKeys: readonly ["appId", "newInstance", "modules", "debugMode", "appVersion", "localCacheEnabled", "useAsyncStorageStore", "useMMKVStorageStore"];
|
|
25
|
+
export type ChatOmittedInitParams = SendbirdChatParams<[GroupChannelModule, OpenChannelModule]>;
|
|
27
26
|
export type SendbirdUIKitContainerProps = React.PropsWithChildren<{
|
|
28
27
|
appId: string;
|
|
29
28
|
platformServices: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const VERSION = "3.8.
|
|
1
|
+
declare const VERSION = "3.8.2";
|
|
2
2
|
export default VERSION;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sendbird/uikit-react-native",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.2",
|
|
4
4
|
"description": "Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sendbird",
|
|
@@ -60,10 +60,10 @@
|
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@openspacelabs/react-native-zoomable-view": "^2.1.5",
|
|
63
|
-
"@sendbird/uikit-chat-hooks": "3.8.
|
|
64
|
-
"@sendbird/uikit-react-native-foundation": "3.8.
|
|
63
|
+
"@sendbird/uikit-chat-hooks": "3.8.2",
|
|
64
|
+
"@sendbird/uikit-react-native-foundation": "3.8.2",
|
|
65
65
|
"@sendbird/uikit-tools": "0.0.1-alpha.77",
|
|
66
|
-
"@sendbird/uikit-utils": "3.8.
|
|
66
|
+
"@sendbird/uikit-utils": "3.8.2"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@bam.tech/react-native-image-resizer": "^3.0.4",
|
|
@@ -208,5 +208,5 @@
|
|
|
208
208
|
]
|
|
209
209
|
]
|
|
210
210
|
},
|
|
211
|
-
"gitHead": "
|
|
211
|
+
"gitHead": "b5bf785cfdf1e0c505d17d5989f16b15dc89f1dd"
|
|
212
212
|
}
|
|
@@ -72,26 +72,8 @@ export const SendbirdUIKit = Object.freeze({
|
|
|
72
72
|
},
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
export type ChatOmittedInitParams =
|
|
76
|
-
|
|
77
|
-
(typeof chatOmitKeys)[number]
|
|
78
|
-
>;
|
|
79
|
-
|
|
80
|
-
const chatOmitKeys = [
|
|
81
|
-
'appId',
|
|
82
|
-
'newInstance',
|
|
83
|
-
'modules',
|
|
84
|
-
'debugMode',
|
|
85
|
-
'appVersion',
|
|
86
|
-
'localCacheEnabled',
|
|
87
|
-
'useAsyncStorageStore',
|
|
88
|
-
'useMMKVStorageStore',
|
|
89
|
-
] as const;
|
|
90
|
-
function sanitizeChatOptions<T extends Record<string, unknown>>(chatOptions: T): T {
|
|
91
|
-
const opts = { ...chatOptions };
|
|
92
|
-
chatOmitKeys.forEach((key) => delete opts[key]);
|
|
93
|
-
return opts;
|
|
94
|
-
}
|
|
75
|
+
export type ChatOmittedInitParams = SendbirdChatParams<[GroupChannelModule, OpenChannelModule]>;
|
|
76
|
+
|
|
95
77
|
export type SendbirdUIKitContainerProps = React.PropsWithChildren<{
|
|
96
78
|
appId: string;
|
|
97
79
|
platformServices: {
|
|
@@ -184,7 +166,7 @@ const SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {
|
|
|
184
166
|
|
|
185
167
|
const [internalStorage] = useState(() => new InternalLocalCacheStorage(chatOptions.localCacheStorage));
|
|
186
168
|
const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {
|
|
187
|
-
const sendbird = initializeSendbird(appId,
|
|
169
|
+
const sendbird = initializeSendbird(appId, chatOptions);
|
|
188
170
|
unsubscribes.current = sendbird.unsubscribes;
|
|
189
171
|
return sendbird.chatSDK;
|
|
190
172
|
});
|
|
@@ -196,7 +178,7 @@ const SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {
|
|
|
196
178
|
|
|
197
179
|
useLayoutEffect(() => {
|
|
198
180
|
if (!isFirstMount) {
|
|
199
|
-
const sendbird = initializeSendbird(appId,
|
|
181
|
+
const sendbird = initializeSendbird(appId, chatOptions);
|
|
200
182
|
setSdkInstance(sendbird.chatSDK);
|
|
201
183
|
unsubscribes.current = sendbird.unsubscribes;
|
|
202
184
|
}
|
|
@@ -307,10 +289,10 @@ const SendbirdUIKitContainer = (props: SendbirdUIKitContainerProps) => {
|
|
|
307
289
|
);
|
|
308
290
|
};
|
|
309
291
|
|
|
310
|
-
|
|
292
|
+
type InitOptions = Partial<ChatOmittedInitParams> & {
|
|
311
293
|
localCacheStorage: LocalCacheStorage;
|
|
312
294
|
onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK;
|
|
313
|
-
}
|
|
295
|
+
};
|
|
314
296
|
const initializeSendbird = (appId: string, options: InitOptions) => {
|
|
315
297
|
let chatSDK: SendbirdChatSDK;
|
|
316
298
|
const unsubscribes: Array<() => void> = [];
|
|
@@ -318,13 +300,13 @@ const initializeSendbird = (appId: string, options: InitOptions) => {
|
|
|
318
300
|
|
|
319
301
|
const isMMKVStorage = 'getString' in localCacheStorage;
|
|
320
302
|
chatSDK = SendbirdChat.init({
|
|
321
|
-
...chatInitParams,
|
|
322
303
|
appId,
|
|
323
304
|
newInstance: true,
|
|
324
305
|
modules: [new GroupChannelModule(), new OpenChannelModule()],
|
|
325
306
|
localCacheEnabled: true,
|
|
326
307
|
useMMKVStorageStore: isMMKVStorage ? (localCacheStorage as MMKV) : undefined,
|
|
327
308
|
useAsyncStorageStore: !isMMKVStorage ? (localCacheStorage as AsyncStorageStatic) : undefined,
|
|
309
|
+
...chatInitParams,
|
|
328
310
|
});
|
|
329
311
|
|
|
330
312
|
if (onInitialized) {
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const VERSION = '3.8.
|
|
1
|
+
const VERSION = '3.8.2';
|
|
2
2
|
export default VERSION;
|