@sendbird/uikit-react-native 2.5.0 → 3.0.0-rc.0
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/README.md +6 -1
- package/lib/commonjs/components/{MessageRenderer/MessageTime.js → ChannelInput/AttachmentsButton.js} +20 -17
- package/lib/commonjs/components/ChannelInput/AttachmentsButton.js.map +1 -0
- package/lib/commonjs/components/ChannelInput/EditInput.js +10 -18
- package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/SendInput.js +220 -163
- package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/index.js +5 -3
- package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
- package/lib/commonjs/components/ChannelMessageList/index.js +27 -27
- package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
- package/lib/commonjs/components/ChatFlatList.js +18 -6
- package/lib/commonjs/components/ChatFlatList.js.map +1 -1
- package/lib/commonjs/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +47 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
- package/lib/commonjs/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +11 -14
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +204 -0
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -0
- package/lib/commonjs/components/MessageSearchResultItem.js +3 -2
- package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -1
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +15 -9
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/constants.js +1 -7
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +13 -13
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +29 -19
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChatCtx.js +17 -14
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +6 -4
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +4 -13
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +10 -6
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +4 -8
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/commonjs/domain/openChannel/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +3 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +22 -100
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +8 -13
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createMessageSearchFragment.js +2 -2
- package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelFragment.js +1 -7
- package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelListFragment.js +2 -1
- package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -1
- package/lib/commonjs/hooks/useConnection.js +11 -7
- package/lib/commonjs/hooks/useConnection.js.map +1 -1
- package/lib/commonjs/hooks/useMentionTextInput.js +3 -2
- package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -1
- package/lib/commonjs/index.js +20 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/libs/MentionManager.js +8 -9
- package/lib/commonjs/libs/MentionManager.js.map +1 -1
- package/lib/commonjs/libs/SBUUtils.js +7 -3
- package/lib/commonjs/libs/SBUUtils.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/localization/createBaseStringSet.js +20 -62
- package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
- package/lib/module/components/ChannelInput/AttachmentsButton.js +29 -0
- package/lib/module/components/ChannelInput/AttachmentsButton.js.map +1 -0
- package/lib/module/components/ChannelInput/EditInput.js +10 -18
- package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/module/components/ChannelInput/SendInput.js +221 -164
- package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/module/components/ChannelInput/index.js +5 -3
- package/lib/module/components/ChannelInput/index.js.map +1 -1
- package/lib/module/components/ChannelMessageList/index.js +28 -28
- package/lib/module/components/ChannelMessageList/index.js.map +1 -1
- package/lib/module/components/ChatFlatList.js +17 -5
- package/lib/module/components/ChatFlatList.js.map +1 -1
- package/lib/module/components/{MessageRenderer/MessageDateSeparator.js → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js} +3 -3
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -0
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +38 -0
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -0
- package/lib/module/components/{MessageRenderer/MessageOutgoingStatus.js → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js} +12 -15
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -0
- package/lib/module/components/GroupChannelMessageRenderer/index.js +196 -0
- package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -0
- package/lib/module/components/MessageSearchResultItem.js +2 -1
- package/lib/module/components/MessageSearchResultItem.js.map +1 -1
- package/lib/module/components/OpenChannelMessageRenderer/index.js +16 -10
- package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -1
- package/lib/module/constants.js +0 -5
- package/lib/module/constants.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +13 -13
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +29 -19
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/SendbirdChatCtx.js +17 -14
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/contexts/UserProfileCtx.js +6 -4
- package/lib/module/contexts/UserProfileCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js +4 -13
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +9 -4
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +3 -3
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/module/domain/groupChannelList/types.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +11 -10
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelInput.js +4 -8
- package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/module/domain/openChannel/types.js.map +1 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js +3 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
- package/lib/module/domain/openChannelList/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +24 -102
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +8 -13
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createMessageSearchFragment.js +1 -1
- package/lib/module/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelFragment.js +2 -8
- package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelListFragment.js +2 -1
- package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -1
- package/lib/module/hooks/useConnection.js +11 -7
- package/lib/module/hooks/useConnection.js.map +1 -1
- package/lib/module/hooks/useMentionTextInput.js +3 -2
- package/lib/module/hooks/useMentionTextInput.js.map +1 -1
- package/lib/module/index.js +5 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/libs/MentionManager.js +8 -9
- package/lib/module/libs/MentionManager.js.map +1 -1
- package/lib/module/libs/SBUUtils.js +7 -3
- package/lib/module/libs/SBUUtils.js.map +1 -1
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/localization/createBaseStringSet.js +20 -62
- package/lib/module/localization/createBaseStringSet.js.map +1 -1
- package/lib/typescript/src/components/ChannelInput/AttachmentsButton.d.ts +6 -0
- package/lib/typescript/src/components/ChannelInput/index.d.ts +2 -14
- package/lib/typescript/src/components/ChannelMessageList/index.d.ts +2 -4
- package/lib/typescript/src/components/ChatFlatList.d.ts +1 -5
- package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.d.ts +6 -0
- package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.d.ts +5 -0
- package/lib/typescript/src/components/{MessageRenderer/MessageOutgoingStatus.d.ts → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.d.ts} +3 -1
- package/lib/typescript/src/components/{MessageRenderer → GroupChannelMessageRenderer}/index.d.ts +2 -13
- package/lib/typescript/src/components/MessageSearchResultItem.d.ts +2 -1
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -1
- package/lib/typescript/src/constants.d.ts +0 -5
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +15 -10
- package/lib/typescript/src/contexts/SendbirdChatCtx.d.ts +33 -19
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +1 -4
- package/lib/typescript/src/domain/groupChannel/types.d.ts +2 -9
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/types.d.ts +8 -23
- package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/types.d.ts +2 -2
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelList/types.d.ts +3 -12
- package/lib/typescript/src/index.d.ts +4 -1
- package/lib/typescript/src/libs/MentionManager.d.ts +4 -5
- package/lib/typescript/src/libs/SBUUtils.d.ts +1 -1
- package/lib/typescript/src/localization/StringSet.type.d.ts +2 -43
- package/package.json +13 -10
- package/src/components/ChannelInput/AttachmentsButton.tsx +32 -0
- package/src/components/ChannelInput/EditInput.tsx +17 -18
- package/src/components/ChannelInput/SendInput.tsx +237 -181
- package/src/components/ChannelInput/index.tsx +8 -21
- package/src/components/ChannelMessageList/index.tsx +33 -41
- package/src/components/ChatFlatList.tsx +39 -13
- package/src/components/{MessageRenderer/MessageDateSeparator.tsx → GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.tsx} +7 -5
- package/src/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.tsx +29 -0
- package/src/components/{MessageRenderer/MessageOutgoingStatus.tsx → GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.tsx} +15 -15
- package/src/components/GroupChannelMessageRenderer/index.tsx +203 -0
- package/src/components/MessageSearchResultItem.tsx +3 -1
- package/src/components/OpenChannelMessageRenderer/index.tsx +10 -5
- package/src/constants.ts +0 -5
- package/src/containers/GroupChannelPreviewContainer.tsx +14 -13
- package/src/containers/SendbirdUIKitContainer.tsx +98 -90
- package/src/contexts/SendbirdChatCtx.tsx +49 -36
- package/src/contexts/UserProfileCtx.tsx +10 -5
- package/src/domain/groupChannel/component/GroupChannelInput.tsx +1 -10
- package/src/domain/groupChannel/types.ts +1 -14
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +8 -4
- package/src/domain/groupChannelList/component/GroupChannelListTypeSelector.tsx +3 -3
- package/src/domain/groupChannelList/types.ts +8 -30
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.tsx +22 -10
- package/src/domain/openChannel/component/OpenChannelInput.tsx +1 -5
- package/src/domain/openChannel/types.ts +1 -1
- package/src/domain/openChannelList/component/OpenChannelListList.tsx +2 -1
- package/src/domain/openChannelList/types.ts +6 -13
- package/src/fragments/createGroupChannelCreateFragment.tsx +1 -1
- package/src/fragments/createGroupChannelFragment.tsx +21 -97
- package/src/fragments/createGroupChannelInviteFragment.tsx +1 -1
- package/src/fragments/createGroupChannelListFragment.tsx +9 -15
- package/src/fragments/createMessageSearchFragment.tsx +1 -1
- package/src/fragments/createOpenChannelFragment.tsx +2 -3
- package/src/fragments/createOpenChannelListFragment.tsx +2 -1
- package/src/hooks/useConnection.ts +9 -7
- package/src/hooks/useMentionTextInput.ts +7 -2
- package/src/index.ts +4 -2
- package/src/libs/MentionManager.tsx +8 -7
- package/src/libs/SBUUtils.ts +7 -3
- package/src/localization/StringSet.type.ts +2 -46
- package/src/localization/createBaseStringSet.ts +19 -71
- package/src/version.ts +1 -1
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js +0 -46
- package/lib/commonjs/components/MessageRenderer/AdminMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -73
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -93
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -132
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js +0 -24
- package/lib/commonjs/components/MessageRenderer/FileMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js +0 -27
- package/lib/commonjs/components/MessageRenderer/MessageContainer.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js +0 -41
- package/lib/commonjs/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +0 -41
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +0 -46
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -113
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -200
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js +0 -22
- package/lib/commonjs/components/MessageRenderer/UserMessage/index.js.map +0 -1
- package/lib/commonjs/components/MessageRenderer/index.js +0 -186
- package/lib/commonjs/components/MessageRenderer/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/AdminMessage/index.js +0 -38
- package/lib/module/components/MessageRenderer/AdminMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +0 -65
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +0 -84
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +0 -123
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/FileMessage/index.js +0 -16
- package/lib/module/components/MessageRenderer/FileMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageContainer.js +0 -19
- package/lib/module/components/MessageRenderer/MessageContainer.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js +0 -33
- package/lib/module/components/MessageRenderer/MessageIncomingAvatar.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +0 -33
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageOutgoingStatus.js.map +0 -1
- package/lib/module/components/MessageRenderer/MessageTime.js +0 -26
- package/lib/module/components/MessageRenderer/MessageTime.js.map +0 -1
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js +0 -38
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +0 -105
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +0 -190
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +0 -1
- package/lib/module/components/MessageRenderer/UserMessage/index.js +0 -14
- package/lib/module/components/MessageRenderer/UserMessage/index.js.map +0 -1
- package/lib/module/components/MessageRenderer/index.js +0 -178
- package/lib/module/components/MessageRenderer/index.js.map +0 -1
- package/lib/typescript/src/components/MessageRenderer/AdminMessage/index.d.ts +0 -5
- package/lib/typescript/src/components/MessageRenderer/FileMessage/BaseFileMessage.d.ts +0 -6
- package/lib/typescript/src/components/MessageRenderer/FileMessage/ImageFileMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/FileMessage/VideoFileMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/FileMessage/index.d.ts +0 -15
- package/lib/typescript/src/components/MessageRenderer/MessageContainer.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/MessageDateSeparator.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingAvatar.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageIncomingSenderName.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/MessageTime.d.ts +0 -9
- package/lib/typescript/src/components/MessageRenderer/UnknownMessage/index.d.ts +0 -4
- package/lib/typescript/src/components/MessageRenderer/UserMessage/BaseUserMessage.d.ts +0 -3
- package/lib/typescript/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.d.ts +0 -7
- package/lib/typescript/src/components/MessageRenderer/UserMessage/index.d.ts +0 -9
- package/src/components/MessageRenderer/AdminMessage/index.tsx +0 -40
- package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +0 -51
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +0 -98
- package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +0 -113
- package/src/components/MessageRenderer/FileMessage/index.tsx +0 -20
- package/src/components/MessageRenderer/MessageContainer.tsx +0 -17
- package/src/components/MessageRenderer/MessageIncomingAvatar.tsx +0 -34
- package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +0 -36
- package/src/components/MessageRenderer/MessageTime.tsx +0 -28
- package/src/components/MessageRenderer/UnknownMessage/index.tsx +0 -34
- package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +0 -102
- package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +0 -188
- package/src/components/MessageRenderer/UserMessage/index.tsx +0 -24
- package/src/components/MessageRenderer/index.tsx +0 -198
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_uikitUtils","_useContext","_SBUUtils","_OpenChannelMessageDateSeparator","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenChannelMessageRenderer","_ref","channel","message","onPress","onLongPress","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikitReactNativeFoundation","_uikitUtils","_useContext","_SBUUtils","_OpenChannelMessageDateSeparator","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","OpenChannelMessageRenderer","_ref","channel","message","onPress","onLongPress","onShowUserProfile","enableMessageGrouping","prevMessage","nextMessage","sbOptions","useSendbirdChat","STRINGS","useLocalization","mediaService","usePlatformService","groupWithPrev","calcMessageGrouping","Boolean","messageProps","onPressURL","url","SBUUtils","openURL","onPressAvatar","sender","hideMessageButton","grouped","strings","edited","OPEN_CHANNEL","MESSAGE_BUBBLE_EDITED_POSTFIX","senderName","nickname","LABELS","USER_NO_NAME","sentDate","MESSAGE_BUBBLE_TIME","fileName","isFileMessage","MESSAGE_BUBBLE_FILE_TITLE","unknownTitle","MESSAGE_BUBBLE_UNKNOWN_TITLE","unknownDescription","MESSAGE_BUBBLE_UNKNOWN_DESC","renderMessage","getMessageType","createElement","OpenChannelMessage","Admin","User","uikitWithAppInfo","openChannel","enableOgtag","OpenGraphUser","File","ImageFile","VideoFile","fetchThumbnailFromVideoSource","uri","getVideoThumbnail","timeMills","Unknown","Box","_default","React","memo","exports"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { OpenChannelMessageProps } from '@sendbird/uikit-react-native-foundation';\nimport { Box, OpenChannelMessage } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdAdminMessage,\n SendbirdFileMessage,\n SendbirdMessage,\n SendbirdUserMessage,\n calcMessageGrouping,\n getMessageType,\n} from '@sendbird/uikit-utils';\n\nimport type { OpenChannelProps } from '../../domain/openChannel/types';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport OpenChannelMessageDateSeparator from './OpenChannelMessageDateSeparator';\n\nconst OpenChannelMessageRenderer: OpenChannelProps['Fragment']['renderMessage'] = ({\n channel,\n message,\n onPress,\n onLongPress,\n onShowUserProfile,\n enableMessageGrouping,\n prevMessage,\n nextMessage,\n}) => {\n const { sbOptions } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { mediaService } = usePlatformService();\n const { groupWithPrev } = calcMessageGrouping(Boolean(enableMessageGrouping), message, prevMessage, nextMessage);\n\n const messageProps: Omit<OpenChannelMessageProps<SendbirdMessage>, 'message'> = {\n channel,\n onPress,\n onLongPress,\n onPressURL: (url) => SBUUtils.openURL(url),\n onPressAvatar: () => 'sender' in message && onShowUserProfile?.(message.sender, { hideMessageButton: true }),\n grouped: groupWithPrev,\n strings: {\n edited: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX,\n senderName: ('sender' in message && message.sender.nickname) || STRINGS.LABELS.USER_NO_NAME,\n sentDate: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_TIME(message),\n fileName: message.isFileMessage() ? STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message) : '',\n unknownTitle: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message),\n unknownDescription: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message),\n },\n };\n const renderMessage = () => {\n switch (getMessageType(message)) {\n case 'admin': {\n return <OpenChannelMessage.Admin message={message as SendbirdAdminMessage} {...messageProps} />;\n }\n case 'user': {\n return <OpenChannelMessage.User message={message as SendbirdUserMessage} {...messageProps} />;\n }\n case 'user.opengraph': {\n if (sbOptions.uikitWithAppInfo.openChannel.channel.enableOgtag) {\n return <OpenChannelMessage.OpenGraphUser message={message as SendbirdUserMessage} {...messageProps} />;\n } else {\n return <OpenChannelMessage.User message={message as SendbirdUserMessage} {...messageProps} />;\n }\n }\n case 'file':\n case 'file.audio': {\n return <OpenChannelMessage.File message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.image': {\n return <OpenChannelMessage.ImageFile message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.video': {\n return (\n <OpenChannelMessage.VideoFile\n message={message as SendbirdFileMessage}\n fetchThumbnailFromVideoSource={(uri) => mediaService.getVideoThumbnail({ url: uri, timeMills: 1000 })}\n {...messageProps}\n />\n );\n }\n case 'unknown':\n default: {\n return <OpenChannelMessage.Unknown message={message} {...messageProps} />;\n }\n }\n };\n\n return (\n <Box>\n <OpenChannelMessageDateSeparator message={message} prevMessage={prevMessage} />\n {renderMessage()}\n </Box>\n );\n};\n\nexport default React.memo(OpenChannelMessageRenderer);\n"],"mappings":"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"}
|
|
@@ -3,19 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.UNKNOWN_USER_ID = exports.MESSAGE_SEARCH_SAFE_SCROLL_DELAY = exports.MESSAGE_FOCUS_ANIMATION_DELAY = exports.
|
|
6
|
+
exports.UNKNOWN_USER_ID = exports.MESSAGE_SEARCH_SAFE_SCROLL_DELAY = exports.MESSAGE_FOCUS_ANIMATION_DELAY = exports.DEFAULT_LONG_PRESS_DELAY = void 0;
|
|
7
7
|
const DEFAULT_LONG_PRESS_DELAY = 350;
|
|
8
8
|
exports.DEFAULT_LONG_PRESS_DELAY = DEFAULT_LONG_PRESS_DELAY;
|
|
9
9
|
const MESSAGE_SEARCH_SAFE_SCROLL_DELAY = 500;
|
|
10
10
|
exports.MESSAGE_SEARCH_SAFE_SCROLL_DELAY = MESSAGE_SEARCH_SAFE_SCROLL_DELAY;
|
|
11
11
|
const MESSAGE_FOCUS_ANIMATION_DELAY = 250;
|
|
12
12
|
exports.MESSAGE_FOCUS_ANIMATION_DELAY = MESSAGE_FOCUS_ANIMATION_DELAY;
|
|
13
|
-
const DEPRECATION_WARNING = {
|
|
14
|
-
CHANNEL: {
|
|
15
|
-
ON_PRESS_IMAGE_MESSAGE: '`onPressImageMessage` is deprecated, please use `onPressMediaMessage` instead'
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
exports.DEPRECATION_WARNING = DEPRECATION_WARNING;
|
|
19
13
|
const UNKNOWN_USER_ID = '##__USER_ID_IS_NOT_PROVIDED__##';
|
|
20
14
|
exports.UNKNOWN_USER_ID = UNKNOWN_USER_ID;
|
|
21
15
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_LONG_PRESS_DELAY","exports","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","MESSAGE_FOCUS_ANIMATION_DELAY","
|
|
1
|
+
{"version":3,"names":["DEFAULT_LONG_PRESS_DELAY","exports","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","MESSAGE_FOCUS_ANIMATION_DELAY","UNKNOWN_USER_ID"],"sources":["constants.ts"],"sourcesContent":["export const DEFAULT_LONG_PRESS_DELAY = 350;\nexport const MESSAGE_SEARCH_SAFE_SCROLL_DELAY = 500;\nexport const MESSAGE_FOCUS_ANIMATION_DELAY = 250;\n\nexport const UNKNOWN_USER_ID = '##__USER_ID_IS_NOT_PROVIDED__##';\n"],"mappings":";;;;;;AAAO,MAAMA,wBAAwB,GAAG,GAAG;AAACC,OAAA,CAAAD,wBAAA,GAAAA,wBAAA;AACrC,MAAME,gCAAgC,GAAG,GAAG;AAACD,OAAA,CAAAC,gCAAA,GAAAA,gCAAA;AAC7C,MAAMC,6BAA6B,GAAG,GAAG;AAACF,OAAA,CAAAE,6BAAA,GAAAA,6BAAA;AAE1C,MAAMC,eAAe,GAAG,iCAAiC;AAACH,OAAA,CAAAG,eAAA,GAAAA,eAAA"}
|
|
@@ -30,7 +30,7 @@ const GroupChannelPreviewContainer = _ref => {
|
|
|
30
30
|
const {
|
|
31
31
|
currentUser,
|
|
32
32
|
sdk,
|
|
33
|
-
|
|
33
|
+
sbOptions,
|
|
34
34
|
mentionManager
|
|
35
35
|
} = (0, _useContext.useSendbirdChat)();
|
|
36
36
|
const {
|
|
@@ -40,15 +40,14 @@ const GroupChannelPreviewContainer = _ref => {
|
|
|
40
40
|
colors
|
|
41
41
|
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
|
|
42
42
|
const [typingUsers, setTypingUsers] = (0, _react.useState)([]);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
43
|
+
const handlerId = (0, _uikitUtils.useUniqHandlerId)('GroupChannelPreviewContainer_TypingIndicator');
|
|
44
|
+
(0, _uikitChatHooks.useChannelHandler)(sdk, handlerId, {
|
|
45
|
+
onTypingStatusUpdated(eventChannel) {
|
|
46
|
+
if ((0, _uikitUtils.isDifferentChannel)(channel, eventChannel)) return;
|
|
47
|
+
if (!sbOptions.uikit.groupChannel.channelList.enableTypingIndicator) return;
|
|
48
|
+
setTypingUsers(eventChannel.getTypingUsers());
|
|
49
|
+
}
|
|
50
|
+
});
|
|
52
51
|
const outgoingStatus = (0, _uikitChatHooks.useMessageOutgoingStatus)(sdk, channel, channel.lastMessage);
|
|
53
52
|
const bodyText = (0, _uikitUtils.useIIFE)(() => {
|
|
54
53
|
if (typingUsers.length > 0) return STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers) || '';else return STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_BODY(channel);
|
|
@@ -60,8 +59,8 @@ const GroupChannelPreviewContainer = _ref => {
|
|
|
60
59
|
return iconMapper[(0, _uikitUtils.getFileType)(channel.lastMessage.type || (0, _uikitUtils.getFileExtension)(channel.lastMessage.name))];
|
|
61
60
|
});
|
|
62
61
|
const titleCaptionIcon = (0, _uikitUtils.useIIFE)(() => {
|
|
63
|
-
if (!channel.lastMessage) return undefined;
|
|
64
|
-
if (!
|
|
62
|
+
if (!channel.lastMessage || channel.isEphemeral) return undefined;
|
|
63
|
+
if (!sbOptions.uikit.groupChannel.channelList.enableMessageReceiptStatus) return undefined;
|
|
65
64
|
if (!(0, _uikitUtils.isMyMessage)(channel.lastMessage, currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId)) return undefined;
|
|
66
65
|
if (outgoingStatus === 'PENDING') {
|
|
67
66
|
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.LoadingSpinner, {
|
|
@@ -103,6 +102,7 @@ const GroupChannelPreviewContainer = _ref => {
|
|
|
103
102
|
}
|
|
104
103
|
return undefined;
|
|
105
104
|
});
|
|
105
|
+
const unreadMessageCount = (0, _uikitUtils.useIIFE)(() => channel.isEphemeral ? 0 : channel.unreadMessageCount);
|
|
106
106
|
return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
|
|
107
107
|
delayLongPress: _constants.DEFAULT_LONG_PRESS_DELAY,
|
|
108
108
|
onPress: onPress,
|
|
@@ -118,7 +118,7 @@ const GroupChannelPreviewContainer = _ref => {
|
|
|
118
118
|
titleCaption: STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE_CAPTION(channel),
|
|
119
119
|
body: bodyText,
|
|
120
120
|
bodyIcon: fileIcon,
|
|
121
|
-
badgeCount:
|
|
121
|
+
badgeCount: unreadMessageCount,
|
|
122
122
|
mentioned: channel.unreadMentionCount > 0,
|
|
123
123
|
mentionTrigger: mentionManager.config.trigger,
|
|
124
124
|
memberCount: channel.memberCount > 2 ? channel.memberCount : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_ChannelCover","_interopRequireDefault","_constants","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","iconMapper","audio","image","video","file","GroupChannelPreviewContainer","_ref","onPress","onLongPress","channel","currentUser","sdk","features","mentionManager","useSendbirdChat","STRINGS","useLocalization","colors","useUIKitTheme","typingUsers","setTypingUsers","useState","channelListTypingIndicatorEnabled","handlerId","useUniqHandlerId","useChannelHandler","onTypingStatusUpdated","eventChannel","isDifferentChannel","getTypingUsers","outgoingStatus","useMessageOutgoingStatus","lastMessage","bodyText","useIIFE","length","LABELS","TYPING_INDICATOR_TYPINGS","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_BODY","fileIcon","_channel$lastMessage","isFileMessage","undefined","getFileType","type","getFileExtension","name","titleCaptionIcon","channelListMessageReceiptStatusEnabled","isMyMessage","userId","createElement","LoadingSpinner","size","style","styles","Icon","icon","color","error","onBackground03","containerStyle","secondary","Pressable","delayLongPress","DEFAULT_LONG_PRESS_DELAY","GroupChannelPreview","customCover","coverUrl","title","CHANNEL_PREVIEW_TITLE","titleCaptionLeft","titleCaption","CHANNEL_PREVIEW_TITLE_CAPTION","body","bodyIcon","badgeCount","unreadMessageCount","mentioned","unreadMentionCount","mentionTrigger","config","trigger","memberCount","frozen","isFrozen","broadcast","isBroadcast","notificationOff","myPushTriggerOption","createStyleSheet","marginRight","broadcastCover","padding","borderRadius","_default","exports"],"sources":["GroupChannelPreviewContainer.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Pressable } from 'react-native';\n\nimport { useChannelHandler, useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';\nimport {\n GroupChannelPreview,\n Icon,\n LoadingSpinner,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdGroupChannel,\n SendbirdUser,\n getFileExtension,\n getFileType,\n isDifferentChannel,\n isMyMessage,\n useIIFE,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../components/ChannelCover';\nimport { DEFAULT_LONG_PRESS_DELAY } from '../constants';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\ntype Props = {\n channel: SendbirdGroupChannel;\n onPress: () => void;\n onLongPress: () => void;\n};\nconst GroupChannelPreviewContainer = ({ onPress, onLongPress, channel }: Props) => {\n const { currentUser, sdk, features, mentionManager } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const [typingUsers, setTypingUsers] = useState<SendbirdUser[]>([]);\n\n if (features.channelListTypingIndicatorEnabled) {\n const handlerId = useUniqHandlerId('GroupChannelPreviewContainer_TypingIndicator');\n useChannelHandler(sdk, handlerId, {\n onTypingStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n setTypingUsers(eventChannel.getTypingUsers());\n },\n });\n }\n\n const outgoingStatus = useMessageOutgoingStatus(sdk, channel, channel.lastMessage);\n\n const bodyText = useIIFE(() => {\n if (typingUsers.length > 0) return STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers) || '';\n else return STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_BODY(channel);\n });\n\n const fileIcon = useIIFE(() => {\n if (!channel.lastMessage?.isFileMessage()) return undefined;\n if (typingUsers.length > 0) return undefined;\n return iconMapper[getFileType(channel.lastMessage.type || getFileExtension(channel.lastMessage.name))];\n });\n\n const titleCaptionIcon = useIIFE(() => {\n if (!channel.lastMessage) return undefined;\n if (!features.channelListMessageReceiptStatusEnabled) return undefined;\n if (!isMyMessage(channel.lastMessage, currentUser?.userId)) return undefined;\n\n if (outgoingStatus === 'PENDING') {\n return <LoadingSpinner size={16} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'FAILED') {\n return <Icon icon={'error'} size={16} color={colors.error} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'UNDELIVERED') {\n return <Icon icon={'done'} size={16} color={colors.onBackground03} containerStyle={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'DELIVERED' || outgoingStatus === 'UNREAD') {\n return <Icon icon={'done-all'} size={16} color={colors.onBackground03} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'READ') {\n return <Icon icon={'done-all'} size={16} color={colors.secondary} style={styles.titleCaptionIcon} />;\n }\n\n return undefined;\n });\n\n return (\n <Pressable delayLongPress={DEFAULT_LONG_PRESS_DELAY} onPress={onPress} onLongPress={onLongPress}>\n <GroupChannelPreview\n customCover={<ChannelCover channel={channel} size={56} />}\n coverUrl={channel.coverUrl}\n title={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE(currentUser?.userId ?? '', channel)}\n titleCaptionLeft={titleCaptionIcon}\n titleCaption={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE_CAPTION(channel)}\n body={bodyText}\n bodyIcon={fileIcon}\n badgeCount={channel.unreadMessageCount}\n mentioned={channel.unreadMentionCount > 0}\n mentionTrigger={mentionManager.config.trigger}\n memberCount={channel.memberCount > 2 ? channel.memberCount : undefined}\n frozen={channel.isFrozen}\n broadcast={channel.isBroadcast}\n notificationOff={channel.myPushTriggerOption === 'off'}\n />\n </Pressable>\n );\n};\n\nconst styles = createStyleSheet({\n titleCaptionIcon: {\n marginRight: 4,\n },\n broadcastCover: {\n padding: 12,\n borderRadius: 28,\n },\n});\n\nexport default GroupChannelPreviewContainer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitChatHooks","_uikitReactNativeFoundation","_uikitUtils","_ChannelCover","_interopRequireDefault","_constants","_useContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","iconMapper","audio","image","video","file","GroupChannelPreviewContainer","_ref","onPress","onLongPress","channel","currentUser","sdk","sbOptions","mentionManager","useSendbirdChat","STRINGS","useLocalization","colors","useUIKitTheme","typingUsers","setTypingUsers","useState","handlerId","useUniqHandlerId","useChannelHandler","onTypingStatusUpdated","eventChannel","isDifferentChannel","uikit","groupChannel","channelList","enableTypingIndicator","getTypingUsers","outgoingStatus","useMessageOutgoingStatus","lastMessage","bodyText","useIIFE","length","LABELS","TYPING_INDICATOR_TYPINGS","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_BODY","fileIcon","_channel$lastMessage","isFileMessage","undefined","getFileType","type","getFileExtension","name","titleCaptionIcon","isEphemeral","enableMessageReceiptStatus","isMyMessage","userId","createElement","LoadingSpinner","size","style","styles","Icon","icon","color","error","onBackground03","containerStyle","secondary","unreadMessageCount","Pressable","delayLongPress","DEFAULT_LONG_PRESS_DELAY","GroupChannelPreview","customCover","coverUrl","title","CHANNEL_PREVIEW_TITLE","titleCaptionLeft","titleCaption","CHANNEL_PREVIEW_TITLE_CAPTION","body","bodyIcon","badgeCount","mentioned","unreadMentionCount","mentionTrigger","config","trigger","memberCount","frozen","isFrozen","broadcast","isBroadcast","notificationOff","myPushTriggerOption","createStyleSheet","marginRight","broadcastCover","padding","borderRadius","_default","exports"],"sources":["GroupChannelPreviewContainer.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Pressable } from 'react-native';\n\nimport { useChannelHandler, useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';\nimport {\n GroupChannelPreview,\n Icon,\n LoadingSpinner,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdGroupChannel,\n SendbirdUser,\n getFileExtension,\n getFileType,\n isDifferentChannel,\n isMyMessage,\n useIIFE,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../components/ChannelCover';\nimport { DEFAULT_LONG_PRESS_DELAY } from '../constants';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\ntype Props = {\n channel: SendbirdGroupChannel;\n onPress: () => void;\n onLongPress: () => void;\n};\nconst GroupChannelPreviewContainer = ({ onPress, onLongPress, channel }: Props) => {\n const { currentUser, sdk, sbOptions, mentionManager } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const [typingUsers, setTypingUsers] = useState<SendbirdUser[]>([]);\n\n const handlerId = useUniqHandlerId('GroupChannelPreviewContainer_TypingIndicator');\n useChannelHandler(sdk, handlerId, {\n onTypingStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (!sbOptions.uikit.groupChannel.channelList.enableTypingIndicator) return;\n setTypingUsers(eventChannel.getTypingUsers());\n },\n });\n\n const outgoingStatus = useMessageOutgoingStatus(sdk, channel, channel.lastMessage);\n\n const bodyText = useIIFE(() => {\n if (typingUsers.length > 0) return STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers) || '';\n else return STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_BODY(channel);\n });\n\n const fileIcon = useIIFE(() => {\n if (!channel.lastMessage?.isFileMessage()) return undefined;\n if (typingUsers.length > 0) return undefined;\n return iconMapper[getFileType(channel.lastMessage.type || getFileExtension(channel.lastMessage.name))];\n });\n\n const titleCaptionIcon = useIIFE(() => {\n if (!channel.lastMessage || channel.isEphemeral) return undefined;\n if (!sbOptions.uikit.groupChannel.channelList.enableMessageReceiptStatus) return undefined;\n if (!isMyMessage(channel.lastMessage, currentUser?.userId)) return undefined;\n\n if (outgoingStatus === 'PENDING') {\n return <LoadingSpinner size={16} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'FAILED') {\n return <Icon icon={'error'} size={16} color={colors.error} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'UNDELIVERED') {\n return <Icon icon={'done'} size={16} color={colors.onBackground03} containerStyle={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'DELIVERED' || outgoingStatus === 'UNREAD') {\n return <Icon icon={'done-all'} size={16} color={colors.onBackground03} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'READ') {\n return <Icon icon={'done-all'} size={16} color={colors.secondary} style={styles.titleCaptionIcon} />;\n }\n\n return undefined;\n });\n\n const unreadMessageCount = useIIFE(() => (channel.isEphemeral ? 0 : channel.unreadMessageCount));\n\n return (\n <Pressable delayLongPress={DEFAULT_LONG_PRESS_DELAY} onPress={onPress} onLongPress={onLongPress}>\n <GroupChannelPreview\n customCover={<ChannelCover channel={channel} size={56} />}\n coverUrl={channel.coverUrl}\n title={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE(currentUser?.userId ?? '', channel)}\n titleCaptionLeft={titleCaptionIcon}\n titleCaption={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE_CAPTION(channel)}\n body={bodyText}\n bodyIcon={fileIcon}\n badgeCount={unreadMessageCount}\n mentioned={channel.unreadMentionCount > 0}\n mentionTrigger={mentionManager.config.trigger}\n memberCount={channel.memberCount > 2 ? channel.memberCount : undefined}\n frozen={channel.isFrozen}\n broadcast={channel.isBroadcast}\n notificationOff={channel.myPushTriggerOption === 'off'}\n />\n </Pressable>\n );\n};\n\nconst styles = createStyleSheet({\n titleCaptionIcon: {\n marginRight: 4,\n },\n broadcastCover: {\n padding: 12,\n borderRadius: 28,\n },\n});\n\nexport default GroupChannelPreviewContainer;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AAOA,IAAAI,WAAA,GAAAJ,OAAA;AAWA,IAAAK,aAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAAuE,SAAAM,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAd,wBAAAU,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAEvE,MAAMW,UAAU,GAAG;EAAEC,KAAK,EAAE,YAAY;EAAEC,KAAK,EAAE,OAAO;EAAEC,KAAK,EAAE,MAAM;EAAEC,IAAI,EAAE;AAAgB,CAAU;AAOzG,MAAMC,4BAA4B,GAAGC,IAAA,IAA8C;EAAA,IAA7C;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAe,CAAC,GAAAH,IAAA;EAC5E,MAAM;IAAEI,WAAW;IAAEC,GAAG;IAAEC,SAAS;IAAEC;EAAe,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACzE,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAiB,EAAE,CAAC;EAElE,MAAMC,SAAS,GAAG,IAAAC,4BAAgB,EAAC,8CAA8C,CAAC;EAClF,IAAAC,iCAAiB,EAACb,GAAG,EAAEW,SAAS,EAAE;IAChCG,qBAAqBA,CAACC,YAAY,EAAE;MAClC,IAAI,IAAAC,8BAAkB,EAAClB,OAAO,EAAEiB,YAAY,CAAC,EAAE;MAC/C,IAAI,CAACd,SAAS,CAACgB,KAAK,CAACC,YAAY,CAACC,WAAW,CAACC,qBAAqB,EAAE;MACrEX,cAAc,CAACM,YAAY,CAACM,cAAc,EAAE,CAAC;IAC/C;EACF,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,IAAAC,wCAAwB,EAACvB,GAAG,EAAEF,OAAO,EAAEA,OAAO,CAAC0B,WAAW,CAAC;EAElF,MAAMC,QAAQ,GAAG,IAAAC,mBAAO,EAAC,MAAM;IAC7B,IAAIlB,WAAW,CAACmB,MAAM,GAAG,CAAC,EAAE,OAAOvB,OAAO,CAACwB,MAAM,CAACC,wBAAwB,CAACrB,WAAW,CAAC,IAAI,EAAE,CAAC,KACzF,OAAOJ,OAAO,CAAC0B,kBAAkB,CAACC,oBAAoB,CAACjC,OAAO,CAAC;EACtE,CAAC,CAAC;EAEF,MAAMkC,QAAQ,GAAG,IAAAN,mBAAO,EAAC,MAAM;IAAA,IAAAO,oBAAA;IAC7B,IAAI,GAAAA,oBAAA,GAACnC,OAAO,CAAC0B,WAAW,cAAAS,oBAAA,eAAnBA,oBAAA,CAAqBC,aAAa,EAAE,GAAE,OAAOC,SAAS;IAC3D,IAAI3B,WAAW,CAACmB,MAAM,GAAG,CAAC,EAAE,OAAOQ,SAAS;IAC5C,OAAO9C,UAAU,CAAC,IAAA+C,uBAAW,EAACtC,OAAO,CAAC0B,WAAW,CAACa,IAAI,IAAI,IAAAC,4BAAgB,EAACxC,OAAO,CAAC0B,WAAW,CAACe,IAAI,CAAC,CAAC,CAAC;EACxG,CAAC,CAAC;EAEF,MAAMC,gBAAgB,GAAG,IAAAd,mBAAO,EAAC,MAAM;IACrC,IAAI,CAAC5B,OAAO,CAAC0B,WAAW,IAAI1B,OAAO,CAAC2C,WAAW,EAAE,OAAON,SAAS;IACjE,IAAI,CAAClC,SAAS,CAACgB,KAAK,CAACC,YAAY,CAACC,WAAW,CAACuB,0BAA0B,EAAE,OAAOP,SAAS;IAC1F,IAAI,CAAC,IAAAQ,uBAAW,EAAC7C,OAAO,CAAC0B,WAAW,EAAEzB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE6C,MAAM,CAAC,EAAE,OAAOT,SAAS;IAE5E,IAAIb,cAAc,KAAK,SAAS,EAAE;MAChC,oBAAOlE,MAAA,CAAAa,OAAA,CAAA4E,aAAA,CAACpF,2BAAA,CAAAqF,cAAc;QAACC,IAAI,EAAE,EAAG;QAACC,KAAK,EAAEC,MAAM,CAACT;MAAiB,EAAG;IACrE;IAEA,IAAIlB,cAAc,KAAK,QAAQ,EAAE;MAC/B,oBAAOlE,MAAA,CAAAa,OAAA,CAAA4E,aAAA,CAACpF,2BAAA,CAAAyF,IAAI;QAACC,IAAI,EAAE,OAAQ;QAACJ,IAAI,EAAE,EAAG;QAACK,KAAK,EAAE9C,MAAM,CAAC+C,KAAM;QAACL,KAAK,EAAEC,MAAM,CAACT;MAAiB,EAAG;IAC/F;IAEA,IAAIlB,cAAc,KAAK,aAAa,EAAE;MACpC,oBAAOlE,MAAA,CAAAa,OAAA,CAAA4E,aAAA,CAACpF,2BAAA,CAAAyF,IAAI;QAACC,IAAI,EAAE,MAAO;QAACJ,IAAI,EAAE,EAAG;QAACK,KAAK,EAAE9C,MAAM,CAACgD,cAAe;QAACC,cAAc,EAAEN,MAAM,CAACT;MAAiB,EAAG;IAChH;IAEA,IAAIlB,cAAc,KAAK,WAAW,IAAIA,cAAc,KAAK,QAAQ,EAAE;MACjE,oBAAOlE,MAAA,CAAAa,OAAA,CAAA4E,aAAA,CAACpF,2BAAA,CAAAyF,IAAI;QAACC,IAAI,EAAE,UAAW;QAACJ,IAAI,EAAE,EAAG;QAACK,KAAK,EAAE9C,MAAM,CAACgD,cAAe;QAACN,KAAK,EAAEC,MAAM,CAACT;MAAiB,EAAG;IAC3G;IAEA,IAAIlB,cAAc,KAAK,MAAM,EAAE;MAC7B,oBAAOlE,MAAA,CAAAa,OAAA,CAAA4E,aAAA,CAACpF,2BAAA,CAAAyF,IAAI;QAACC,IAAI,EAAE,UAAW;QAACJ,IAAI,EAAE,EAAG;QAACK,KAAK,EAAE9C,MAAM,CAACkD,SAAU;QAACR,KAAK,EAAEC,MAAM,CAACT;MAAiB,EAAG;IACtG;IAEA,OAAOL,SAAS;EAClB,CAAC,CAAC;EAEF,MAAMsB,kBAAkB,GAAG,IAAA/B,mBAAO,EAAC,MAAO5B,OAAO,CAAC2C,WAAW,GAAG,CAAC,GAAG3C,OAAO,CAAC2D,kBAAmB,CAAC;EAEhG,oBACErG,MAAA,CAAAa,OAAA,CAAA4E,aAAA,CAACtF,YAAA,CAAAmG,SAAS;IAACC,cAAc,EAAEC,mCAAyB;IAAChE,OAAO,EAAEA,OAAQ;IAACC,WAAW,EAAEA;EAAY,gBAC9FzC,MAAA,CAAAa,OAAA,CAAA4E,aAAA,CAACpF,2BAAA,CAAAoG,mBAAmB;IAClBC,WAAW,eAAE1G,MAAA,CAAAa,OAAA,CAAA4E,aAAA,CAAClF,aAAA,CAAAM,OAAY;MAAC6B,OAAO,EAAEA,OAAQ;MAACiD,IAAI,EAAE;IAAG,EAAI;IAC1DgB,QAAQ,EAAEjE,OAAO,CAACiE,QAAS;IAC3BC,KAAK,EAAE5D,OAAO,CAAC0B,kBAAkB,CAACmC,qBAAqB,CAAC,CAAAlE,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE6C,MAAM,KAAI,EAAE,EAAE9C,OAAO,CAAE;IAC5FoE,gBAAgB,EAAE1B,gBAAiB;IACnC2B,YAAY,EAAE/D,OAAO,CAAC0B,kBAAkB,CAACsC,6BAA6B,CAACtE,OAAO,CAAE;IAChFuE,IAAI,EAAE5C,QAAS;IACf6C,QAAQ,EAAEtC,QAAS;IACnBuC,UAAU,EAAEd,kBAAmB;IAC/Be,SAAS,EAAE1E,OAAO,CAAC2E,kBAAkB,GAAG,CAAE;IAC1CC,cAAc,EAAExE,cAAc,CAACyE,MAAM,CAACC,OAAQ;IAC9CC,WAAW,EAAE/E,OAAO,CAAC+E,WAAW,GAAG,CAAC,GAAG/E,OAAO,CAAC+E,WAAW,GAAG1C,SAAU;IACvE2C,MAAM,EAAEhF,OAAO,CAACiF,QAAS;IACzBC,SAAS,EAAElF,OAAO,CAACmF,WAAY;IAC/BC,eAAe,EAAEpF,OAAO,CAACqF,mBAAmB,KAAK;EAAM,EACvD,CACQ;AAEhB,CAAC;AAED,MAAMlC,MAAM,GAAG,IAAAmC,4CAAgB,EAAC;EAC9B5C,gBAAgB,EAAE;IAChB6C,WAAW,EAAE;EACf,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE,EAAE;IACXC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEY/F,4BAA4B;AAAAgG,OAAA,CAAAzH,OAAA,GAAAwH,QAAA"}
|
|
@@ -11,6 +11,7 @@ var _chat = _interopRequireDefault(require("@sendbird/chat"));
|
|
|
11
11
|
var _groupChannel = require("@sendbird/chat/groupChannel");
|
|
12
12
|
var _openChannel = require("@sendbird/chat/openChannel");
|
|
13
13
|
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
14
|
+
var _uikitTools = require("@sendbird/uikit-tools");
|
|
14
15
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
15
16
|
var _LocalizationCtx = require("../contexts/LocalizationCtx");
|
|
16
17
|
var _PlatformServiceCtx = require("../contexts/PlatformServiceCtx");
|
|
@@ -35,12 +36,8 @@ const SendbirdUIKit = Object.freeze({
|
|
|
35
36
|
PLATFORM: _reactNative.Platform.OS.toLowerCase(),
|
|
36
37
|
DEFAULT: {
|
|
37
38
|
AUTO_PUSH_TOKEN_REGISTRATION: true,
|
|
38
|
-
CHANNEL_LIST_TYPING_INDICATOR: false,
|
|
39
|
-
CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: false,
|
|
40
39
|
USE_USER_ID_FOR_NICKNAME: false,
|
|
41
|
-
|
|
42
|
-
IMAGE_COMPRESSION: true,
|
|
43
|
-
MESSAGE_SEARCH: false
|
|
40
|
+
IMAGE_COMPRESSION: true
|
|
44
41
|
}
|
|
45
42
|
});
|
|
46
43
|
exports.SendbirdUIKit = SendbirdUIKit;
|
|
@@ -49,6 +46,7 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
49
46
|
children,
|
|
50
47
|
appId,
|
|
51
48
|
chatOptions,
|
|
49
|
+
uikitOptions,
|
|
52
50
|
platformServices,
|
|
53
51
|
localization,
|
|
54
52
|
styles,
|
|
@@ -58,12 +56,15 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
58
56
|
userMention,
|
|
59
57
|
imageCompression
|
|
60
58
|
} = _ref;
|
|
59
|
+
if (!chatOptions.localCacheStorage) {
|
|
60
|
+
throw new Error('SendbirdUIKitContainer: chatOptions.localCacheStorage is required');
|
|
61
|
+
}
|
|
61
62
|
const defaultStringSet = (localization === null || localization === void 0 ? void 0 : localization.stringSet) ?? _StringSet.default;
|
|
62
63
|
const isFirstMount = (0, _uikitUtils.useIsFirstMount)();
|
|
63
64
|
const unsubscribes = (0, _react.useRef)([]);
|
|
64
|
-
const internalStorage = (0, _react.
|
|
65
|
+
const [internalStorage] = (0, _react.useState)(() => new _InternalLocalCacheStorage.default(chatOptions.localCacheStorage));
|
|
65
66
|
const [sdkInstance, setSdkInstance] = (0, _react.useState)(() => {
|
|
66
|
-
const sendbird = initializeSendbird(appId, internalStorage, chatOptions
|
|
67
|
+
const sendbird = initializeSendbird(appId, internalStorage, chatOptions.onInitialized);
|
|
67
68
|
unsubscribes.current = sendbird.unsubscribes;
|
|
68
69
|
return sendbird.chatSDK;
|
|
69
70
|
});
|
|
@@ -76,8 +77,8 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
76
77
|
delimiter: _MentionConfig.default.DEFAULT.DELIMITER,
|
|
77
78
|
trigger: _MentionConfig.default.DEFAULT.TRIGGER
|
|
78
79
|
});
|
|
79
|
-
return new _MentionManager.default(config
|
|
80
|
-
}, [
|
|
80
|
+
return new _MentionManager.default(config);
|
|
81
|
+
}, [userMention === null || userMention === void 0 ? void 0 : userMention.mentionLimit, userMention === null || userMention === void 0 ? void 0 : userMention.suggestionLimit, userMention === null || userMention === void 0 ? void 0 : userMention.debounceMills]);
|
|
81
82
|
const imageCompressionConfig = (0, _react.useMemo)(() => {
|
|
82
83
|
return new _ImageCompressionConfig.default({
|
|
83
84
|
compressionRate: (imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.compressionRate) || _ImageCompressionConfig.default.DEFAULT.COMPRESSION_RATE,
|
|
@@ -87,7 +88,7 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
87
88
|
}, [imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.compressionRate, imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.width, imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.height]);
|
|
88
89
|
(0, _react.useLayoutEffect)(() => {
|
|
89
90
|
if (!isFirstMount) {
|
|
90
|
-
const sendbird = initializeSendbird(appId, internalStorage, chatOptions
|
|
91
|
+
const sendbird = initializeSendbird(appId, internalStorage, chatOptions.onInitialized);
|
|
91
92
|
setSdkInstance(sendbird.chatSDK);
|
|
92
93
|
unsubscribes.current = sendbird.unsubscribes;
|
|
93
94
|
}
|
|
@@ -108,18 +109,27 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
108
109
|
return /*#__PURE__*/_react.default.createElement(_InternalErrorBoundaryContainer.default, errorBoundary, children);
|
|
109
110
|
}
|
|
110
111
|
};
|
|
111
|
-
return /*#__PURE__*/_react.default.createElement(_reactNativeSafeAreaContext.SafeAreaProvider, null, /*#__PURE__*/_react.default.createElement(
|
|
112
|
+
return /*#__PURE__*/_react.default.createElement(_reactNativeSafeAreaContext.SafeAreaProvider, null, /*#__PURE__*/_react.default.createElement(_uikitTools.UIKitConfigProvider, {
|
|
113
|
+
storage: internalStorage,
|
|
114
|
+
localConfigs: {
|
|
115
|
+
common: uikitOptions === null || uikitOptions === void 0 ? void 0 : uikitOptions.common,
|
|
116
|
+
groupChannel: {
|
|
117
|
+
channel: uikitOptions === null || uikitOptions === void 0 ? void 0 : uikitOptions.groupChannel,
|
|
118
|
+
channelList: uikitOptions === null || uikitOptions === void 0 ? void 0 : uikitOptions.groupChannelList,
|
|
119
|
+
setting: uikitOptions === null || uikitOptions === void 0 ? void 0 : uikitOptions.groupChannelSettings
|
|
120
|
+
},
|
|
121
|
+
openChannel: {
|
|
122
|
+
channel: uikitOptions === null || uikitOptions === void 0 ? void 0 : uikitOptions.openChannel
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}, /*#__PURE__*/_react.default.createElement(_SendbirdChatCtx.SendbirdChatProvider, {
|
|
112
126
|
sdkInstance: sdkInstance,
|
|
113
127
|
emojiManager: emojiManager,
|
|
114
128
|
mentionManager: mentionManager,
|
|
115
129
|
imageCompressionConfig: imageCompressionConfig,
|
|
116
|
-
enableAutoPushTokenRegistration:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
enableUseUserIdForNickname: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableUseUserIdForNickname) ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME,
|
|
120
|
-
enableUserMention: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableUserMention) ?? SendbirdUIKit.DEFAULT.USER_MENTION,
|
|
121
|
-
enableImageCompression: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableImageCompression) ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION,
|
|
122
|
-
enableMessageSearch: (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableMessageSearch) ?? SendbirdUIKit.DEFAULT.MESSAGE_SEARCH
|
|
130
|
+
enableAutoPushTokenRegistration: chatOptions.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION,
|
|
131
|
+
enableUseUserIdForNickname: chatOptions.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME,
|
|
132
|
+
enableImageCompression: chatOptions.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION
|
|
123
133
|
}, /*#__PURE__*/_react.default.createElement(_LocalizationCtx.LocalizationProvider, {
|
|
124
134
|
stringSet: defaultStringSet
|
|
125
135
|
}, /*#__PURE__*/_react.default.createElement(_PlatformServiceCtx.PlatformServiceProvider, {
|
|
@@ -153,7 +163,7 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
153
163
|
}
|
|
154
164
|
}
|
|
155
165
|
}, renderChildren());
|
|
156
|
-
}))))))))));
|
|
166
|
+
})))))))))));
|
|
157
167
|
};
|
|
158
168
|
const initializeSendbird = (appId, internalStorage, onInitialized) => {
|
|
159
169
|
const unsubscribes = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_chat","_interopRequireDefault","_groupChannel","_openChannel","_uikitReactNativeFoundation","_uikitUtils","_LocalizationCtx","_PlatformServiceCtx","_ReactionCtx","_SendbirdChatCtx","_UserProfileCtx","_EmojiManager","_ImageCompressionConfig","_InternalLocalCacheStorage","_MentionConfig","_MentionManager","_StringSet","_dynamicModule","_version","_InternalErrorBoundaryContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","NetInfo","SBUDynamicModule","SendbirdUIKit","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","CHANNEL_LIST_TYPING_INDICATOR","CHANNEL_LIST_MESSAGE_RECEIPT_STATUS","USE_USER_ID_FOR_NICKNAME","USER_MENTION","IMAGE_COMPRESSION","MESSAGE_SEARCH","exports","SendbirdUIKitContainer","_ref","children","appId","chatOptions","platformServices","localization","styles","errorBoundary","toast","userProfile","userMention","imageCompression","defaultStringSet","stringSet","StringSetEn","isFirstMount","useIsFirstMount","unsubscribes","useRef","internalStorage","useMemo","localCacheStorage","InternalLocalCacheStorage","undefined","sdkInstance","setSdkInstance","useState","sendbird","initializeSendbird","onInitialized","current","chatSDK","emojiManager","EmojiManager","mentionManager","config","MentionConfig","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","MentionManager","enableUserMention","imageCompressionConfig","ImageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","useLayoutEffect","forEach","u","renderChildren","disabled","createElement","SafeAreaProvider","SendbirdChatProvider","enableAutoPushTokenRegistration","enableChannelListTypingIndicator","enableChannelListMessageReceiptStatus","enableUseUserIdForNickname","enableImageCompression","enableMessageSearch","LocalizationProvider","PlatformServiceProvider","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","UIKitThemeProvider","theme","LightUIKitTheme","HeaderStyleProvider","HeaderComponent","Header","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","ToastProvider","dismissTimeout","UserProfileProvider","onCreateChannel","onBeforeCreateChannel","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","Sendbird","init","modules","GroupChannelModule","OpenChannelModule","localCacheEnabled","Boolean","useAsyncStorageStore","newInstance","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","NOOP","listener","callback","callbackType","callCount","unsubscribe","state","online","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","_default"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport Sendbird 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 type {\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport { NOOP, useIsFirstMount } from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport type { UIKitFeaturesInSendbirdChatContext } 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 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} from '../platform/types';\nimport type { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\n\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n CHANNEL_LIST_TYPING_INDICATOR: false,\n CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: false,\n USE_USER_ID_FOR_NICKNAME: false,\n USER_MENTION: false,\n IMAGE_COMPRESSION: true,\n MESSAGE_SEARCH: false,\n },\n});\n\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n };\n chatOptions?: {\n localCacheStorage?: LocalCacheStorage;\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n } & Partial<UIKitFeaturesInSendbirdChatContext>;\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) => JSX.Element;\n };\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = ({\n children,\n appId,\n chatOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n toast,\n userProfile,\n userMention,\n imageCompression,\n}: SendbirdUIKitContainerProps) => {\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n const internalStorage = useMemo(\n () => (chatOptions?.localCacheStorage ? new InternalLocalCacheStorage(chatOptions.localCacheStorage) : undefined),\n [chatOptions?.localCacheStorage],\n );\n\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n\n const mentionManager = useMemo(() => {\n const config = 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 return new MentionManager(config, chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION);\n }, [\n chatOptions?.enableUserMention,\n userMention?.mentionLimit,\n userMention?.suggestionLimit,\n userMention?.debounceMills,\n ]);\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 useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n if (!isFirstMount) {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\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 return (\n <SafeAreaProvider>\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n enableAutoPushTokenRegistration={\n chatOptions?.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableChannelListTypingIndicator={\n chatOptions?.enableChannelListTypingIndicator ?? SendbirdUIKit.DEFAULT.CHANNEL_LIST_TYPING_INDICATOR\n }\n enableChannelListMessageReceiptStatus={\n chatOptions?.enableChannelListMessageReceiptStatus ??\n SendbirdUIKit.DEFAULT.CHANNEL_LIST_MESSAGE_RECEIPT_STATUS\n }\n enableUseUserIdForNickname={\n chatOptions?.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableUserMention={chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION}\n enableImageCompression={chatOptions?.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n enableMessageSearch={chatOptions?.enableMessageSearch ?? SendbirdUIKit.DEFAULT.MESSAGE_SEARCH}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\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\n onCreateChannel={userProfile?.onCreateChannel}\n onBeforeCreateChannel={userProfile?.onBeforeCreateChannel}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ReactionProvider>\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 </SafeAreaProvider>\n );\n};\n\nconst initializeSendbird = (\n appId: string,\n internalStorage?: InternalLocalCacheStorage,\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK,\n) => {\n const unsubscribes: Array<() => void> = [];\n let chatSDK: SendbirdChatSDK;\n\n chatSDK = Sendbird.init({\n appId,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: Boolean(internalStorage),\n useAsyncStorageStore: internalStorage as never,\n newInstance: true,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n if (SendbirdUIKit.VERSION) {\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\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_chat","_interopRequireDefault","_groupChannel","_openChannel","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_LocalizationCtx","_PlatformServiceCtx","_ReactionCtx","_SendbirdChatCtx","_UserProfileCtx","_EmojiManager","_ImageCompressionConfig","_InternalLocalCacheStorage","_MentionConfig","_MentionManager","_StringSet","_dynamicModule","_version","_InternalErrorBoundaryContainer","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","NetInfo","SBUDynamicModule","SendbirdUIKit","freeze","VERSION","PLATFORM","Platform","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","USE_USER_ID_FOR_NICKNAME","IMAGE_COMPRESSION","exports","SendbirdUIKitContainer","_ref","children","appId","chatOptions","uikitOptions","platformServices","localization","styles","errorBoundary","toast","userProfile","userMention","imageCompression","localCacheStorage","Error","defaultStringSet","stringSet","StringSetEn","isFirstMount","useIsFirstMount","unsubscribes","useRef","internalStorage","useState","InternalLocalCacheStorage","sdkInstance","setSdkInstance","sendbird","initializeSendbird","onInitialized","current","chatSDK","emojiManager","useMemo","EmojiManager","mentionManager","config","MentionConfig","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","MentionManager","imageCompressionConfig","ImageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","useLayoutEffect","forEach","u","renderChildren","disabled","createElement","SafeAreaProvider","UIKitConfigProvider","storage","localConfigs","common","groupChannel","channel","channelList","groupChannelList","setting","groupChannelSettings","openChannel","SendbirdChatProvider","enableAutoPushTokenRegistration","enableUseUserIdForNickname","enableImageCompression","LocalizationProvider","PlatformServiceProvider","fileService","file","notificationService","notification","clipboardService","clipboard","mediaService","media","UIKitThemeProvider","theme","LightUIKitTheme","HeaderStyleProvider","HeaderComponent","Header","defaultTitleAlign","defaultHeaderTitleAlign","statusBarTranslucent","ToastProvider","dismissTimeout","UserProfileProvider","onCreateChannel","onBeforeCreateChannel","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","Sendbird","init","modules","GroupChannelModule","OpenChannelModule","localCacheEnabled","Boolean","useAsyncStorageStore","newInstance","addExtension","addEventListener","_chatSDK$setOnlineLis","_chatSDK","_chatSDK$setOfflineLi","_chatSDK2","NOOP","listener","callback","callbackType","callCount","unsubscribe","state","online","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline","_default"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport Sendbird 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 type {\n PartialDeep,\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport { NOOP, useIsFirstMount } from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\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 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} from '../platform/types';\nimport type { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\ntype UnimplementedFeatures = 'enableVoiceMessage' | 'threadReplySelectType' | 'replyType';\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 SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n };\n chatOptions: {\n localCacheStorage: LocalCacheStorage;\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n } & Partial<ChatRelatedFeaturesInUIKit>;\n uikitOptions?: PartialDeep<{\n common: SBUConfig['common'];\n groupChannel: Omit<SBUConfig['groupChannel']['channel'], UnimplementedFeatures>;\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) => JSX.Element;\n };\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = ({\n children,\n appId,\n chatOptions,\n uikitOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n toast,\n userProfile,\n userMention,\n imageCompression,\n}: SendbirdUIKitContainerProps) => {\n if (!chatOptions.localCacheStorage) {\n throw new Error('SendbirdUIKitContainer: chatOptions.localCacheStorage is required');\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, internalStorage, chatOptions.onInitialized);\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n\n const mentionManager = useMemo(() => {\n const config = 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 return new MentionManager(config);\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 useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions.onInitialized);\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n if (!isFirstMount) {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\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 return (\n <SafeAreaProvider>\n <UIKitConfigProvider\n storage={internalStorage}\n localConfigs={{\n common: uikitOptions?.common,\n groupChannel: {\n channel: uikitOptions?.groupChannel,\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 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 >\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\n onCreateChannel={userProfile?.onCreateChannel}\n onBeforeCreateChannel={userProfile?.onBeforeCreateChannel}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ReactionProvider>\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 );\n};\n\nconst initializeSendbird = (\n appId: string,\n internalStorage?: InternalLocalCacheStorage,\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK,\n) => {\n const unsubscribes: Array<() => void> = [];\n let chatSDK: SendbirdChatSDK;\n\n chatSDK = Sendbird.init({\n appId,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: Boolean(internalStorage),\n useAsyncStorageStore: internalStorage as never,\n newInstance: true,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n if (SendbirdUIKit.VERSION) {\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\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.SendbirdChatProvider = exports.SendbirdChatContext = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _uikitChatHooks = require("@sendbird/uikit-chat-hooks");
|
|
9
|
+
var _uikitTools = require("@sendbird/uikit-tools");
|
|
9
10
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
10
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -19,16 +20,16 @@ const SendbirdChatProvider = _ref => {
|
|
|
19
20
|
mentionManager,
|
|
20
21
|
imageCompressionConfig,
|
|
21
22
|
enableAutoPushTokenRegistration,
|
|
22
|
-
enableChannelListMessageReceiptStatus,
|
|
23
|
-
enableChannelListTypingIndicator,
|
|
24
23
|
enableUseUserIdForNickname,
|
|
25
|
-
|
|
26
|
-
enableImageCompression,
|
|
27
|
-
enableMessageSearch
|
|
24
|
+
enableImageCompression
|
|
28
25
|
} = _ref;
|
|
29
26
|
const [currentUser, _setCurrentUser] = (0, _react.useState)();
|
|
30
27
|
const forceUpdate = (0, _uikitUtils.useForceUpdate)();
|
|
31
28
|
const appFeatures = (0, _uikitChatHooks.useAppFeatures)(sdkInstance);
|
|
29
|
+
const {
|
|
30
|
+
configs,
|
|
31
|
+
configsWithAppAttr
|
|
32
|
+
} = (0, _uikitTools.useUIKitConfig)();
|
|
32
33
|
const setCurrentUser = (0, _react.useCallback)(user => {
|
|
33
34
|
// NOTE: Sendbird SDK handle User object is always same object, so force update after setCurrentUser
|
|
34
35
|
_setCurrentUser(user);
|
|
@@ -72,15 +73,17 @@ const SendbirdChatProvider = _ref => {
|
|
|
72
73
|
setCurrentUser,
|
|
73
74
|
updateCurrentUserInfo,
|
|
74
75
|
markAsDeliveredWithChannel,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
// TODO: Options should be moved to the common area at the higher level to be passed to the context of each product.
|
|
77
|
+
// For example, common -> chat context, common -> calls context
|
|
78
|
+
sbOptions: {
|
|
79
|
+
appInfo: appFeatures,
|
|
80
|
+
uikit: configs,
|
|
81
|
+
uikitWithAppInfo: configsWithAppAttr(sdkInstance),
|
|
82
|
+
chat: {
|
|
83
|
+
autoPushTokenRegistrationEnabled: enableAutoPushTokenRegistration,
|
|
84
|
+
useUserIdForNicknameEnabled: enableUseUserIdForNickname,
|
|
85
|
+
imageCompressionEnabled: enableImageCompression
|
|
86
|
+
}
|
|
84
87
|
}
|
|
85
88
|
};
|
|
86
89
|
return /*#__PURE__*/_react.default.createElement(SendbirdChatContext.Provider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SendbirdChatContext","React","createContext","exports","SendbirdChatProvider","_ref","children","sdkInstance","emojiManager","mentionManager","imageCompressionConfig","enableAutoPushTokenRegistration","enableChannelListMessageReceiptStatus","enableChannelListTypingIndicator","enableUseUserIdForNickname","enableUserMention","enableImageCompression","enableMessageSearch","currentUser","_setCurrentUser","useState","forceUpdate","useForceUpdate","appFeatures","useAppFeatures","setCurrentUser","useCallback","user","updateCurrentUserInfo","nickname","profile","Error","params","profileUrl","profileImage","markAsDeliveredWithChannel","channel","deliveryReceiptEnabled","confirmAndMarkAsDelivered","useAppState","status","connectionState","setForegroundState","setBackgroundState","value","sdk","features","autoPushTokenRegistrationEnabled","channelListTypingIndicatorEnabled","channelListMessageReceiptStatusEnabled","useUserIdForNicknameEnabled","userMentionEnabled","imageCompressionEnabled","messageSearchEnabled","createElement","Provider"],"sources":["SendbirdChatCtx.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\n\nimport { useAppFeatures } from '@sendbird/uikit-chat-hooks';\nimport type {\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdUser,\n SendbirdUserUpdateParams,\n} from '@sendbird/uikit-utils';\nimport { confirmAndMarkAsDelivered, useAppState, useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type EmojiManager from '../libs/EmojiManager';\nimport type ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport type MentionManager from '../libs/MentionManager';\nimport type { FileType } from '../platform/types';\n\nexport interface UIKitFeaturesInSendbirdChatContext {\n enableAutoPushTokenRegistration: boolean;\n enableChannelListTypingIndicator: boolean;\n enableChannelListMessageReceiptStatus: boolean;\n enableUseUserIdForNickname: boolean;\n enableUserMention: boolean;\n enableImageCompression: boolean;\n enableMessageSearch: boolean;\n}\n\ninterface Props extends UIKitFeaturesInSendbirdChatContext, React.PropsWithChildren {\n sdkInstance: SendbirdChatSDK;\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n imageCompressionConfig: ImageCompressionConfig;\n}\n\nexport type SendbirdChatContextType = {\n sdk: SendbirdChatSDK;\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n imageCompressionConfig: ImageCompressionConfig;\n currentUser?: SendbirdUser;\n setCurrentUser: React.Dispatch<React.SetStateAction<SendbirdUser | undefined>>;\n\n // helper functions\n updateCurrentUserInfo: (nickname?: string, profile?: string | FileType) => Promise<SendbirdUser>;\n markAsDeliveredWithChannel: (channel: SendbirdGroupChannel) => void;\n\n features: {\n // RN UIKit features\n autoPushTokenRegistrationEnabled: boolean;\n\n // UIKit features\n channelListTypingIndicatorEnabled: boolean;\n channelListMessageReceiptStatusEnabled: boolean;\n useUserIdForNicknameEnabled: boolean;\n userMentionEnabled: boolean;\n imageCompressionEnabled: boolean;\n messageSearchEnabled: boolean;\n\n // Sendbird application features\n deliveryReceiptEnabled: boolean;\n broadcastChannelEnabled: boolean;\n superGroupChannelEnabled: boolean;\n reactionEnabled: boolean;\n };\n};\n\nexport const SendbirdChatContext = React.createContext<SendbirdChatContextType | null>(null);\nexport const SendbirdChatProvider = ({\n children,\n sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n enableAutoPushTokenRegistration,\n enableChannelListMessageReceiptStatus,\n enableChannelListTypingIndicator,\n enableUseUserIdForNickname,\n enableUserMention,\n enableImageCompression,\n enableMessageSearch,\n}: Props) => {\n const [currentUser, _setCurrentUser] = useState<SendbirdUser>();\n const forceUpdate = useForceUpdate();\n const appFeatures = useAppFeatures(sdkInstance);\n\n const setCurrentUser: SendbirdChatContextType['setCurrentUser'] = useCallback((user) => {\n // NOTE: Sendbird SDK handle User object is always same object, so force update after setCurrentUser\n _setCurrentUser(user);\n forceUpdate();\n }, []);\n\n const updateCurrentUserInfo: SendbirdChatContextType['updateCurrentUserInfo'] = useCallback(\n async (nickname, profile) => {\n let user = currentUser;\n\n if (!user) throw new Error('Current user is not defined, please connect using `useConnection()` hook first');\n\n const params: SendbirdUserUpdateParams = {};\n\n if (!nickname) {\n params.nickname = user.nickname;\n } else {\n params.nickname = nickname;\n }\n\n if (!profile) {\n params.profileUrl = user.profileUrl;\n } else if (typeof profile === 'string') {\n params.profileUrl = profile;\n } else if (typeof profile === 'object') {\n params.profileImage = profile;\n } else {\n throw new Error(`Cannot update profile, not supported profile type(${typeof profile})`);\n }\n\n user = await sdkInstance.updateCurrentUserInfo(params);\n\n setCurrentUser(user);\n return user;\n },\n [sdkInstance, currentUser, setCurrentUser],\n );\n\n const markAsDeliveredWithChannel: SendbirdChatContextType['markAsDeliveredWithChannel'] = useCallback(\n (channel: SendbirdGroupChannel) => {\n if (appFeatures.deliveryReceiptEnabled) confirmAndMarkAsDelivered([channel]);\n },\n [sdkInstance, appFeatures.deliveryReceiptEnabled],\n );\n\n useAppState('change', (status) => {\n // 'active' | 'background' | 'inactive' | 'unknown' | 'extension';\n if (status === 'active') sdkInstance.connectionState === 'CLOSED' && sdkInstance.setForegroundState();\n else if (status === 'background') sdkInstance.connectionState === 'OPEN' && sdkInstance.setBackgroundState();\n });\n\n const value: SendbirdChatContextType = {\n sdk: sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n currentUser,\n setCurrentUser,\n\n updateCurrentUserInfo,\n markAsDeliveredWithChannel,\n\n features: {\n ...appFeatures,\n autoPushTokenRegistrationEnabled: enableAutoPushTokenRegistration,\n channelListTypingIndicatorEnabled: enableChannelListTypingIndicator,\n channelListMessageReceiptStatusEnabled: enableChannelListMessageReceiptStatus,\n useUserIdForNicknameEnabled: enableUseUserIdForNickname,\n userMentionEnabled: enableUserMention,\n imageCompressionEnabled: enableImageCompression,\n messageSearchEnabled: enableMessageSearch,\n },\n };\n\n return <SendbirdChatContext.Provider value={value}>{children}</SendbirdChatContext.Provider>;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitTools","_uikitUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SendbirdChatContext","React","createContext","exports","SendbirdChatProvider","_ref","children","sdkInstance","emojiManager","mentionManager","imageCompressionConfig","enableAutoPushTokenRegistration","enableUseUserIdForNickname","enableImageCompression","currentUser","_setCurrentUser","useState","forceUpdate","useForceUpdate","appFeatures","useAppFeatures","configs","configsWithAppAttr","useUIKitConfig","setCurrentUser","useCallback","user","updateCurrentUserInfo","nickname","profile","Error","params","profileUrl","profileImage","markAsDeliveredWithChannel","channel","deliveryReceiptEnabled","confirmAndMarkAsDelivered","useAppState","status","connectionState","setForegroundState","setBackgroundState","value","sdk","sbOptions","appInfo","uikit","uikitWithAppInfo","chat","autoPushTokenRegistrationEnabled","useUserIdForNicknameEnabled","imageCompressionEnabled","createElement","Provider"],"sources":["SendbirdChatCtx.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\n\nimport { useAppFeatures } from '@sendbird/uikit-chat-hooks';\nimport { SBUConfig, useUIKitConfig } from '@sendbird/uikit-tools';\nimport type {\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdUser,\n SendbirdUserUpdateParams,\n} from '@sendbird/uikit-utils';\nimport { confirmAndMarkAsDelivered, useAppState, useForceUpdate } from '@sendbird/uikit-utils';\n\nimport type EmojiManager from '../libs/EmojiManager';\nimport type ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport type MentionManager from '../libs/MentionManager';\nimport type { FileType } from '../platform/types';\n\nexport interface ChatRelatedFeaturesInUIKit {\n enableAutoPushTokenRegistration: boolean;\n enableUseUserIdForNickname: boolean;\n enableImageCompression: boolean;\n}\n\ninterface Props extends ChatRelatedFeaturesInUIKit, React.PropsWithChildren {\n sdkInstance: SendbirdChatSDK;\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n imageCompressionConfig: ImageCompressionConfig;\n}\n\nexport type SendbirdChatContextType = {\n sdk: SendbirdChatSDK;\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n imageCompressionConfig: ImageCompressionConfig;\n currentUser?: SendbirdUser;\n setCurrentUser: React.Dispatch<React.SetStateAction<SendbirdUser | undefined>>;\n\n // helper functions\n updateCurrentUserInfo: (nickname?: string, profile?: string | FileType) => Promise<SendbirdUser>;\n markAsDeliveredWithChannel: (channel: SendbirdGroupChannel) => void;\n\n sbOptions: {\n // UIKit options\n uikit: SBUConfig;\n uikitWithAppInfo: {\n groupChannel: {\n channel: {\n enableReactions: boolean;\n enableOgtag: boolean;\n };\n setting: {\n enableMessageSearch: boolean;\n };\n };\n openChannel: {\n channel: {\n enableOgtag: boolean;\n };\n };\n };\n\n // Chat related options in UIKit\n chat: {\n imageCompressionEnabled: boolean;\n useUserIdForNicknameEnabled: boolean;\n autoPushTokenRegistrationEnabled: boolean; // RN only\n };\n\n // Sendbird application options\n appInfo: {\n deliveryReceiptEnabled: boolean;\n broadcastChannelEnabled: boolean;\n superGroupChannelEnabled: boolean;\n reactionEnabled: boolean;\n };\n };\n};\n\nexport const SendbirdChatContext = React.createContext<SendbirdChatContextType | null>(null);\nexport const SendbirdChatProvider = ({\n children,\n sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n enableAutoPushTokenRegistration,\n enableUseUserIdForNickname,\n enableImageCompression,\n}: Props) => {\n const [currentUser, _setCurrentUser] = useState<SendbirdUser>();\n const forceUpdate = useForceUpdate();\n const appFeatures = useAppFeatures(sdkInstance);\n const { configs, configsWithAppAttr } = useUIKitConfig();\n\n const setCurrentUser: SendbirdChatContextType['setCurrentUser'] = useCallback((user) => {\n // NOTE: Sendbird SDK handle User object is always same object, so force update after setCurrentUser\n _setCurrentUser(user);\n forceUpdate();\n }, []);\n\n const updateCurrentUserInfo: SendbirdChatContextType['updateCurrentUserInfo'] = useCallback(\n async (nickname, profile) => {\n let user = currentUser;\n\n if (!user) throw new Error('Current user is not defined, please connect using `useConnection()` hook first');\n\n const params: SendbirdUserUpdateParams = {};\n\n if (!nickname) {\n params.nickname = user.nickname;\n } else {\n params.nickname = nickname;\n }\n\n if (!profile) {\n params.profileUrl = user.profileUrl;\n } else if (typeof profile === 'string') {\n params.profileUrl = profile;\n } else if (typeof profile === 'object') {\n params.profileImage = profile;\n } else {\n throw new Error(`Cannot update profile, not supported profile type(${typeof profile})`);\n }\n\n user = await sdkInstance.updateCurrentUserInfo(params);\n\n setCurrentUser(user);\n return user;\n },\n [sdkInstance, currentUser, setCurrentUser],\n );\n\n const markAsDeliveredWithChannel: SendbirdChatContextType['markAsDeliveredWithChannel'] = useCallback(\n (channel: SendbirdGroupChannel) => {\n if (appFeatures.deliveryReceiptEnabled) confirmAndMarkAsDelivered([channel]);\n },\n [sdkInstance, appFeatures.deliveryReceiptEnabled],\n );\n\n useAppState('change', (status) => {\n // 'active' | 'background' | 'inactive' | 'unknown' | 'extension';\n if (status === 'active') sdkInstance.connectionState === 'CLOSED' && sdkInstance.setForegroundState();\n else if (status === 'background') sdkInstance.connectionState === 'OPEN' && sdkInstance.setBackgroundState();\n });\n\n const value: SendbirdChatContextType = {\n sdk: sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n currentUser,\n setCurrentUser,\n\n updateCurrentUserInfo,\n markAsDeliveredWithChannel,\n\n // TODO: Options should be moved to the common area at the higher level to be passed to the context of each product.\n // For example, common -> chat context, common -> calls context\n sbOptions: {\n appInfo: appFeatures,\n uikit: configs,\n uikitWithAppInfo: configsWithAppAttr(sdkInstance),\n chat: {\n autoPushTokenRegistrationEnabled: enableAutoPushTokenRegistration,\n useUserIdForNicknameEnabled: enableUseUserIdForNickname,\n imageCompressionEnabled: enableImageCompression,\n },\n },\n };\n\n return <SendbirdChatContext.Provider value={value}>{children}</SendbirdChatContext.Provider>;\n};\n"],"mappings":"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"}
|
|
@@ -39,10 +39,12 @@ const UserProfileProvider = _ref => {
|
|
|
39
39
|
const [visible, setVisible] = (0, _react.useState)(false);
|
|
40
40
|
const [hideMessageButton, setHideMessageButton] = (0, _react.useState)(false);
|
|
41
41
|
const show = (0, _react.useCallback)((user, options) => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
if (chatContext.sbOptions.uikit.common.enableUsingDefaultUserProfile) {
|
|
43
|
+
setUser(user);
|
|
44
|
+
setVisible(true);
|
|
45
|
+
setHideMessageButton(Boolean(options === null || options === void 0 ? void 0 : options.hideMessageButton));
|
|
46
|
+
}
|
|
47
|
+
}, [chatContext.sbOptions.uikit.common.enableUsingDefaultUserProfile]);
|
|
46
48
|
const hide = (0, _react.useCallback)(() => {
|
|
47
49
|
setVisible(false);
|
|
48
50
|
}, []);
|