@sendbird/uikit-react-native 3.11.3 → 3.12.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 +2 -2
- package/lib/commonjs/components/ChannelInput/EditInput.js +1 -2
- package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/SendInput.js +1 -2
- package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/VoiceMessageInput.js +1 -2
- package/lib/commonjs/components/ChannelInput/VoiceMessageInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/index.js +1 -2
- package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
- package/lib/commonjs/components/ChatFlatList/index.js +1 -2
- package/lib/commonjs/components/ChatFlatList/index.js.map +1 -1
- package/lib/commonjs/components/FileViewer/FileViewerContent.js +2 -3
- package/lib/commonjs/components/FileViewer/FileViewerContent.js.map +1 -1
- package/lib/commonjs/components/FileViewer/index.js +1 -2
- package/lib/commonjs/components/FileViewer/index.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +1 -2
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js +1 -2
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +1 -2
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +1 -2
- package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -1
- package/lib/commonjs/components/ThreadChatFlatList/index.js +1 -2
- package/lib/commonjs/components/ThreadChatFlatList/index.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js +1 -2
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/index.js +1 -2
- package/lib/commonjs/components/ThreadParentMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +1 -2
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +1 -2
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/PlatformServiceCtx.js +1 -2
- package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
- package/lib/commonjs/contexts/ReactionCtx.js +1 -2
- package/lib/commonjs/contexts/ReactionCtx.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChatCtx.js +1 -2
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +1 -2
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +1 -2
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +1 -2
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +1 -2
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +1 -2
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js +1 -2
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js +1 -2
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +1 -2
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannelList/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +1 -2
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +1 -2
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +1 -2
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +1 -2
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +1 -2
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +1 -2
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +1 -2
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -2
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +1 -2
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js +1 -2
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js +1 -2
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +1 -2
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +1 -2
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js +1 -2
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js +1 -2
- package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/messageSearch/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js +1 -2
- package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +1 -2
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +1 -2
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/openChannel/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +1 -2
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js +1 -2
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +1 -2
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js +1 -2
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/openChannelList/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js +1 -2
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +1 -2
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +1 -2
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +1 -2
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +1 -2
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +1 -2
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListHeader.js +1 -2
- package/lib/commonjs/domain/userList/component/UserListHeader.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListList.js +1 -2
- package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
- package/lib/commonjs/domain/userList/module/moduleContext.js +1 -2
- package/lib/commonjs/domain/userList/module/moduleContext.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +1 -2
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +1 -2
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +1 -2
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js +1 -2
- package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelThreadFragment.js +1 -2
- package/lib/commonjs/fragments/createGroupChannelThreadFragment.js.map +1 -1
- package/lib/commonjs/fragments/createMessageSearchFragment.js +1 -2
- package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelCreateFragment.js +1 -2
- package/lib/commonjs/fragments/createOpenChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelFragment.js +1 -2
- package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js +1 -2
- package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js +1 -2
- package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -1
- package/lib/commonjs/index.js +41 -42
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/libs/SBUError.js +1 -0
- package/lib/commonjs/libs/SBUError.js.map +1 -1
- package/lib/commonjs/platform/createMediaService.expo.js +1 -2
- package/lib/commonjs/platform/createMediaService.expo.js.map +1 -1
- package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/FileViewer/FileViewerContent.js +1 -1
- package/lib/module/components/FileViewer/FileViewerContent.js.map +1 -1
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +1 -1
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
- package/lib/module/libs/SBUError.js +1 -0
- package/lib/module/libs/SBUError.js.map +1 -1
- package/lib/module/platform/createMediaService.native.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/components/ChannelMessageList/index.d.ts +2 -1
- package/lib/typescript/src/components/ChannelThreadMessageList/index.d.ts +2 -1
- package/lib/typescript/src/components/ChatFlatList/index.d.ts +1 -1
- package/lib/typescript/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.d.ts +1 -1
- package/lib/typescript/src/components/GroupChannelMessageRenderer/index.d.ts +9 -11
- package/lib/typescript/src/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.d.ts +1 -1
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +9 -11
- package/lib/typescript/src/components/ReactionAddons/MessageReactionAddon.d.ts +1 -1
- package/lib/typescript/src/components/ReactionAddons/index.d.ts +5 -6
- package/lib/typescript/src/components/ThreadParentMessageRenderer/index.d.ts +1 -8
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +2 -1
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +2 -12
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelList/component/GroupChannelListTypeSelector.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelModeration/component/GroupChannelModerationMenu.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelSettings/component/GroupChannelSettingsMenu.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadHeader.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadInput.d.ts +2 -1
- package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.d.ts +2 -5
- package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.d.ts +2 -6
- package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelUserList/types.d.ts +0 -1
- package/lib/typescript/src/domain/messageSearch/component/MessageSearchHeader.d.ts +1 -1
- package/lib/typescript/src/domain/messageSearch/component/MessageSearchList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +2 -5
- package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +2 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +2 -1
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelModeration/component/OpenChannelModerationHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelModeration/component/OpenChannelModerationMenu.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsHeader.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsInfo.d.ts +1 -1
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsMenu.d.ts +1 -1
- package/lib/typescript/src/domain/userList/component/UserListHeader.d.ts +1 -7
- package/lib/typescript/src/domain/userList/component/UserListList.d.ts +1 -8
- package/lib/typescript/src/fragments/createGroupChannelCreateFragment.d.ts +1 -1
- package/lib/typescript/src/fragments/createGroupChannelInviteFragment.d.ts +1 -1
- package/lib/typescript/src/hooks/useChannelInputItems.d.ts +4 -4
- package/lib/typescript/src/hooks/useMentionTextInput.d.ts +0 -1
- package/lib/typescript/src/libs/MentionManager.d.ts +2 -2
- package/lib/typescript/src/platform/createMediaService.native.d.ts +3 -1
- package/lib/typescript/src/platform/dynamicModule.d.ts +1 -1
- package/lib/typescript/src/utils/promise.d.ts +3 -3
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +28 -23
- package/src/components/FileViewer/FileViewerContent.tsx +6 -3
- package/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.tsx +1 -1
- package/src/platform/createMediaService.native.tsx +4 -1
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_ReactionBottomSheets","_LocalizationCtx","_SendbirdChatCtx","_UserProfileCtx","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_ReactionBottomSheets","_LocalizationCtx","_SendbirdChatCtx","_UserProfileCtx","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ReactionContext","exports","React","createContext","ReactionProvider","children","onPressUserProfile","chatCtx","useContext","SendbirdChatContext","localizationCtx","LocalizationContext","userProfileCtx","UserProfileContext","Error","state","setState","useReducer","prev","next","reactionListVisible","setReactionListVisible","useState","reactionUserListVisible","setReactionUserListVisible","reactionUserListFocusIndex","setReactionUserListFocusIndex","closeResolver","useRef","NOOP","openReactionList","useCallback","params","openReactionUserList","channel","message","focusIndex","updateReactionFocusedItem","createOnCloseWithResolver","callback","Promise","resolve","current","reactionCtx","sheetProps","show","onDismiss","_closeResolver$curren","createElement","Provider","value","ReactionBottomSheets","UserList","visible","onClose","ReactionList"],"sources":["ReactionCtx.tsx"],"sourcesContent":["import React, { useCallback, useContext, useReducer, useRef, useState } from 'react';\n\nimport type { SendbirdBaseChannel, SendbirdBaseMessage } from '@sendbird/uikit-utils';\nimport { NOOP } from '@sendbird/uikit-utils';\n\nimport { ReactionBottomSheetProps, ReactionBottomSheets } from '../components/ReactionBottomSheets';\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { UserProfileContext } from '../contexts/UserProfileCtx';\n\ntype State = {\n message?: SendbirdBaseMessage;\n channel?: SendbirdBaseChannel;\n};\nexport type ReactionContextType = {\n openReactionList(param: Required<State>): void;\n openReactionUserList(param: Required<State> & { focusIndex?: number }): void;\n updateReactionFocusedItem(param?: State): void;\n focusIndex: number;\n} & State;\n\ntype Props = React.PropsWithChildren<{\n onPressUserProfile?: ReactionBottomSheetProps['onPressUserProfile'];\n}>;\n\nexport const ReactionContext = React.createContext<ReactionContextType | null>(null);\nexport const ReactionProvider = ({ children, onPressUserProfile }: Props) => {\n const chatCtx = useContext(SendbirdChatContext);\n const localizationCtx = useContext(LocalizationContext);\n const userProfileCtx = useContext(UserProfileContext);\n if (!chatCtx) throw new Error('SendbirdChatContext is not provided');\n if (!localizationCtx) throw new Error('LocalizationContext is not provided');\n if (!userProfileCtx) throw new Error('UserProfileContext is not provided');\n\n const [state, setState] = useReducer((prev: State, next: State) => ({ ...prev, ...next }), {});\n const [reactionListVisible, setReactionListVisible] = useState(false);\n const [reactionUserListVisible, setReactionUserListVisible] = useState(false);\n const [reactionUserListFocusIndex, setReactionUserListFocusIndex] = useState(0);\n\n const closeResolver = useRef<() => void>(NOOP);\n\n const openReactionList: ReactionContextType['openReactionList'] = useCallback((params) => {\n setState(params);\n setReactionListVisible(true);\n }, []);\n\n const openReactionUserList: ReactionContextType['openReactionUserList'] = useCallback(\n ({ channel, message, focusIndex = 0 }) => {\n setState({ channel, message });\n setReactionUserListFocusIndex(focusIndex);\n setReactionUserListVisible(true);\n },\n [],\n );\n\n const updateReactionFocusedItem: ReactionContextType['updateReactionFocusedItem'] = useCallback((params) => {\n if (params) setState(params);\n else setState({});\n }, []);\n\n const createOnCloseWithResolver = (callback: () => void) => {\n return () => {\n return new Promise<void>((resolve) => {\n closeResolver.current = resolve;\n callback();\n });\n };\n };\n\n const reactionCtx = {\n ...state,\n openReactionList,\n openReactionUserList,\n updateReactionFocusedItem,\n focusIndex: reactionUserListFocusIndex,\n };\n\n const sheetProps: Omit<ReactionBottomSheetProps, 'visible' | 'onClose'> = {\n chatCtx,\n reactionCtx,\n localizationCtx,\n onPressUserProfile: onPressUserProfile ?? userProfileCtx.show,\n onDismiss: () => {\n setState({});\n closeResolver.current?.();\n },\n };\n\n return (\n <ReactionContext.Provider value={reactionCtx}>\n {children}\n <ReactionBottomSheets.UserList\n {...sheetProps}\n visible={reactionUserListVisible}\n onClose={createOnCloseWithResolver(() => setReactionUserListVisible(false))}\n />\n <ReactionBottomSheets.ReactionList\n {...sheetProps}\n visible={reactionListVisible}\n onClose={createOnCloseWithResolver(() => setReactionListVisible(false))}\n />\n </ReactionContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,8 +10,7 @@ var _uikitTools = require("@sendbird/uikit-tools");
|
|
|
10
10
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
11
11
|
var _pubsub = _interopRequireDefault(require("../utils/pubsub"));
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
-
function
|
|
14
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
14
|
const SendbirdChatContext = exports.SendbirdChatContext = /*#__PURE__*/_react.default.createContext(null);
|
|
16
15
|
const SendbirdChatProvider = ({
|
|
17
16
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitTools","_uikitUtils","_pubsub","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SendbirdChatContext","exports","React","createContext","SendbirdChatProvider","children","sdkInstance","emojiManager","mentionManager","voiceMessageStatusManager","imageCompressionConfig","voiceMessageConfig","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","useEffect","disconnectWebSocket","then","undefined","value","sdk","groupChannelFragmentOptions","pubsub","sbOptions","appInfo","uikit","uikitWithAppInfo","chat","autoPushTokenRegistrationEnabled","useUserIdForNicknameEnabled","imageCompressionEnabled","createElement","Provider"],"sources":["SendbirdChatCtx.tsx"],"sourcesContent":["import React, { useCallback, useEffect, 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 VoiceMessageConfig from '../libs/VoiceMessageConfig';\nimport VoiceMessageStatusManager from '../libs/VoiceMessageStatusManager';\nimport type { FileType } from '../platform/types';\nimport pubsub, { type PubSub } from '../utils/pubsub';\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\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n voiceMessageStatusManager: VoiceMessageStatusManager;\n imageCompressionConfig: ImageCompressionConfig;\n voiceMessageConfig: VoiceMessageConfig;\n}\n\nexport type GroupChannelFragmentOptionsPubSubContextPayload = {\n type: 'OVERRIDE_SEARCH_ITEM_STARTING_POINT';\n data: {\n startingPoint: number;\n };\n};\n\nexport type SendbirdChatContextType = {\n sdk: SendbirdChatSDK;\n currentUser?: SendbirdUser;\n setCurrentUser: React.Dispatch<React.SetStateAction<SendbirdUser | undefined>>;\n\n // feature related instances\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n voiceMessageStatusManager: VoiceMessageStatusManager;\n imageCompressionConfig: ImageCompressionConfig;\n voiceMessageConfig: VoiceMessageConfig;\n\n // helper functions\n updateCurrentUserInfo: (nickname?: string, profile?: string | FileType) => Promise<SendbirdUser>;\n markAsDeliveredWithChannel: (channel: SendbirdGroupChannel) => void;\n\n groupChannelFragmentOptions: {\n pubsub: PubSub<GroupChannelFragmentOptionsPubSubContextPayload>;\n };\n sbOptions: {\n // UIKit options\n uikit: SBUConfig;\n uikitWithAppInfo: {\n groupChannel: {\n channel: {\n readonly enableReactions: boolean;\n readonly enableReactionsSupergroup: boolean;\n readonly enableOgtag: boolean;\n };\n setting: {\n readonly enableMessageSearch: boolean;\n };\n };\n openChannel: {\n channel: {\n readonly 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 uploadSizeLimit: number | undefined;\n };\n };\n};\n\nexport const SendbirdChatContext = React.createContext<SendbirdChatContextType | null>(null);\nexport const SendbirdChatProvider = ({\n children,\n sdkInstance,\n emojiManager,\n mentionManager,\n voiceMessageStatusManager,\n imageCompressionConfig,\n voiceMessageConfig,\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 useEffect(() => {\n return () => {\n sdkInstance.disconnectWebSocket().then(() => _setCurrentUser(undefined));\n };\n }, [sdkInstance]);\n\n const value: SendbirdChatContextType = {\n sdk: sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n voiceMessageConfig,\n voiceMessageStatusManager,\n currentUser,\n setCurrentUser,\n\n updateCurrentUserInfo,\n markAsDeliveredWithChannel,\n groupChannelFragmentOptions: {\n pubsub: pubsub<GroupChannelFragmentOptionsPubSubContextPayload>(),\n },\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitChatHooks","_uikitTools","_uikitUtils","_pubsub","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SendbirdChatContext","exports","React","createContext","SendbirdChatProvider","children","sdkInstance","emojiManager","mentionManager","voiceMessageStatusManager","imageCompressionConfig","voiceMessageConfig","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","useEffect","disconnectWebSocket","then","undefined","value","sdk","groupChannelFragmentOptions","pubsub","sbOptions","appInfo","uikit","uikitWithAppInfo","chat","autoPushTokenRegistrationEnabled","useUserIdForNicknameEnabled","imageCompressionEnabled","createElement","Provider"],"sources":["SendbirdChatCtx.tsx"],"sourcesContent":["import React, { useCallback, useEffect, 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 VoiceMessageConfig from '../libs/VoiceMessageConfig';\nimport VoiceMessageStatusManager from '../libs/VoiceMessageStatusManager';\nimport type { FileType } from '../platform/types';\nimport pubsub, { type PubSub } from '../utils/pubsub';\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\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n voiceMessageStatusManager: VoiceMessageStatusManager;\n imageCompressionConfig: ImageCompressionConfig;\n voiceMessageConfig: VoiceMessageConfig;\n}\n\nexport type GroupChannelFragmentOptionsPubSubContextPayload = {\n type: 'OVERRIDE_SEARCH_ITEM_STARTING_POINT';\n data: {\n startingPoint: number;\n };\n};\n\nexport type SendbirdChatContextType = {\n sdk: SendbirdChatSDK;\n currentUser?: SendbirdUser;\n setCurrentUser: React.Dispatch<React.SetStateAction<SendbirdUser | undefined>>;\n\n // feature related instances\n emojiManager: EmojiManager;\n mentionManager: MentionManager;\n voiceMessageStatusManager: VoiceMessageStatusManager;\n imageCompressionConfig: ImageCompressionConfig;\n voiceMessageConfig: VoiceMessageConfig;\n\n // helper functions\n updateCurrentUserInfo: (nickname?: string, profile?: string | FileType) => Promise<SendbirdUser>;\n markAsDeliveredWithChannel: (channel: SendbirdGroupChannel) => void;\n\n groupChannelFragmentOptions: {\n pubsub: PubSub<GroupChannelFragmentOptionsPubSubContextPayload>;\n };\n sbOptions: {\n // UIKit options\n uikit: SBUConfig;\n uikitWithAppInfo: {\n groupChannel: {\n channel: {\n readonly enableReactions: boolean;\n readonly enableReactionsSupergroup: boolean;\n readonly enableOgtag: boolean;\n };\n setting: {\n readonly enableMessageSearch: boolean;\n };\n };\n openChannel: {\n channel: {\n readonly 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 uploadSizeLimit: number | undefined;\n };\n };\n};\n\nexport const SendbirdChatContext = React.createContext<SendbirdChatContextType | null>(null);\nexport const SendbirdChatProvider = ({\n children,\n sdkInstance,\n emojiManager,\n mentionManager,\n voiceMessageStatusManager,\n imageCompressionConfig,\n voiceMessageConfig,\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 useEffect(() => {\n return () => {\n sdkInstance.disconnectWebSocket().then(() => _setCurrentUser(undefined));\n };\n }, [sdkInstance]);\n\n const value: SendbirdChatContextType = {\n sdk: sdkInstance,\n emojiManager,\n mentionManager,\n imageCompressionConfig,\n voiceMessageConfig,\n voiceMessageStatusManager,\n currentUser,\n setCurrentUser,\n\n updateCurrentUserInfo,\n markAsDeliveredWithChannel,\n groupChannelFragmentOptions: {\n pubsub: pubsub<GroupChannelFragmentOptionsPubSubContextPayload>(),\n },\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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAOA,IAAAG,WAAA,GAAAH,OAAA;AAQA,IAAAI,OAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAsD,SAAAK,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAO,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAmF/C,MAAMgB,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAGE,cAAK,CAACC,aAAa,CAAiC,IAAI,CAAC;AACrF,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC,QAAQ;EACRC,WAAW;EACXC,YAAY;EACZC,cAAc;EACdC,yBAAyB;EACzBC,sBAAsB;EACtBC,kBAAkB;EAClBC,+BAA+B;EAC/BC,0BAA0B;EAC1BC;AACK,CAAC,KAAK;EACX,MAAM,CAACC,WAAW,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAe,CAAC;EAC/D,MAAMC,WAAW,GAAG,IAAAC,0BAAc,EAAC,CAAC;EACpC,MAAMC,WAAW,GAAG,IAAAC,8BAAc,EAACf,WAAW,CAAC;EAC/C,MAAM;IAAEgB,OAAO;IAAEC;EAAmB,CAAC,GAAG,IAAAC,0BAAc,EAAC,CAAC;EAExD,MAAMC,cAAyD,GAAG,IAAAC,kBAAW,EAAEC,IAAI,IAAK;IACtF;IACAX,eAAe,CAACW,IAAI,CAAC;IACrBT,WAAW,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMU,qBAAuE,GAAG,IAAAF,kBAAW,EACzF,OAAOG,QAAQ,EAAEC,OAAO,KAAK;IAC3B,IAAIH,IAAI,GAAGZ,WAAW;IAEtB,IAAI,CAACY,IAAI,EAAE,MAAM,IAAII,KAAK,CAAC,gFAAgF,CAAC;IAE5G,MAAMC,MAAgC,GAAG,CAAC,CAAC;IAE3C,IAAI,CAACH,QAAQ,EAAE;MACbG,MAAM,CAACH,QAAQ,GAAGF,IAAI,CAACE,QAAQ;IACjC,CAAC,MAAM;MACLG,MAAM,CAACH,QAAQ,GAAGA,QAAQ;IAC5B;IAEA,IAAI,CAACC,OAAO,EAAE;MACZE,MAAM,CAACC,UAAU,GAAGN,IAAI,CAACM,UAAU;IACrC,CAAC,MAAM,IAAI,OAAOH,OAAO,KAAK,QAAQ,EAAE;MACtCE,MAAM,CAACC,UAAU,GAAGH,OAAO;IAC7B,CAAC,MAAM,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MACtCE,MAAM,CAACE,YAAY,GAAGJ,OAAO;IAC/B,CAAC,MAAM;MACL,MAAM,IAAIC,KAAK,CAAC,qDAAqD,OAAOD,OAAO,GAAG,CAAC;IACzF;IAEAH,IAAI,GAAG,MAAMrB,WAAW,CAACsB,qBAAqB,CAACI,MAAM,CAAC;IAEtDP,cAAc,CAACE,IAAI,CAAC;IACpB,OAAOA,IAAI;EACb,CAAC,EACD,CAACrB,WAAW,EAAES,WAAW,EAAEU,cAAc,CAC3C,CAAC;EAED,MAAMU,0BAAiF,GAAG,IAAAT,kBAAW,EAClGU,OAA6B,IAAK;IACjC,IAAIhB,WAAW,CAACiB,sBAAsB,EAAE,IAAAC,qCAAyB,EAAC,CAACF,OAAO,CAAC,CAAC;EAC9E,CAAC,EACD,CAAC9B,WAAW,EAAEc,WAAW,CAACiB,sBAAsB,CAClD,CAAC;EAED,IAAAE,uBAAW,EAAC,QAAQ,EAAGC,MAAM,IAAK;IAChC;IACA,IAAIA,MAAM,KAAK,QAAQ,EAAElC,WAAW,CAACmC,eAAe,KAAK,QAAQ,IAAInC,WAAW,CAACoC,kBAAkB,CAAC,CAAC,CAAC,KACjG,IAAIF,MAAM,KAAK,YAAY,EAAElC,WAAW,CAACmC,eAAe,KAAK,MAAM,IAAInC,WAAW,CAACqC,kBAAkB,CAAC,CAAC;EAC9G,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACXtC,WAAW,CAACuC,mBAAmB,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM9B,eAAe,CAAC+B,SAAS,CAAC,CAAC;IAC1E,CAAC;EACH,CAAC,EAAE,CAACzC,WAAW,CAAC,CAAC;EAEjB,MAAM0C,KAA8B,GAAG;IACrCC,GAAG,EAAE3C,WAAW;IAChBC,YAAY;IACZC,cAAc;IACdE,sBAAsB;IACtBC,kBAAkB;IAClBF,yBAAyB;IACzBM,WAAW;IACXU,cAAc;IAEdG,qBAAqB;IACrBO,0BAA0B;IAC1Be,2BAA2B,EAAE;MAC3BC,MAAM,EAAE,IAAAA,eAAM,EAAkD;IAClE,CAAC;IAED;IACA;IACAC,SAAS,EAAE;MACTC,OAAO,EAAEjC,WAAW;MACpBkC,KAAK,EAAEhC,OAAO;MACdiC,gBAAgB,EAAEhC,kBAAkB,CAACjB,WAAW,CAAC;MACjDkD,IAAI,EAAE;QACJC,gCAAgC,EAAE7C,+BAA+B;QACjE8C,2BAA2B,EAAE7C,0BAA0B;QACvD8C,uBAAuB,EAAE7C;MAC3B;IACF;EACF,CAAC;EAED,oBAAOzC,MAAA,CAAAU,OAAA,CAAA6E,aAAA,CAAC5D,mBAAmB,CAAC6D,QAAQ;IAACb,KAAK,EAAEA;EAAM,GAAE3C,QAAuC,CAAC;AAC9F,CAAC;AAACJ,OAAA,CAAAG,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -9,8 +9,7 @@ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundati
|
|
|
9
9
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
10
10
|
var _LocalizationCtx = require("../contexts/LocalizationCtx");
|
|
11
11
|
var _SendbirdChatCtx = require("../contexts/SendbirdChatCtx");
|
|
12
|
-
function
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
13
|
let WARN_onCreateChannel = false;
|
|
15
14
|
const UserProfileContext = exports.UserProfileContext = /*#__PURE__*/_react.default.createContext(null);
|
|
16
15
|
const UserProfileProvider = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_uikitUtils","_LocalizationCtx","_SendbirdChatCtx","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","WARN_onCreateChannel","UserProfileContext","exports","React","createContext","UserProfileProvider","children","onCreateChannel","onBeforeCreateChannel","PASS","statusBarTranslucent","chatContext","useContext","SendbirdChatContext","localizationContext","LocalizationContext","Error","__DEV__","Logger","warn","safeArea","useSafeAreaPadding","user","setUser","useState","visible","setVisible","hideMessageButton","setHideMessageButton","show","useCallback","options","sbOptions","uikit","common","enableUsingDefaultUserProfile","Boolean","hide","onDismiss","undefined","userProfileButton","useIIFE","isMe","currentUser","userId","onPressMessageButton","_chatContext$currentU","params","getDefaultGroupChannelCreateParams","invitedUserIds","currentUserId","processedParams","channel","sdk","groupChannel","createChannel","createElement","OutlinedButton","onPress","STRINGS","PROFILE_CARD","BUTTON_MESSAGE","Provider","value","Modal","type","onClose","backgroundStyle","styles","modal","ProfileCard","containerStyle","profileCardContainer","uri","profileUrl","username","nickname","LABELS","USER_NO_NAME","bodyLabel","BODY_LABEL","body","BODY","button","createStyleSheet","justifyContent","borderTopStartRadius","borderTopEndRadius"],"sources":["UserProfileCtx.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react';\n\nimport { Modal, OutlinedButton, ProfileCard, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport {\n Logger,\n PASS,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdReactedUserInfo,\n SendbirdUser,\n getDefaultGroupChannelCreateParams,\n useIIFE,\n useSafeAreaPadding,\n} from '@sendbird/uikit-utils';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\n\ntype OnCreateChannel = (channel: SendbirdGroupChannel) => void;\ntype OnBeforeCreateChannel = (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[] | SendbirdReactedUserInfo[],\n) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n\ntype ShowOptions = {\n hideMessageButton?: boolean;\n};\n\nexport type UserProfileContextType = {\n show(user: SendbirdUser | SendbirdMember | SendbirdReactedUserInfo, options?: ShowOptions): void;\n hide(): void;\n};\n\ntype Props = React.PropsWithChildren<{\n onCreateChannel?: OnCreateChannel;\n onBeforeCreateChannel?: OnBeforeCreateChannel;\n statusBarTranslucent?: boolean;\n}>;\n\nlet WARN_onCreateChannel = false;\n\nexport const UserProfileContext = React.createContext<UserProfileContextType | null>(null);\nexport const UserProfileProvider = ({\n children,\n onCreateChannel,\n onBeforeCreateChannel = PASS,\n statusBarTranslucent = true,\n}: Props) => {\n const chatContext = useContext(SendbirdChatContext);\n const localizationContext = useContext(LocalizationContext);\n\n if (!chatContext) throw new Error('SendbirdChatContext is not provided');\n if (!localizationContext) throw new Error('LocalizationContext is not provided');\n\n if (__DEV__ && !WARN_onCreateChannel && !onCreateChannel) {\n Logger.warn(\n 'You should pass `userProfile.onCreateChannel` prop to SendbirdUIKitContainer if want to use message in a user profile',\n );\n WARN_onCreateChannel = true;\n }\n\n const safeArea = useSafeAreaPadding(['bottom', 'left', 'right']);\n\n const [user, setUser] = useState<SendbirdUser | SendbirdMember | SendbirdReactedUserInfo>();\n const [visible, setVisible] = useState(false);\n const [hideMessageButton, setHideMessageButton] = useState(false);\n\n const show: UserProfileContextType['show'] = useCallback(\n (user, options) => {\n if (chatContext.sbOptions.uikit.common.enableUsingDefaultUserProfile) {\n setUser(user);\n setVisible(true);\n setHideMessageButton(Boolean(options?.hideMessageButton));\n }\n },\n [chatContext.sbOptions.uikit.common.enableUsingDefaultUserProfile],\n );\n\n const hide: UserProfileContextType['hide'] = useCallback(() => {\n setVisible(false);\n }, []);\n\n const onDismiss = () => {\n setUser(undefined);\n setHideMessageButton(false);\n };\n\n const userProfileButton = useIIFE(() => {\n const isMe = chatContext.currentUser && user?.userId === chatContext.currentUser.userId;\n if (isMe) return undefined;\n if (hideMessageButton) return undefined;\n\n const onPressMessageButton = async () => {\n if (user) {\n const params = getDefaultGroupChannelCreateParams({\n invitedUserIds: [user.userId],\n currentUserId: chatContext.currentUser?.userId,\n });\n\n const processedParams = await onBeforeCreateChannel(params, [user]);\n hide();\n const channel = await chatContext.sdk.groupChannel.createChannel(processedParams);\n\n if (onCreateChannel) {\n onCreateChannel(channel);\n } else {\n Logger.warn(\n 'Please set `onCreateChannel` before message to user from profile card, see `userProfile` prop in the `SendbirdUIKitContainer` props',\n );\n }\n }\n };\n\n return (\n <OutlinedButton onPress={onPressMessageButton}>\n {localizationContext.STRINGS.PROFILE_CARD.BUTTON_MESSAGE}\n </OutlinedButton>\n );\n });\n\n return (\n <UserProfileContext.Provider value={{ show, hide }}>\n {children}\n <Modal\n type={'slide'}\n onClose={hide}\n onDismiss={onDismiss}\n visible={visible && Boolean(user)}\n backgroundStyle={styles.modal}\n statusBarTranslucent={statusBarTranslucent}\n >\n {user && (\n <ProfileCard\n containerStyle={[styles.profileCardContainer, safeArea]}\n uri={user.profileUrl}\n username={user.nickname || localizationContext.STRINGS.LABELS.USER_NO_NAME}\n bodyLabel={localizationContext.STRINGS.PROFILE_CARD.BODY_LABEL}\n body={localizationContext.STRINGS.PROFILE_CARD.BODY(user)}\n button={userProfileButton}\n />\n )}\n </Modal>\n </UserProfileContext.Provider>\n );\n};\n\nconst styles = createStyleSheet({\n modal: {\n justifyContent: 'flex-end',\n },\n profileCardContainer: {\n borderTopStartRadius: 8,\n borderTopEndRadius: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_uikitUtils","_LocalizationCtx","_SendbirdChatCtx","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WARN_onCreateChannel","UserProfileContext","exports","React","createContext","UserProfileProvider","children","onCreateChannel","onBeforeCreateChannel","PASS","statusBarTranslucent","chatContext","useContext","SendbirdChatContext","localizationContext","LocalizationContext","Error","__DEV__","Logger","warn","safeArea","useSafeAreaPadding","user","setUser","useState","visible","setVisible","hideMessageButton","setHideMessageButton","show","useCallback","options","sbOptions","uikit","common","enableUsingDefaultUserProfile","Boolean","hide","onDismiss","undefined","userProfileButton","useIIFE","isMe","currentUser","userId","onPressMessageButton","_chatContext$currentU","params","getDefaultGroupChannelCreateParams","invitedUserIds","currentUserId","processedParams","channel","sdk","groupChannel","createChannel","createElement","OutlinedButton","onPress","STRINGS","PROFILE_CARD","BUTTON_MESSAGE","Provider","value","Modal","type","onClose","backgroundStyle","styles","modal","ProfileCard","containerStyle","profileCardContainer","uri","profileUrl","username","nickname","LABELS","USER_NO_NAME","bodyLabel","BODY_LABEL","body","BODY","button","createStyleSheet","justifyContent","borderTopStartRadius","borderTopEndRadius"],"sources":["UserProfileCtx.tsx"],"sourcesContent":["import React, { useCallback, useContext, useState } from 'react';\n\nimport { Modal, OutlinedButton, ProfileCard, createStyleSheet } from '@sendbird/uikit-react-native-foundation';\nimport {\n Logger,\n PASS,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdReactedUserInfo,\n SendbirdUser,\n getDefaultGroupChannelCreateParams,\n useIIFE,\n useSafeAreaPadding,\n} from '@sendbird/uikit-utils';\n\nimport { LocalizationContext } from '../contexts/LocalizationCtx';\nimport { SendbirdChatContext } from '../contexts/SendbirdChatCtx';\n\ntype OnCreateChannel = (channel: SendbirdGroupChannel) => void;\ntype OnBeforeCreateChannel = (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[] | SendbirdReactedUserInfo[],\n) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n\ntype ShowOptions = {\n hideMessageButton?: boolean;\n};\n\nexport type UserProfileContextType = {\n show(user: SendbirdUser | SendbirdMember | SendbirdReactedUserInfo, options?: ShowOptions): void;\n hide(): void;\n};\n\ntype Props = React.PropsWithChildren<{\n onCreateChannel?: OnCreateChannel;\n onBeforeCreateChannel?: OnBeforeCreateChannel;\n statusBarTranslucent?: boolean;\n}>;\n\nlet WARN_onCreateChannel = false;\n\nexport const UserProfileContext = React.createContext<UserProfileContextType | null>(null);\nexport const UserProfileProvider = ({\n children,\n onCreateChannel,\n onBeforeCreateChannel = PASS,\n statusBarTranslucent = true,\n}: Props) => {\n const chatContext = useContext(SendbirdChatContext);\n const localizationContext = useContext(LocalizationContext);\n\n if (!chatContext) throw new Error('SendbirdChatContext is not provided');\n if (!localizationContext) throw new Error('LocalizationContext is not provided');\n\n if (__DEV__ && !WARN_onCreateChannel && !onCreateChannel) {\n Logger.warn(\n 'You should pass `userProfile.onCreateChannel` prop to SendbirdUIKitContainer if want to use message in a user profile',\n );\n WARN_onCreateChannel = true;\n }\n\n const safeArea = useSafeAreaPadding(['bottom', 'left', 'right']);\n\n const [user, setUser] = useState<SendbirdUser | SendbirdMember | SendbirdReactedUserInfo>();\n const [visible, setVisible] = useState(false);\n const [hideMessageButton, setHideMessageButton] = useState(false);\n\n const show: UserProfileContextType['show'] = useCallback(\n (user, options) => {\n if (chatContext.sbOptions.uikit.common.enableUsingDefaultUserProfile) {\n setUser(user);\n setVisible(true);\n setHideMessageButton(Boolean(options?.hideMessageButton));\n }\n },\n [chatContext.sbOptions.uikit.common.enableUsingDefaultUserProfile],\n );\n\n const hide: UserProfileContextType['hide'] = useCallback(() => {\n setVisible(false);\n }, []);\n\n const onDismiss = () => {\n setUser(undefined);\n setHideMessageButton(false);\n };\n\n const userProfileButton = useIIFE(() => {\n const isMe = chatContext.currentUser && user?.userId === chatContext.currentUser.userId;\n if (isMe) return undefined;\n if (hideMessageButton) return undefined;\n\n const onPressMessageButton = async () => {\n if (user) {\n const params = getDefaultGroupChannelCreateParams({\n invitedUserIds: [user.userId],\n currentUserId: chatContext.currentUser?.userId,\n });\n\n const processedParams = await onBeforeCreateChannel(params, [user]);\n hide();\n const channel = await chatContext.sdk.groupChannel.createChannel(processedParams);\n\n if (onCreateChannel) {\n onCreateChannel(channel);\n } else {\n Logger.warn(\n 'Please set `onCreateChannel` before message to user from profile card, see `userProfile` prop in the `SendbirdUIKitContainer` props',\n );\n }\n }\n };\n\n return (\n <OutlinedButton onPress={onPressMessageButton}>\n {localizationContext.STRINGS.PROFILE_CARD.BUTTON_MESSAGE}\n </OutlinedButton>\n );\n });\n\n return (\n <UserProfileContext.Provider value={{ show, hide }}>\n {children}\n <Modal\n type={'slide'}\n onClose={hide}\n onDismiss={onDismiss}\n visible={visible && Boolean(user)}\n backgroundStyle={styles.modal}\n statusBarTranslucent={statusBarTranslucent}\n >\n {user && (\n <ProfileCard\n containerStyle={[styles.profileCardContainer, safeArea]}\n uri={user.profileUrl}\n username={user.nickname || localizationContext.STRINGS.LABELS.USER_NO_NAME}\n bodyLabel={localizationContext.STRINGS.PROFILE_CARD.BODY_LABEL}\n body={localizationContext.STRINGS.PROFILE_CARD.BODY(user)}\n button={userProfileButton}\n />\n )}\n </Modal>\n </UserProfileContext.Provider>\n );\n};\n\nconst styles = createStyleSheet({\n modal: {\n justifyContent: 'flex-end',\n },\n profileCardContainer: {\n borderTopStartRadius: 8,\n borderTopEndRadius: 8,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,8 +11,7 @@ var _useContext = require("../../../hooks/useContext");
|
|
|
11
11
|
var _types = require("../../../types");
|
|
12
12
|
var _moduleContext = require("../module/moduleContext");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
function
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
15
|
const GroupChannelHeader = ({
|
|
17
16
|
shouldHideRight,
|
|
18
17
|
onPressHeaderLeft,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_ChannelCover","_interopRequireDefault","_useContext","_types","_moduleContext","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_ChannelCover","_interopRequireDefault","_useContext","_types","_moduleContext","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GroupChannelHeader","shouldHideRight","onPressHeaderLeft","onPressHeaderRight","sbOptions","useSendbirdChat","headerTitle","channel","useContext","GroupChannelContexts","Fragment","typingUsers","TypingIndicator","STRINGS","useLocalization","HeaderComponent","useHeaderStyle","renderSubtitle","subtitle","LABELS","TYPING_INDICATOR_TYPINGS","uikit","groupChannel","enableTypingIndicator","typingIndicatorTypes","TypingIndicatorType","Text","createElement","Header","Subtitle","style","styles","isHidden","clearTitleMargin","title","Box","titleContainer","size","containerStyle","avatarGroup","flexShrink","alignItems","Title","h2","left","Icon","icon","onPressLeft","right","onPressRight","undefined","createStyleSheet","maxWidth","flexDirection","marginEnd","marginTop","_default","exports"],"sources":["GroupChannelHeader.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { Box, Header, Icon, createStyleSheet, useHeaderStyle } from '@sendbird/uikit-react-native-foundation';\n\nimport ChannelCover from '../../../components/ChannelCover';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { TypingIndicatorType } from '../../../types';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelHeader = ({\n shouldHideRight,\n onPressHeaderLeft,\n onPressHeaderRight,\n}: GroupChannelProps['Header']) => {\n const { sbOptions } = useSendbirdChat();\n const { headerTitle, channel } = useContext(GroupChannelContexts.Fragment);\n const { typingUsers } = useContext(GroupChannelContexts.TypingIndicator);\n const { STRINGS } = useLocalization();\n const { HeaderComponent } = useHeaderStyle();\n\n const renderSubtitle = () => {\n const subtitle = STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers);\n\n if (!subtitle) return null;\n if (!sbOptions.uikit.groupChannel.channel.enableTypingIndicator) return null;\n if (!sbOptions.uikit.groupChannel.channel.typingIndicatorTypes.has(TypingIndicatorType.Text)) return null;\n\n return <Header.Subtitle style={styles.subtitle}>{subtitle}</Header.Subtitle>;\n };\n\n const isHidden = shouldHideRight();\n\n return (\n <HeaderComponent\n clearTitleMargin\n title={\n <Box style={styles.titleContainer}>\n <ChannelCover channel={channel} size={34} containerStyle={styles.avatarGroup} />\n <Box flexShrink={1} alignItems={'flex-start'}>\n <Header.Title h2>{headerTitle}</Header.Title>\n {renderSubtitle()}\n </Box>\n </Box>\n }\n left={<Icon icon={'arrow-left'} />}\n onPressLeft={onPressHeaderLeft}\n right={isHidden ? null : <Icon icon={'info'} />}\n onPressRight={isHidden ? undefined : onPressHeaderRight}\n />\n );\n};\n\nconst styles = createStyleSheet({\n titleContainer: {\n maxWidth: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n },\n avatarGroup: {\n marginEnd: 8,\n },\n subtitle: {\n marginTop: 2,\n },\n});\n\nexport default GroupChannelHeader;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,8 +9,7 @@ var _uikitUtils = require("@sendbird/uikit-utils");
|
|
|
9
9
|
var _ChannelInput = _interopRequireDefault(require("../../../components/ChannelInput"));
|
|
10
10
|
var _moduleContext = require("../module/moduleContext");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
function
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
13
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
15
14
|
const GroupChannelInput = ({
|
|
16
15
|
inputDisabled = false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_ChannelInput","_interopRequireDefault","_moduleContext","e","__esModule","default","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitUtils","_ChannelInput","_interopRequireDefault","_moduleContext","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","GroupChannelInput","inputDisabled","props","channel","keyboardAvoidOffset","messageToEdit","setMessageToEdit","messageToReply","setMessageToReply","useContext","GroupChannelContexts","Fragment","chatAvailableState","getGroupChannelChatAvailableState","createElement","inputMuted","muted","inputFrozen","frozen","disabled","_default","exports","React","memo"],"sources":["GroupChannelInput.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { getGroupChannelChatAvailableState } from '@sendbird/uikit-utils';\n\nimport ChannelInput from '../../../components/ChannelInput';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelInput = ({ inputDisabled = false, ...props }: GroupChannelProps['Input']) => {\n const {\n channel,\n keyboardAvoidOffset = 0,\n messageToEdit,\n setMessageToEdit,\n messageToReply,\n setMessageToReply,\n } = useContext(GroupChannelContexts.Fragment);\n\n const chatAvailableState = getGroupChannelChatAvailableState(channel);\n\n return (\n <ChannelInput\n channel={channel}\n messageToEdit={messageToEdit}\n setMessageToEdit={setMessageToEdit}\n messageToReply={messageToReply}\n setMessageToReply={setMessageToReply}\n keyboardAvoidOffset={keyboardAvoidOffset}\n inputMuted={chatAvailableState.muted}\n inputFrozen={chatAvailableState.frozen}\n inputDisabled={chatAvailableState.disabled ? true : inputDisabled}\n {...props}\n />\n );\n};\n\nexport default React.memo(GroupChannelInput);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,8 +13,7 @@ var _constants = require("../../../constants");
|
|
|
13
13
|
var _useContext = require("../../../hooks/useContext");
|
|
14
14
|
var _moduleContext = require("../module/moduleContext");
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
function
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
17
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
19
18
|
const GroupChannelMessageList = props => {
|
|
20
19
|
const toast = (0, _uikitReactNativeFoundation.useToast)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_ChannelMessageList","_interopRequireDefault","_constants","_useContext","_moduleContext","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","GroupChannelMessageList","props","toast","useToast","STRINGS","useLocalization","sdk","sbOptions","groupChannelFragmentOptions","useSendbirdChat","setMessageToEdit","setMessageToReply","useContext","GroupChannelContexts","Fragment","groupChannelPubSub","PubSub","flatListRef","lazyScrollToBottom","lazyScrollToMessageId","onPressReplyMessageInThread","MessageList","isFirstMount","useIsFirstMount","hasSeenNewLineRef","useRef","isNewLineInViewportRef","isNewLineExistInChannelRef","scrolledAwayFromBottomRef","isVisibleUnreadMessageFloating","setIsVisibleUnreadMessageFloating","useState","viewableMessages","hasUserMarkedAsUnreadRef","unreadFirstMessage","setUnreadFirstMessage","undefined","pendingBottomReachedRef","updateHasSeenNewLine","useCallback","hasSeenNewLine","current","_props$onNewLineSeenC","onNewLineSeenChange","updateHasUserMarkedAsUnread","hasUserMarkedAsUnread","_props$onUserMarkedAs","onUserMarkedAsUnreadChange","scrollToMessageWithCreatedAt","useFreshCallback","createdAt","focusAnimated","timeout","foundMessage","messages","find","it","isIncludedInList","setTimeout","onUpdateSearchItem","startingPoint","MESSAGE_FOCUS_ANIMATION_DELAY","timestamp","Date","now","messageId","animated","channel","messageOffsetTimestamp","onResetMessageListWithStartingPoint","catch","_","onScrolledAwayFromBottom","value","scrollToBottom","hasNext","onResetMessageList","onPressUnreadMessagesFloatingCloseButton","_props$resetNewMessag","resetNewMessages","confirmAndMarkAsRead","url","getPrevNonSilentMessage","prevMessageIndex","prevMessage","silent","findFirstUnreadMessage","isNewLineExistInChannel","uikit","groupChannel","enableMarkAsUnread","msg","index","_props$hasPrevious","isMarkedAsUnreadMessage","myLastRead","prevNonSilentMessage","hasNoPreviousAndNoPrevMessage","hasPrevious","prevMessageIsRead","isMessageUnread","useEffect","foundUnreadFirstMessage","processNewLineVisibility","unreadFirstMsg","_viewableMessages$cur","isNewLineInViewport","some","message","updateUnreadMessagesFloatingProps","newMessages","markAsUnread","markAsRead","onViewableItemsChanged","info","viewableItems","filter","token","item","map","onPressMarkAsUnreadMessage","unreadMessagesFloatingPropsRef","canAutoMarkAsRead","visible","unreadMessageCount","onPressClose","useGroupChannelHandler","onReactionUpdated","event","isDifferentChannel","recentMessage","isRecentMessage","scrollReachedBottomAndCanScroll","scrolledAwayFromBottom","subscribe","type","data","lastMessage","updatedMessage","lastMessageUpdated","isMaybeStreaming","hasAiBot","foundFirstUnreadMessage","pubsub","payload","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","searchItem","onPressParentMessage","parentMessage","childMessage","replyType","threadReplySelectType","show","TOAST","FIND_PARENT_MSG_ERROR","canScrollToParent","onBottomReached","currentTime","elapsedTime","timeoutThreshold","_props$onBottomReache","_props$onBottomReache2","createElement","ref","onReplyMessage","onReplyInThreadMessage","onEditMessage","onPressNewMessagesButton","onPressScrollToBottomButton","unreadMessagesFloatingProps","_default","exports","React","memo"],"sources":["GroupChannelMessageList.tsx"],"sourcesContent":["import type { ViewToken } from '@react-native/virtualized-lists';\nimport React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\n\nimport { useToast } from '@sendbird/uikit-react-native-foundation';\nimport { useGroupChannelHandler } from '@sendbird/uikit-tools';\nimport {\n SendbirdMessage,\n SendbirdSendableMessage,\n confirmAndMarkAsRead,\n isDifferentChannel,\n useFreshCallback,\n useIsFirstMount,\n} from '@sendbird/uikit-utils';\n\nimport ChannelMessageList from '../../../components/ChannelMessageList';\nimport { UnreadMessagesFloatingProps } from '../../../components/UnreadMessagesFloating';\nimport { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../../../constants';\nimport { GroupChannelFragmentOptionsPubSubContextPayload } from '../../../contexts/SendbirdChatCtx';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelMessageList = (props: GroupChannelProps['MessageList']) => {\n const toast = useToast();\n const { STRINGS } = useLocalization();\n const { sdk, sbOptions, groupChannelFragmentOptions } = useSendbirdChat();\n const { setMessageToEdit, setMessageToReply } = useContext(GroupChannelContexts.Fragment);\n const groupChannelPubSub = useContext(GroupChannelContexts.PubSub);\n const { flatListRef, lazyScrollToBottom, lazyScrollToMessageId, onPressReplyMessageInThread } = useContext(\n GroupChannelContexts.MessageList,\n );\n\n const isFirstMount = useIsFirstMount();\n\n const hasSeenNewLineRef = useRef(false);\n const isNewLineInViewportRef = useRef(false);\n const isNewLineExistInChannelRef = useRef(false);\n const scrolledAwayFromBottomRef = useRef(false);\n const [isVisibleUnreadMessageFloating, setIsVisibleUnreadMessageFloating] = useState(false);\n const viewableMessages = useRef<SendbirdMessage[]>();\n const hasUserMarkedAsUnreadRef = useRef(false);\n const [unreadFirstMessage, setUnreadFirstMessage] = useState<SendbirdMessage | undefined>(undefined);\n const pendingBottomReachedRef = useRef<{ timeout: number; timestamp: number } | null>(null);\n\n const updateHasSeenNewLine = useCallback(\n (hasSeenNewLine: boolean) => {\n if (hasSeenNewLineRef.current !== hasSeenNewLine) {\n hasSeenNewLineRef.current = hasSeenNewLine;\n props.onNewLineSeenChange?.(hasSeenNewLine);\n }\n },\n [props.onNewLineSeenChange],\n );\n\n const updateHasUserMarkedAsUnread = useCallback(\n (hasUserMarkedAsUnread: boolean) => {\n if (hasUserMarkedAsUnreadRef.current !== hasUserMarkedAsUnread) {\n hasUserMarkedAsUnreadRef.current = hasUserMarkedAsUnread;\n props.onUserMarkedAsUnreadChange?.(hasUserMarkedAsUnread);\n }\n },\n [props.onUserMarkedAsUnreadChange],\n );\n\n const scrollToMessageWithCreatedAt = useFreshCallback(\n (createdAt: number, focusAnimated: boolean, timeout: number): boolean => {\n const foundMessage = props.messages.find((it) => it.createdAt === createdAt);\n const isIncludedInList = !!foundMessage;\n pendingBottomReachedRef.current = null;\n\n if (isIncludedInList) {\n if (focusAnimated) {\n setTimeout(() => props.onUpdateSearchItem({ startingPoint: createdAt }), MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n pendingBottomReachedRef.current = { timeout, timestamp: Date.now() };\n lazyScrollToMessageId({ messageId: foundMessage.messageId, animated: true, timeout });\n } else {\n if (props.channel.messageOffsetTimestamp <= createdAt) {\n if (focusAnimated) {\n props.onUpdateSearchItem({ startingPoint: createdAt });\n }\n props.onResetMessageListWithStartingPoint(createdAt).catch((_) => {});\n } else {\n return false;\n }\n }\n return true;\n },\n );\n\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n scrolledAwayFromBottomRef.current = value;\n props.onScrolledAwayFromBottom(value);\n });\n\n const scrollToBottom = useFreshCallback(async (animated = false) => {\n if (props.hasNext()) {\n props.onUpdateSearchItem(undefined);\n onScrolledAwayFromBottom(false);\n\n await props.onResetMessageList().catch((_) => {});\n onScrolledAwayFromBottom(false);\n lazyScrollToBottom({ animated });\n } else {\n lazyScrollToBottom({ animated });\n }\n });\n\n const onPressUnreadMessagesFloatingCloseButton = useCallback(() => {\n updateHasSeenNewLine(true);\n updateHasUserMarkedAsUnread(false);\n props.resetNewMessages?.();\n confirmAndMarkAsRead([props.channel]);\n }, [updateHasSeenNewLine, updateHasUserMarkedAsUnread, props.channel.url, props.resetNewMessages]);\n\n const getPrevNonSilentMessage = useCallback(\n (messages: SendbirdMessage[], prevMessageIndex: number): SendbirdMessage | null => {\n if (messages.length <= prevMessageIndex) {\n return null;\n }\n\n const prevMessage = messages[prevMessageIndex];\n if (prevMessage) {\n if (prevMessage.silent) {\n return getPrevNonSilentMessage(messages, prevMessageIndex + 1);\n } else {\n return prevMessage;\n }\n }\n return null;\n },\n [],\n );\n\n const findFirstUnreadMessage = useFreshCallback((isNewLineExistInChannel: boolean) => {\n if (!sbOptions.uikit.groupChannel.channel.enableMarkAsUnread || !isNewLineExistInChannel) {\n return;\n }\n\n return props.messages.find((msg, index) => {\n if (msg.silent) {\n return false;\n }\n\n const isMarkedAsUnreadMessage = props.channel.myLastRead === msg.createdAt - 1;\n if (isMarkedAsUnreadMessage) {\n return true;\n }\n\n const prevNonSilentMessage = getPrevNonSilentMessage(props.messages, index + 1);\n const hasNoPreviousAndNoPrevMessage = !props.hasPrevious?.() && prevNonSilentMessage == null;\n const prevMessageIsRead =\n prevNonSilentMessage != null && prevNonSilentMessage.createdAt <= props.channel.myLastRead;\n const isMessageUnread = props.channel.myLastRead < msg.createdAt;\n return (hasNoPreviousAndNoPrevMessage || prevMessageIsRead) && isMessageUnread;\n });\n });\n\n useEffect(() => {\n if (!unreadFirstMessage) {\n const foundUnreadFirstMessage = findFirstUnreadMessage(props.isNewLineExistInChannel ?? false);\n if (foundUnreadFirstMessage) {\n processNewLineVisibility(foundUnreadFirstMessage);\n setUnreadFirstMessage(foundUnreadFirstMessage);\n }\n }\n }, [props.messages, props.channel.myLastRead, sbOptions.uikit.groupChannel.channel.enableMarkAsUnread]);\n\n const processNewLineVisibility = useFreshCallback((unreadFirstMsg: SendbirdMessage | undefined) => {\n const isNewLineInViewport = !!viewableMessages.current?.some(\n (message) => message.messageId === unreadFirstMsg?.messageId,\n );\n\n if (isNewLineInViewportRef.current !== isNewLineInViewport) {\n isNewLineInViewportRef.current = isNewLineInViewport;\n updateUnreadMessagesFloatingProps();\n if (!isNewLineInViewport || hasSeenNewLineRef.current) {\n return;\n }\n\n updateHasSeenNewLine(true);\n if (hasUserMarkedAsUnreadRef.current) {\n return;\n }\n\n if (0 < props.newMessages.length) {\n props.channel.markAsUnread(props.newMessages[0]);\n } else {\n props.channel.markAsRead();\n }\n }\n });\n\n const onViewableItemsChanged = useFreshCallback(\n async (info: { viewableItems: Array<ViewToken<SendbirdMessage>>; changed: Array<ViewToken<SendbirdMessage>> }) => {\n if (!sbOptions.uikit.groupChannel.channel.enableMarkAsUnread) {\n return;\n }\n\n viewableMessages.current = info.viewableItems.filter((token) => token.item).map((token) => token.item);\n processNewLineVisibility(unreadFirstMessage);\n },\n );\n\n const onPressMarkAsUnreadMessage = useCallback(\n async (message: SendbirdMessage) => {\n if (sbOptions.uikit.groupChannel.channel.enableMarkAsUnread && message) {\n await props.channel.markAsUnread(message);\n updateHasUserMarkedAsUnread(true);\n }\n },\n [sbOptions.uikit.groupChannel.channel.enableMarkAsUnread, updateHasUserMarkedAsUnread],\n );\n\n useEffect(() => {\n isNewLineExistInChannelRef.current = !!props.isNewLineExistInChannel && !!viewableMessages.current;\n }, [props.isNewLineExistInChannel, viewableMessages.current]);\n\n const unreadMessagesFloatingPropsRef = useRef<UnreadMessagesFloatingProps>();\n const updateUnreadMessagesFloatingProps = useFreshCallback(() => {\n const canAutoMarkAsRead =\n !scrolledAwayFromBottomRef.current &&\n !hasUserMarkedAsUnreadRef.current &&\n (hasSeenNewLineRef.current || !isNewLineExistInChannelRef.current);\n\n unreadMessagesFloatingPropsRef.current = {\n visible:\n sbOptions.uikit.groupChannel.channel.enableMarkAsUnread &&\n !canAutoMarkAsRead &&\n isNewLineExistInChannelRef.current &&\n 0 < props.channel.unreadMessageCount &&\n !isNewLineInViewportRef.current,\n onPressClose: onPressUnreadMessagesFloatingCloseButton,\n unreadMessageCount: props.channel.unreadMessageCount,\n };\n if (isVisibleUnreadMessageFloating !== unreadMessagesFloatingPropsRef.current.visible) {\n setIsVisibleUnreadMessageFloating(unreadMessagesFloatingPropsRef.current.visible);\n }\n });\n\n useEffect(() => {\n updateUnreadMessagesFloatingProps();\n }, [\n isNewLineExistInChannelRef.current,\n props.channel.unreadMessageCount,\n sbOptions.uikit.groupChannel.channel.enableMarkAsUnread,\n ]);\n\n useGroupChannelHandler(sdk, {\n onReactionUpdated(channel, event) {\n if (isDifferentChannel(channel, props.channel)) return;\n const recentMessage = props.messages[0];\n const isRecentMessage = recentMessage && recentMessage.messageId === event.messageId;\n const scrollReachedBottomAndCanScroll = !props.scrolledAwayFromBottom && !props.hasNext();\n if (isRecentMessage && scrollReachedBottomAndCanScroll) {\n lazyScrollToBottom({ animated: true, timeout: 250 });\n }\n },\n });\n\n useEffect(() => {\n return groupChannelPubSub.subscribe(({ type, data }) => {\n switch (type) {\n case 'TYPING_BUBBLE_RENDERED':\n case 'MESSAGES_RECEIVED': {\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGES_UPDATED': {\n const lastMessage = props.channel.lastMessage;\n const [updatedMessage] = data.messages;\n\n const lastMessageUpdated =\n updatedMessage && lastMessage && lastMessage.messageId === updatedMessage.messageId;\n\n const isMaybeStreaming = props.channel.hasAiBot && lastMessageUpdated;\n\n if (isMaybeStreaming) {\n scrollToBottom(false);\n } else if (!props.scrolledAwayFromBottom && lastMessageUpdated) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGE_SENT_SUCCESS':\n case 'MESSAGE_SENT_PENDING': {\n scrollToBottom(false);\n break;\n }\n case 'ON_MARKED_AS_READ_BY_CURRENT_USER': {\n updateUnreadMessagesFloatingProps();\n break;\n }\n case 'ON_MARKED_AS_UNREAD_BY_CURRENT_USER': {\n isNewLineExistInChannelRef.current = true;\n const foundFirstUnreadMessage = findFirstUnreadMessage(true);\n processNewLineVisibility(foundFirstUnreadMessage);\n setUnreadFirstMessage(foundFirstUnreadMessage);\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n }\n });\n }, [props.scrolledAwayFromBottom]);\n\n useEffect(() => {\n return groupChannelFragmentOptions.pubsub.subscribe((payload: GroupChannelFragmentOptionsPubSubContextPayload) => {\n switch (payload.type) {\n case 'OVERRIDE_SEARCH_ITEM_STARTING_POINT': {\n scrollToMessageWithCreatedAt(payload.data.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n break;\n }\n }\n });\n }, []);\n\n useEffect(() => {\n // Only trigger once when message list mount with initial props.searchItem\n // - Search screen + searchItem > mount message list\n // - Reset message list + searchItem > re-mount message list\n if (isFirstMount && props.searchItem) {\n scrollToMessageWithCreatedAt(props.searchItem.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n }\n }, [isFirstMount]);\n\n const onPressParentMessage = useFreshCallback(\n (parentMessage: SendbirdMessage, childMessage: SendbirdSendableMessage) => {\n if (\n onPressReplyMessageInThread &&\n sbOptions.uikit.groupChannel.channel.replyType === 'thread' &&\n sbOptions.uikit.groupChannel.channel.threadReplySelectType === 'thread'\n ) {\n if (parentMessage.createdAt >= props.channel.messageOffsetTimestamp) {\n onPressReplyMessageInThread(parentMessage as SendbirdSendableMessage, childMessage.createdAt);\n } else {\n toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n }\n } else {\n const canScrollToParent = scrollToMessageWithCreatedAt(parentMessage.createdAt, true, 0);\n if (!canScrollToParent) toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n }\n },\n );\n\n const onBottomReached = useFreshCallback(() => {\n if (props.hasNext()) {\n if (pendingBottomReachedRef.current) {\n const currentTime = Date.now();\n const elapsedTime = currentTime - pendingBottomReachedRef.current.timestamp;\n\n const timeoutThreshold = 500;\n if (elapsedTime >= pendingBottomReachedRef.current.timeout + timeoutThreshold) {\n props.onBottomReached?.();\n pendingBottomReachedRef.current = null;\n }\n } else {\n props.onBottomReached?.();\n }\n }\n });\n\n return (\n <ChannelMessageList\n {...props}\n ref={flatListRef}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n onReplyMessage={setMessageToReply}\n onReplyInThreadMessage={setMessageToReply}\n onEditMessage={setMessageToEdit}\n onViewableItemsChanged={onViewableItemsChanged}\n onPressParentMessage={onPressParentMessage}\n onPressNewMessagesButton={scrollToBottom}\n onPressScrollToBottomButton={scrollToBottom}\n onPressMarkAsUnreadMessage={onPressMarkAsUnreadMessage}\n onBottomReached={onBottomReached}\n unreadFirstMessage={unreadFirstMessage}\n unreadMessagesFloatingProps={unreadMessagesFloatingPropsRef.current}\n />\n );\n};\n\nexport default React.memo(GroupChannelMessageList);\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AASA,IAAAI,mBAAA,GAAAC,sBAAA,CAAAL,OAAA;AAEA,IAAAM,UAAA,GAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AAA+D,SAAAK,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAT,CAAA,MAAAA,CAAA,GAAAuB,SAAA,CAAAC,MAAA,EAAAxB,CAAA,UAAAM,CAAA,GAAAiB,SAAA,CAAAvB,CAAA,YAAAK,CAAA,IAAAC,CAAA,OAAAU,cAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAD,CAAA,MAAAI,CAAA,CAAAJ,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAI,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAG/D,MAAMG,uBAAuB,GAAIC,KAAuC,IAAK;EAC3E,MAAMC,KAAK,GAAG,IAAAC,oCAAQ,EAAC,CAAC;EACxB,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAe,EAAC,CAAC;EACrC,MAAM;IAAEC,GAAG;IAAEC,SAAS;IAAEC;EAA4B,CAAC,GAAG,IAAAC,2BAAe,EAAC,CAAC;EACzE,MAAM;IAAEC,gBAAgB;IAAEC;EAAkB,CAAC,GAAG,IAAAC,iBAAU,EAACC,mCAAoB,CAACC,QAAQ,CAAC;EACzF,MAAMC,kBAAkB,GAAG,IAAAH,iBAAU,EAACC,mCAAoB,CAACG,MAAM,CAAC;EAClE,MAAM;IAAEC,WAAW;IAAEC,kBAAkB;IAAEC,qBAAqB;IAAEC;EAA4B,CAAC,GAAG,IAAAR,iBAAU,EACxGC,mCAAoB,CAACQ,WACvB,CAAC;EAED,MAAMC,YAAY,GAAG,IAAAC,2BAAe,EAAC,CAAC;EAEtC,MAAMC,iBAAiB,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;EACvC,MAAMC,sBAAsB,GAAG,IAAAD,aAAM,EAAC,KAAK,CAAC;EAC5C,MAAME,0BAA0B,GAAG,IAAAF,aAAM,EAAC,KAAK,CAAC;EAChD,MAAMG,yBAAyB,GAAG,IAAAH,aAAM,EAAC,KAAK,CAAC;EAC/C,MAAM,CAACI,8BAA8B,EAAEC,iCAAiC,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC3F,MAAMC,gBAAgB,GAAG,IAAAP,aAAM,EAAoB,CAAC;EACpD,MAAMQ,wBAAwB,GAAG,IAAAR,aAAM,EAAC,KAAK,CAAC;EAC9C,MAAM,CAACS,kBAAkB,EAAEC,qBAAqB,CAAC,GAAG,IAAAJ,eAAQ,EAA8BK,SAAS,CAAC;EACpG,MAAMC,uBAAuB,GAAG,IAAAZ,aAAM,EAAgD,IAAI,CAAC;EAE3F,MAAMa,oBAAoB,GAAG,IAAAC,kBAAW,EACrCC,cAAuB,IAAK;IAC3B,IAAIhB,iBAAiB,CAACiB,OAAO,KAAKD,cAAc,EAAE;MAAA,IAAAE,qBAAA;MAChDlB,iBAAiB,CAACiB,OAAO,GAAGD,cAAc;MAC1C,CAAAE,qBAAA,GAAAzC,KAAK,CAAC0C,mBAAmB,cAAAD,qBAAA,eAAzBA,qBAAA,CAAAnD,IAAA,CAAAU,KAAK,EAAuBuC,cAAc,CAAC;IAC7C;EACF,CAAC,EACD,CAACvC,KAAK,CAAC0C,mBAAmB,CAC5B,CAAC;EAED,MAAMC,2BAA2B,GAAG,IAAAL,kBAAW,EAC5CM,qBAA8B,IAAK;IAClC,IAAIZ,wBAAwB,CAACQ,OAAO,KAAKI,qBAAqB,EAAE;MAAA,IAAAC,qBAAA;MAC9Db,wBAAwB,CAACQ,OAAO,GAAGI,qBAAqB;MACxD,CAAAC,qBAAA,GAAA7C,KAAK,CAAC8C,0BAA0B,cAAAD,qBAAA,eAAhCA,qBAAA,CAAAvD,IAAA,CAAAU,KAAK,EAA8B4C,qBAAqB,CAAC;IAC3D;EACF,CAAC,EACD,CAAC5C,KAAK,CAAC8C,0BAA0B,CACnC,CAAC;EAED,MAAMC,4BAA4B,GAAG,IAAAC,4BAAgB,EACnD,CAACC,SAAiB,EAAEC,aAAsB,EAAEC,OAAe,KAAc;IACvE,MAAMC,YAAY,GAAGpD,KAAK,CAACqD,QAAQ,CAACC,IAAI,CAAEC,EAAE,IAAKA,EAAE,CAACN,SAAS,KAAKA,SAAS,CAAC;IAC5E,MAAMO,gBAAgB,GAAG,CAAC,CAACJ,YAAY;IACvChB,uBAAuB,CAACI,OAAO,GAAG,IAAI;IAEtC,IAAIgB,gBAAgB,EAAE;MACpB,IAAIN,aAAa,EAAE;QACjBO,UAAU,CAAC,MAAMzD,KAAK,CAAC0D,kBAAkB,CAAC;UAAEC,aAAa,EAAEV;QAAU,CAAC,CAAC,EAAEW,wCAA6B,CAAC;MACzG;MACAxB,uBAAuB,CAACI,OAAO,GAAG;QAAEW,OAAO;QAAEU,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;MAAE,CAAC;MACpE7C,qBAAqB,CAAC;QAAE8C,SAAS,EAAEZ,YAAY,CAACY,SAAS;QAAEC,QAAQ,EAAE,IAAI;QAAEd;MAAQ,CAAC,CAAC;IACvF,CAAC,MAAM;MACL,IAAInD,KAAK,CAACkE,OAAO,CAACC,sBAAsB,IAAIlB,SAAS,EAAE;QACrD,IAAIC,aAAa,EAAE;UACjBlD,KAAK,CAAC0D,kBAAkB,CAAC;YAAEC,aAAa,EAAEV;UAAU,CAAC,CAAC;QACxD;QACAjD,KAAK,CAACoE,mCAAmC,CAACnB,SAAS,CAAC,CAACoB,KAAK,CAAEC,CAAC,IAAK,CAAC,CAAC,CAAC;MACvE,CAAC,MAAM;QACL,OAAO,KAAK;MACd;IACF;IACA,OAAO,IAAI;EACb,CACF,CAAC;EAED,MAAMC,wBAAwB,GAAG,IAAAvB,4BAAgB,EAAEwB,KAAc,IAAK;IACpE7C,yBAAyB,CAACa,OAAO,GAAGgC,KAAK;IACzCxE,KAAK,CAACuE,wBAAwB,CAACC,KAAK,CAAC;EACvC,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,IAAAzB,4BAAgB,EAAC,OAAOiB,QAAQ,GAAG,KAAK,KAAK;IAClE,IAAIjE,KAAK,CAAC0E,OAAO,CAAC,CAAC,EAAE;MACnB1E,KAAK,CAAC0D,kBAAkB,CAACvB,SAAS,CAAC;MACnCoC,wBAAwB,CAAC,KAAK,CAAC;MAE/B,MAAMvE,KAAK,CAAC2E,kBAAkB,CAAC,CAAC,CAACN,KAAK,CAAEC,CAAC,IAAK,CAAC,CAAC,CAAC;MACjDC,wBAAwB,CAAC,KAAK,CAAC;MAC/BtD,kBAAkB,CAAC;QAAEgD;MAAS,CAAC,CAAC;IAClC,CAAC,MAAM;MACLhD,kBAAkB,CAAC;QAAEgD;MAAS,CAAC,CAAC;IAClC;EACF,CAAC,CAAC;EAEF,MAAMW,wCAAwC,GAAG,IAAAtC,kBAAW,EAAC,MAAM;IAAA,IAAAuC,qBAAA;IACjExC,oBAAoB,CAAC,IAAI,CAAC;IAC1BM,2BAA2B,CAAC,KAAK,CAAC;IAClC,CAAAkC,qBAAA,GAAA7E,KAAK,CAAC8E,gBAAgB,cAAAD,qBAAA,eAAtBA,qBAAA,CAAAvF,IAAA,CAAAU,KAAyB,CAAC;IAC1B,IAAA+E,gCAAoB,EAAC,CAAC/E,KAAK,CAACkE,OAAO,CAAC,CAAC;EACvC,CAAC,EAAE,CAAC7B,oBAAoB,EAAEM,2BAA2B,EAAE3C,KAAK,CAACkE,OAAO,CAACc,GAAG,EAAEhF,KAAK,CAAC8E,gBAAgB,CAAC,CAAC;EAElG,MAAMG,uBAAuB,GAAG,IAAA3C,kBAAW,EACzC,CAACe,QAA2B,EAAE6B,gBAAwB,KAA6B;IACjF,IAAI7B,QAAQ,CAACxD,MAAM,IAAIqF,gBAAgB,EAAE;MACvC,OAAO,IAAI;IACb;IAEA,MAAMC,WAAW,GAAG9B,QAAQ,CAAC6B,gBAAgB,CAAC;IAC9C,IAAIC,WAAW,EAAE;MACf,IAAIA,WAAW,CAACC,MAAM,EAAE;QACtB,OAAOH,uBAAuB,CAAC5B,QAAQ,EAAE6B,gBAAgB,GAAG,CAAC,CAAC;MAChE,CAAC,MAAM;QACL,OAAOC,WAAW;MACpB;IACF;IACA,OAAO,IAAI;EACb,CAAC,EACD,EACF,CAAC;EAED,MAAME,sBAAsB,GAAG,IAAArC,4BAAgB,EAAEsC,uBAAgC,IAAK;IACpF,IAAI,CAAChF,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACuB,kBAAkB,IAAI,CAACH,uBAAuB,EAAE;MACxF;IACF;IAEA,OAAOtF,KAAK,CAACqD,QAAQ,CAACC,IAAI,CAAC,CAACoC,GAAG,EAAEC,KAAK,KAAK;MAAA,IAAAC,kBAAA;MACzC,IAAIF,GAAG,CAACN,MAAM,EAAE;QACd,OAAO,KAAK;MACd;MAEA,MAAMS,uBAAuB,GAAG7F,KAAK,CAACkE,OAAO,CAAC4B,UAAU,KAAKJ,GAAG,CAACzC,SAAS,GAAG,CAAC;MAC9E,IAAI4C,uBAAuB,EAAE;QAC3B,OAAO,IAAI;MACb;MAEA,MAAME,oBAAoB,GAAGd,uBAAuB,CAACjF,KAAK,CAACqD,QAAQ,EAAEsC,KAAK,GAAG,CAAC,CAAC;MAC/E,MAAMK,6BAA6B,GAAG,GAAAJ,kBAAA,GAAC5F,KAAK,CAACiG,WAAW,cAAAL,kBAAA,eAAjBA,kBAAA,CAAAtG,IAAA,CAAAU,KAAoB,CAAC,KAAI+F,oBAAoB,IAAI,IAAI;MAC5F,MAAMG,iBAAiB,GACrBH,oBAAoB,IAAI,IAAI,IAAIA,oBAAoB,CAAC9C,SAAS,IAAIjD,KAAK,CAACkE,OAAO,CAAC4B,UAAU;MAC5F,MAAMK,eAAe,GAAGnG,KAAK,CAACkE,OAAO,CAAC4B,UAAU,GAAGJ,GAAG,CAACzC,SAAS;MAChE,OAAO,CAAC+C,6BAA6B,IAAIE,iBAAiB,KAAKC,eAAe;IAChF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACnE,kBAAkB,EAAE;MACvB,MAAMoE,uBAAuB,GAAGhB,sBAAsB,CAACrF,KAAK,CAACsF,uBAAuB,IAAI,KAAK,CAAC;MAC9F,IAAIe,uBAAuB,EAAE;QAC3BC,wBAAwB,CAACD,uBAAuB,CAAC;QACjDnE,qBAAqB,CAACmE,uBAAuB,CAAC;MAChD;IACF;EACF,CAAC,EAAE,CAACrG,KAAK,CAACqD,QAAQ,EAAErD,KAAK,CAACkE,OAAO,CAAC4B,UAAU,EAAExF,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACuB,kBAAkB,CAAC,CAAC;EAEvG,MAAMa,wBAAwB,GAAG,IAAAtD,4BAAgB,EAAEuD,cAA2C,IAAK;IAAA,IAAAC,qBAAA;IACjG,MAAMC,mBAAmB,GAAG,CAAC,GAAAD,qBAAA,GAACzE,gBAAgB,CAACS,OAAO,cAAAgE,qBAAA,eAAxBA,qBAAA,CAA0BE,IAAI,CACzDC,OAAO,IAAKA,OAAO,CAAC3C,SAAS,MAAKuC,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEvC,SAAS,CAC9D,CAAC;IAED,IAAIvC,sBAAsB,CAACe,OAAO,KAAKiE,mBAAmB,EAAE;MAC1DhF,sBAAsB,CAACe,OAAO,GAAGiE,mBAAmB;MACpDG,iCAAiC,CAAC,CAAC;MACnC,IAAI,CAACH,mBAAmB,IAAIlF,iBAAiB,CAACiB,OAAO,EAAE;QACrD;MACF;MAEAH,oBAAoB,CAAC,IAAI,CAAC;MAC1B,IAAIL,wBAAwB,CAACQ,OAAO,EAAE;QACpC;MACF;MAEA,IAAI,CAAC,GAAGxC,KAAK,CAAC6G,WAAW,CAAChH,MAAM,EAAE;QAChCG,KAAK,CAACkE,OAAO,CAAC4C,YAAY,CAAC9G,KAAK,CAAC6G,WAAW,CAAC,CAAC,CAAC,CAAC;MAClD,CAAC,MAAM;QACL7G,KAAK,CAACkE,OAAO,CAAC6C,UAAU,CAAC,CAAC;MAC5B;IACF;EACF,CAAC,CAAC;EAEF,MAAMC,sBAAsB,GAAG,IAAAhE,4BAAgB,EAC7C,MAAOiE,IAAsG,IAAK;IAChH,IAAI,CAAC3G,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACuB,kBAAkB,EAAE;MAC5D;IACF;IAEA1D,gBAAgB,CAACS,OAAO,GAAGyE,IAAI,CAACC,aAAa,CAACC,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACC,IAAI,CAAC,CAACC,GAAG,CAAEF,KAAK,IAAKA,KAAK,CAACC,IAAI,CAAC;IACtGf,wBAAwB,CAACrE,kBAAkB,CAAC;EAC9C,CACF,CAAC;EAED,MAAMsF,0BAA0B,GAAG,IAAAjF,kBAAW,EAC5C,MAAOqE,OAAwB,IAAK;IAClC,IAAIrG,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACuB,kBAAkB,IAAIkB,OAAO,EAAE;MACtE,MAAM3G,KAAK,CAACkE,OAAO,CAAC4C,YAAY,CAACH,OAAO,CAAC;MACzChE,2BAA2B,CAAC,IAAI,CAAC;IACnC;EACF,CAAC,EACD,CAACrC,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACuB,kBAAkB,EAAE9C,2BAA2B,CACvF,CAAC;EAED,IAAAyD,gBAAS,EAAC,MAAM;IACd1E,0BAA0B,CAACc,OAAO,GAAG,CAAC,CAACxC,KAAK,CAACsF,uBAAuB,IAAI,CAAC,CAACvD,gBAAgB,CAACS,OAAO;EACpG,CAAC,EAAE,CAACxC,KAAK,CAACsF,uBAAuB,EAAEvD,gBAAgB,CAACS,OAAO,CAAC,CAAC;EAE7D,MAAMgF,8BAA8B,GAAG,IAAAhG,aAAM,EAA8B,CAAC;EAC5E,MAAMoF,iCAAiC,GAAG,IAAA5D,4BAAgB,EAAC,MAAM;IAC/D,MAAMyE,iBAAiB,GACrB,CAAC9F,yBAAyB,CAACa,OAAO,IAClC,CAACR,wBAAwB,CAACQ,OAAO,KAChCjB,iBAAiB,CAACiB,OAAO,IAAI,CAACd,0BAA0B,CAACc,OAAO,CAAC;IAEpEgF,8BAA8B,CAAChF,OAAO,GAAG;MACvCkF,OAAO,EACLpH,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACuB,kBAAkB,IACvD,CAACgC,iBAAiB,IAClB/F,0BAA0B,CAACc,OAAO,IAClC,CAAC,GAAGxC,KAAK,CAACkE,OAAO,CAACyD,kBAAkB,IACpC,CAAClG,sBAAsB,CAACe,OAAO;MACjCoF,YAAY,EAAEhD,wCAAwC;MACtD+C,kBAAkB,EAAE3H,KAAK,CAACkE,OAAO,CAACyD;IACpC,CAAC;IACD,IAAI/F,8BAA8B,KAAK4F,8BAA8B,CAAChF,OAAO,CAACkF,OAAO,EAAE;MACrF7F,iCAAiC,CAAC2F,8BAA8B,CAAChF,OAAO,CAACkF,OAAO,CAAC;IACnF;EACF,CAAC,CAAC;EAEF,IAAAtB,gBAAS,EAAC,MAAM;IACdQ,iCAAiC,CAAC,CAAC;EACrC,CAAC,EAAE,CACDlF,0BAA0B,CAACc,OAAO,EAClCxC,KAAK,CAACkE,OAAO,CAACyD,kBAAkB,EAChCrH,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACuB,kBAAkB,CACxD,CAAC;EAEF,IAAAoC,kCAAsB,EAACxH,GAAG,EAAE;IAC1ByH,iBAAiBA,CAAC5D,OAAO,EAAE6D,KAAK,EAAE;MAChC,IAAI,IAAAC,8BAAkB,EAAC9D,OAAO,EAAElE,KAAK,CAACkE,OAAO,CAAC,EAAE;MAChD,MAAM+D,aAAa,GAAGjI,KAAK,CAACqD,QAAQ,CAAC,CAAC,CAAC;MACvC,MAAM6E,eAAe,GAAGD,aAAa,IAAIA,aAAa,CAACjE,SAAS,KAAK+D,KAAK,CAAC/D,SAAS;MACpF,MAAMmE,+BAA+B,GAAG,CAACnI,KAAK,CAACoI,sBAAsB,IAAI,CAACpI,KAAK,CAAC0E,OAAO,CAAC,CAAC;MACzF,IAAIwD,eAAe,IAAIC,+BAA+B,EAAE;QACtDlH,kBAAkB,CAAC;UAAEgD,QAAQ,EAAE,IAAI;UAAEd,OAAO,EAAE;QAAI,CAAC,CAAC;MACtD;IACF;EACF,CAAC,CAAC;EAEF,IAAAiD,gBAAS,EAAC,MAAM;IACd,OAAOtF,kBAAkB,CAACuH,SAAS,CAAC,CAAC;MAAEC,IAAI;MAAEC;IAAK,CAAC,KAAK;MACtD,QAAQD,IAAI;QACV,KAAK,wBAAwB;QAC7B,KAAK,mBAAmB;UAAE;YACxB,IAAI,CAACtI,KAAK,CAACoI,sBAAsB,EAAE;cACjC3D,cAAc,CAAC,IAAI,CAAC;YACtB;YACA;UACF;QACA,KAAK,kBAAkB;UAAE;YACvB,MAAM+D,WAAW,GAAGxI,KAAK,CAACkE,OAAO,CAACsE,WAAW;YAC7C,MAAM,CAACC,cAAc,CAAC,GAAGF,IAAI,CAAClF,QAAQ;YAEtC,MAAMqF,kBAAkB,GACtBD,cAAc,IAAID,WAAW,IAAIA,WAAW,CAACxE,SAAS,KAAKyE,cAAc,CAACzE,SAAS;YAErF,MAAM2E,gBAAgB,GAAG3I,KAAK,CAACkE,OAAO,CAAC0E,QAAQ,IAAIF,kBAAkB;YAErE,IAAIC,gBAAgB,EAAE;cACpBlE,cAAc,CAAC,KAAK,CAAC;YACvB,CAAC,MAAM,IAAI,CAACzE,KAAK,CAACoI,sBAAsB,IAAIM,kBAAkB,EAAE;cAC9DjE,cAAc,CAAC,IAAI,CAAC;YACtB;YACA;UACF;QACA,KAAK,sBAAsB;QAC3B,KAAK,sBAAsB;UAAE;YAC3BA,cAAc,CAAC,KAAK,CAAC;YACrB;UACF;QACA,KAAK,mCAAmC;UAAE;YACxCmC,iCAAiC,CAAC,CAAC;YACnC;UACF;QACA,KAAK,qCAAqC;UAAE;YAC1ClF,0BAA0B,CAACc,OAAO,GAAG,IAAI;YACzC,MAAMqG,uBAAuB,GAAGxD,sBAAsB,CAAC,IAAI,CAAC;YAC5DiB,wBAAwB,CAACuC,uBAAuB,CAAC;YACjD3G,qBAAqB,CAAC2G,uBAAuB,CAAC;YAC9C,IAAI,CAAC7I,KAAK,CAACoI,sBAAsB,EAAE;cACjC3D,cAAc,CAAC,IAAI,CAAC;YACtB;YACA;UACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACzE,KAAK,CAACoI,sBAAsB,CAAC,CAAC;EAElC,IAAAhC,gBAAS,EAAC,MAAM;IACd,OAAO7F,2BAA2B,CAACuI,MAAM,CAACT,SAAS,CAAEU,OAAwD,IAAK;MAChH,QAAQA,OAAO,CAACT,IAAI;QAClB,KAAK,qCAAqC;UAAE;YAC1CvF,4BAA4B,CAACgG,OAAO,CAACR,IAAI,CAAC5E,aAAa,EAAE,KAAK,EAAEqF,2CAAgC,CAAC;YACjG;UACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAA5C,gBAAS,EAAC,MAAM;IACd;IACA;IACA;IACA,IAAI/E,YAAY,IAAIrB,KAAK,CAACiJ,UAAU,EAAE;MACpClG,4BAA4B,CAAC/C,KAAK,CAACiJ,UAAU,CAACtF,aAAa,EAAE,KAAK,EAAEqF,2CAAgC,CAAC;IACvG;EACF,CAAC,EAAE,CAAC3H,YAAY,CAAC,CAAC;EAElB,MAAM6H,oBAAoB,GAAG,IAAAlG,4BAAgB,EAC3C,CAACmG,aAA8B,EAAEC,YAAqC,KAAK;IACzE,IACEjI,2BAA2B,IAC3Bb,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACmF,SAAS,KAAK,QAAQ,IAC3D/I,SAAS,CAACiF,KAAK,CAACC,YAAY,CAACtB,OAAO,CAACoF,qBAAqB,KAAK,QAAQ,EACvE;MACA,IAAIH,aAAa,CAAClG,SAAS,IAAIjD,KAAK,CAACkE,OAAO,CAACC,sBAAsB,EAAE;QACnEhD,2BAA2B,CAACgI,aAAa,EAA6BC,YAAY,CAACnG,SAAS,CAAC;MAC/F,CAAC,MAAM;QACLhD,KAAK,CAACsJ,IAAI,CAACpJ,OAAO,CAACqJ,KAAK,CAACC,qBAAqB,EAAE,OAAO,CAAC;MAC1D;IACF,CAAC,MAAM;MACL,MAAMC,iBAAiB,GAAG3G,4BAA4B,CAACoG,aAAa,CAAClG,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;MACxF,IAAI,CAACyG,iBAAiB,EAAEzJ,KAAK,CAACsJ,IAAI,CAACpJ,OAAO,CAACqJ,KAAK,CAACC,qBAAqB,EAAE,OAAO,CAAC;IAClF;EACF,CACF,CAAC;EAED,MAAME,eAAe,GAAG,IAAA3G,4BAAgB,EAAC,MAAM;IAC7C,IAAIhD,KAAK,CAAC0E,OAAO,CAAC,CAAC,EAAE;MACnB,IAAItC,uBAAuB,CAACI,OAAO,EAAE;QACnC,MAAMoH,WAAW,GAAG9F,IAAI,CAACC,GAAG,CAAC,CAAC;QAC9B,MAAM8F,WAAW,GAAGD,WAAW,GAAGxH,uBAAuB,CAACI,OAAO,CAACqB,SAAS;QAE3E,MAAMiG,gBAAgB,GAAG,GAAG;QAC5B,IAAID,WAAW,IAAIzH,uBAAuB,CAACI,OAAO,CAACW,OAAO,GAAG2G,gBAAgB,EAAE;UAAA,IAAAC,qBAAA;UAC7E,CAAAA,qBAAA,GAAA/J,KAAK,CAAC2J,eAAe,cAAAI,qBAAA,eAArBA,qBAAA,CAAAzK,IAAA,CAAAU,KAAwB,CAAC;UACzBoC,uBAAuB,CAACI,OAAO,GAAG,IAAI;QACxC;MACF,CAAC,MAAM;QAAA,IAAAwH,sBAAA;QACL,CAAAA,sBAAA,GAAAhK,KAAK,CAAC2J,eAAe,cAAAK,sBAAA,eAArBA,sBAAA,CAAA1K,IAAA,CAAAU,KAAwB,CAAC;MAC3B;IACF;EACF,CAAC,CAAC;EAEF,oBACEtC,MAAA,CAAAa,OAAA,CAAA0L,aAAA,CAACjM,mBAAA,CAAAO,OAAkB,EAAAkB,QAAA,KACbO,KAAK;IACTkK,GAAG,EAAElJ,WAAY;IACjBuD,wBAAwB,EAAEA,wBAAyB;IACnD4F,cAAc,EAAEzJ,iBAAkB;IAClC0J,sBAAsB,EAAE1J,iBAAkB;IAC1C2J,aAAa,EAAE5J,gBAAiB;IAChCuG,sBAAsB,EAAEA,sBAAuB;IAC/CkC,oBAAoB,EAAEA,oBAAqB;IAC3CoB,wBAAwB,EAAE7F,cAAe;IACzC8F,2BAA2B,EAAE9F,cAAe;IAC5C8C,0BAA0B,EAAEA,0BAA2B;IACvDoC,eAAe,EAAEA,eAAgB;IACjC1H,kBAAkB,EAAEA,kBAAmB;IACvCuI,2BAA2B,EAAEhD,8BAA8B,CAAChF;EAAQ,EACrE,CAAC;AAEN,CAAC;AAAC,IAAAiI,QAAA,GAAAC,OAAA,CAAAnM,OAAA,gBAEaoM,cAAK,CAACC,IAAI,CAAC7K,uBAAuB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikitReactNativeFoundation","_uikitTools","_uikitUtils","_ChannelMessageList","_interopRequireDefault","_constants","_useContext","_moduleContext","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","GroupChannelMessageList","props","toast","useToast","STRINGS","useLocalization","sdk","sbOptions","groupChannelFragmentOptions","useSendbirdChat","setMessageToEdit","setMessageToReply","useContext","GroupChannelContexts","Fragment","groupChannelPubSub","PubSub","flatListRef","lazyScrollToBottom","lazyScrollToMessageId","onPressReplyMessageInThread","MessageList","isFirstMount","useIsFirstMount","hasSeenNewLineRef","useRef","isNewLineInViewportRef","isNewLineExistInChannelRef","scrolledAwayFromBottomRef","isVisibleUnreadMessageFloating","setIsVisibleUnreadMessageFloating","useState","viewableMessages","hasUserMarkedAsUnreadRef","unreadFirstMessage","setUnreadFirstMessage","undefined","pendingBottomReachedRef","updateHasSeenNewLine","useCallback","hasSeenNewLine","current","_props$onNewLineSeenC","onNewLineSeenChange","updateHasUserMarkedAsUnread","hasUserMarkedAsUnread","_props$onUserMarkedAs","onUserMarkedAsUnreadChange","scrollToMessageWithCreatedAt","useFreshCallback","createdAt","focusAnimated","timeout","foundMessage","messages","find","it","isIncludedInList","setTimeout","onUpdateSearchItem","startingPoint","MESSAGE_FOCUS_ANIMATION_DELAY","timestamp","Date","now","messageId","animated","channel","messageOffsetTimestamp","onResetMessageListWithStartingPoint","catch","_","onScrolledAwayFromBottom","value","scrollToBottom","hasNext","onResetMessageList","onPressUnreadMessagesFloatingCloseButton","_props$resetNewMessag","resetNewMessages","confirmAndMarkAsRead","url","getPrevNonSilentMessage","prevMessageIndex","prevMessage","silent","findFirstUnreadMessage","isNewLineExistInChannel","uikit","groupChannel","enableMarkAsUnread","msg","index","_props$hasPrevious","isMarkedAsUnreadMessage","myLastRead","prevNonSilentMessage","hasNoPreviousAndNoPrevMessage","hasPrevious","prevMessageIsRead","isMessageUnread","useEffect","foundUnreadFirstMessage","processNewLineVisibility","unreadFirstMsg","_viewableMessages$cur","isNewLineInViewport","some","message","updateUnreadMessagesFloatingProps","newMessages","markAsUnread","markAsRead","onViewableItemsChanged","info","viewableItems","filter","token","item","map","onPressMarkAsUnreadMessage","unreadMessagesFloatingPropsRef","canAutoMarkAsRead","visible","unreadMessageCount","onPressClose","useGroupChannelHandler","onReactionUpdated","event","isDifferentChannel","recentMessage","isRecentMessage","scrollReachedBottomAndCanScroll","scrolledAwayFromBottom","subscribe","type","data","lastMessage","updatedMessage","lastMessageUpdated","isMaybeStreaming","hasAiBot","foundFirstUnreadMessage","pubsub","payload","MESSAGE_SEARCH_SAFE_SCROLL_DELAY","searchItem","onPressParentMessage","parentMessage","childMessage","replyType","threadReplySelectType","show","TOAST","FIND_PARENT_MSG_ERROR","canScrollToParent","onBottomReached","currentTime","elapsedTime","timeoutThreshold","_props$onBottomReache","_props$onBottomReache2","createElement","ref","onReplyMessage","onReplyInThreadMessage","onEditMessage","onPressNewMessagesButton","onPressScrollToBottomButton","unreadMessagesFloatingProps","_default","exports","React","memo"],"sources":["GroupChannelMessageList.tsx"],"sourcesContent":["import type { ViewToken } from '@react-native/virtualized-lists';\nimport React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\n\nimport { useToast } from '@sendbird/uikit-react-native-foundation';\nimport { useGroupChannelHandler } from '@sendbird/uikit-tools';\nimport {\n SendbirdMessage,\n SendbirdSendableMessage,\n confirmAndMarkAsRead,\n isDifferentChannel,\n useFreshCallback,\n useIsFirstMount,\n} from '@sendbird/uikit-utils';\n\nimport ChannelMessageList from '../../../components/ChannelMessageList';\nimport { UnreadMessagesFloatingProps } from '../../../components/UnreadMessagesFloating';\nimport { MESSAGE_FOCUS_ANIMATION_DELAY, MESSAGE_SEARCH_SAFE_SCROLL_DELAY } from '../../../constants';\nimport { GroupChannelFragmentOptionsPubSubContextPayload } from '../../../contexts/SendbirdChatCtx';\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelMessageList = (props: GroupChannelProps['MessageList']) => {\n const toast = useToast();\n const { STRINGS } = useLocalization();\n const { sdk, sbOptions, groupChannelFragmentOptions } = useSendbirdChat();\n const { setMessageToEdit, setMessageToReply } = useContext(GroupChannelContexts.Fragment);\n const groupChannelPubSub = useContext(GroupChannelContexts.PubSub);\n const { flatListRef, lazyScrollToBottom, lazyScrollToMessageId, onPressReplyMessageInThread } = useContext(\n GroupChannelContexts.MessageList,\n );\n\n const isFirstMount = useIsFirstMount();\n\n const hasSeenNewLineRef = useRef(false);\n const isNewLineInViewportRef = useRef(false);\n const isNewLineExistInChannelRef = useRef(false);\n const scrolledAwayFromBottomRef = useRef(false);\n const [isVisibleUnreadMessageFloating, setIsVisibleUnreadMessageFloating] = useState(false);\n const viewableMessages = useRef<SendbirdMessage[]>();\n const hasUserMarkedAsUnreadRef = useRef(false);\n const [unreadFirstMessage, setUnreadFirstMessage] = useState<SendbirdMessage | undefined>(undefined);\n const pendingBottomReachedRef = useRef<{ timeout: number; timestamp: number } | null>(null);\n\n const updateHasSeenNewLine = useCallback(\n (hasSeenNewLine: boolean) => {\n if (hasSeenNewLineRef.current !== hasSeenNewLine) {\n hasSeenNewLineRef.current = hasSeenNewLine;\n props.onNewLineSeenChange?.(hasSeenNewLine);\n }\n },\n [props.onNewLineSeenChange],\n );\n\n const updateHasUserMarkedAsUnread = useCallback(\n (hasUserMarkedAsUnread: boolean) => {\n if (hasUserMarkedAsUnreadRef.current !== hasUserMarkedAsUnread) {\n hasUserMarkedAsUnreadRef.current = hasUserMarkedAsUnread;\n props.onUserMarkedAsUnreadChange?.(hasUserMarkedAsUnread);\n }\n },\n [props.onUserMarkedAsUnreadChange],\n );\n\n const scrollToMessageWithCreatedAt = useFreshCallback(\n (createdAt: number, focusAnimated: boolean, timeout: number): boolean => {\n const foundMessage = props.messages.find((it) => it.createdAt === createdAt);\n const isIncludedInList = !!foundMessage;\n pendingBottomReachedRef.current = null;\n\n if (isIncludedInList) {\n if (focusAnimated) {\n setTimeout(() => props.onUpdateSearchItem({ startingPoint: createdAt }), MESSAGE_FOCUS_ANIMATION_DELAY);\n }\n pendingBottomReachedRef.current = { timeout, timestamp: Date.now() };\n lazyScrollToMessageId({ messageId: foundMessage.messageId, animated: true, timeout });\n } else {\n if (props.channel.messageOffsetTimestamp <= createdAt) {\n if (focusAnimated) {\n props.onUpdateSearchItem({ startingPoint: createdAt });\n }\n props.onResetMessageListWithStartingPoint(createdAt).catch((_) => {});\n } else {\n return false;\n }\n }\n return true;\n },\n );\n\n const onScrolledAwayFromBottom = useFreshCallback((value: boolean) => {\n scrolledAwayFromBottomRef.current = value;\n props.onScrolledAwayFromBottom(value);\n });\n\n const scrollToBottom = useFreshCallback(async (animated = false) => {\n if (props.hasNext()) {\n props.onUpdateSearchItem(undefined);\n onScrolledAwayFromBottom(false);\n\n await props.onResetMessageList().catch((_) => {});\n onScrolledAwayFromBottom(false);\n lazyScrollToBottom({ animated });\n } else {\n lazyScrollToBottom({ animated });\n }\n });\n\n const onPressUnreadMessagesFloatingCloseButton = useCallback(() => {\n updateHasSeenNewLine(true);\n updateHasUserMarkedAsUnread(false);\n props.resetNewMessages?.();\n confirmAndMarkAsRead([props.channel]);\n }, [updateHasSeenNewLine, updateHasUserMarkedAsUnread, props.channel.url, props.resetNewMessages]);\n\n const getPrevNonSilentMessage = useCallback(\n (messages: SendbirdMessage[], prevMessageIndex: number): SendbirdMessage | null => {\n if (messages.length <= prevMessageIndex) {\n return null;\n }\n\n const prevMessage = messages[prevMessageIndex];\n if (prevMessage) {\n if (prevMessage.silent) {\n return getPrevNonSilentMessage(messages, prevMessageIndex + 1);\n } else {\n return prevMessage;\n }\n }\n return null;\n },\n [],\n );\n\n const findFirstUnreadMessage = useFreshCallback((isNewLineExistInChannel: boolean) => {\n if (!sbOptions.uikit.groupChannel.channel.enableMarkAsUnread || !isNewLineExistInChannel) {\n return;\n }\n\n return props.messages.find((msg, index) => {\n if (msg.silent) {\n return false;\n }\n\n const isMarkedAsUnreadMessage = props.channel.myLastRead === msg.createdAt - 1;\n if (isMarkedAsUnreadMessage) {\n return true;\n }\n\n const prevNonSilentMessage = getPrevNonSilentMessage(props.messages, index + 1);\n const hasNoPreviousAndNoPrevMessage = !props.hasPrevious?.() && prevNonSilentMessage == null;\n const prevMessageIsRead =\n prevNonSilentMessage != null && prevNonSilentMessage.createdAt <= props.channel.myLastRead;\n const isMessageUnread = props.channel.myLastRead < msg.createdAt;\n return (hasNoPreviousAndNoPrevMessage || prevMessageIsRead) && isMessageUnread;\n });\n });\n\n useEffect(() => {\n if (!unreadFirstMessage) {\n const foundUnreadFirstMessage = findFirstUnreadMessage(props.isNewLineExistInChannel ?? false);\n if (foundUnreadFirstMessage) {\n processNewLineVisibility(foundUnreadFirstMessage);\n setUnreadFirstMessage(foundUnreadFirstMessage);\n }\n }\n }, [props.messages, props.channel.myLastRead, sbOptions.uikit.groupChannel.channel.enableMarkAsUnread]);\n\n const processNewLineVisibility = useFreshCallback((unreadFirstMsg: SendbirdMessage | undefined) => {\n const isNewLineInViewport = !!viewableMessages.current?.some(\n (message) => message.messageId === unreadFirstMsg?.messageId,\n );\n\n if (isNewLineInViewportRef.current !== isNewLineInViewport) {\n isNewLineInViewportRef.current = isNewLineInViewport;\n updateUnreadMessagesFloatingProps();\n if (!isNewLineInViewport || hasSeenNewLineRef.current) {\n return;\n }\n\n updateHasSeenNewLine(true);\n if (hasUserMarkedAsUnreadRef.current) {\n return;\n }\n\n if (0 < props.newMessages.length) {\n props.channel.markAsUnread(props.newMessages[0]);\n } else {\n props.channel.markAsRead();\n }\n }\n });\n\n const onViewableItemsChanged = useFreshCallback(\n async (info: { viewableItems: Array<ViewToken<SendbirdMessage>>; changed: Array<ViewToken<SendbirdMessage>> }) => {\n if (!sbOptions.uikit.groupChannel.channel.enableMarkAsUnread) {\n return;\n }\n\n viewableMessages.current = info.viewableItems.filter((token) => token.item).map((token) => token.item);\n processNewLineVisibility(unreadFirstMessage);\n },\n );\n\n const onPressMarkAsUnreadMessage = useCallback(\n async (message: SendbirdMessage) => {\n if (sbOptions.uikit.groupChannel.channel.enableMarkAsUnread && message) {\n await props.channel.markAsUnread(message);\n updateHasUserMarkedAsUnread(true);\n }\n },\n [sbOptions.uikit.groupChannel.channel.enableMarkAsUnread, updateHasUserMarkedAsUnread],\n );\n\n useEffect(() => {\n isNewLineExistInChannelRef.current = !!props.isNewLineExistInChannel && !!viewableMessages.current;\n }, [props.isNewLineExistInChannel, viewableMessages.current]);\n\n const unreadMessagesFloatingPropsRef = useRef<UnreadMessagesFloatingProps>();\n const updateUnreadMessagesFloatingProps = useFreshCallback(() => {\n const canAutoMarkAsRead =\n !scrolledAwayFromBottomRef.current &&\n !hasUserMarkedAsUnreadRef.current &&\n (hasSeenNewLineRef.current || !isNewLineExistInChannelRef.current);\n\n unreadMessagesFloatingPropsRef.current = {\n visible:\n sbOptions.uikit.groupChannel.channel.enableMarkAsUnread &&\n !canAutoMarkAsRead &&\n isNewLineExistInChannelRef.current &&\n 0 < props.channel.unreadMessageCount &&\n !isNewLineInViewportRef.current,\n onPressClose: onPressUnreadMessagesFloatingCloseButton,\n unreadMessageCount: props.channel.unreadMessageCount,\n };\n if (isVisibleUnreadMessageFloating !== unreadMessagesFloatingPropsRef.current.visible) {\n setIsVisibleUnreadMessageFloating(unreadMessagesFloatingPropsRef.current.visible);\n }\n });\n\n useEffect(() => {\n updateUnreadMessagesFloatingProps();\n }, [\n isNewLineExistInChannelRef.current,\n props.channel.unreadMessageCount,\n sbOptions.uikit.groupChannel.channel.enableMarkAsUnread,\n ]);\n\n useGroupChannelHandler(sdk, {\n onReactionUpdated(channel, event) {\n if (isDifferentChannel(channel, props.channel)) return;\n const recentMessage = props.messages[0];\n const isRecentMessage = recentMessage && recentMessage.messageId === event.messageId;\n const scrollReachedBottomAndCanScroll = !props.scrolledAwayFromBottom && !props.hasNext();\n if (isRecentMessage && scrollReachedBottomAndCanScroll) {\n lazyScrollToBottom({ animated: true, timeout: 250 });\n }\n },\n });\n\n useEffect(() => {\n return groupChannelPubSub.subscribe(({ type, data }) => {\n switch (type) {\n case 'TYPING_BUBBLE_RENDERED':\n case 'MESSAGES_RECEIVED': {\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGES_UPDATED': {\n const lastMessage = props.channel.lastMessage;\n const [updatedMessage] = data.messages;\n\n const lastMessageUpdated =\n updatedMessage && lastMessage && lastMessage.messageId === updatedMessage.messageId;\n\n const isMaybeStreaming = props.channel.hasAiBot && lastMessageUpdated;\n\n if (isMaybeStreaming) {\n scrollToBottom(false);\n } else if (!props.scrolledAwayFromBottom && lastMessageUpdated) {\n scrollToBottom(true);\n }\n break;\n }\n case 'MESSAGE_SENT_SUCCESS':\n case 'MESSAGE_SENT_PENDING': {\n scrollToBottom(false);\n break;\n }\n case 'ON_MARKED_AS_READ_BY_CURRENT_USER': {\n updateUnreadMessagesFloatingProps();\n break;\n }\n case 'ON_MARKED_AS_UNREAD_BY_CURRENT_USER': {\n isNewLineExistInChannelRef.current = true;\n const foundFirstUnreadMessage = findFirstUnreadMessage(true);\n processNewLineVisibility(foundFirstUnreadMessage);\n setUnreadFirstMessage(foundFirstUnreadMessage);\n if (!props.scrolledAwayFromBottom) {\n scrollToBottom(true);\n }\n break;\n }\n }\n });\n }, [props.scrolledAwayFromBottom]);\n\n useEffect(() => {\n return groupChannelFragmentOptions.pubsub.subscribe((payload: GroupChannelFragmentOptionsPubSubContextPayload) => {\n switch (payload.type) {\n case 'OVERRIDE_SEARCH_ITEM_STARTING_POINT': {\n scrollToMessageWithCreatedAt(payload.data.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n break;\n }\n }\n });\n }, []);\n\n useEffect(() => {\n // Only trigger once when message list mount with initial props.searchItem\n // - Search screen + searchItem > mount message list\n // - Reset message list + searchItem > re-mount message list\n if (isFirstMount && props.searchItem) {\n scrollToMessageWithCreatedAt(props.searchItem.startingPoint, false, MESSAGE_SEARCH_SAFE_SCROLL_DELAY);\n }\n }, [isFirstMount]);\n\n const onPressParentMessage = useFreshCallback(\n (parentMessage: SendbirdMessage, childMessage: SendbirdSendableMessage) => {\n if (\n onPressReplyMessageInThread &&\n sbOptions.uikit.groupChannel.channel.replyType === 'thread' &&\n sbOptions.uikit.groupChannel.channel.threadReplySelectType === 'thread'\n ) {\n if (parentMessage.createdAt >= props.channel.messageOffsetTimestamp) {\n onPressReplyMessageInThread(parentMessage as SendbirdSendableMessage, childMessage.createdAt);\n } else {\n toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n }\n } else {\n const canScrollToParent = scrollToMessageWithCreatedAt(parentMessage.createdAt, true, 0);\n if (!canScrollToParent) toast.show(STRINGS.TOAST.FIND_PARENT_MSG_ERROR, 'error');\n }\n },\n );\n\n const onBottomReached = useFreshCallback(() => {\n if (props.hasNext()) {\n if (pendingBottomReachedRef.current) {\n const currentTime = Date.now();\n const elapsedTime = currentTime - pendingBottomReachedRef.current.timestamp;\n\n const timeoutThreshold = 500;\n if (elapsedTime >= pendingBottomReachedRef.current.timeout + timeoutThreshold) {\n props.onBottomReached?.();\n pendingBottomReachedRef.current = null;\n }\n } else {\n props.onBottomReached?.();\n }\n }\n });\n\n return (\n <ChannelMessageList\n {...props}\n ref={flatListRef}\n onScrolledAwayFromBottom={onScrolledAwayFromBottom}\n onReplyMessage={setMessageToReply}\n onReplyInThreadMessage={setMessageToReply}\n onEditMessage={setMessageToEdit}\n onViewableItemsChanged={onViewableItemsChanged}\n onPressParentMessage={onPressParentMessage}\n onPressNewMessagesButton={scrollToBottom}\n onPressScrollToBottomButton={scrollToBottom}\n onPressMarkAsUnreadMessage={onPressMarkAsUnreadMessage}\n onBottomReached={onBottomReached}\n unreadFirstMessage={unreadFirstMessage}\n unreadMessagesFloatingProps={unreadMessagesFloatingPropsRef.current}\n />\n );\n};\n\nexport default React.memo(GroupChannelMessageList);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,8 +13,7 @@ var _useKeyboardStatus = _interopRequireDefault(require("../../../hooks/useKeybo
|
|
|
13
13
|
var _useMentionSuggestion = _interopRequireDefault(require("../../../hooks/useMentionSuggestion"));
|
|
14
14
|
var _moduleContext = require("../module/moduleContext");
|
|
15
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
function
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
17
|
const GroupChannelSuggestedMentionList = ({
|
|
19
18
|
text,
|
|
20
19
|
selection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useKeyboardStatus","_interopRequireDefault","_useMentionSuggestion","_moduleContext","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GroupChannelSuggestedMentionList","text","selection","inputHeight","bottomInset","onPressToMention","mentionedUsers","showUserId","width","screenWidth","height","screenHeight","useWindowDimensions","channel","useContext","GroupChannelContexts","Fragment","sdk","mentionManager","useSendbirdChat","STRINGS","useLocalization","colors","useUIKitTheme","topInset","useHeaderStyle","safeArea","useSafeAreaPadding","keyboard","useKeyboardStatus","members","reset","searchStringRange","searchLimited","useMentionSuggestion","isLandscape","isShortened","visible","canRenderMembers","length","maxHeight","styles","suggestion","renderLimitGuide","createElement","View","style","borderTopColor","onBackground04","Icon","icon","size","containerStyle","marginEnd","color","onBackground02","Text","body3","GROUP_CHANNEL","MENTION_LIMITED","config","mentionLimit","renderMembers","map","member","Pressable","onPress","key","userId","userContainer","Avatar","uri","profileUrl","userAvatar","Box","userInfo","body2","onBackground01","numberOfLines","userNickname","nickname","LABELS","USER_NO_NAME","onBackground03","Divider","position","bottom","pointerEvents","container","ScrollView","bounces","keyboardDismissMode","keyboardShouldPersistTaps","scrollView","backgroundColor","background","bottomSpace","borderTopWidth","contentContainerStyle","conditionChaining","createStyleSheet","top","start","end","paddingStart","flexDirection","alignItems","justifyContent","flex","flexShrink","lineHeight","textAlignVertical","minWidth","paddingHorizontal","_default","exports"],"sources":["GroupChannelSuggestedMentionList.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { Pressable, ScrollView, View, useWindowDimensions } from 'react-native';\n\nimport {\n Avatar,\n Box,\n Divider,\n Icon,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { conditionChaining, useSafeAreaPadding } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport useKeyboardStatus from '../../../hooks/useKeyboardStatus';\nimport useMentionSuggestion from '../../../hooks/useMentionSuggestion';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelSuggestedMentionList = ({\n text,\n selection,\n inputHeight,\n bottomInset,\n onPressToMention,\n mentionedUsers,\n showUserId = true,\n}: GroupChannelProps['SuggestedMentionList']) => {\n const { width: screenWidth, height: screenHeight } = useWindowDimensions();\n const { channel } = useContext(GroupChannelContexts.Fragment);\n const { sdk, mentionManager } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const { topInset } = useHeaderStyle();\n const safeArea = useSafeAreaPadding(['left', 'right']);\n\n const keyboard = useKeyboardStatus();\n\n const { members, reset, searchStringRange, searchLimited } = useMentionSuggestion({\n sdk,\n text,\n selection,\n channel,\n mentionedUsers,\n });\n\n const isLandscape = screenWidth > screenHeight;\n const isShortened = isLandscape && keyboard.visible;\n const canRenderMembers = members.length > 0;\n const maxHeight = isShortened ? screenHeight - (topInset + inputHeight + keyboard.height) : styles.suggestion.height;\n\n const renderLimitGuide = () => {\n return (\n <View style={[styles.searchLimited, { borderTopColor: colors.onBackground04 }]}>\n <Icon icon={'info'} size={20} containerStyle={{ marginEnd: 4 }} color={colors.onBackground02} />\n <Text body3 color={colors.onBackground02}>\n {STRINGS.GROUP_CHANNEL.MENTION_LIMITED(mentionManager.config.mentionLimit)}\n </Text>\n </View>\n );\n };\n\n const renderMembers = () => {\n return (\n <View>\n {members.map((member) => {\n return (\n <Pressable\n onPress={() => {\n onPressToMention(member, searchStringRange);\n reset();\n }}\n key={member.userId}\n style={styles.userContainer}\n >\n <Avatar size={28} uri={member.profileUrl} containerStyle={styles.userAvatar} />\n <Box style={styles.userInfo}>\n <Text body2 color={colors.onBackground01} numberOfLines={1} style={styles.userNickname}>\n {member.nickname || STRINGS.LABELS.USER_NO_NAME}\n </Text>\n {!!showUserId && (\n <Text body3 color={colors.onBackground03} numberOfLines={1} style={styles.userId}>\n {member.userId}\n </Text>\n )}\n <Divider style={{ position: 'absolute', bottom: 0 }} />\n </Box>\n </Pressable>\n );\n })}\n </View>\n );\n };\n\n return (\n <Pressable\n onPress={reset}\n pointerEvents={canRenderMembers ? 'auto' : 'none'}\n style={[styles.container, { bottom: inputHeight + bottomInset }]}\n >\n <ScrollView\n bounces={false}\n keyboardDismissMode={'none'}\n keyboardShouldPersistTaps={'always'}\n style={[\n styles.scrollView,\n {\n maxHeight,\n backgroundColor: colors.background,\n bottom: keyboard.bottomSpace,\n },\n canRenderMembers && {\n borderTopWidth: 1,\n borderTopColor: colors.onBackground04,\n },\n ]}\n contentContainerStyle={safeArea}\n >\n {conditionChaining([searchLimited, canRenderMembers], [renderLimitGuide(), renderMembers(), null])}\n </ScrollView>\n </Pressable>\n );\n};\n\nconst styles = createStyleSheet({\n suggestion: {\n height: 196,\n },\n container: {\n position: 'absolute',\n top: 0,\n start: 0,\n end: 0,\n },\n scrollView: {\n position: 'absolute',\n start: 0,\n end: 0,\n },\n userContainer: {\n paddingStart: 16,\n flexDirection: 'row',\n height: 44,\n alignItems: 'center',\n justifyContent: 'center',\n },\n userAvatar: {\n marginEnd: 16,\n },\n userInfo: {\n flexDirection: 'row',\n flex: 1,\n },\n userNickname: {\n flexShrink: 1,\n lineHeight: 44,\n textAlignVertical: 'center',\n marginEnd: 6,\n },\n userId: {\n lineHeight: 44,\n textAlignVertical: 'center',\n minWidth: 32,\n flexShrink: 1,\n marginEnd: 16,\n },\n searchLimited: {\n borderTopWidth: 1,\n paddingHorizontal: 16,\n height: 44,\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\nexport default GroupChannelSuggestedMentionList;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useKeyboardStatus","_interopRequireDefault","_useMentionSuggestion","_moduleContext","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GroupChannelSuggestedMentionList","text","selection","inputHeight","bottomInset","onPressToMention","mentionedUsers","showUserId","width","screenWidth","height","screenHeight","useWindowDimensions","channel","useContext","GroupChannelContexts","Fragment","sdk","mentionManager","useSendbirdChat","STRINGS","useLocalization","colors","useUIKitTheme","topInset","useHeaderStyle","safeArea","useSafeAreaPadding","keyboard","useKeyboardStatus","members","reset","searchStringRange","searchLimited","useMentionSuggestion","isLandscape","isShortened","visible","canRenderMembers","length","maxHeight","styles","suggestion","renderLimitGuide","createElement","View","style","borderTopColor","onBackground04","Icon","icon","size","containerStyle","marginEnd","color","onBackground02","Text","body3","GROUP_CHANNEL","MENTION_LIMITED","config","mentionLimit","renderMembers","map","member","Pressable","onPress","key","userId","userContainer","Avatar","uri","profileUrl","userAvatar","Box","userInfo","body2","onBackground01","numberOfLines","userNickname","nickname","LABELS","USER_NO_NAME","onBackground03","Divider","position","bottom","pointerEvents","container","ScrollView","bounces","keyboardDismissMode","keyboardShouldPersistTaps","scrollView","backgroundColor","background","bottomSpace","borderTopWidth","contentContainerStyle","conditionChaining","createStyleSheet","top","start","end","paddingStart","flexDirection","alignItems","justifyContent","flex","flexShrink","lineHeight","textAlignVertical","minWidth","paddingHorizontal","_default","exports"],"sources":["GroupChannelSuggestedMentionList.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { Pressable, ScrollView, View, useWindowDimensions } from 'react-native';\n\nimport {\n Avatar,\n Box,\n Divider,\n Icon,\n Text,\n createStyleSheet,\n useHeaderStyle,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { conditionChaining, useSafeAreaPadding } from '@sendbird/uikit-utils';\n\nimport { useLocalization, useSendbirdChat } from '../../../hooks/useContext';\nimport useKeyboardStatus from '../../../hooks/useKeyboardStatus';\nimport useMentionSuggestion from '../../../hooks/useMentionSuggestion';\nimport { GroupChannelContexts } from '../module/moduleContext';\nimport type { GroupChannelProps } from '../types';\n\nconst GroupChannelSuggestedMentionList = ({\n text,\n selection,\n inputHeight,\n bottomInset,\n onPressToMention,\n mentionedUsers,\n showUserId = true,\n}: GroupChannelProps['SuggestedMentionList']) => {\n const { width: screenWidth, height: screenHeight } = useWindowDimensions();\n const { channel } = useContext(GroupChannelContexts.Fragment);\n const { sdk, mentionManager } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const { topInset } = useHeaderStyle();\n const safeArea = useSafeAreaPadding(['left', 'right']);\n\n const keyboard = useKeyboardStatus();\n\n const { members, reset, searchStringRange, searchLimited } = useMentionSuggestion({\n sdk,\n text,\n selection,\n channel,\n mentionedUsers,\n });\n\n const isLandscape = screenWidth > screenHeight;\n const isShortened = isLandscape && keyboard.visible;\n const canRenderMembers = members.length > 0;\n const maxHeight = isShortened ? screenHeight - (topInset + inputHeight + keyboard.height) : styles.suggestion.height;\n\n const renderLimitGuide = () => {\n return (\n <View style={[styles.searchLimited, { borderTopColor: colors.onBackground04 }]}>\n <Icon icon={'info'} size={20} containerStyle={{ marginEnd: 4 }} color={colors.onBackground02} />\n <Text body3 color={colors.onBackground02}>\n {STRINGS.GROUP_CHANNEL.MENTION_LIMITED(mentionManager.config.mentionLimit)}\n </Text>\n </View>\n );\n };\n\n const renderMembers = () => {\n return (\n <View>\n {members.map((member) => {\n return (\n <Pressable\n onPress={() => {\n onPressToMention(member, searchStringRange);\n reset();\n }}\n key={member.userId}\n style={styles.userContainer}\n >\n <Avatar size={28} uri={member.profileUrl} containerStyle={styles.userAvatar} />\n <Box style={styles.userInfo}>\n <Text body2 color={colors.onBackground01} numberOfLines={1} style={styles.userNickname}>\n {member.nickname || STRINGS.LABELS.USER_NO_NAME}\n </Text>\n {!!showUserId && (\n <Text body3 color={colors.onBackground03} numberOfLines={1} style={styles.userId}>\n {member.userId}\n </Text>\n )}\n <Divider style={{ position: 'absolute', bottom: 0 }} />\n </Box>\n </Pressable>\n );\n })}\n </View>\n );\n };\n\n return (\n <Pressable\n onPress={reset}\n pointerEvents={canRenderMembers ? 'auto' : 'none'}\n style={[styles.container, { bottom: inputHeight + bottomInset }]}\n >\n <ScrollView\n bounces={false}\n keyboardDismissMode={'none'}\n keyboardShouldPersistTaps={'always'}\n style={[\n styles.scrollView,\n {\n maxHeight,\n backgroundColor: colors.background,\n bottom: keyboard.bottomSpace,\n },\n canRenderMembers && {\n borderTopWidth: 1,\n borderTopColor: colors.onBackground04,\n },\n ]}\n contentContainerStyle={safeArea}\n >\n {conditionChaining([searchLimited, canRenderMembers], [renderLimitGuide(), renderMembers(), null])}\n </ScrollView>\n </Pressable>\n );\n};\n\nconst styles = createStyleSheet({\n suggestion: {\n height: 196,\n },\n container: {\n position: 'absolute',\n top: 0,\n start: 0,\n end: 0,\n },\n scrollView: {\n position: 'absolute',\n start: 0,\n end: 0,\n },\n userContainer: {\n paddingStart: 16,\n flexDirection: 'row',\n height: 44,\n alignItems: 'center',\n justifyContent: 'center',\n },\n userAvatar: {\n marginEnd: 16,\n },\n userInfo: {\n flexDirection: 'row',\n flex: 1,\n },\n userNickname: {\n flexShrink: 1,\n lineHeight: 44,\n textAlignVertical: 'center',\n marginEnd: 6,\n },\n userId: {\n lineHeight: 44,\n textAlignVertical: 'center',\n minWidth: 32,\n flexShrink: 1,\n marginEnd: 16,\n },\n searchLimited: {\n borderTopWidth: 1,\n paddingHorizontal: 16,\n height: 44,\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\nexport default GroupChannelSuggestedMentionList;\n"],"mappings":"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","ignoreList":[]}
|