@sendbird/uikit-react-native 2.3.0 → 2.4.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 +13 -16
- package/lib/commonjs/components/ChannelCover.js +54 -40
- package/lib/commonjs/components/ChannelCover.js.map +1 -1
- package/lib/commonjs/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/EditInput.js +28 -13
- package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -0
- package/lib/commonjs/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/SendInput.js +61 -27
- package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -0
- package/lib/commonjs/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/index.js +33 -34
- package/lib/commonjs/components/ChannelInput/index.js.map +1 -0
- package/lib/commonjs/components/FileViewer.js +3 -3
- package/lib/commonjs/components/FileViewer.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js +2 -2
- package/lib/commonjs/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageDateSeparator.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageTime.js +1 -1
- package/lib/commonjs/components/MessageRenderer/MessageTime.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js +1 -1
- package/lib/commonjs/components/MessageRenderer/UnknownMessage/index.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +1 -1
- package/lib/commonjs/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
- package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +58 -0
- package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -0
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +135 -0
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -0
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +2 -4
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
- package/lib/commonjs/components/TypedPlaceholder.js +6 -0
- package/lib/commonjs/components/TypedPlaceholder.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +2 -2
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +20 -8
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +20 -10
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +54 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -0
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +10 -10
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +2 -2
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js +8 -0
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +4 -2
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +4 -2
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +2 -3
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js +83 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +95 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +351 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusEmpty.js +34 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusLoading.js +34 -0
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannel/index.js +62 -0
- package/lib/commonjs/domain/openChannel/index.js.map +1 -0
- package/lib/commonjs/domain/openChannel/module/createOpenChannelModule.js +45 -0
- package/lib/commonjs/domain/openChannel/module/createOpenChannelModule.js.map +1 -0
- package/lib/commonjs/domain/openChannel/module/moduleContext.js +53 -0
- package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannel/types.js +6 -0
- package/lib/commonjs/domain/openChannel/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +39 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js +54 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js +28 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js +32 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js +28 -0
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/index.js +70 -0
- package/lib/commonjs/domain/openChannelBannedUsers/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js +45 -0
- package/lib/commonjs/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelBannedUsers/types.js +6 -0
- package/lib/commonjs/domain/openChannelBannedUsers/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js +53 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +169 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js +22 -0
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/index.js +54 -0
- package/lib/commonjs/domain/openChannelCreate/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/module/createOpenChannelCreateModule.js +37 -0
- package/lib/commonjs/domain/openChannelCreate/module/createOpenChannelCreateModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js +44 -0
- package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelCreate/types.js +6 -0
- package/lib/commonjs/domain/openChannelCreate/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js +39 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +58 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusEmpty.js +34 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusError.js +32 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusError.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusLoading.js +34 -0
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/index.js +70 -0
- package/lib/commonjs/domain/openChannelList/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/module/createOpenChannelListModule.js +45 -0
- package/lib/commonjs/domain/openChannelList/module/createOpenChannelListModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/module/moduleContext.js +42 -0
- package/lib/commonjs/domain/openChannelList/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelList/types.js +6 -0
- package/lib/commonjs/domain/openChannelList/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js +39 -0
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationMenu.js +74 -0
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationMenu.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/index.js +46 -0
- package/lib/commonjs/domain/openChannelModeration/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/module/createOpenChannelModerationModule.js +33 -0
- package/lib/commonjs/domain/openChannelModeration/module/createOpenChannelModerationModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelModeration/types.js +6 -0
- package/lib/commonjs/domain/openChannelModeration/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +39 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js +54 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js +28 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js +32 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js +28 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/index.js +62 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js +45 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/types.js +6 -0
- package/lib/commonjs/domain/openChannelMutedParticipants/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +44 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsList.js +54 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsList.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js +28 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js +32 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js +28 -0
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/index.js +62 -0
- package/lib/commonjs/domain/openChannelOperators/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js +45 -0
- package/lib/commonjs/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js +45 -0
- package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelOperators/types.js +6 -0
- package/lib/commonjs/domain/openChannelOperators/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +49 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +68 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +118 -0
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/index.js +54 -0
- package/lib/commonjs/domain/openChannelSettings/index.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/module/createOpenChannelSettingsModule.js +37 -0
- package/lib/commonjs/domain/openChannelSettings/module/createOpenChannelSettingsModule.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js +186 -0
- package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js.map +1 -0
- package/lib/commonjs/domain/openChannelSettings/types.js +6 -0
- package/lib/commonjs/domain/openChannelSettings/types.js.map +1 -0
- package/lib/commonjs/domain/openChannelUserList/types.js +6 -0
- package/lib/commonjs/domain/openChannelUserList/types.js.map +1 -0
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +3 -6
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +33 -3
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +6 -8
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js +13 -4
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js +2 -4
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelBannedUsersFragment.js +101 -0
- package/lib/commonjs/fragments/createOpenChannelBannedUsersFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelCreateFragment.js +86 -0
- package/lib/commonjs/fragments/createOpenChannelCreateFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelFragment.js +177 -0
- package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelListFragment.js +93 -0
- package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelModerationFragment.js +68 -0
- package/lib/commonjs/fragments/createOpenChannelModerationFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelMutedParticipantsFragment.js +117 -0
- package/lib/commonjs/fragments/createOpenChannelMutedParticipantsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelOperatorsFragment.js +124 -0
- package/lib/commonjs/fragments/createOpenChannelOperatorsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js +162 -0
- package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js +116 -0
- package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -0
- package/lib/commonjs/fragments/createOpenChannelSettingsFragment.js +70 -0
- package/lib/commonjs/fragments/createOpenChannelSettingsFragment.js.map +1 -0
- package/lib/commonjs/hooks/useMentionSuggestion.js +3 -12
- package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
- package/lib/commonjs/index.js +475 -46
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/StringSet.en.js +2 -2
- package/lib/commonjs/localization/StringSet.en.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js +0 -250
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/localization/createBaseStringSet.js +393 -0
- package/lib/commonjs/localization/createBaseStringSet.js.map +1 -0
- package/lib/commonjs/platform/createFileService.native.js +5 -0
- package/lib/commonjs/platform/createFileService.native.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChannelCover.js +47 -33
- package/lib/module/components/ChannelCover.js.map +1 -1
- package/lib/module/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/EditInput.js +28 -13
- package/lib/module/components/ChannelInput/EditInput.js.map +1 -0
- package/lib/module/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/SendInput.js +62 -28
- package/lib/module/components/ChannelInput/SendInput.js.map +1 -0
- package/lib/module/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/index.js +35 -35
- package/lib/module/components/ChannelInput/index.js.map +1 -0
- package/lib/module/components/FileViewer.js +3 -3
- package/lib/module/components/FileViewer.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/BaseFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/ImageFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js +2 -2
- package/lib/module/components/MessageRenderer/FileMessage/VideoFileMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageDateSeparator.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js +1 -1
- package/lib/module/components/MessageRenderer/MessageIncomingSenderName.js.map +1 -1
- package/lib/module/components/MessageRenderer/MessageTime.js +1 -1
- package/lib/module/components/MessageRenderer/MessageTime.js.map +1 -1
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js +1 -1
- package/lib/module/components/MessageRenderer/UnknownMessage/index.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/BaseUserMessage.js.map +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js +1 -1
- package/lib/module/components/MessageRenderer/UserMessage/OpenGraphUserMessage.js.map +1 -1
- package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +44 -0
- package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -0
- package/lib/module/components/OpenChannelMessageRenderer/index.js +119 -0
- package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -0
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +3 -4
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
- package/lib/module/components/TypedPlaceholder.js +6 -0
- package/lib/module/components/TypedPlaceholder.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +3 -3
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +20 -8
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/UserProfileCtx.js +21 -11
- package/lib/module/contexts/UserProfileCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js +36 -0
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -0
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +10 -10
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/module/domain/groupChannel/module/moduleContext.js +3 -3
- package/lib/module/domain/groupChannel/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannel/types.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/index.js +1 -0
- package/lib/module/domain/groupChannelBannedUsers/index.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +2 -2
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +4 -2
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +4 -2
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js +3 -4
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelHeader.js +63 -0
- package/lib/module/domain/openChannel/component/OpenChannelHeader.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelInput.js +74 -0
- package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelMessageList.js +325 -0
- package/lib/module/domain/openChannel/component/OpenChannelMessageList.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelStatusEmpty.js +21 -0
- package/lib/module/domain/openChannel/component/OpenChannelStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannel/component/OpenChannelStatusLoading.js +21 -0
- package/lib/module/domain/openChannel/component/OpenChannelStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannel/index.js +7 -0
- package/lib/module/domain/openChannel/index.js.map +1 -0
- package/lib/module/domain/openChannel/module/createOpenChannelModule.js +30 -0
- package/lib/module/domain/openChannel/module/createOpenChannelModule.js.map +1 -0
- package/lib/module/domain/openChannel/module/moduleContext.js +32 -0
- package/lib/module/domain/openChannel/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannel/types.js +2 -0
- package/lib/module/domain/openChannel/types.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +25 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js +41 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js +16 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js +20 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js +16 -0
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/index.js +8 -0
- package/lib/module/domain/openChannelBannedUsers/index.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js +30 -0
- package/lib/module/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/module/moduleContext.js +25 -0
- package/lib/module/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelBannedUsers/types.js +2 -0
- package/lib/module/domain/openChannelBannedUsers/types.js.map +1 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateHeader.js +38 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +153 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js +11 -0
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelCreate/index.js +6 -0
- package/lib/module/domain/openChannelCreate/index.js.map +1 -0
- package/lib/module/domain/openChannelCreate/module/createOpenChannelCreateModule.js +24 -0
- package/lib/module/domain/openChannelCreate/module/createOpenChannelCreateModule.js.map +1 -0
- package/lib/module/domain/openChannelCreate/module/moduleContext.js +24 -0
- package/lib/module/domain/openChannelCreate/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelCreate/types.js +2 -0
- package/lib/module/domain/openChannelCreate/types.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListHeader.js +25 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js +45 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusEmpty.js +21 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusError.js +20 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusError.js.map +1 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusLoading.js +21 -0
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelList/index.js +8 -0
- package/lib/module/domain/openChannelList/index.js.map +1 -0
- package/lib/module/domain/openChannelList/module/createOpenChannelListModule.js +30 -0
- package/lib/module/domain/openChannelList/module/createOpenChannelListModule.js.map +1 -0
- package/lib/module/domain/openChannelList/module/moduleContext.js +22 -0
- package/lib/module/domain/openChannelList/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelList/types.js +2 -0
- package/lib/module/domain/openChannelList/types.js.map +1 -0
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationHeader.js +25 -0
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -0
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationMenu.js +61 -0
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationMenu.js.map +1 -0
- package/lib/module/domain/openChannelModeration/index.js +5 -0
- package/lib/module/domain/openChannelModeration/index.js.map +1 -0
- package/lib/module/domain/openChannelModeration/module/createOpenChannelModerationModule.js +21 -0
- package/lib/module/domain/openChannelModeration/module/createOpenChannelModerationModule.js.map +1 -0
- package/lib/module/domain/openChannelModeration/module/moduleContext.js +25 -0
- package/lib/module/domain/openChannelModeration/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelModeration/types.js +2 -0
- package/lib/module/domain/openChannelModeration/types.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +25 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js +41 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js +16 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js +20 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js +16 -0
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/index.js +7 -0
- package/lib/module/domain/openChannelMutedParticipants/index.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js +30 -0
- package/lib/module/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/module/moduleContext.js +25 -0
- package/lib/module/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelMutedParticipants/types.js +2 -0
- package/lib/module/domain/openChannelMutedParticipants/types.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +30 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsList.js +41 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsList.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js +16 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js +20 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js.map +1 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js +16 -0
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js.map +1 -0
- package/lib/module/domain/openChannelOperators/index.js +7 -0
- package/lib/module/domain/openChannelOperators/index.js.map +1 -0
- package/lib/module/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js +30 -0
- package/lib/module/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js.map +1 -0
- package/lib/module/domain/openChannelOperators/module/moduleContext.js +25 -0
- package/lib/module/domain/openChannelOperators/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelOperators/types.js +2 -0
- package/lib/module/domain/openChannelOperators/types.js.map +1 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +35 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +49 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +99 -0
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -0
- package/lib/module/domain/openChannelSettings/index.js +6 -0
- package/lib/module/domain/openChannelSettings/index.js.map +1 -0
- package/lib/module/domain/openChannelSettings/module/createOpenChannelSettingsModule.js +24 -0
- package/lib/module/domain/openChannelSettings/module/createOpenChannelSettingsModule.js.map +1 -0
- package/lib/module/domain/openChannelSettings/module/moduleContext.js +161 -0
- package/lib/module/domain/openChannelSettings/module/moduleContext.js.map +1 -0
- package/lib/module/domain/openChannelSettings/types.js +2 -0
- package/lib/module/domain/openChannelSettings/types.js.map +1 -0
- package/lib/module/domain/openChannelUserList/types.js +2 -0
- package/lib/module/domain/openChannelUserList/types.js.map +1 -0
- package/lib/module/fragments/createGroupChannelCreateFragment.js +4 -7
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +33 -3
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMembersFragment.js +7 -9
- package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js +14 -4
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js +3 -4
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelBannedUsersFragment.js +84 -0
- package/lib/module/fragments/createOpenChannelBannedUsersFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelCreateFragment.js +69 -0
- package/lib/module/fragments/createOpenChannelCreateFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelFragment.js +153 -0
- package/lib/module/fragments/createOpenChannelFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelListFragment.js +77 -0
- package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelModerationFragment.js +53 -0
- package/lib/module/fragments/createOpenChannelModerationFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelMutedParticipantsFragment.js +100 -0
- package/lib/module/fragments/createOpenChannelMutedParticipantsFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelOperatorsFragment.js +106 -0
- package/lib/module/fragments/createOpenChannelOperatorsFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelParticipantsFragment.js +140 -0
- package/lib/module/fragments/createOpenChannelParticipantsFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelRegisterOperatorFragment.js +96 -0
- package/lib/module/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -0
- package/lib/module/fragments/createOpenChannelSettingsFragment.js +55 -0
- package/lib/module/fragments/createOpenChannelSettingsFragment.js.map +1 -0
- package/lib/module/hooks/useMentionSuggestion.js +5 -14
- package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
- package/lib/module/index.js +48 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/StringSet.en.js +1 -1
- package/lib/module/localization/StringSet.en.js.map +1 -1
- package/lib/module/localization/StringSet.type.js +1 -250
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/localization/createBaseStringSet.js +384 -0
- package/lib/module/localization/createBaseStringSet.js.map +1 -0
- package/lib/module/platform/createFileService.native.js +5 -0
- package/lib/module/platform/createFileService.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/ChannelCover.d.ts +2 -2
- package/lib/typescript/src/components/ChannelInput/EditInput.d.ts +16 -0
- package/lib/typescript/src/components/ChannelInput/SendInput.d.ts +12 -0
- package/lib/typescript/src/components/ChannelInput/index.d.ts +43 -0
- package/lib/typescript/src/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.d.ts +6 -0
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +16 -0
- package/lib/typescript/src/components/TypedPlaceholder.d.ts +1 -1
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +4 -3
- package/lib/typescript/src/contexts/UserProfileCtx.d.ts +6 -2
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +3 -0
- package/lib/typescript/src/domain/groupChannel/types.d.ts +9 -28
- package/lib/typescript/src/domain/groupChannelBannedUsers/index.d.ts +1 -0
- package/lib/typescript/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.d.ts +1 -1
- package/lib/typescript/src/domain/openChannel/component/OpenChannelHeader.d.ts +7 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +3 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +39 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannel/component/OpenChannelStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannel/index.d.ts +6 -0
- package/lib/typescript/src/domain/openChannel/module/createOpenChannelModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannel/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannel/types.d.ts +97 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/index.d.ts +7 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelBannedUsers/types.d.ts +47 -0
- package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelCreate/index.d.ts +5 -0
- package/lib/typescript/src/domain/openChannelCreate/module/createOpenChannelCreateModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelCreate/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelCreate/types.d.ts +40 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListList.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/component/OpenChannelListStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelList/index.d.ts +7 -0
- package/lib/typescript/src/domain/openChannelList/module/createOpenChannelListModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelList/types.d.ts +60 -0
- package/lib/typescript/src/domain/openChannelModeration/component/OpenChannelModerationHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelModeration/component/OpenChannelModerationMenu.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelModeration/index.d.ts +4 -0
- package/lib/typescript/src/domain/openChannelModeration/module/createOpenChannelModerationModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelModeration/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelModeration/types.d.ts +43 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/index.d.ts +6 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelMutedParticipants/types.d.ts +47 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsList.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.d.ts +2 -0
- package/lib/typescript/src/domain/openChannelOperators/index.d.ts +6 -0
- package/lib/typescript/src/domain/openChannelOperators/module/createOpenChannelOperatorsModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelOperators/types.d.ts +49 -0
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsHeader.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsInfo.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/component/OpenChannelSettingsMenu.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/index.d.ts +5 -0
- package/lib/typescript/src/domain/openChannelSettings/module/createOpenChannelSettingsModule.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/module/moduleContext.d.ts +3 -0
- package/lib/typescript/src/domain/openChannelSettings/types.d.ts +49 -0
- package/lib/typescript/src/domain/openChannelUserList/types.d.ts +23 -0
- package/lib/typescript/src/fragments/createOpenChannelBannedUsersFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelCreateFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelListFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelModerationFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelMutedParticipantsFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelOperatorsFragment.d.ts +3 -0
- package/lib/typescript/src/fragments/createOpenChannelParticipantsFragment.d.ts +5 -0
- package/lib/typescript/src/fragments/createOpenChannelRegisterOperatorFragment.d.ts +5 -0
- package/lib/typescript/src/fragments/createOpenChannelSettingsFragment.d.ts +3 -0
- package/lib/typescript/src/index.d.ts +44 -11
- package/lib/typescript/src/libs/MentionManager.d.ts +1 -1
- package/lib/typescript/src/localization/StringSet.type.d.ts +136 -26
- package/lib/typescript/src/localization/createBaseStringSet.d.ts +16 -0
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +9 -8
- package/src/components/ChannelCover.tsx +46 -37
- package/src/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/EditInput.tsx +30 -19
- package/src/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/SendInput.tsx +66 -40
- package/src/{domain/groupChannel/component/GroupChannelInput → components/ChannelInput}/index.tsx +92 -37
- package/src/components/FileViewer.tsx +3 -3
- package/src/components/MessageRenderer/FileMessage/BaseFileMessage.tsx +1 -1
- package/src/components/MessageRenderer/FileMessage/ImageFileMessage.tsx +5 -1
- package/src/components/MessageRenderer/FileMessage/VideoFileMessage.tsx +6 -2
- package/src/components/MessageRenderer/MessageDateSeparator.tsx +1 -0
- package/src/components/MessageRenderer/MessageIncomingSenderName.tsx +1 -1
- package/src/components/MessageRenderer/MessageTime.tsx +1 -1
- package/src/components/MessageRenderer/UnknownMessage/index.tsx +1 -1
- package/src/components/MessageRenderer/UserMessage/BaseUserMessage.tsx +1 -1
- package/src/components/MessageRenderer/UserMessage/OpenGraphUserMessage.tsx +1 -1
- package/src/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.tsx +46 -0
- package/src/components/OpenChannelMessageRenderer/index.tsx +91 -0
- package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +3 -4
- package/src/components/TypedPlaceholder.tsx +3 -0
- package/src/containers/GroupChannelPreviewContainer.tsx +3 -3
- package/src/containers/SendbirdUIKitContainer.tsx +26 -15
- package/src/contexts/UserProfileCtx.tsx +27 -12
- package/src/domain/groupChannel/component/GroupChannelInput.tsx +42 -0
- package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +10 -10
- package/src/domain/groupChannel/module/moduleContext.tsx +3 -3
- package/src/domain/groupChannel/types.ts +24 -37
- package/src/domain/groupChannelBannedUsers/index.ts +1 -0
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +2 -2
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +2 -0
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +2 -0
- package/src/domain/groupChannelSettings/component/GroupChannelSettingsInfo.tsx +1 -1
- package/src/domain/groupChannelSettings/module/moduleContext.tsx +3 -4
- package/src/domain/openChannel/component/OpenChannelHeader.tsx +47 -0
- package/src/domain/openChannel/component/OpenChannelInput.tsx +80 -0
- package/src/domain/openChannel/component/OpenChannelMessageList.tsx +322 -0
- package/src/domain/openChannel/component/OpenChannelStatusEmpty.tsx +18 -0
- package/src/domain/openChannel/component/OpenChannelStatusLoading.tsx +18 -0
- package/src/domain/openChannel/index.ts +6 -0
- package/src/domain/openChannel/module/createOpenChannelModule.tsx +21 -0
- package/src/domain/openChannel/module/moduleContext.tsx +41 -0
- package/src/domain/openChannel/types.ts +127 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.tsx +14 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.tsx +33 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.tsx +15 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.tsx +16 -0
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.tsx +15 -0
- package/src/domain/openChannelBannedUsers/index.ts +7 -0
- package/src/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.tsx +21 -0
- package/src/domain/openChannelBannedUsers/module/moduleContext.tsx +30 -0
- package/src/domain/openChannelBannedUsers/types.ts +50 -0
- package/src/domain/openChannelCreate/component/OpenChannelCreateHeader.tsx +35 -0
- package/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.tsx +155 -0
- package/src/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.tsx +9 -0
- package/src/domain/openChannelCreate/index.ts +5 -0
- package/src/domain/openChannelCreate/module/createOpenChannelCreateModule.tsx +17 -0
- package/src/domain/openChannelCreate/module/moduleContext.tsx +28 -0
- package/src/domain/openChannelCreate/types.ts +45 -0
- package/src/domain/openChannelList/component/OpenChannelListHeader.tsx +14 -0
- package/src/domain/openChannelList/component/OpenChannelListList.tsx +37 -0
- package/src/domain/openChannelList/component/OpenChannelListStatusEmpty.tsx +18 -0
- package/src/domain/openChannelList/component/OpenChannelListStatusError.tsx +16 -0
- package/src/domain/openChannelList/component/OpenChannelListStatusLoading.tsx +18 -0
- package/src/domain/openChannelList/index.ts +7 -0
- package/src/domain/openChannelList/module/createOpenChannelListModule.tsx +21 -0
- package/src/domain/openChannelList/module/moduleContext.tsx +22 -0
- package/src/domain/openChannelList/types.ts +63 -0
- package/src/domain/openChannelModeration/component/OpenChannelModerationHeader.tsx +15 -0
- package/src/domain/openChannelModeration/component/OpenChannelModerationMenu.tsx +62 -0
- package/src/domain/openChannelModeration/index.ts +4 -0
- package/src/domain/openChannelModeration/module/createOpenChannelModerationModule.tsx +15 -0
- package/src/domain/openChannelModeration/module/moduleContext.tsx +33 -0
- package/src/domain/openChannelModeration/types.ts +48 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.tsx +14 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.tsx +33 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.tsx +15 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.tsx +18 -0
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.tsx +15 -0
- package/src/domain/openChannelMutedParticipants/index.ts +9 -0
- package/src/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.tsx +21 -0
- package/src/domain/openChannelMutedParticipants/module/moduleContext.tsx +30 -0
- package/src/domain/openChannelMutedParticipants/types.ts +50 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsHeader.tsx +22 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsList.tsx +31 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.tsx +15 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.tsx +16 -0
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.tsx +15 -0
- package/src/domain/openChannelOperators/index.ts +6 -0
- package/src/domain/openChannelOperators/module/createOpenChannelOperatorsModule.tsx +21 -0
- package/src/domain/openChannelOperators/module/moduleContext.tsx +27 -0
- package/src/domain/openChannelOperators/types.ts +52 -0
- package/src/domain/openChannelSettings/component/OpenChannelSettingsHeader.tsx +29 -0
- package/src/domain/openChannelSettings/component/OpenChannelSettingsInfo.tsx +47 -0
- package/src/domain/openChannelSettings/component/OpenChannelSettingsMenu.tsx +105 -0
- package/src/domain/openChannelSettings/index.ts +5 -0
- package/src/domain/openChannelSettings/module/createOpenChannelSettingsModule.tsx +17 -0
- package/src/domain/openChannelSettings/module/moduleContext.tsx +171 -0
- package/src/domain/openChannelSettings/types.ts +54 -0
- package/src/domain/openChannelUserList/types.ts +30 -0
- package/src/fragments/createGroupChannelCreateFragment.tsx +4 -7
- package/src/fragments/createGroupChannelFragment.tsx +37 -2
- package/src/fragments/createGroupChannelMembersFragment.tsx +11 -8
- package/src/fragments/createGroupChannelMutedMembersFragment.tsx +12 -5
- package/src/fragments/createGroupChannelOperatorsFragment.tsx +3 -4
- package/src/fragments/createOpenChannelBannedUsersFragment.tsx +80 -0
- package/src/fragments/createOpenChannelCreateFragment.tsx +77 -0
- package/src/fragments/createOpenChannelFragment.tsx +157 -0
- package/src/fragments/createOpenChannelListFragment.tsx +67 -0
- package/src/fragments/createOpenChannelModerationFragment.tsx +55 -0
- package/src/fragments/createOpenChannelMutedParticipantsFragment.tsx +100 -0
- package/src/fragments/createOpenChannelOperatorsFragment.tsx +101 -0
- package/src/fragments/createOpenChannelParticipantsFragment.tsx +144 -0
- package/src/fragments/createOpenChannelRegisterOperatorFragment.tsx +99 -0
- package/src/fragments/createOpenChannelSettingsFragment.tsx +57 -0
- package/src/hooks/useMentionSuggestion.ts +10 -17
- package/src/index.ts +55 -49
- package/src/localization/StringSet.en.ts +1 -1
- package/src/localization/StringSet.type.ts +146 -258
- package/src/localization/createBaseStringSet.ts +369 -0
- package/src/platform/createFileService.native.ts +8 -0
- package/src/version.ts +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +0 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +0 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput/index.js.map +0 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/EditInput.js.map +0 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/SendInput.js.map +0 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput/index.js.map +0 -1
- package/lib/typescript/__template__/component/__domain__Header.d.ts +0 -3
- package/lib/typescript/__template__/component/__domain__StatusEmpty.d.ts +0 -2
- package/lib/typescript/__template__/component/__domain__StatusLoading.d.ts +0 -2
- package/lib/typescript/__template__/component/__domain__View.d.ts +0 -3
- package/lib/typescript/__template__/create__domain__Fragment.d.ts +0 -2
- package/lib/typescript/__template__/index.d.ts +0 -6
- package/lib/typescript/__template__/module/create__domain__Module.d.ts +0 -3
- package/lib/typescript/__template__/module/moduleContext.d.ts +0 -3
- package/lib/typescript/__template__/types.d.ts +0 -31
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/EditInput.d.ts +0 -39
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/SendInput.d.ts +0 -37
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput/index.d.ts +0 -26
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Box, OpenChannelMessage } from '@sendbird/uikit-react-native-foundation';
|
|
5
|
+
import { calcMessageGrouping, getMessageType } from '@sendbird/uikit-utils';
|
|
6
|
+
import { useLocalization, usePlatformService } from '../../hooks/useContext';
|
|
7
|
+
import SBUUtils from '../../libs/SBUUtils';
|
|
8
|
+
import OpenChannelMessageDateSeparator from './OpenChannelMessageDateSeparator';
|
|
9
|
+
|
|
10
|
+
const OpenChannelMessageRenderer = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
channel,
|
|
13
|
+
message,
|
|
14
|
+
onPress,
|
|
15
|
+
onLongPress,
|
|
16
|
+
onPressAvatar,
|
|
17
|
+
enableMessageGrouping,
|
|
18
|
+
prevMessage,
|
|
19
|
+
nextMessage
|
|
20
|
+
} = _ref;
|
|
21
|
+
const {
|
|
22
|
+
STRINGS
|
|
23
|
+
} = useLocalization();
|
|
24
|
+
const {
|
|
25
|
+
mediaService
|
|
26
|
+
} = usePlatformService();
|
|
27
|
+
const {
|
|
28
|
+
groupWithPrev
|
|
29
|
+
} = calcMessageGrouping(Boolean(enableMessageGrouping), message, prevMessage, nextMessage);
|
|
30
|
+
const messageProps = {
|
|
31
|
+
channel,
|
|
32
|
+
onPress,
|
|
33
|
+
onLongPress,
|
|
34
|
+
onPressURL: () => {
|
|
35
|
+
var _message$ogMetaData, _message$ogMetaData2;
|
|
36
|
+
|
|
37
|
+
return ((_message$ogMetaData = message.ogMetaData) === null || _message$ogMetaData === void 0 ? void 0 : _message$ogMetaData.url) && SBUUtils.openURL((_message$ogMetaData2 = message.ogMetaData) === null || _message$ogMetaData2 === void 0 ? void 0 : _message$ogMetaData2.url);
|
|
38
|
+
},
|
|
39
|
+
onPressAvatar: () => 'sender' in message && (onPressAvatar === null || onPressAvatar === void 0 ? void 0 : onPressAvatar(message.sender, {
|
|
40
|
+
hideMessageButton: true
|
|
41
|
+
})),
|
|
42
|
+
grouped: groupWithPrev,
|
|
43
|
+
strings: {
|
|
44
|
+
edited: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX,
|
|
45
|
+
senderName: 'sender' in message && message.sender.nickname || STRINGS.LABELS.USER_NO_NAME,
|
|
46
|
+
sentDate: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_TIME(message),
|
|
47
|
+
fileName: message.isFileMessage() ? STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message) : '',
|
|
48
|
+
unknownTitle: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message),
|
|
49
|
+
unknownDescription: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message)
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const renderMessage = () => {
|
|
54
|
+
switch (getMessageType(message)) {
|
|
55
|
+
case 'admin':
|
|
56
|
+
{
|
|
57
|
+
return /*#__PURE__*/React.createElement(OpenChannelMessage.Admin, _extends({
|
|
58
|
+
message: message
|
|
59
|
+
}, messageProps));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
case 'user':
|
|
63
|
+
{
|
|
64
|
+
return /*#__PURE__*/React.createElement(OpenChannelMessage.User, _extends({
|
|
65
|
+
message: message
|
|
66
|
+
}, messageProps));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
case 'user.opengraph':
|
|
70
|
+
{
|
|
71
|
+
return /*#__PURE__*/React.createElement(OpenChannelMessage.OpenGraphUser, _extends({
|
|
72
|
+
message: message
|
|
73
|
+
}, messageProps));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
case 'file':
|
|
77
|
+
case 'file.audio':
|
|
78
|
+
{
|
|
79
|
+
return /*#__PURE__*/React.createElement(OpenChannelMessage.File, _extends({
|
|
80
|
+
message: message
|
|
81
|
+
}, messageProps));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
case 'file.image':
|
|
85
|
+
{
|
|
86
|
+
return /*#__PURE__*/React.createElement(OpenChannelMessage.ImageFile, _extends({
|
|
87
|
+
message: message
|
|
88
|
+
}, messageProps));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
case 'file.video':
|
|
92
|
+
{
|
|
93
|
+
return /*#__PURE__*/React.createElement(OpenChannelMessage.VideoFile, _extends({
|
|
94
|
+
message: message,
|
|
95
|
+
fetchThumbnailFromVideoSource: uri => mediaService.getVideoThumbnail({
|
|
96
|
+
url: uri,
|
|
97
|
+
timeMills: 1000
|
|
98
|
+
})
|
|
99
|
+
}, messageProps));
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
case 'unknown':
|
|
103
|
+
default:
|
|
104
|
+
{
|
|
105
|
+
return /*#__PURE__*/React.createElement(OpenChannelMessage.Unknown, _extends({
|
|
106
|
+
message: message
|
|
107
|
+
}, messageProps));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
return /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(OpenChannelMessageDateSeparator, {
|
|
113
|
+
message: message,
|
|
114
|
+
prevMessage: prevMessage
|
|
115
|
+
}), renderMessage());
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export default /*#__PURE__*/React.memo(OpenChannelMessageRenderer);
|
|
119
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Box","OpenChannelMessage","calcMessageGrouping","getMessageType","useLocalization","usePlatformService","SBUUtils","OpenChannelMessageDateSeparator","OpenChannelMessageRenderer","channel","message","onPress","onLongPress","onPressAvatar","enableMessageGrouping","prevMessage","nextMessage","STRINGS","mediaService","groupWithPrev","Boolean","messageProps","onPressURL","ogMetaData","url","openURL","sender","hideMessageButton","grouped","strings","edited","OPEN_CHANNEL","MESSAGE_BUBBLE_EDITED_POSTFIX","senderName","nickname","LABELS","USER_NO_NAME","sentDate","MESSAGE_BUBBLE_TIME","fileName","isFileMessage","MESSAGE_BUBBLE_FILE_TITLE","unknownTitle","MESSAGE_BUBBLE_UNKNOWN_TITLE","unknownDescription","MESSAGE_BUBBLE_UNKNOWN_DESC","renderMessage","uri","getVideoThumbnail","timeMills","memo"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { OpenChannelMessageProps } from '@sendbird/uikit-react-native-foundation';\nimport { Box, OpenChannelMessage } from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdAdminMessage,\n SendbirdFileMessage,\n SendbirdMessage,\n SendbirdUserMessage,\n calcMessageGrouping,\n getMessageType,\n} from '@sendbird/uikit-utils';\n\nimport type { OpenChannelProps } from '../../domain/openChannel/types';\nimport { useLocalization, usePlatformService } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport OpenChannelMessageDateSeparator from './OpenChannelMessageDateSeparator';\n\nconst OpenChannelMessageRenderer: OpenChannelProps['Fragment']['renderMessage'] = ({\n channel,\n message,\n onPress,\n onLongPress,\n onPressAvatar,\n enableMessageGrouping,\n prevMessage,\n nextMessage,\n}) => {\n const { STRINGS } = useLocalization();\n const { mediaService } = usePlatformService();\n const { groupWithPrev } = calcMessageGrouping(Boolean(enableMessageGrouping), message, prevMessage, nextMessage);\n\n const messageProps: Omit<OpenChannelMessageProps<SendbirdMessage>, 'message'> = {\n channel,\n onPress,\n onLongPress,\n onPressURL: () => message.ogMetaData?.url && SBUUtils.openURL(message.ogMetaData?.url),\n onPressAvatar: () => 'sender' in message && onPressAvatar?.(message.sender, { hideMessageButton: true }),\n grouped: groupWithPrev,\n strings: {\n edited: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_EDITED_POSTFIX,\n senderName: ('sender' in message && message.sender.nickname) || STRINGS.LABELS.USER_NO_NAME,\n sentDate: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_TIME(message),\n fileName: message.isFileMessage() ? STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_FILE_TITLE(message) : '',\n unknownTitle: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_TITLE(message),\n unknownDescription: STRINGS.OPEN_CHANNEL.MESSAGE_BUBBLE_UNKNOWN_DESC(message),\n },\n };\n const renderMessage = () => {\n switch (getMessageType(message)) {\n case 'admin': {\n return <OpenChannelMessage.Admin message={message as SendbirdAdminMessage} {...messageProps} />;\n }\n case 'user': {\n return <OpenChannelMessage.User message={message as SendbirdUserMessage} {...messageProps} />;\n }\n case 'user.opengraph': {\n return <OpenChannelMessage.OpenGraphUser message={message as SendbirdUserMessage} {...messageProps} />;\n }\n case 'file':\n case 'file.audio': {\n return <OpenChannelMessage.File message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.image': {\n return <OpenChannelMessage.ImageFile message={message as SendbirdFileMessage} {...messageProps} />;\n }\n case 'file.video': {\n return (\n <OpenChannelMessage.VideoFile\n message={message as SendbirdFileMessage}\n fetchThumbnailFromVideoSource={(uri) => mediaService.getVideoThumbnail({ url: uri, timeMills: 1000 })}\n {...messageProps}\n />\n );\n }\n case 'unknown':\n default: {\n return <OpenChannelMessage.Unknown message={message} {...messageProps} />;\n }\n }\n };\n\n return (\n <Box>\n <OpenChannelMessageDateSeparator message={message} prevMessage={prevMessage} />\n {renderMessage()}\n </Box>\n );\n};\n\nexport default React.memo(OpenChannelMessageRenderer);\n"],"mappings":"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"}
|
|
@@ -3,10 +3,9 @@ import { Pressable, View } from 'react-native';
|
|
|
3
3
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
4
4
|
import { useChannelHandler } from '@sendbird/uikit-chat-hooks';
|
|
5
5
|
import { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
6
|
-
import {
|
|
6
|
+
import { useUniqHandlerId } from '@sendbird/uikit-utils';
|
|
7
7
|
import { UNKNOWN_USER_ID } from '../../constants';
|
|
8
8
|
import { useReaction, useSendbirdChat } from '../../hooks/useContext';
|
|
9
|
-
const COMPONENT_NAME = 'BottomSheetReactionAddon';
|
|
10
9
|
|
|
11
10
|
const BottomSheetReactionAddon = _ref => {
|
|
12
11
|
let {
|
|
@@ -26,12 +25,12 @@ const BottomSheetReactionAddon = _ref => {
|
|
|
26
25
|
const {
|
|
27
26
|
colors
|
|
28
27
|
} = useUIKitTheme();
|
|
29
|
-
const
|
|
28
|
+
const handlerId = useUniqHandlerId('BottomSheetReactionAddon');
|
|
30
29
|
const {
|
|
31
30
|
left,
|
|
32
31
|
right
|
|
33
32
|
} = useSafeAreaInsets();
|
|
34
|
-
useChannelHandler(sdk,
|
|
33
|
+
useChannelHandler(sdk, handlerId, {
|
|
35
34
|
async onReactionUpdated(eventChannel, event) {
|
|
36
35
|
if ((channel === null || channel === void 0 ? void 0 : channel.url) === eventChannel.url && event.messageId === (message === null || message === void 0 ? void 0 : message.messageId)) {
|
|
37
36
|
updateReactionFocusedItem({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Pressable","View","useSafeAreaInsets","useChannelHandler","Icon","Image","createStyleSheet","useUIKitTheme","
|
|
1
|
+
{"version":3,"names":["React","Pressable","View","useSafeAreaInsets","useChannelHandler","Icon","Image","createStyleSheet","useUIKitTheme","useUniqHandlerId","UNKNOWN_USER_ID","useReaction","useSendbirdChat","BottomSheetReactionAddon","onClose","message","channel","emojiManager","currentUser","sdk","updateReactionFocusedItem","openReactionList","colors","handlerId","left","right","onReactionUpdated","eventChannel","event","url","messageId","getMessage","includeReactions","channelUrl","channelType","emojiAll","allEmoji","slice","color","ui","reaction","default","styles","container","marginRight","marginLeft","map","key","reactionUserIds","reactions","find","it","userIds","currentUserIdx","indexOf","userId","reacted","onPress","deleteReaction","addReaction","pressed","button","backgroundColor","selected","background","enabled","uri","emoji","onBackground03","paddingTop","paddingBottom","paddingHorizontal","flexDirection","justifyContent","width","height","padding","borderRadius"],"sources":["BottomSheetReactionAddon.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { useChannelHandler } from '@sendbird/uikit-chat-hooks';\nimport { Icon, Image, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport { SendbirdBaseChannel, SendbirdBaseMessage, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { UNKNOWN_USER_ID } from '../../constants';\nimport { useReaction, useSendbirdChat } from '../../hooks/useContext';\n\ntype Props = {\n onClose: () => Promise<void>;\n channel: SendbirdBaseChannel;\n message: SendbirdBaseMessage;\n};\nconst BottomSheetReactionAddon = ({ onClose, message, channel }: Props) => {\n const { emojiManager, currentUser, sdk } = useSendbirdChat();\n const { updateReactionFocusedItem, openReactionList } = useReaction();\n const { colors } = useUIKitTheme();\n const handlerId = useUniqHandlerId('BottomSheetReactionAddon');\n const { left, right } = useSafeAreaInsets();\n\n useChannelHandler(sdk, handlerId, {\n async onReactionUpdated(eventChannel, event) {\n if (channel?.url === eventChannel.url && event.messageId === message?.messageId) {\n updateReactionFocusedItem({\n message: await sdk.message.getMessage({\n includeReactions: true,\n messageId: message.messageId,\n channelUrl: message.channelUrl,\n channelType: message.channelType,\n }),\n });\n }\n },\n });\n\n const emojiAll = emojiManager.allEmoji.slice(0, 5);\n const color = colors.ui.reaction.default;\n\n return (\n <View style={[styles.container, { marginRight: right, marginLeft: left }]}>\n {emojiAll.map(({ key, url }) => {\n const reactionUserIds = message?.reactions?.find((it) => it.key === key)?.userIds ?? [];\n const currentUserIdx = reactionUserIds.indexOf(currentUser?.userId ?? UNKNOWN_USER_ID);\n const reacted = currentUserIdx > -1;\n\n const onPress = () => {\n if (reacted) channel.deleteReaction(message, key);\n else channel.addReaction(message, key);\n onClose();\n };\n\n return (\n <Pressable\n key={key}\n onPress={onPress}\n style={({ pressed }) => [\n styles.button,\n { backgroundColor: reacted || pressed ? color.selected.background : color.enabled.background },\n ]}\n >\n <Image source={{ uri: url }} style={styles.emoji} />\n </Pressable>\n );\n })}\n\n <Pressable\n onPress={async () => {\n await onClose();\n openReactionList({ channel, message });\n }}\n style={({ pressed }) => [\n styles.button,\n { backgroundColor: pressed ? color.selected.background : color.enabled.background },\n ]}\n >\n <Icon icon={'emoji-more'} style={styles.emoji} color={colors.onBackground03} />\n </Pressable>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n paddingTop: 12,\n paddingBottom: 16,\n paddingHorizontal: 18,\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n button: {\n width: 44,\n height: 44,\n padding: 4,\n borderRadius: 8,\n },\n emoji: {\n width: '100%',\n height: '100%',\n },\n});\n\nexport default BottomSheetReactionAddon;\n"],"mappings":"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"}
|
|
@@ -36,6 +36,12 @@ const TypedPlaceholder = _ref => {
|
|
|
36
36
|
message: STRINGS.PLACEHOLDER.NO_MUTED_MEMBERS
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
+
case 'no-muted-participants':
|
|
40
|
+
return /*#__PURE__*/React.createElement(Placeholder, {
|
|
41
|
+
icon: 'mute',
|
|
42
|
+
message: STRINGS.PLACEHOLDER.NO_MUTED_PARTICIPANTS
|
|
43
|
+
});
|
|
44
|
+
|
|
39
45
|
case 'no-results-found':
|
|
40
46
|
return /*#__PURE__*/React.createElement(Placeholder, {
|
|
41
47
|
icon: 'search',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Placeholder","useLocalization","TypedPlaceholder","type","onPressRetry","STRINGS","PLACEHOLDER","NO_BANNED_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_RESULTS_FOUND","NO_USERS","ERROR","MESSAGE","RETRY_LABEL"],"sources":["TypedPlaceholder.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Placeholder } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../hooks/useContext';\n\ntype Props = {\n type:\n | 'no-muted-members'\n | 'no-banned-users'\n | 'no-channels'\n | 'no-messages'\n | 'no-users'\n | 'no-results-found'\n | 'error-wrong'\n | 'loading';\n onPressRetry?: () => void;\n};\nconst TypedPlaceholder = ({ type, onPressRetry }: Props) => {\n const { STRINGS } = useLocalization();\n switch (type) {\n case 'no-banned-users':\n return <Placeholder icon={'ban'} message={STRINGS.PLACEHOLDER.NO_BANNED_USERS} />;\n case 'no-channels':\n return <Placeholder icon={'chat'} message={STRINGS.PLACEHOLDER.NO_CHANNELS} />;\n case 'no-messages':\n return <Placeholder icon={'message'} message={STRINGS.PLACEHOLDER.NO_MESSAGES} />;\n case 'no-muted-members':\n return <Placeholder icon={'mute'} message={STRINGS.PLACEHOLDER.NO_MUTED_MEMBERS} />;\n case 'no-results-found':\n return <Placeholder icon={'search'} message={STRINGS.PLACEHOLDER.NO_RESULTS_FOUND} />;\n case 'no-users':\n return <Placeholder icon={'members'} message={STRINGS.PLACEHOLDER.NO_USERS} />;\n case 'error-wrong':\n return (\n <Placeholder\n icon={'error'}\n message={STRINGS.PLACEHOLDER.ERROR.MESSAGE}\n errorRetryLabel={STRINGS.PLACEHOLDER.ERROR.RETRY_LABEL}\n onPressRetry={onPressRetry}\n />\n );\n case 'loading':\n return <Placeholder loading icon={'spinner'} />;\n }\n};\n\nexport default TypedPlaceholder;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,WAAT,QAA4B,yCAA5B;AAEA,SAASC,eAAT,QAAgC,qBAAhC;;
|
|
1
|
+
{"version":3,"names":["React","Placeholder","useLocalization","TypedPlaceholder","type","onPressRetry","STRINGS","PLACEHOLDER","NO_BANNED_USERS","NO_CHANNELS","NO_MESSAGES","NO_MUTED_MEMBERS","NO_MUTED_PARTICIPANTS","NO_RESULTS_FOUND","NO_USERS","ERROR","MESSAGE","RETRY_LABEL"],"sources":["TypedPlaceholder.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Placeholder } from '@sendbird/uikit-react-native-foundation';\n\nimport { useLocalization } from '../hooks/useContext';\n\ntype Props = {\n type:\n | 'no-muted-members'\n | 'no-muted-participants'\n | 'no-banned-users'\n | 'no-channels'\n | 'no-messages'\n | 'no-users'\n | 'no-results-found'\n | 'error-wrong'\n | 'loading';\n onPressRetry?: () => void;\n};\nconst TypedPlaceholder = ({ type, onPressRetry }: Props) => {\n const { STRINGS } = useLocalization();\n switch (type) {\n case 'no-banned-users':\n return <Placeholder icon={'ban'} message={STRINGS.PLACEHOLDER.NO_BANNED_USERS} />;\n case 'no-channels':\n return <Placeholder icon={'chat'} message={STRINGS.PLACEHOLDER.NO_CHANNELS} />;\n case 'no-messages':\n return <Placeholder icon={'message'} message={STRINGS.PLACEHOLDER.NO_MESSAGES} />;\n case 'no-muted-members':\n return <Placeholder icon={'mute'} message={STRINGS.PLACEHOLDER.NO_MUTED_MEMBERS} />;\n case 'no-muted-participants':\n return <Placeholder icon={'mute'} message={STRINGS.PLACEHOLDER.NO_MUTED_PARTICIPANTS} />;\n case 'no-results-found':\n return <Placeholder icon={'search'} message={STRINGS.PLACEHOLDER.NO_RESULTS_FOUND} />;\n case 'no-users':\n return <Placeholder icon={'members'} message={STRINGS.PLACEHOLDER.NO_USERS} />;\n case 'error-wrong':\n return (\n <Placeholder\n icon={'error'}\n message={STRINGS.PLACEHOLDER.ERROR.MESSAGE}\n errorRetryLabel={STRINGS.PLACEHOLDER.ERROR.RETRY_LABEL}\n onPressRetry={onPressRetry}\n />\n );\n case 'loading':\n return <Placeholder loading icon={'spinner'} />;\n }\n};\n\nexport default TypedPlaceholder;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,WAAT,QAA4B,yCAA5B;AAEA,SAASC,eAAT,QAAgC,qBAAhC;;AAeA,MAAMC,gBAAgB,GAAG,QAAmC;EAAA,IAAlC;IAAEC,IAAF;IAAQC;EAAR,CAAkC;EAC1D,MAAM;IAAEC;EAAF,IAAcJ,eAAe,EAAnC;;EACA,QAAQE,IAAR;IACE,KAAK,iBAAL;MACE,oBAAO,oBAAC,WAAD;QAAa,IAAI,EAAE,KAAnB;QAA0B,OAAO,EAAEE,OAAO,CAACC,WAAR,CAAoBC;MAAvD,EAAP;;IACF,KAAK,aAAL;MACE,oBAAO,oBAAC,WAAD;QAAa,IAAI,EAAE,MAAnB;QAA2B,OAAO,EAAEF,OAAO,CAACC,WAAR,CAAoBE;MAAxD,EAAP;;IACF,KAAK,aAAL;MACE,oBAAO,oBAAC,WAAD;QAAa,IAAI,EAAE,SAAnB;QAA8B,OAAO,EAAEH,OAAO,CAACC,WAAR,CAAoBG;MAA3D,EAAP;;IACF,KAAK,kBAAL;MACE,oBAAO,oBAAC,WAAD;QAAa,IAAI,EAAE,MAAnB;QAA2B,OAAO,EAAEJ,OAAO,CAACC,WAAR,CAAoBI;MAAxD,EAAP;;IACF,KAAK,uBAAL;MACE,oBAAO,oBAAC,WAAD;QAAa,IAAI,EAAE,MAAnB;QAA2B,OAAO,EAAEL,OAAO,CAACC,WAAR,CAAoBK;MAAxD,EAAP;;IACF,KAAK,kBAAL;MACE,oBAAO,oBAAC,WAAD;QAAa,IAAI,EAAE,QAAnB;QAA6B,OAAO,EAAEN,OAAO,CAACC,WAAR,CAAoBM;MAA1D,EAAP;;IACF,KAAK,UAAL;MACE,oBAAO,oBAAC,WAAD;QAAa,IAAI,EAAE,SAAnB;QAA8B,OAAO,EAAEP,OAAO,CAACC,WAAR,CAAoBO;MAA3D,EAAP;;IACF,KAAK,aAAL;MACE,oBACE,oBAAC,WAAD;QACE,IAAI,EAAE,OADR;QAEE,OAAO,EAAER,OAAO,CAACC,WAAR,CAAoBQ,KAApB,CAA0BC,OAFrC;QAGE,eAAe,EAAEV,OAAO,CAACC,WAAR,CAAoBQ,KAApB,CAA0BE,WAH7C;QAIE,YAAY,EAAEZ;MAJhB,EADF;;IAQF,KAAK,SAAL;MACE,oBAAO,oBAAC,WAAD;QAAa,OAAO,MAApB;QAAqB,IAAI,EAAE;MAA3B,EAAP;EAzBJ;AA2BD,CA7BD;;AA+BA,eAAeF,gBAAf"}
|
|
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import { Pressable } from 'react-native';
|
|
3
3
|
import { useChannelHandler, useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';
|
|
4
4
|
import { GroupChannelPreview, Icon, LoadingSpinner, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
|
|
5
|
-
import { getFileExtension, getFileType, isDifferentChannel, isMyMessage, useIIFE,
|
|
5
|
+
import { getFileExtension, getFileType, isDifferentChannel, isMyMessage, useIIFE, useUniqHandlerId } from '@sendbird/uikit-utils';
|
|
6
6
|
import ChannelCover from '../components/ChannelCover';
|
|
7
7
|
import { DEFAULT_LONG_PRESS_DELAY } from '../constants';
|
|
8
8
|
import { useLocalization, useSendbirdChat } from '../hooks/useContext';
|
|
@@ -34,8 +34,8 @@ const GroupChannelPreviewContainer = _ref => {
|
|
|
34
34
|
const [typingUsers, setTypingUsers] = useState([]);
|
|
35
35
|
|
|
36
36
|
if (features.channelListTypingIndicatorEnabled) {
|
|
37
|
-
const
|
|
38
|
-
useChannelHandler(sdk,
|
|
37
|
+
const handlerId = useUniqHandlerId('GroupChannelPreviewContainer_TypingIndicator');
|
|
38
|
+
useChannelHandler(sdk, handlerId, {
|
|
39
39
|
onTypingStatusUpdated(eventChannel) {
|
|
40
40
|
if (isDifferentChannel(channel, eventChannel)) return;
|
|
41
41
|
setTypingUsers(eventChannel.getTypingUsers());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","Pressable","useChannelHandler","useMessageOutgoingStatus","GroupChannelPreview","Icon","LoadingSpinner","createStyleSheet","useUIKitTheme","getFileExtension","getFileType","isDifferentChannel","isMyMessage","useIIFE","
|
|
1
|
+
{"version":3,"names":["React","useState","Pressable","useChannelHandler","useMessageOutgoingStatus","GroupChannelPreview","Icon","LoadingSpinner","createStyleSheet","useUIKitTheme","getFileExtension","getFileType","isDifferentChannel","isMyMessage","useIIFE","useUniqHandlerId","ChannelCover","DEFAULT_LONG_PRESS_DELAY","useLocalization","useSendbirdChat","iconMapper","audio","image","video","file","GroupChannelPreviewContainer","onPress","onLongPress","channel","currentUser","sdk","features","mentionManager","STRINGS","colors","typingUsers","setTypingUsers","channelListTypingIndicatorEnabled","handlerId","onTypingStatusUpdated","eventChannel","getTypingUsers","outgoingStatus","lastMessage","bodyText","length","LABELS","TYPING_INDICATOR_TYPINGS","GROUP_CHANNEL_LIST","CHANNEL_PREVIEW_BODY","bodyIcon","isFileMessage","undefined","type","name","titleCaptionIcon","channelListMessageReceiptStatusEnabled","userId","styles","error","onBackground03","secondary","coverUrl","CHANNEL_PREVIEW_TITLE","CHANNEL_PREVIEW_TITLE_CAPTION","unreadMessageCount","unreadMentionCount","config","trigger","memberCount","isFrozen","isBroadcast","myPushTriggerOption","marginRight","broadcastCover","padding","borderRadius"],"sources":["GroupChannelPreviewContainer.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Pressable } from 'react-native';\n\nimport { useChannelHandler, useMessageOutgoingStatus } from '@sendbird/uikit-chat-hooks';\nimport {\n GroupChannelPreview,\n Icon,\n LoadingSpinner,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport {\n SendbirdGroupChannel,\n SendbirdUser,\n getFileExtension,\n getFileType,\n isDifferentChannel,\n isMyMessage,\n useIIFE,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport ChannelCover from '../components/ChannelCover';\nimport { DEFAULT_LONG_PRESS_DELAY } from '../constants';\nimport { useLocalization, useSendbirdChat } from '../hooks/useContext';\n\nconst iconMapper = { audio: 'file-audio', image: 'photo', video: 'play', file: 'file-document' } as const;\n\ntype Props = {\n channel: SendbirdGroupChannel;\n onPress: () => void;\n onLongPress: () => void;\n};\nconst GroupChannelPreviewContainer = ({ onPress, onLongPress, channel }: Props) => {\n const { currentUser, sdk, features, mentionManager } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const [typingUsers, setTypingUsers] = useState<SendbirdUser[]>([]);\n\n if (features.channelListTypingIndicatorEnabled) {\n const handlerId = useUniqHandlerId('GroupChannelPreviewContainer_TypingIndicator');\n useChannelHandler(sdk, handlerId, {\n onTypingStatusUpdated(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n setTypingUsers(eventChannel.getTypingUsers());\n },\n });\n }\n\n const outgoingStatus = useMessageOutgoingStatus(sdk, channel, channel.lastMessage);\n\n const bodyText = useIIFE(() => {\n if (typingUsers.length > 0) return STRINGS.LABELS.TYPING_INDICATOR_TYPINGS(typingUsers) || '';\n else return STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_BODY(channel);\n });\n\n const bodyIcon = useIIFE(() => {\n if (!channel.lastMessage?.isFileMessage()) return undefined;\n if (typingUsers.length > 0) return undefined;\n return iconMapper[getFileType(channel.lastMessage.type || getFileExtension(channel.lastMessage.name))];\n });\n\n const titleCaptionIcon = useIIFE(() => {\n if (!channel.lastMessage) return undefined;\n if (!features.channelListMessageReceiptStatusEnabled) return undefined;\n if (!isMyMessage(channel.lastMessage, currentUser?.userId)) return undefined;\n\n if (outgoingStatus === 'PENDING') {\n return <LoadingSpinner size={16} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'FAILED') {\n return <Icon icon={'error'} size={16} color={colors.error} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'UNDELIVERED') {\n return <Icon icon={'done'} size={16} color={colors.onBackground03} containerStyle={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'DELIVERED' || outgoingStatus === 'UNREAD') {\n return <Icon icon={'done-all'} size={16} color={colors.onBackground03} style={styles.titleCaptionIcon} />;\n }\n\n if (outgoingStatus === 'READ') {\n return <Icon icon={'done-all'} size={16} color={colors.secondary} style={styles.titleCaptionIcon} />;\n }\n\n return undefined;\n });\n\n return (\n <Pressable delayLongPress={DEFAULT_LONG_PRESS_DELAY} onPress={onPress} onLongPress={onLongPress}>\n <GroupChannelPreview\n customCover={<ChannelCover channel={channel} size={56} />}\n coverUrl={channel.coverUrl}\n title={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE(currentUser?.userId ?? '', channel)}\n titleCaptionLeft={titleCaptionIcon}\n titleCaption={STRINGS.GROUP_CHANNEL_LIST.CHANNEL_PREVIEW_TITLE_CAPTION(channel)}\n body={bodyText}\n bodyIcon={bodyIcon}\n badgeCount={channel.unreadMessageCount}\n mentioned={channel.unreadMentionCount > 0}\n mentionTrigger={mentionManager.config.trigger}\n memberCount={channel.memberCount > 2 ? channel.memberCount : undefined}\n frozen={channel.isFrozen}\n broadcast={channel.isBroadcast}\n notificationOff={channel.myPushTriggerOption === 'off'}\n />\n </Pressable>\n );\n};\n\nconst styles = createStyleSheet({\n titleCaptionIcon: {\n marginRight: 4,\n },\n broadcastCover: {\n padding: 12,\n borderRadius: 28,\n },\n});\n\nexport default GroupChannelPreviewContainer;\n"],"mappings":"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"}
|
|
@@ -67,12 +67,14 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
67
67
|
trigger: MentionConfig.DEFAULT.TRIGGER
|
|
68
68
|
});
|
|
69
69
|
return new MentionManager(config, (chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableUserMention) ?? SendbirdUIKit.DEFAULT.USER_MENTION);
|
|
70
|
-
}, [userMention === null || userMention === void 0 ? void 0 : userMention.mentionLimit, userMention === null || userMention === void 0 ? void 0 : userMention.suggestionLimit, userMention === null || userMention === void 0 ? void 0 : userMention.debounceMills]);
|
|
71
|
-
const imageCompressionConfig = useMemo(() =>
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
}, [chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.enableUserMention, userMention === null || userMention === void 0 ? void 0 : userMention.mentionLimit, userMention === null || userMention === void 0 ? void 0 : userMention.suggestionLimit, userMention === null || userMention === void 0 ? void 0 : userMention.debounceMills]);
|
|
71
|
+
const imageCompressionConfig = useMemo(() => {
|
|
72
|
+
return new ImageCompressionConfig({
|
|
73
|
+
compressionRate: (imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.compressionRate) || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,
|
|
74
|
+
width: imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.width,
|
|
75
|
+
height: imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.height
|
|
76
|
+
});
|
|
77
|
+
}, [imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.compressionRate, imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.width, imageCompression === null || imageCompression === void 0 ? void 0 : imageCompression.height]);
|
|
76
78
|
useLayoutEffect(() => {
|
|
77
79
|
if (!isFirstMount) {
|
|
78
80
|
const sendbird = initializeSendbird(appId, internalStorage, chatOptions === null || chatOptions === void 0 ? void 0 : chatOptions.onInitialized);
|
|
@@ -90,6 +92,15 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
90
92
|
}
|
|
91
93
|
};
|
|
92
94
|
}, [appId, internalStorage]);
|
|
95
|
+
|
|
96
|
+
const renderChildren = () => {
|
|
97
|
+
if (errorBoundary !== null && errorBoundary !== void 0 && errorBoundary.disabled) {
|
|
98
|
+
return children;
|
|
99
|
+
} else {
|
|
100
|
+
return /*#__PURE__*/React.createElement(InternalErrorBoundaryContainer, errorBoundary, children);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
93
104
|
return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(SendbirdChatProvider, {
|
|
94
105
|
sdkInstance: sdkInstance,
|
|
95
106
|
emojiManager: emojiManager,
|
|
@@ -118,7 +129,8 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
118
129
|
dismissTimeout: toast === null || toast === void 0 ? void 0 : toast.dismissTimeout
|
|
119
130
|
}, /*#__PURE__*/React.createElement(UserProfileProvider, {
|
|
120
131
|
onCreateChannel: userProfile === null || userProfile === void 0 ? void 0 : userProfile.onCreateChannel,
|
|
121
|
-
onBeforeCreateChannel: userProfile === null || userProfile === void 0 ? void 0 : userProfile.onBeforeCreateChannel
|
|
132
|
+
onBeforeCreateChannel: userProfile === null || userProfile === void 0 ? void 0 : userProfile.onBeforeCreateChannel,
|
|
133
|
+
statusBarTranslucent: (styles === null || styles === void 0 ? void 0 : styles.statusBarTranslucent) ?? true
|
|
122
134
|
}, /*#__PURE__*/React.createElement(ReactionProvider, null, /*#__PURE__*/React.createElement(LocalizationContext.Consumer, null, value => {
|
|
123
135
|
const STRINGS = (value === null || value === void 0 ? void 0 : value.STRINGS) || defaultStringSet;
|
|
124
136
|
return /*#__PURE__*/React.createElement(DialogProvider, {
|
|
@@ -132,7 +144,7 @@ const SendbirdUIKitContainer = _ref => {
|
|
|
132
144
|
placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER
|
|
133
145
|
}
|
|
134
146
|
}
|
|
135
|
-
},
|
|
147
|
+
}, renderChildren());
|
|
136
148
|
}))))))))));
|
|
137
149
|
};
|
|
138
150
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useLayoutEffect","useMemo","useRef","useState","Platform","SafeAreaProvider","Sendbird","GroupChannelModule","OpenChannelModule","DialogProvider","Header","HeaderStyleProvider","LightUIKitTheme","ToastProvider","UIKitThemeProvider","useIsFirstMount","LocalizationContext","LocalizationProvider","PlatformServiceProvider","ReactionProvider","SendbirdChatProvider","UserProfileProvider","EmojiManager","ImageCompressionConfig","InternalLocalCacheStorage","MentionConfig","MentionManager","StringSetEn","SBUDynamicModule","VERSION","InternalErrorBoundaryContainer","NetInfo","get","SendbirdUIKit","Object","freeze","PLATFORM","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","CHANNEL_LIST_TYPING_INDICATOR","CHANNEL_LIST_MESSAGE_RECEIPT_STATUS","USE_USER_ID_FOR_NICKNAME","USER_MENTION","IMAGE_COMPRESSION","SendbirdUIKitContainer","children","appId","chatOptions","platformServices","localization","styles","errorBoundary","toast","userProfile","userMention","imageCompression","defaultStringSet","stringSet","isFirstMount","unsubscribes","internalStorage","localCacheStorage","undefined","sdkInstance","setSdkInstance","sendbird","initializeSendbird","onInitialized","current","chatSDK","emojiManager","mentionManager","config","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","enableUserMention","imageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","forEach","u","enableAutoPushTokenRegistration","enableChannelListTypingIndicator","enableChannelListMessageReceiptStatus","enableUseUserIdForNickname","enableImageCompression","file","notification","clipboard","media","theme","HeaderComponent","defaultHeaderTitleAlign","statusBarTranslucent","dismissTimeout","onCreateChannel","onBeforeCreateChannel","value","STRINGS","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","init","modules","localCacheEnabled","Boolean","useAsyncStorageStore","newInstance","addExtension","addEventListener","listener","callback","callbackType","unsubscribe","state","online","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport Sendbird from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport type {\n SendbirdBaseChannel,\n SendbirdChatSDK,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport { useIsFirstMount } from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport type { UIKitFeaturesInSendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n} from '../platform/types';\nimport type { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\n\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n CHANNEL_LIST_TYPING_INDICATOR: false,\n CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: false,\n USE_USER_ID_FOR_NICKNAME: false,\n USER_MENTION: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n };\n chatOptions?: {\n localCacheStorage?: LocalCacheStorage;\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n } & Partial<UIKitFeaturesInSendbirdChatContext>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;\n };\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdBaseChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = ({\n children,\n appId,\n chatOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n toast,\n userProfile,\n userMention,\n imageCompression,\n}: SendbirdUIKitContainerProps) => {\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n const internalStorage = useMemo(\n () => (chatOptions?.localCacheStorage ? new InternalLocalCacheStorage(chatOptions.localCacheStorage) : undefined),\n [chatOptions?.localCacheStorage],\n );\n\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n\n const mentionManager = useMemo(() => {\n const config = new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n return new MentionManager(config, chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION);\n }, [userMention?.mentionLimit, userMention?.suggestionLimit, userMention?.debounceMills]);\n\n const imageCompressionConfig = useMemo(\n () =>\n new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n }),\n [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height],\n );\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n if (!isFirstMount) {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n }\n };\n }, [appId, internalStorage]);\n\n return (\n <SafeAreaProvider>\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n enableAutoPushTokenRegistration={\n chatOptions?.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableChannelListTypingIndicator={\n chatOptions?.enableChannelListTypingIndicator ?? SendbirdUIKit.DEFAULT.CHANNEL_LIST_TYPING_INDICATOR\n }\n enableChannelListMessageReceiptStatus={\n chatOptions?.enableChannelListMessageReceiptStatus ??\n SendbirdUIKit.DEFAULT.CHANNEL_LIST_MESSAGE_RECEIPT_STATUS\n }\n enableUseUserIdForNickname={\n chatOptions?.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableUserMention={chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION}\n enableImageCompression={chatOptions?.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider\n onCreateChannel={userProfile?.onCreateChannel}\n onBeforeCreateChannel={userProfile?.onBeforeCreateChannel}\n >\n <ReactionProvider>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n <InternalErrorBoundaryContainer {...errorBoundary}>\n {children}\n </InternalErrorBoundaryContainer>\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </SafeAreaProvider>\n );\n};\n\nconst initializeSendbird = (\n appId: string,\n internalStorage?: InternalLocalCacheStorage,\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK,\n) => {\n const unsubscribes: Array<() => void> = [];\n let chatSDK: SendbirdChatSDK;\n\n chatSDK = Sendbird.init({\n appId,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: Boolean(internalStorage),\n useAsyncStorageStore: internalStorage as never,\n newInstance: true,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n if (SendbirdUIKit.VERSION) {\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useLayoutEffect","useMemo","useRef","useState","Platform","SafeAreaProvider","Sendbird","GroupChannelModule","OpenChannelModule","DialogProvider","Header","HeaderStyleProvider","LightUIKitTheme","ToastProvider","UIKitThemeProvider","useIsFirstMount","LocalizationContext","LocalizationProvider","PlatformServiceProvider","ReactionProvider","SendbirdChatProvider","UserProfileProvider","EmojiManager","ImageCompressionConfig","InternalLocalCacheStorage","MentionConfig","MentionManager","StringSetEn","SBUDynamicModule","VERSION","InternalErrorBoundaryContainer","NetInfo","get","SendbirdUIKit","Object","freeze","PLATFORM","OS","toLowerCase","DEFAULT","AUTO_PUSH_TOKEN_REGISTRATION","CHANNEL_LIST_TYPING_INDICATOR","CHANNEL_LIST_MESSAGE_RECEIPT_STATUS","USE_USER_ID_FOR_NICKNAME","USER_MENTION","IMAGE_COMPRESSION","SendbirdUIKitContainer","children","appId","chatOptions","platformServices","localization","styles","errorBoundary","toast","userProfile","userMention","imageCompression","defaultStringSet","stringSet","isFirstMount","unsubscribes","internalStorage","localCacheStorage","undefined","sdkInstance","setSdkInstance","sendbird","initializeSendbird","onInitialized","current","chatSDK","emojiManager","mentionManager","config","mentionLimit","MENTION_LIMIT","suggestionLimit","SUGGESTION_LIMIT","debounceMills","DEBOUNCE_MILLS","delimiter","DELIMITER","trigger","TRIGGER","enableUserMention","imageCompressionConfig","compressionRate","COMPRESSION_RATE","width","height","forEach","u","renderChildren","disabled","enableAutoPushTokenRegistration","enableChannelListTypingIndicator","enableChannelListMessageReceiptStatus","enableUseUserIdForNickname","enableImageCompression","file","notification","clipboard","media","theme","HeaderComponent","defaultHeaderTitleAlign","statusBarTranslucent","dismissTimeout","onCreateChannel","onBeforeCreateChannel","value","STRINGS","alert","ok","DIALOG","ALERT_DEFAULT_OK","prompt","PROMPT_DEFAULT_OK","cancel","PROMPT_DEFAULT_CANCEL","placeholder","PROMPT_DEFAULT_PLACEHOLDER","init","modules","localCacheEnabled","Boolean","useAsyncStorageStore","newInstance","addExtension","addEventListener","listener","callback","callbackType","unsubscribe","state","online","isConnected","isInternetReachable","push","setOnlineListener","onOnline","setOfflineListener","onOffline"],"sources":["SendbirdUIKitContainer.tsx"],"sourcesContent":["import React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport { SafeAreaProvider } from 'react-native-safe-area-context';\n\nimport Sendbird from '@sendbird/chat';\nimport { GroupChannelModule } from '@sendbird/chat/groupChannel';\nimport { OpenChannelModule } from '@sendbird/chat/openChannel';\nimport type { HeaderStyleContextType, UIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n DialogProvider,\n Header,\n HeaderStyleProvider,\n LightUIKitTheme,\n ToastProvider,\n UIKitThemeProvider,\n} from '@sendbird/uikit-react-native-foundation';\nimport type {\n SendbirdChatSDK,\n SendbirdGroupChannel,\n SendbirdGroupChannelCreateParams,\n SendbirdMember,\n SendbirdUser,\n} from '@sendbird/uikit-utils';\nimport { useIsFirstMount } from '@sendbird/uikit-utils';\n\nimport { LocalizationContext, LocalizationProvider } from '../contexts/LocalizationCtx';\nimport { PlatformServiceProvider } from '../contexts/PlatformServiceCtx';\nimport { ReactionProvider } from '../contexts/ReactionCtx';\nimport type { UIKitFeaturesInSendbirdChatContext } from '../contexts/SendbirdChatCtx';\nimport { SendbirdChatProvider } from '../contexts/SendbirdChatCtx';\nimport { UserProfileProvider } from '../contexts/UserProfileCtx';\nimport EmojiManager from '../libs/EmojiManager';\nimport type { ImageCompressionConfigInterface } from '../libs/ImageCompressionConfig';\nimport ImageCompressionConfig from '../libs/ImageCompressionConfig';\nimport InternalLocalCacheStorage from '../libs/InternalLocalCacheStorage';\nimport MentionConfig, { MentionConfigInterface } from '../libs/MentionConfig';\nimport MentionManager from '../libs/MentionManager';\nimport StringSetEn from '../localization/StringSet.en';\nimport type { StringSet } from '../localization/StringSet.type';\nimport SBUDynamicModule from '../platform/dynamicModule';\nimport type {\n ClipboardServiceInterface,\n FileServiceInterface,\n MediaServiceInterface,\n NotificationServiceInterface,\n} from '../platform/types';\nimport type { ErrorBoundaryProps, LocalCacheStorage } from '../types';\nimport VERSION from '../version';\nimport InternalErrorBoundaryContainer from './InternalErrorBoundaryContainer';\n\nconst NetInfo = SBUDynamicModule.get('@react-native-community/netinfo', 'warn');\n\nexport const SendbirdUIKit = Object.freeze({\n VERSION,\n PLATFORM: Platform.OS.toLowerCase(),\n DEFAULT: {\n AUTO_PUSH_TOKEN_REGISTRATION: true,\n CHANNEL_LIST_TYPING_INDICATOR: false,\n CHANNEL_LIST_MESSAGE_RECEIPT_STATUS: false,\n USE_USER_ID_FOR_NICKNAME: false,\n USER_MENTION: false,\n IMAGE_COMPRESSION: true,\n },\n});\n\nexport type SendbirdUIKitContainerProps = React.PropsWithChildren<{\n appId: string;\n platformServices: {\n file: FileServiceInterface;\n notification: NotificationServiceInterface;\n clipboard: ClipboardServiceInterface;\n media: MediaServiceInterface;\n };\n chatOptions?: {\n localCacheStorage?: LocalCacheStorage;\n onInitialized?: (sdkInstance: SendbirdChatSDK) => SendbirdChatSDK;\n } & Partial<UIKitFeaturesInSendbirdChatContext>;\n localization?: {\n stringSet?: StringSet;\n };\n styles?: {\n theme?: UIKitTheme;\n statusBarTranslucent?: boolean;\n defaultHeaderTitleAlign?: 'left' | 'center';\n defaultHeaderHeight?: number;\n HeaderComponent?: HeaderStyleContextType['HeaderComponent'];\n };\n errorBoundary?: {\n disabled?: boolean;\n onError?: (props: ErrorBoundaryProps) => void;\n ErrorInfoComponent?: (props: ErrorBoundaryProps) => JSX.Element;\n };\n toast?: {\n dismissTimeout?: number;\n };\n userProfile?: {\n onCreateChannel: (channel: SendbirdGroupChannel) => void;\n onBeforeCreateChannel?: (\n channelParams: SendbirdGroupChannelCreateParams,\n users: SendbirdUser[] | SendbirdMember[],\n ) => SendbirdGroupChannelCreateParams | Promise<SendbirdGroupChannelCreateParams>;\n };\n userMention?: Pick<Partial<MentionConfigInterface>, 'mentionLimit' | 'suggestionLimit' | 'debounceMills'>;\n imageCompression?: Partial<ImageCompressionConfigInterface>;\n}>;\n\nconst SendbirdUIKitContainer = ({\n children,\n appId,\n chatOptions,\n platformServices,\n localization,\n styles,\n errorBoundary,\n toast,\n userProfile,\n userMention,\n imageCompression,\n}: SendbirdUIKitContainerProps) => {\n const defaultStringSet = localization?.stringSet ?? StringSetEn;\n\n const isFirstMount = useIsFirstMount();\n const unsubscribes = useRef<Array<() => void>>([]);\n const internalStorage = useMemo(\n () => (chatOptions?.localCacheStorage ? new InternalLocalCacheStorage(chatOptions.localCacheStorage) : undefined),\n [chatOptions?.localCacheStorage],\n );\n\n const [sdkInstance, setSdkInstance] = useState<SendbirdChatSDK>(() => {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n unsubscribes.current = sendbird.unsubscribes;\n return sendbird.chatSDK;\n });\n\n const emojiManager = useMemo(() => new EmojiManager(internalStorage), [internalStorage]);\n\n const mentionManager = useMemo(() => {\n const config = new MentionConfig({\n mentionLimit: userMention?.mentionLimit || MentionConfig.DEFAULT.MENTION_LIMIT,\n suggestionLimit: userMention?.suggestionLimit || MentionConfig.DEFAULT.SUGGESTION_LIMIT,\n debounceMills: userMention?.debounceMills ?? MentionConfig.DEFAULT.DEBOUNCE_MILLS,\n delimiter: MentionConfig.DEFAULT.DELIMITER,\n trigger: MentionConfig.DEFAULT.TRIGGER,\n });\n return new MentionManager(config, chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION);\n }, [\n chatOptions?.enableUserMention,\n userMention?.mentionLimit,\n userMention?.suggestionLimit,\n userMention?.debounceMills,\n ]);\n\n const imageCompressionConfig = useMemo(() => {\n return new ImageCompressionConfig({\n compressionRate: imageCompression?.compressionRate || ImageCompressionConfig.DEFAULT.COMPRESSION_RATE,\n width: imageCompression?.width,\n height: imageCompression?.height,\n });\n }, [imageCompression?.compressionRate, imageCompression?.width, imageCompression?.height]);\n\n useLayoutEffect(() => {\n if (!isFirstMount) {\n const sendbird = initializeSendbird(appId, internalStorage, chatOptions?.onInitialized);\n setSdkInstance(sendbird.chatSDK);\n unsubscribes.current = sendbird.unsubscribes;\n }\n\n return () => {\n if (!isFirstMount) {\n unsubscribes.current.forEach((u) => {\n try {\n u();\n } catch {}\n });\n }\n };\n }, [appId, internalStorage]);\n\n const renderChildren = () => {\n if (errorBoundary?.disabled) {\n return children;\n } else {\n return <InternalErrorBoundaryContainer {...errorBoundary}>{children}</InternalErrorBoundaryContainer>;\n }\n };\n\n return (\n <SafeAreaProvider>\n <SendbirdChatProvider\n sdkInstance={sdkInstance}\n emojiManager={emojiManager}\n mentionManager={mentionManager}\n imageCompressionConfig={imageCompressionConfig}\n enableAutoPushTokenRegistration={\n chatOptions?.enableAutoPushTokenRegistration ?? SendbirdUIKit.DEFAULT.AUTO_PUSH_TOKEN_REGISTRATION\n }\n enableChannelListTypingIndicator={\n chatOptions?.enableChannelListTypingIndicator ?? SendbirdUIKit.DEFAULT.CHANNEL_LIST_TYPING_INDICATOR\n }\n enableChannelListMessageReceiptStatus={\n chatOptions?.enableChannelListMessageReceiptStatus ??\n SendbirdUIKit.DEFAULT.CHANNEL_LIST_MESSAGE_RECEIPT_STATUS\n }\n enableUseUserIdForNickname={\n chatOptions?.enableUseUserIdForNickname ?? SendbirdUIKit.DEFAULT.USE_USER_ID_FOR_NICKNAME\n }\n enableUserMention={chatOptions?.enableUserMention ?? SendbirdUIKit.DEFAULT.USER_MENTION}\n enableImageCompression={chatOptions?.enableImageCompression ?? SendbirdUIKit.DEFAULT.IMAGE_COMPRESSION}\n >\n <LocalizationProvider stringSet={defaultStringSet}>\n <PlatformServiceProvider\n fileService={platformServices.file}\n notificationService={platformServices.notification}\n clipboardService={platformServices.clipboard}\n mediaService={platformServices.media}\n >\n <UIKitThemeProvider theme={styles?.theme ?? LightUIKitTheme}>\n <HeaderStyleProvider\n HeaderComponent={styles?.HeaderComponent ?? Header}\n defaultTitleAlign={styles?.defaultHeaderTitleAlign ?? 'left'}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ToastProvider dismissTimeout={toast?.dismissTimeout}>\n <UserProfileProvider\n onCreateChannel={userProfile?.onCreateChannel}\n onBeforeCreateChannel={userProfile?.onBeforeCreateChannel}\n statusBarTranslucent={styles?.statusBarTranslucent ?? true}\n >\n <ReactionProvider>\n <LocalizationContext.Consumer>\n {(value) => {\n const STRINGS = value?.STRINGS || defaultStringSet;\n return (\n <DialogProvider\n defaultLabels={{\n alert: { ok: STRINGS.DIALOG.ALERT_DEFAULT_OK },\n prompt: {\n ok: STRINGS.DIALOG.PROMPT_DEFAULT_OK,\n cancel: STRINGS.DIALOG.PROMPT_DEFAULT_CANCEL,\n placeholder: STRINGS.DIALOG.PROMPT_DEFAULT_PLACEHOLDER,\n },\n }}\n >\n {renderChildren()}\n </DialogProvider>\n );\n }}\n </LocalizationContext.Consumer>\n </ReactionProvider>\n </UserProfileProvider>\n </ToastProvider>\n </HeaderStyleProvider>\n </UIKitThemeProvider>\n </PlatformServiceProvider>\n </LocalizationProvider>\n </SendbirdChatProvider>\n </SafeAreaProvider>\n );\n};\n\nconst initializeSendbird = (\n appId: string,\n internalStorage?: InternalLocalCacheStorage,\n onInitialized?: (sdk: SendbirdChatSDK) => SendbirdChatSDK,\n) => {\n const unsubscribes: Array<() => void> = [];\n let chatSDK: SendbirdChatSDK;\n\n chatSDK = Sendbird.init({\n appId,\n modules: [new GroupChannelModule(), new OpenChannelModule()],\n localCacheEnabled: Boolean(internalStorage),\n useAsyncStorageStore: internalStorage as never,\n newInstance: true,\n });\n\n if (onInitialized) {\n chatSDK = onInitialized(chatSDK);\n }\n\n if (SendbirdUIKit.VERSION) {\n chatSDK.addExtension('sb_uikit', SendbirdUIKit.VERSION);\n }\n\n if (SendbirdUIKit.PLATFORM) {\n chatSDK.addExtension('device-os-platform', SendbirdUIKit.PLATFORM);\n }\n\n if (NetInfo?.addEventListener) {\n const listener = (callback: () => void, callbackType: 'online' | 'offline') => {\n const unsubscribe = NetInfo.addEventListener((state) => {\n const online = Boolean(state.isConnected) || Boolean(state.isInternetReachable);\n if (online && callbackType === 'online') callback();\n if (!online && callbackType === 'offline') callback();\n });\n unsubscribes.push(unsubscribe);\n return unsubscribe;\n };\n chatSDK.setOnlineListener?.((onOnline) => listener(onOnline, 'online'));\n chatSDK.setOfflineListener?.((onOffline) => listener(onOffline, 'offline'));\n }\n return { chatSDK, unsubscribes };\n};\n\nexport default SendbirdUIKitContainer;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useContext, useState } from 'react';
|
|
2
2
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
3
3
|
import { Modal, OutlinedButton, ProfileCard, createStyleSheet } from '@sendbird/uikit-react-native-foundation';
|
|
4
|
-
import { Logger, PASS, useIIFE } from '@sendbird/uikit-utils';
|
|
4
|
+
import { Logger, PASS, getDefaultGroupChannelCreateParams, useIIFE } from '@sendbird/uikit-utils';
|
|
5
5
|
import { LocalizationContext } from '../contexts/LocalizationCtx';
|
|
6
6
|
import { SendbirdChatContext } from '../contexts/SendbirdChatCtx';
|
|
7
7
|
let WARN_onCreateChannel = false;
|
|
@@ -10,7 +10,8 @@ export const UserProfileProvider = _ref => {
|
|
|
10
10
|
let {
|
|
11
11
|
children,
|
|
12
12
|
onCreateChannel,
|
|
13
|
-
onBeforeCreateChannel = PASS
|
|
13
|
+
onBeforeCreateChannel = PASS,
|
|
14
|
+
statusBarTranslucent = true
|
|
14
15
|
} = _ref;
|
|
15
16
|
const chatContext = useContext(SendbirdChatContext);
|
|
16
17
|
const localizationContext = useContext(LocalizationContext);
|
|
@@ -29,26 +30,34 @@ export const UserProfileProvider = _ref => {
|
|
|
29
30
|
} = useSafeAreaInsets();
|
|
30
31
|
const [user, setUser] = useState();
|
|
31
32
|
const [visible, setVisible] = useState(false);
|
|
32
|
-
const
|
|
33
|
+
const [hideMessageButton, setHideMessageButton] = useState(false);
|
|
34
|
+
const show = useCallback((user, options) => {
|
|
33
35
|
setUser(user);
|
|
34
36
|
setVisible(true);
|
|
37
|
+
setHideMessageButton(Boolean(options === null || options === void 0 ? void 0 : options.hideMessageButton));
|
|
35
38
|
}, []);
|
|
36
39
|
const hide = useCallback(() => {
|
|
37
40
|
setVisible(false);
|
|
38
41
|
}, []);
|
|
42
|
+
|
|
43
|
+
const onDismiss = () => {
|
|
44
|
+
setUser(undefined);
|
|
45
|
+
setHideMessageButton(false);
|
|
46
|
+
};
|
|
47
|
+
|
|
39
48
|
const userProfileButton = useIIFE(() => {
|
|
40
49
|
const isMe = chatContext.currentUser && (user === null || user === void 0 ? void 0 : user.userId) === chatContext.currentUser.userId;
|
|
41
50
|
if (isMe) return undefined;
|
|
51
|
+
if (hideMessageButton) return undefined;
|
|
42
52
|
|
|
43
53
|
const onPressMessageButton = async () => {
|
|
44
54
|
if (user) {
|
|
45
|
-
|
|
55
|
+
var _chatContext$currentU;
|
|
56
|
+
|
|
57
|
+
const params = getDefaultGroupChannelCreateParams({
|
|
46
58
|
invitedUserIds: [user.userId],
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
isDistinct: false
|
|
50
|
-
};
|
|
51
|
-
if (chatContext.currentUser) params.operatorUserIds = [chatContext.currentUser.userId];
|
|
59
|
+
currentUserId: (_chatContext$currentU = chatContext.currentUser) === null || _chatContext$currentU === void 0 ? void 0 : _chatContext$currentU.userId
|
|
60
|
+
});
|
|
52
61
|
const processedParams = await onBeforeCreateChannel(params, [user]);
|
|
53
62
|
hide();
|
|
54
63
|
const channel = await chatContext.sdk.groupChannel.createChannel(processedParams);
|
|
@@ -73,9 +82,10 @@ export const UserProfileProvider = _ref => {
|
|
|
73
82
|
}, children, /*#__PURE__*/React.createElement(Modal, {
|
|
74
83
|
type: 'slide',
|
|
75
84
|
onClose: hide,
|
|
76
|
-
onDismiss:
|
|
85
|
+
onDismiss: onDismiss,
|
|
77
86
|
visible: visible && Boolean(user),
|
|
78
|
-
backgroundStyle: styles.modal
|
|
87
|
+
backgroundStyle: styles.modal,
|
|
88
|
+
statusBarTranslucent: statusBarTranslucent
|
|
79
89
|
}, user && /*#__PURE__*/React.createElement(ProfileCard, {
|
|
80
90
|
containerStyle: [styles.profileCardContainer, {
|
|
81
91
|
paddingLeft: left,
|