@sendbird/uikit-react-native 3.7.6 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/ChannelCover.js +9 -11
- package/lib/commonjs/components/ChannelCover.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/AttachmentsButton.js +7 -9
- package/lib/commonjs/components/ChannelInput/AttachmentsButton.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/EditInput.js +18 -18
- package/lib/commonjs/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/MessageToReplyPreview.js +37 -50
- package/lib/commonjs/components/ChannelInput/MessageToReplyPreview.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/SendInput.js +44 -49
- package/lib/commonjs/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/VoiceMessageInput.js +12 -14
- package/lib/commonjs/components/ChannelInput/VoiceMessageInput.js.map +1 -1
- package/lib/commonjs/components/ChannelInput/index.js +22 -27
- package/lib/commonjs/components/ChannelInput/index.js.map +1 -1
- package/lib/commonjs/components/ChannelMessageList/index.js +59 -75
- package/lib/commonjs/components/ChannelMessageList/index.js.map +1 -1
- package/lib/commonjs/components/ChannelThreadMessageList/index.js +54 -70
- package/lib/commonjs/components/ChannelThreadMessageList/index.js.map +1 -1
- package/lib/commonjs/components/ChatFlatList/FlatListInternal.js +1 -2
- package/lib/commonjs/components/ChatFlatList/FlatListInternal.js.map +1 -1
- package/lib/commonjs/components/ChatFlatList/index.js +13 -15
- package/lib/commonjs/components/ChatFlatList/index.js.map +1 -1
- package/lib/commonjs/components/FileViewer/FileViewerContent.js +18 -21
- package/lib/commonjs/components/FileViewer/FileViewerContent.js.map +1 -1
- package/lib/commonjs/components/FileViewer/FileViewerFooter.js +14 -19
- package/lib/commonjs/components/FileViewer/FileViewerFooter.js.map +1 -1
- package/lib/commonjs/components/FileViewer/FileViewerHeader.js +14 -20
- package/lib/commonjs/components/FileViewer/FileViewerHeader.js.map +1 -1
- package/lib/commonjs/components/FileViewer/index.js +15 -17
- package/lib/commonjs/components/FileViewer/index.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js +6 -8
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js +3 -4
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js +7 -9
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js +18 -21
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js +13 -15
- package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js.map +1 -1
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js +36 -39
- package/lib/commonjs/components/GroupChannelMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/MessageSearchResultItem.js +20 -18
- package/lib/commonjs/components/MessageSearchResultItem.js.map +1 -1
- package/lib/commonjs/components/NewMessagesButton.js +7 -9
- package/lib/commonjs/components/NewMessagesButton.js.map +1 -1
- package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +6 -8
- package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -1
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js +13 -15
- package/lib/commonjs/components/OpenChannelMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/ProviderLayout.js +5 -7
- package/lib/commonjs/components/ProviderLayout.js.map +1 -1
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js +28 -42
- package/lib/commonjs/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
- package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js +31 -41
- package/lib/commonjs/components/ReactionAddons/MessageReactionAddon.js.map +1 -1
- package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js +14 -16
- package/lib/commonjs/components/ReactionAddons/ReactionRoundedButton.js.map +1 -1
- package/lib/commonjs/components/ReactionAddons/index.js +2 -3
- package/lib/commonjs/components/ReactionAddons/index.js.map +1 -1
- package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js +28 -39
- package/lib/commonjs/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -1
- package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +45 -51
- package/lib/commonjs/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -1
- package/lib/commonjs/components/ReactionBottomSheets/index.js +2 -3
- package/lib/commonjs/components/ReactionBottomSheets/index.js.map +1 -1
- package/lib/commonjs/components/ScrollToBottomButton.js +6 -8
- package/lib/commonjs/components/ScrollToBottomButton.js.map +1 -1
- package/lib/commonjs/components/StatusComposition.js +9 -11
- package/lib/commonjs/components/StatusComposition.js.map +1 -1
- package/lib/commonjs/components/ThreadChatFlatList/index.js +13 -15
- package/lib/commonjs/components/ThreadChatFlatList/index.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js +2 -3
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js +3 -4
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js +2 -3
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js +8 -8
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js +20 -14
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js +24 -18
- package/lib/commonjs/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js.map +1 -1
- package/lib/commonjs/components/ThreadParentMessageRenderer/index.js +23 -22
- package/lib/commonjs/components/ThreadParentMessageRenderer/index.js.map +1 -1
- package/lib/commonjs/components/TypedPlaceholder.js +6 -8
- package/lib/commonjs/components/TypedPlaceholder.js.map +1 -1
- package/lib/commonjs/components/UserActionBar.js +20 -20
- package/lib/commonjs/components/UserActionBar.js.map +1 -1
- package/lib/commonjs/components/UserSelectableBar.js +14 -14
- package/lib/commonjs/components/UserSelectableBar.js.map +1 -1
- package/lib/commonjs/constants.js +6 -12
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js +12 -14
- package/lib/commonjs/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/commonjs/containers/InternalErrorBoundaryContainer.js +8 -9
- package/lib/commonjs/containers/InternalErrorBoundaryContainer.js.map +1 -1
- package/lib/commonjs/containers/SendbirdUIKitContainer.js +17 -20
- package/lib/commonjs/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/commonjs/contexts/LocalizationCtx.js +6 -8
- package/lib/commonjs/contexts/LocalizationCtx.js.map +1 -1
- package/lib/commonjs/contexts/PlatformServiceCtx.js +8 -10
- package/lib/commonjs/contexts/PlatformServiceCtx.js.map +1 -1
- package/lib/commonjs/contexts/ReactionCtx.js +14 -19
- package/lib/commonjs/contexts/ReactionCtx.js.map +1 -1
- package/lib/commonjs/contexts/SBUHandlersCtx.js +7 -9
- package/lib/commonjs/contexts/SBUHandlersCtx.js.map +1 -1
- package/lib/commonjs/contexts/SendbirdChatCtx.js +16 -18
- package/lib/commonjs/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/commonjs/contexts/UserProfileCtx.js +13 -24
- package/lib/commonjs/contexts/UserProfileCtx.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js +14 -18
- package/lib/commonjs/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js +9 -11
- package/lib/commonjs/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js +12 -16
- package/lib/commonjs/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js +2 -3
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js +2 -3
- package/lib/commonjs/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +26 -34
- package/lib/commonjs/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/index.js +1 -1
- package/lib/commonjs/domain/groupChannel/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js +12 -14
- package/lib/commonjs/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannel/module/moduleContext.js +19 -22
- 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/component/GroupChannelBannedUsersHeader.js +6 -8
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +15 -25
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js +2 -3
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +5 -7
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js +2 -3
- package/lib/commonjs/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +11 -13
- package/lib/commonjs/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelBannedUsers/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js +3 -4
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js +20 -32
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js +2 -3
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js +2 -3
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js +13 -17
- package/lib/commonjs/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/index.js +1 -1
- package/lib/commonjs/domain/groupChannelList/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js +11 -13
- package/lib/commonjs/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/module/moduleContext.js +7 -9
- package/lib/commonjs/domain/groupChannelList/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +6 -8
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +9 -11
- package/lib/commonjs/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/index.js +1 -1
- package/lib/commonjs/domain/groupChannelModeration/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +8 -10
- package/lib/commonjs/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/groupChannelModeration/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelModeration/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +6 -8
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +15 -25
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js +2 -3
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +5 -7
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js +2 -3
- package/lib/commonjs/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/index.js +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +11 -13
- package/lib/commonjs/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelMutedMembers/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +6 -8
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +19 -18
- package/lib/commonjs/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/index.js +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +8 -10
- package/lib/commonjs/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/groupChannelNotifications/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelNotifications/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +7 -9
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +15 -25
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js +2 -3
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +5 -7
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js +2 -3
- package/lib/commonjs/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/index.js +1 -1
- package/lib/commonjs/domain/groupChannelOperators/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +11 -13
- package/lib/commonjs/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/groupChannelOperators/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelOperators/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +6 -8
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js +4 -5
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +12 -14
- package/lib/commonjs/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/index.js +1 -1
- package/lib/commonjs/domain/groupChannelSettings/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +9 -11
- package/lib/commonjs/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js +10 -13
- package/lib/commonjs/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js +11 -15
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadHeader.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js +9 -11
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadInput.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +12 -16
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +34 -37
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js +2 -3
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js +2 -3
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js +25 -33
- package/lib/commonjs/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/index.js +1 -1
- package/lib/commonjs/domain/groupChannelThread/index.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/module/createGroupChannelThreadModule.js +13 -15
- package/lib/commonjs/domain/groupChannelThread/module/createGroupChannelThreadModule.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js +12 -14
- package/lib/commonjs/domain/groupChannelThread/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/groupChannelThread/types.js.map +1 -1
- package/lib/commonjs/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js +18 -18
- package/lib/commonjs/domain/messageSearch/component/MessageSearchHeader.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js +13 -16
- package/lib/commonjs/domain/messageSearch/component/MessageSearchList.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js +2 -3
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js +5 -7
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js +2 -3
- package/lib/commonjs/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/index.js +1 -1
- package/lib/commonjs/domain/messageSearch/index.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js +11 -13
- package/lib/commonjs/domain/messageSearch/module/createMessageSearchModule.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/module/moduleContext.js +7 -9
- package/lib/commonjs/domain/messageSearch/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/messageSearch/types.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js +10 -12
- package/lib/commonjs/domain/openChannel/component/OpenChannelHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js +9 -11
- package/lib/commonjs/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js +10 -13
- package/lib/commonjs/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusEmpty.js +2 -3
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusLoading.js +2 -3
- package/lib/commonjs/domain/openChannel/component/OpenChannelStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/openChannel/index.js +1 -1
- package/lib/commonjs/domain/openChannel/index.js.map +1 -1
- package/lib/commonjs/domain/openChannel/module/createOpenChannelModule.js +11 -13
- package/lib/commonjs/domain/openChannel/module/createOpenChannelModule.js.map +1 -1
- package/lib/commonjs/domain/openChannel/module/moduleContext.js +10 -12
- package/lib/commonjs/domain/openChannel/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannel/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +6 -8
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js +15 -25
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js +2 -3
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js +5 -7
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js +2 -3
- package/lib/commonjs/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/index.js +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/index.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js +11 -13
- package/lib/commonjs/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelBannedUsers/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js +8 -10
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +14 -16
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js +2 -3
- package/lib/commonjs/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/index.js +1 -1
- package/lib/commonjs/domain/openChannelCreate/index.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/module/createOpenChannelCreateModule.js +9 -11
- package/lib/commonjs/domain/openChannelCreate/module/createOpenChannelCreateModule.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js +7 -9
- package/lib/commonjs/domain/openChannelCreate/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelCreate/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js +6 -8
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js +20 -32
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusEmpty.js +2 -3
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusError.js +5 -7
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusError.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusLoading.js +2 -3
- package/lib/commonjs/domain/openChannelList/component/OpenChannelListStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/index.js +1 -1
- package/lib/commonjs/domain/openChannelList/index.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/module/createOpenChannelListModule.js +11 -13
- package/lib/commonjs/domain/openChannelList/module/createOpenChannelListModule.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/module/moduleContext.js +7 -9
- package/lib/commonjs/domain/openChannelList/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelList/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js +6 -8
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationMenu.js +8 -10
- package/lib/commonjs/domain/openChannelModeration/component/OpenChannelModerationMenu.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/index.js +1 -1
- package/lib/commonjs/domain/openChannelModeration/index.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/module/createOpenChannelModerationModule.js +8 -10
- package/lib/commonjs/domain/openChannelModeration/module/createOpenChannelModerationModule.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/openChannelModeration/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelModeration/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +6 -8
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js +15 -25
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js +2 -3
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js +5 -7
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js +2 -3
- package/lib/commonjs/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/index.js +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/index.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js +11 -13
- package/lib/commonjs/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelMutedParticipants/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +7 -9
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsList.js +15 -25
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsList.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js +2 -3
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js +5 -7
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js +2 -3
- package/lib/commonjs/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/index.js +1 -1
- package/lib/commonjs/domain/openChannelOperators/index.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js +11 -13
- package/lib/commonjs/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js +8 -10
- package/lib/commonjs/domain/openChannelOperators/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelOperators/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +6 -8
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js +4 -5
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +9 -11
- package/lib/commonjs/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/index.js +1 -1
- package/lib/commonjs/domain/openChannelSettings/index.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/module/createOpenChannelSettingsModule.js +9 -11
- package/lib/commonjs/domain/openChannelSettings/module/createOpenChannelSettingsModule.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js +9 -11
- package/lib/commonjs/domain/openChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/openChannelSettings/types.js.map +1 -1
- package/lib/commonjs/domain/openChannelUserList/types.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListHeader.js +10 -12
- package/lib/commonjs/domain/userList/component/UserListHeader.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListList.js +16 -26
- package/lib/commonjs/domain/userList/component/UserListList.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js +2 -3
- package/lib/commonjs/domain/userList/component/UserListStatusEmpty.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListStatusError.js +5 -7
- package/lib/commonjs/domain/userList/component/UserListStatusError.js.map +1 -1
- package/lib/commonjs/domain/userList/component/UserListStatusLoading.js +2 -3
- package/lib/commonjs/domain/userList/component/UserListStatusLoading.js.map +1 -1
- package/lib/commonjs/domain/userList/index.js +1 -1
- package/lib/commonjs/domain/userList/index.js.map +1 -1
- package/lib/commonjs/domain/userList/module/createUserListModule.js +11 -13
- package/lib/commonjs/domain/userList/module/createUserListModule.js.map +1 -1
- package/lib/commonjs/domain/userList/module/moduleContext.js +9 -11
- package/lib/commonjs/domain/userList/module/moduleContext.js.map +1 -1
- package/lib/commonjs/domain/userList/types.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js +10 -12
- package/lib/commonjs/fragments/createGroupChannelBannedUsersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js +12 -15
- package/lib/commonjs/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelFragment.js +28 -30
- package/lib/commonjs/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js +13 -16
- package/lib/commonjs/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelListFragment.js +12 -14
- package/lib/commonjs/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js +16 -18
- package/lib/commonjs/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelModerationFragment.js +13 -19
- package/lib/commonjs/fragments/createGroupChannelModerationFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js +12 -14
- package/lib/commonjs/fragments/createGroupChannelMutedMembersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js +6 -8
- package/lib/commonjs/fragments/createGroupChannelNotificationsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js +13 -15
- package/lib/commonjs/fragments/createGroupChannelOperatorsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js +15 -18
- package/lib/commonjs/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js +15 -21
- package/lib/commonjs/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createGroupChannelThreadFragment.js +25 -27
- package/lib/commonjs/fragments/createGroupChannelThreadFragment.js.map +1 -1
- package/lib/commonjs/fragments/createMessageSearchFragment.js +15 -18
- package/lib/commonjs/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelBannedUsersFragment.js +10 -12
- package/lib/commonjs/fragments/createOpenChannelBannedUsersFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelCreateFragment.js +8 -10
- package/lib/commonjs/fragments/createOpenChannelCreateFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelFragment.js +24 -26
- package/lib/commonjs/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelListFragment.js +9 -11
- package/lib/commonjs/fragments/createOpenChannelListFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelModerationFragment.js +13 -19
- package/lib/commonjs/fragments/createOpenChannelModerationFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelMutedParticipantsFragment.js +10 -12
- package/lib/commonjs/fragments/createOpenChannelMutedParticipantsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelOperatorsFragment.js +11 -13
- package/lib/commonjs/fragments/createOpenChannelOperatorsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js +13 -15
- package/lib/commonjs/fragments/createOpenChannelParticipantsFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js +15 -18
- package/lib/commonjs/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -1
- package/lib/commonjs/fragments/createOpenChannelSettingsFragment.js +14 -20
- package/lib/commonjs/fragments/createOpenChannelSettingsFragment.js.map +1 -1
- package/lib/commonjs/hooks/useChannelInputItems.js +1 -1
- package/lib/commonjs/hooks/useChannelInputItems.js.map +1 -1
- package/lib/commonjs/hooks/useConnection.js +2 -3
- package/lib/commonjs/hooks/useConnection.js.map +1 -1
- package/lib/commonjs/hooks/useContext.js.map +1 -1
- package/lib/commonjs/hooks/useKeyboardStatus.js +1 -2
- package/lib/commonjs/hooks/useKeyboardStatus.js.map +1 -1
- package/lib/commonjs/hooks/useMentionSuggestion.js +3 -5
- package/lib/commonjs/hooks/useMentionSuggestion.js.map +1 -1
- package/lib/commonjs/hooks/useMentionTextInput.js +4 -4
- package/lib/commonjs/hooks/useMentionTextInput.js.map +1 -1
- package/lib/commonjs/hooks/usePushTokenRegistration.js +2 -3
- package/lib/commonjs/hooks/usePushTokenRegistration.js.map +1 -1
- package/lib/commonjs/hooks/useVoiceMessageInput.js +13 -17
- package/lib/commonjs/hooks/useVoiceMessageInput.js.map +1 -1
- package/lib/commonjs/index.js +3 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/libs/EmojiManager.js +12 -8
- package/lib/commonjs/libs/EmojiManager.js.map +1 -1
- package/lib/commonjs/libs/ImageCompressionConfig.js +4 -5
- package/lib/commonjs/libs/ImageCompressionConfig.js.map +1 -1
- package/lib/commonjs/libs/InternalLocalCacheStorage.js +5 -11
- package/lib/commonjs/libs/InternalLocalCacheStorage.js.map +1 -1
- package/lib/commonjs/libs/MentionConfig.js +4 -5
- package/lib/commonjs/libs/MentionConfig.js.map +1 -1
- package/lib/commonjs/libs/MentionManager.js +45 -31
- package/lib/commonjs/libs/MentionManager.js.map +1 -1
- package/lib/commonjs/libs/SBUError.js +3 -3
- package/lib/commonjs/libs/SBUError.js.map +1 -1
- package/lib/commonjs/libs/SBUUtils.js.map +1 -1
- package/lib/commonjs/libs/VoiceMessageConfig.js +4 -5
- package/lib/commonjs/libs/VoiceMessageConfig.js.map +1 -1
- package/lib/commonjs/libs/VoiceMessageStatusManager.js +9 -10
- package/lib/commonjs/libs/VoiceMessageStatusManager.js.map +1 -1
- package/lib/commonjs/localization/StringSet.en.js +1 -2
- package/lib/commonjs/localization/StringSet.en.js.map +1 -1
- package/lib/commonjs/localization/StringSet.type.js.map +1 -1
- package/lib/commonjs/localization/createBaseStringSet.js +25 -30
- package/lib/commonjs/localization/createBaseStringSet.js.map +1 -1
- package/lib/commonjs/platform/createClipboardService.expo.js +1 -2
- package/lib/commonjs/platform/createClipboardService.expo.js.map +1 -1
- package/lib/commonjs/platform/createClipboardService.native.js +1 -2
- package/lib/commonjs/platform/createClipboardService.native.js.map +1 -1
- package/lib/commonjs/platform/createFileService.expo.js +12 -15
- package/lib/commonjs/platform/createFileService.expo.js.map +1 -1
- package/lib/commonjs/platform/createFileService.native.js +29 -35
- package/lib/commonjs/platform/createFileService.native.js.map +1 -1
- package/lib/commonjs/platform/createMediaService.expo.js +26 -31
- package/lib/commonjs/platform/createMediaService.expo.js.map +1 -1
- package/lib/commonjs/platform/createMediaService.native.js +24 -29
- package/lib/commonjs/platform/createMediaService.native.js.map +1 -1
- package/lib/commonjs/platform/createNotificationService.expo.js +4 -8
- package/lib/commonjs/platform/createNotificationService.expo.js.map +1 -1
- package/lib/commonjs/platform/createNotificationService.native.js +5 -7
- package/lib/commonjs/platform/createNotificationService.native.js.map +1 -1
- package/lib/commonjs/platform/createPlayerService.expo.js +8 -10
- package/lib/commonjs/platform/createPlayerService.expo.js.map +1 -1
- package/lib/commonjs/platform/createPlayerService.native.js +8 -10
- package/lib/commonjs/platform/createPlayerService.native.js.map +1 -1
- package/lib/commonjs/platform/createRecorderService.expo.js +8 -10
- package/lib/commonjs/platform/createRecorderService.expo.js.map +1 -1
- package/lib/commonjs/platform/createRecorderService.native.js +10 -12
- package/lib/commonjs/platform/createRecorderService.native.js.map +1 -1
- package/lib/commonjs/platform/dynamicModule.js +2 -4
- package/lib/commonjs/platform/dynamicModule.js.map +1 -1
- package/lib/commonjs/platform/types.js.map +1 -1
- package/lib/commonjs/types.js +1 -2
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/expoBackwardUtils.js +24 -31
- package/lib/commonjs/utils/expoBackwardUtils.js.map +1 -1
- package/lib/commonjs/utils/expoPermissionGranted.js +2 -3
- package/lib/commonjs/utils/expoPermissionGranted.js.map +1 -1
- package/lib/commonjs/utils/nativePermissionGranted.js +2 -3
- package/lib/commonjs/utils/nativePermissionGranted.js.map +1 -1
- package/lib/commonjs/utils/normalizeFile.js +7 -9
- package/lib/commonjs/utils/normalizeFile.js.map +1 -1
- package/lib/commonjs/utils/promise.js +1 -2
- package/lib/commonjs/utils/promise.js.map +1 -1
- package/lib/commonjs/utils/pubsub.js +1 -2
- package/lib/commonjs/utils/pubsub.js.map +1 -1
- package/lib/commonjs/version.js +2 -3
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/components/ChannelCover.js +7 -8
- package/lib/module/components/ChannelCover.js.map +1 -1
- package/lib/module/components/ChannelInput/AttachmentsButton.js +5 -6
- package/lib/module/components/ChannelInput/AttachmentsButton.js.map +1 -1
- package/lib/module/components/ChannelInput/EditInput.js +15 -14
- package/lib/module/components/ChannelInput/EditInput.js.map +1 -1
- package/lib/module/components/ChannelInput/MessageToReplyPreview.js +36 -49
- package/lib/module/components/ChannelInput/MessageToReplyPreview.js.map +1 -1
- package/lib/module/components/ChannelInput/SendInput.js +40 -44
- package/lib/module/components/ChannelInput/SendInput.js.map +1 -1
- package/lib/module/components/ChannelInput/VoiceMessageInput.js +8 -9
- package/lib/module/components/ChannelInput/VoiceMessageInput.js.map +1 -1
- package/lib/module/components/ChannelInput/index.js +19 -23
- package/lib/module/components/ChannelInput/index.js.map +1 -1
- package/lib/module/components/ChannelMessageList/index.js +58 -73
- package/lib/module/components/ChannelMessageList/index.js.map +1 -1
- package/lib/module/components/ChannelThreadMessageList/index.js +53 -68
- package/lib/module/components/ChannelThreadMessageList/index.js.map +1 -1
- package/lib/module/components/ChatFlatList/FlatListInternal.js.map +1 -1
- package/lib/module/components/ChatFlatList/index.js +9 -10
- package/lib/module/components/ChatFlatList/index.js.map +1 -1
- package/lib/module/components/FileViewer/FileViewerContent.js +14 -16
- package/lib/module/components/FileViewer/FileViewerContent.js.map +1 -1
- package/lib/module/components/FileViewer/FileViewerFooter.js +12 -16
- package/lib/module/components/FileViewer/FileViewerFooter.js.map +1 -1
- package/lib/module/components/FileViewer/FileViewerHeader.js +13 -18
- package/lib/module/components/FileViewer/FileViewerHeader.js.map +1 -1
- package/lib/module/components/FileViewer/index.js +11 -12
- package/lib/module/components/FileViewer/index.js.map +1 -1
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js +4 -5
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -1
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageFocusAnimation.js.map +1 -1
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js +5 -6
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageOutgoingStatus.js.map +1 -1
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js +15 -17
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.js.map +1 -1
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js +11 -12
- package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.js.map +1 -1
- package/lib/module/components/GroupChannelMessageRenderer/index.js +32 -34
- package/lib/module/components/GroupChannelMessageRenderer/index.js.map +1 -1
- package/lib/module/components/MessageSearchResultItem.js +18 -15
- package/lib/module/components/MessageSearchResultItem.js.map +1 -1
- package/lib/module/components/NewMessagesButton.js +5 -6
- package/lib/module/components/NewMessagesButton.js.map +1 -1
- package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +4 -5
- package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -1
- package/lib/module/components/OpenChannelMessageRenderer/index.js +11 -12
- package/lib/module/components/OpenChannelMessageRenderer/index.js.map +1 -1
- package/lib/module/components/ProviderLayout.js +3 -4
- package/lib/module/components/ProviderLayout.js.map +1 -1
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js +27 -40
- package/lib/module/components/ReactionAddons/BottomSheetReactionAddon.js.map +1 -1
- package/lib/module/components/ReactionAddons/MessageReactionAddon.js +30 -39
- package/lib/module/components/ReactionAddons/MessageReactionAddon.js.map +1 -1
- package/lib/module/components/ReactionAddons/ReactionRoundedButton.js +12 -13
- package/lib/module/components/ReactionAddons/ReactionRoundedButton.js.map +1 -1
- package/lib/module/components/ReactionAddons/index.js.map +1 -1
- package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js +27 -37
- package/lib/module/components/ReactionBottomSheets/ReactionListBottomSheet.js.map +1 -1
- package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js +44 -49
- package/lib/module/components/ReactionBottomSheets/ReactionUserListBottomSheet.js.map +1 -1
- package/lib/module/components/ReactionBottomSheets/index.js.map +1 -1
- package/lib/module/components/ScrollToBottomButton.js +4 -5
- package/lib/module/components/ScrollToBottomButton.js.map +1 -1
- package/lib/module/components/StatusComposition.js +7 -8
- package/lib/module/components/StatusComposition.js.map +1 -1
- package/lib/module/components/ThreadChatFlatList/index.js +9 -10
- package/lib/module/components/ThreadChatFlatList/index.js.map +1 -1
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.image.js.map +1 -1
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js +1 -1
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.js.map +1 -1
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.video.js.map +1 -1
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js +5 -4
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.js.map +1 -1
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js +19 -12
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.js.map +1 -1
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js +22 -15
- package/lib/module/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.js.map +1 -1
- package/lib/module/components/ThreadParentMessageRenderer/index.js +19 -17
- package/lib/module/components/ThreadParentMessageRenderer/index.js.map +1 -1
- package/lib/module/components/TypedPlaceholder.js +4 -5
- package/lib/module/components/TypedPlaceholder.js.map +1 -1
- package/lib/module/components/UserActionBar.js +19 -18
- package/lib/module/components/UserActionBar.js.map +1 -1
- package/lib/module/components/UserSelectableBar.js +13 -12
- package/lib/module/components/UserSelectableBar.js.map +1 -1
- package/lib/module/constants.js.map +1 -1
- package/lib/module/containers/GroupChannelPreviewContainer.js +10 -11
- package/lib/module/containers/GroupChannelPreviewContainer.js.map +1 -1
- package/lib/module/containers/InternalErrorBoundaryContainer.js +6 -6
- package/lib/module/containers/InternalErrorBoundaryContainer.js.map +1 -1
- package/lib/module/containers/SendbirdUIKitContainer.js +12 -13
- package/lib/module/containers/SendbirdUIKitContainer.js.map +1 -1
- package/lib/module/contexts/LocalizationCtx.js +4 -5
- package/lib/module/contexts/LocalizationCtx.js.map +1 -1
- package/lib/module/contexts/PlatformServiceCtx.js +5 -6
- package/lib/module/contexts/PlatformServiceCtx.js.map +1 -1
- package/lib/module/contexts/ReactionCtx.js +11 -15
- package/lib/module/contexts/ReactionCtx.js.map +1 -1
- package/lib/module/contexts/SBUHandlersCtx.js +5 -6
- package/lib/module/contexts/SBUHandlersCtx.js.map +1 -1
- package/lib/module/contexts/SendbirdChatCtx.js +12 -13
- package/lib/module/contexts/SendbirdChatCtx.js.map +1 -1
- package/lib/module/contexts/UserProfileCtx.js +11 -21
- package/lib/module/contexts/UserProfileCtx.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelHeader.js +11 -14
- package/lib/module/domain/groupChannel/component/GroupChannelHeader.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js +5 -6
- package/lib/module/domain/groupChannel/component/GroupChannelInput.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js +9 -13
- package/lib/module/domain/groupChannel/component/GroupChannelMessageList.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelStatusEmpty.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelStatusLoading.js.map +1 -1
- package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js +24 -31
- package/lib/module/domain/groupChannel/component/GroupChannelSuggestedMentionList.js.map +1 -1
- package/lib/module/domain/groupChannel/index.js.map +1 -1
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js +10 -11
- package/lib/module/domain/groupChannel/module/createGroupChannelModule.js.map +1 -1
- package/lib/module/domain/groupChannel/module/moduleContext.js +16 -18
- 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/component/GroupChannelBannedUsersHeader.js +3 -4
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersHeader.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js +14 -23
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusEmpty.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js +3 -4
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusError.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersStatusLoading.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/index.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js +9 -10
- package/lib/module/domain/groupChannelBannedUsers/module/createGroupChannelBannedUsersModule.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js +4 -5
- package/lib/module/domain/groupChannelBannedUsers/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelBannedUsers/types.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListHeader.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js +19 -30
- package/lib/module/domain/groupChannelList/component/GroupChannelListList.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusEmpty.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListStatusLoading.js.map +1 -1
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js +10 -13
- package/lib/module/domain/groupChannelList/component/GroupChannelListTypeSelector.js.map +1 -1
- package/lib/module/domain/groupChannelList/index.js.map +1 -1
- package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js +9 -10
- package/lib/module/domain/groupChannelList/module/createGroupChannelListModule.js.map +1 -1
- package/lib/module/domain/groupChannelList/module/moduleContext.js +3 -4
- package/lib/module/domain/groupChannelList/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelList/types.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js +3 -4
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationHeader.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js +6 -7
- package/lib/module/domain/groupChannelModeration/component/GroupChannelModerationMenu.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/index.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js +6 -7
- package/lib/module/domain/groupChannelModeration/module/createGroupChannelModerationModule.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/module/moduleContext.js +4 -5
- package/lib/module/domain/groupChannelModeration/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelModeration/types.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js +3 -4
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersHeader.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js +14 -23
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusEmpty.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js +3 -4
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusError.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersStatusLoading.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/index.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js +9 -10
- package/lib/module/domain/groupChannelMutedMembers/module/createGroupChannelMutedMembersModule.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js +4 -5
- package/lib/module/domain/groupChannelMutedMembers/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelMutedMembers/types.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js +3 -4
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsHeader.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js +18 -16
- package/lib/module/domain/groupChannelNotifications/component/GroupChannelNotificationsView.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/index.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js +6 -7
- package/lib/module/domain/groupChannelNotifications/module/createGroupChannelNotificationsModule.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/module/moduleContext.js +4 -5
- package/lib/module/domain/groupChannelNotifications/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelNotifications/types.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js +4 -5
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsHeader.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js +14 -23
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsList.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusEmpty.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js +3 -4
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusError.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/component/GroupChannelOperatorsStatusLoading.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/index.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js +9 -10
- package/lib/module/domain/groupChannelOperators/module/createGroupChannelOperatorsModule.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/module/moduleContext.js +4 -5
- package/lib/module/domain/groupChannelOperators/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelOperators/types.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js +3 -4
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsHeader.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsInfo.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js +9 -10
- package/lib/module/domain/groupChannelSettings/component/GroupChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/index.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js +7 -8
- package/lib/module/domain/groupChannelSettings/module/createGroupChannelSettingsModule.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js +7 -9
- package/lib/module/domain/groupChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelSettings/types.js.map +1 -1
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadHeader.js +9 -12
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadHeader.js.map +1 -1
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadInput.js +5 -6
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadInput.js.map +1 -1
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadMessageList.js +9 -12
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadMessageList.js.map +1 -1
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js +31 -33
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.js.map +1 -1
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusEmpty.js.map +1 -1
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadStatusLoading.js.map +1 -1
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js +22 -29
- package/lib/module/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.js.map +1 -1
- package/lib/module/domain/groupChannelThread/index.js.map +1 -1
- package/lib/module/domain/groupChannelThread/module/createGroupChannelThreadModule.js +11 -12
- package/lib/module/domain/groupChannelThread/module/createGroupChannelThreadModule.js.map +1 -1
- package/lib/module/domain/groupChannelThread/module/moduleContext.js +8 -9
- package/lib/module/domain/groupChannelThread/module/moduleContext.js.map +1 -1
- package/lib/module/domain/groupChannelThread/types.js.map +1 -1
- package/lib/module/domain/groupChannelUserList/types.js.map +1 -1
- package/lib/module/domain/messageSearch/component/MessageSearchHeader.js +16 -15
- package/lib/module/domain/messageSearch/component/MessageSearchHeader.js.map +1 -1
- package/lib/module/domain/messageSearch/component/MessageSearchList.js +11 -13
- package/lib/module/domain/messageSearch/component/MessageSearchList.js.map +1 -1
- package/lib/module/domain/messageSearch/component/MessageSearchStatusEmpty.js.map +1 -1
- package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js +3 -4
- package/lib/module/domain/messageSearch/component/MessageSearchStatusError.js.map +1 -1
- package/lib/module/domain/messageSearch/component/MessageSearchStatusLoading.js.map +1 -1
- package/lib/module/domain/messageSearch/index.js.map +1 -1
- package/lib/module/domain/messageSearch/module/createMessageSearchModule.js +9 -10
- package/lib/module/domain/messageSearch/module/createMessageSearchModule.js.map +1 -1
- package/lib/module/domain/messageSearch/module/moduleContext.js +3 -4
- package/lib/module/domain/messageSearch/module/moduleContext.js.map +1 -1
- package/lib/module/domain/messageSearch/types.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelHeader.js +6 -7
- package/lib/module/domain/openChannel/component/OpenChannelHeader.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelInput.js +5 -6
- package/lib/module/domain/openChannel/component/OpenChannelInput.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelMessageList.js +6 -8
- package/lib/module/domain/openChannel/component/OpenChannelMessageList.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelStatusEmpty.js.map +1 -1
- package/lib/module/domain/openChannel/component/OpenChannelStatusLoading.js.map +1 -1
- package/lib/module/domain/openChannel/index.js.map +1 -1
- package/lib/module/domain/openChannel/module/createOpenChannelModule.js +9 -10
- package/lib/module/domain/openChannel/module/createOpenChannelModule.js.map +1 -1
- package/lib/module/domain/openChannel/module/moduleContext.js +6 -7
- package/lib/module/domain/openChannel/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannel/types.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js +3 -4
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersHeader.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js +14 -23
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusEmpty.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js +3 -4
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusError.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/component/OpenChannelBannedUsersStatusLoading.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/index.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js +9 -10
- package/lib/module/domain/openChannelBannedUsers/module/createOpenChannelBannedUsersModule.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/module/moduleContext.js +4 -5
- package/lib/module/domain/openChannelBannedUsers/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannelBannedUsers/types.js.map +1 -1
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateHeader.js +5 -6
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateHeader.js.map +1 -1
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js +12 -13
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateProfileInput.js.map +1 -1
- package/lib/module/domain/openChannelCreate/component/OpenChannelCreateStatusLoading.js.map +1 -1
- package/lib/module/domain/openChannelCreate/index.js.map +1 -1
- package/lib/module/domain/openChannelCreate/module/createOpenChannelCreateModule.js +7 -8
- package/lib/module/domain/openChannelCreate/module/createOpenChannelCreateModule.js.map +1 -1
- package/lib/module/domain/openChannelCreate/module/moduleContext.js +3 -4
- package/lib/module/domain/openChannelCreate/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannelCreate/types.js.map +1 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListHeader.js +3 -4
- package/lib/module/domain/openChannelList/component/OpenChannelListHeader.js.map +1 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js +19 -30
- package/lib/module/domain/openChannelList/component/OpenChannelListList.js.map +1 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusEmpty.js.map +1 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusError.js +3 -4
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusError.js.map +1 -1
- package/lib/module/domain/openChannelList/component/OpenChannelListStatusLoading.js.map +1 -1
- package/lib/module/domain/openChannelList/index.js.map +1 -1
- package/lib/module/domain/openChannelList/module/createOpenChannelListModule.js +9 -10
- package/lib/module/domain/openChannelList/module/createOpenChannelListModule.js.map +1 -1
- package/lib/module/domain/openChannelList/module/moduleContext.js +3 -4
- package/lib/module/domain/openChannelList/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannelList/types.js.map +1 -1
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationHeader.js +3 -4
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationHeader.js.map +1 -1
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationMenu.js +6 -7
- package/lib/module/domain/openChannelModeration/component/OpenChannelModerationMenu.js.map +1 -1
- package/lib/module/domain/openChannelModeration/index.js.map +1 -1
- package/lib/module/domain/openChannelModeration/module/createOpenChannelModerationModule.js +6 -7
- package/lib/module/domain/openChannelModeration/module/createOpenChannelModerationModule.js.map +1 -1
- package/lib/module/domain/openChannelModeration/module/moduleContext.js +4 -5
- package/lib/module/domain/openChannelModeration/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannelModeration/types.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js +3 -4
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsHeader.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js +14 -23
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusEmpty.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js +3 -4
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusError.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsStatusLoading.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/index.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js +9 -10
- package/lib/module/domain/openChannelMutedParticipants/module/createOpenChannelMutedParticipantsModule.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/module/moduleContext.js +4 -5
- package/lib/module/domain/openChannelMutedParticipants/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannelMutedParticipants/types.js.map +1 -1
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js +4 -5
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsHeader.js.map +1 -1
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsList.js +14 -23
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsList.js.map +1 -1
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusEmpty.js.map +1 -1
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js +3 -4
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusError.js.map +1 -1
- package/lib/module/domain/openChannelOperators/component/OpenChannelOperatorsStatusLoading.js.map +1 -1
- package/lib/module/domain/openChannelOperators/index.js.map +1 -1
- package/lib/module/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js +9 -10
- package/lib/module/domain/openChannelOperators/module/createOpenChannelOperatorsModule.js.map +1 -1
- package/lib/module/domain/openChannelOperators/module/moduleContext.js +4 -5
- package/lib/module/domain/openChannelOperators/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannelOperators/types.js.map +1 -1
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsHeader.js +3 -4
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsHeader.js.map +1 -1
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsInfo.js.map +1 -1
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsMenu.js +6 -7
- package/lib/module/domain/openChannelSettings/component/OpenChannelSettingsMenu.js.map +1 -1
- package/lib/module/domain/openChannelSettings/index.js.map +1 -1
- package/lib/module/domain/openChannelSettings/module/createOpenChannelSettingsModule.js +7 -8
- package/lib/module/domain/openChannelSettings/module/createOpenChannelSettingsModule.js.map +1 -1
- package/lib/module/domain/openChannelSettings/module/moduleContext.js +5 -6
- package/lib/module/domain/openChannelSettings/module/moduleContext.js.map +1 -1
- package/lib/module/domain/openChannelSettings/types.js.map +1 -1
- package/lib/module/domain/openChannelUserList/types.js.map +1 -1
- package/lib/module/domain/userList/component/UserListHeader.js +7 -8
- package/lib/module/domain/userList/component/UserListHeader.js.map +1 -1
- package/lib/module/domain/userList/component/UserListList.js +14 -23
- package/lib/module/domain/userList/component/UserListList.js.map +1 -1
- package/lib/module/domain/userList/component/UserListStatusEmpty.js.map +1 -1
- package/lib/module/domain/userList/component/UserListStatusError.js +3 -4
- package/lib/module/domain/userList/component/UserListStatusError.js.map +1 -1
- package/lib/module/domain/userList/component/UserListStatusLoading.js.map +1 -1
- package/lib/module/domain/userList/index.js.map +1 -1
- package/lib/module/domain/userList/module/createUserListModule.js +9 -10
- package/lib/module/domain/userList/module/createUserListModule.js.map +1 -1
- package/lib/module/domain/userList/module/moduleContext.js +5 -6
- package/lib/module/domain/userList/module/moduleContext.js.map +1 -1
- package/lib/module/domain/userList/types.js.map +1 -1
- package/lib/module/fragments/createGroupChannelBannedUsersFragment.js +8 -9
- package/lib/module/fragments/createGroupChannelBannedUsersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelCreateFragment.js +10 -12
- package/lib/module/fragments/createGroupChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelFragment.js +24 -25
- package/lib/module/fragments/createGroupChannelFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelInviteFragment.js +9 -11
- package/lib/module/fragments/createGroupChannelInviteFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelListFragment.js +10 -11
- package/lib/module/fragments/createGroupChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMembersFragment.js +14 -15
- package/lib/module/fragments/createGroupChannelMembersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelModerationFragment.js +12 -17
- package/lib/module/fragments/createGroupChannelModerationFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js +12 -13
- package/lib/module/fragments/createGroupChannelMutedMembersFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelNotificationsFragment.js +4 -5
- package/lib/module/fragments/createGroupChannelNotificationsFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js +13 -14
- package/lib/module/fragments/createGroupChannelOperatorsFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js +11 -13
- package/lib/module/fragments/createGroupChannelRegisterOperatorFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelSettingsFragment.js +14 -19
- package/lib/module/fragments/createGroupChannelSettingsFragment.js.map +1 -1
- package/lib/module/fragments/createGroupChannelThreadFragment.js +21 -22
- package/lib/module/fragments/createGroupChannelThreadFragment.js.map +1 -1
- package/lib/module/fragments/createMessageSearchFragment.js +11 -13
- package/lib/module/fragments/createMessageSearchFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelBannedUsersFragment.js +8 -9
- package/lib/module/fragments/createOpenChannelBannedUsersFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelCreateFragment.js +5 -6
- package/lib/module/fragments/createOpenChannelCreateFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelFragment.js +20 -21
- package/lib/module/fragments/createOpenChannelFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelListFragment.js +7 -8
- package/lib/module/fragments/createOpenChannelListFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelModerationFragment.js +12 -17
- package/lib/module/fragments/createOpenChannelModerationFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelMutedParticipantsFragment.js +8 -9
- package/lib/module/fragments/createOpenChannelMutedParticipantsFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelOperatorsFragment.js +9 -10
- package/lib/module/fragments/createOpenChannelOperatorsFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelParticipantsFragment.js +9 -10
- package/lib/module/fragments/createOpenChannelParticipantsFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelRegisterOperatorFragment.js +11 -13
- package/lib/module/fragments/createOpenChannelRegisterOperatorFragment.js.map +1 -1
- package/lib/module/fragments/createOpenChannelSettingsFragment.js +13 -18
- package/lib/module/fragments/createOpenChannelSettingsFragment.js.map +1 -1
- package/lib/module/hooks/useChannelInputItems.js.map +1 -1
- package/lib/module/hooks/useConnection.js.map +1 -1
- package/lib/module/hooks/useContext.js.map +1 -1
- package/lib/module/hooks/useKeyboardStatus.js.map +1 -1
- package/lib/module/hooks/useMentionSuggestion.js +3 -4
- package/lib/module/hooks/useMentionSuggestion.js.map +1 -1
- package/lib/module/hooks/useMentionTextInput.js +4 -2
- package/lib/module/hooks/useMentionTextInput.js.map +1 -1
- package/lib/module/hooks/usePushTokenRegistration.js +1 -1
- package/lib/module/hooks/usePushTokenRegistration.js.map +1 -1
- package/lib/module/hooks/useVoiceMessageInput.js +11 -14
- package/lib/module/hooks/useVoiceMessageInput.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/libs/EmojiManager.js +10 -5
- package/lib/module/libs/EmojiManager.js.map +1 -1
- package/lib/module/libs/ImageCompressionConfig.js +3 -3
- package/lib/module/libs/ImageCompressionConfig.js.map +1 -1
- package/lib/module/libs/InternalLocalCacheStorage.js +5 -11
- package/lib/module/libs/InternalLocalCacheStorage.js.map +1 -1
- package/lib/module/libs/MentionConfig.js +3 -3
- package/lib/module/libs/MentionConfig.js.map +1 -1
- package/lib/module/libs/MentionManager.js +44 -29
- package/lib/module/libs/MentionManager.js.map +1 -1
- package/lib/module/libs/SBUError.js +3 -3
- package/lib/module/libs/SBUError.js.map +1 -1
- package/lib/module/libs/SBUUtils.js.map +1 -1
- package/lib/module/libs/VoiceMessageConfig.js +3 -3
- package/lib/module/libs/VoiceMessageConfig.js.map +1 -1
- package/lib/module/libs/VoiceMessageStatusManager.js +8 -8
- package/lib/module/libs/VoiceMessageStatusManager.js.map +1 -1
- package/lib/module/localization/StringSet.en.js.map +1 -1
- package/lib/module/localization/StringSet.type.js.map +1 -1
- package/lib/module/localization/createBaseStringSet.js +25 -30
- package/lib/module/localization/createBaseStringSet.js.map +1 -1
- package/lib/module/platform/createClipboardService.expo.js.map +1 -1
- package/lib/module/platform/createClipboardService.native.js.map +1 -1
- package/lib/module/platform/createFileService.expo.js +10 -12
- package/lib/module/platform/createFileService.expo.js.map +1 -1
- package/lib/module/platform/createFileService.native.js +27 -32
- package/lib/module/platform/createFileService.native.js.map +1 -1
- package/lib/module/platform/createMediaService.expo.js +24 -28
- package/lib/module/platform/createMediaService.expo.js.map +1 -1
- package/lib/module/platform/createMediaService.native.js +22 -26
- package/lib/module/platform/createMediaService.native.js.map +1 -1
- package/lib/module/platform/createNotificationService.expo.js +3 -6
- package/lib/module/platform/createNotificationService.expo.js.map +1 -1
- package/lib/module/platform/createNotificationService.native.js +4 -5
- package/lib/module/platform/createNotificationService.native.js.map +1 -1
- package/lib/module/platform/createPlayerService.expo.js +6 -7
- package/lib/module/platform/createPlayerService.expo.js.map +1 -1
- package/lib/module/platform/createPlayerService.native.js +7 -8
- package/lib/module/platform/createPlayerService.native.js.map +1 -1
- package/lib/module/platform/createRecorderService.expo.js +6 -7
- package/lib/module/platform/createRecorderService.expo.js.map +1 -1
- package/lib/module/platform/createRecorderService.native.js +8 -9
- package/lib/module/platform/createRecorderService.native.js.map +1 -1
- package/lib/module/platform/dynamicModule.js +1 -2
- package/lib/module/platform/dynamicModule.js.map +1 -1
- package/lib/module/platform/types.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/expoBackwardUtils.js +22 -28
- package/lib/module/utils/expoBackwardUtils.js.map +1 -1
- package/lib/module/utils/expoPermissionGranted.js +1 -1
- package/lib/module/utils/expoPermissionGranted.js.map +1 -1
- package/lib/module/utils/nativePermissionGranted.js +1 -1
- package/lib/module/utils/nativePermissionGranted.js.map +1 -1
- package/lib/module/utils/normalizeFile.js +6 -7
- package/lib/module/utils/normalizeFile.js.map +1 -1
- package/lib/module/utils/promise.js.map +1 -1
- package/lib/module/utils/pubsub.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/components/ChannelInput/index.d.ts +4 -0
- package/lib/typescript/src/components/GroupChannelMessageRenderer/index.d.ts +1 -1
- package/lib/typescript/src/components/OpenChannelMessageRenderer/index.d.ts +1 -1
- package/lib/typescript/src/components/ReactionAddons/ReactionRoundedButton.d.ts +7 -3
- package/lib/typescript/src/components/ReactionBottomSheets/index.d.ts +2 -2
- package/lib/typescript/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.d.ts +1 -0
- package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +4 -4
- package/lib/typescript/src/contexts/UserProfileCtx.d.ts +3 -3
- package/lib/typescript/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.d.ts +1 -1
- package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.d.ts +1 -1
- package/lib/typescript/src/domain/userList/component/UserListList.d.ts +1 -1
- package/lib/typescript/src/libs/EmojiManager.d.ts +3 -1
- package/lib/typescript/src/libs/MentionManager.d.ts +1 -0
- package/lib/typescript/src/localization/StringSet.type.d.ts +5 -2
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +6 -6
- package/src/components/ChannelInput/AttachmentsButton.tsx +1 -1
- package/src/components/ChannelInput/EditInput.tsx +2 -0
- package/src/components/ChannelInput/MessageToReplyPreview.tsx +29 -33
- package/src/components/ChannelInput/SendInput.tsx +3 -1
- package/src/components/ChannelInput/VoiceMessageInput.tsx +4 -4
- package/src/components/ChannelInput/index.tsx +23 -11
- package/src/components/ChannelMessageList/index.tsx +5 -7
- package/src/components/ChannelThreadMessageList/index.tsx +5 -7
- package/src/components/FileViewer/FileViewerFooter.tsx +6 -6
- package/src/components/FileViewer/FileViewerHeader.tsx +6 -7
- package/src/components/GroupChannelMessageRenderer/GroupChannelMessageParentMessage.tsx +4 -4
- package/src/components/GroupChannelMessageRenderer/GroupChannelMessageReplyInfo.tsx +5 -5
- package/src/components/GroupChannelMessageRenderer/index.tsx +3 -2
- package/src/components/MessageSearchResultItem.tsx +17 -15
- package/src/components/ReactionAddons/BottomSheetReactionAddon.tsx +5 -7
- package/src/components/ReactionAddons/MessageReactionAddon.tsx +15 -19
- package/src/components/ReactionAddons/ReactionRoundedButton.tsx +9 -5
- package/src/components/ReactionBottomSheets/ReactionListBottomSheet.tsx +7 -8
- package/src/components/ReactionBottomSheets/ReactionUserListBottomSheet.tsx +41 -28
- package/src/components/ReactionBottomSheets/index.tsx +2 -2
- package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.tsx +1 -1
- package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.file.voice.tsx +4 -2
- package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.og.tsx +15 -6
- package/src/components/ThreadParentMessageRenderer/ThreadParentMessage.user.tsx +37 -31
- package/src/components/ThreadParentMessageRenderer/index.tsx +12 -2
- package/src/components/UserActionBar.tsx +11 -10
- package/src/components/UserSelectableBar.tsx +8 -7
- package/src/containers/GroupChannelPreviewContainer.tsx +4 -5
- package/src/containers/SendbirdUIKitContainer.tsx +3 -2
- package/src/contexts/ReactionCtx.tsx +0 -3
- package/src/contexts/UserProfileCtx.tsx +14 -13
- package/src/domain/groupChannel/component/GroupChannelHeader.tsx +6 -7
- package/src/domain/groupChannel/component/GroupChannelMessageList.tsx +9 -5
- package/src/domain/groupChannel/component/GroupChannelSuggestedMentionList.tsx +21 -18
- package/src/domain/groupChannel/module/moduleContext.tsx +2 -4
- package/src/domain/groupChannelBannedUsers/component/GroupChannelBannedUsersList.tsx +3 -4
- package/src/domain/groupChannelList/component/GroupChannelListList.tsx +10 -4
- package/src/domain/groupChannelMutedMembers/component/GroupChannelMutedMembersList.tsx +3 -4
- package/src/domain/groupChannelNotifications/component/GroupChannelNotificationsView.tsx +26 -11
- package/src/domain/groupChannelOperators/component/GroupChannelOperatorsList.tsx +3 -5
- package/src/domain/groupChannelSettings/module/moduleContext.tsx +2 -4
- package/src/domain/groupChannelThread/component/GroupChannelThreadHeader.tsx +12 -6
- package/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.tsx +3 -4
- package/src/domain/groupChannelThread/component/GroupChannelThreadParentMessageInfo.tsx +11 -10
- package/src/domain/groupChannelThread/component/GroupChannelThreadSuggestedMentionList.tsx +18 -16
- package/src/domain/messageSearch/component/MessageSearchHeader.tsx +9 -6
- package/src/domain/openChannel/component/OpenChannelHeader.tsx +1 -1
- package/src/domain/openChannelBannedUsers/component/OpenChannelBannedUsersList.tsx +3 -4
- package/src/domain/openChannelCreate/component/OpenChannelCreateProfileInput.tsx +6 -6
- package/src/domain/openChannelList/component/OpenChannelListList.tsx +3 -4
- package/src/domain/openChannelMutedParticipants/component/OpenChannelMutedParticipantsList.tsx +3 -4
- package/src/domain/openChannelOperators/component/OpenChannelOperatorsList.tsx +3 -4
- package/src/domain/userList/component/UserListList.tsx +3 -5
- package/src/fragments/createGroupChannelFragment.tsx +1 -1
- package/src/fragments/createGroupChannelMembersFragment.tsx +4 -5
- package/src/fragments/createGroupChannelModerationFragment.tsx +4 -5
- package/src/fragments/createGroupChannelMutedMembersFragment.tsx +4 -5
- package/src/fragments/createGroupChannelOperatorsFragment.tsx +4 -5
- package/src/fragments/createGroupChannelSettingsFragment.tsx +4 -5
- package/src/fragments/createOpenChannelModerationFragment.tsx +4 -5
- package/src/fragments/createOpenChannelSettingsFragment.tsx +4 -5
- package/src/hooks/useMentionSuggestion.ts +3 -5
- package/src/hooks/useMentionTextInput.ts +1 -0
- package/src/libs/EmojiManager.ts +11 -3
- package/src/libs/MentionManager.tsx +29 -3
- package/src/localization/StringSet.type.ts +5 -1
- package/src/localization/createBaseStringSet.ts +3 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_message","_uikitReactNativeFoundation","_uikitUtils","_constants","_useChannelInputItems","_useContext","_SBUUtils","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SendInput","forwardRef","_ref","ref","style","VoiceMessageInput","MessageToReplyPreview","AttachmentsButton","onPressSendUserMessage","onPressSendFileMessage","text","onChangeText","onSelectionChange","mentionedUsers","inputDisabled","inputFrozen","inputMuted","channel","messageToReply","setMessageToReply","messageForThread","playerService","recorderService","usePlatformService","mentionManager","sbOptions","useSendbirdChat","STRINGS","useLocalization","openSheet","useBottomSheet","toast","useToast","onClose","onDismiss","visible","voiceMessageInputVisible","setVisible","setVoiceMessageInputVisible","useDeferredModalState","messageReplyParams","useIIFE","groupChannel","uikit","isGroupChannel","replyType","parentMessageId","messageId","isReplyToChannel","messageMentionParams","enableMention","mentionType","MentionType","USERS","mentionedUserIds","map","it","user","userId","mentionedMessageTemplate","textToMentionedMessageTemplate","onFailureToSend","error","show","TOAST","SEND_MSG_ERROR","Logger","sendUserMessage","message","catch","sendFileMessage","file","sendVoiceMessage","durationMills","USER_MUTED_ERROR","CHANNEL_FROZEN_ERROR","metaArrays","MessageMetaArray","VOICE_MESSAGE_META_ARRAY_DURATION_KEY","value","String","VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY","options","extension","sheetItems","useChannelInputItems","getPlaceholder","LABELS","CHANNEL_INPUT_PLACEHOLDER_MUTED","CHANNEL_INPUT_PLACEHOLDER_DISABLED","CHANNEL_INPUT_PLACEHOLDER_REPLY","threadInfo","replyCount","CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD","CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","voiceMessageEnabled","enableVoiceMessage","sendButtonVisible","Boolean","trim","createElement","View","styles","sendInputContainer","onPress","disabled","TextInput","multiline","disableFullscreenUI","editable","placeholder","textToMentionedComponents","VoiceMessageButton","UserMessageSendButton","Modal","disableBackgroundClose","reset","backgroundStyle","justifyContent","type","onSend","_ref2","duration","_ref3","alert","useAlert","colors","useUIKitTheme","onPressWithPermissionCheck","recorderGranted","requestPermission","title","DIALOG","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","PERMISSION_MICROPHONE","PERMISSION_APP_NAME","buttons","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","playerGranted","PERMISSION_DEVICE_STORAGE","TouchableOpacity","Icon","color","ui","input","highlight","active","icon","size","containerStyle","sendIcon","_ref4","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flexDirection","marginLeft","padding","_default","exports"],"sources":["SendInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n NativeSyntheticEvent,\n TextInput as RNTextInput,\n TextInputSelectionChangeEventData,\n TouchableOpacity,\n View,\n} from 'react-native';\n\nimport { MentionType, MessageMetaArray } from '@sendbird/chat/message';\nimport {\n Icon,\n Modal,\n TextInput,\n createStyleSheet,\n useAlert,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { Logger, useDeferredModalState, useIIFE } from '@sendbird/uikit-utils';\n\nimport { VOICE_MESSAGE_META_ARRAY_DURATION_KEY, VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY } from '../../constants';\nimport { useChannelInputItems } from '../../hooks/useChannelInputItems';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport type { FileType } from '../../platform/types';\nimport type { MentionedUser } from '../../types';\nimport type { ChannelInputProps } from './index';\n\ninterface SendInputProps extends ChannelInputProps {\n text: string;\n onChangeText: (val: string) => void;\n onSelectionChange: (e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;\n mentionedUsers: MentionedUser[];\n}\n\nconst SendInput = forwardRef<RNTextInput, SendInputProps>(function SendInput(\n {\n style,\n VoiceMessageInput,\n MessageToReplyPreview,\n AttachmentsButton,\n onPressSendUserMessage,\n onPressSendFileMessage,\n text,\n onChangeText,\n onSelectionChange,\n mentionedUsers,\n inputDisabled,\n inputFrozen,\n inputMuted,\n channel,\n messageToReply,\n setMessageToReply,\n messageForThread,\n },\n ref,\n) {\n const { playerService, recorderService } = usePlatformService();\n const { mentionManager, sbOptions } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { openSheet } = useBottomSheet();\n const toast = useToast();\n\n const {\n onClose,\n onDismiss,\n visible: voiceMessageInputVisible,\n setVisible: setVoiceMessageInputVisible,\n } = useDeferredModalState();\n\n const messageReplyParams = useIIFE(() => {\n const { groupChannel } = sbOptions.uikit;\n\n if (channel.isGroupChannel()) {\n if (groupChannel.channel.replyType === 'quote_reply' && messageToReply) {\n return {\n parentMessageId: messageToReply.messageId,\n isReplyToChannel: true,\n };\n } else if (groupChannel.channel.replyType === 'thread' && messageForThread) {\n return {\n parentMessageId: messageForThread.messageId,\n isReplyToChannel: true,\n };\n }\n }\n\n return {};\n });\n\n const messageMentionParams = useIIFE(() => {\n const { groupChannel } = sbOptions.uikit;\n if (!channel.isGroupChannel() || !groupChannel.channel.enableMention) return {};\n return {\n mentionType: MentionType.USERS,\n mentionedUserIds: mentionedUsers.map((it) => it.user.userId),\n mentionedMessageTemplate: mentionManager.textToMentionedMessageTemplate(\n text,\n mentionedUsers,\n groupChannel.channel.enableMention,\n ),\n };\n });\n\n const onFailureToSend = (error: Error) => {\n toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error');\n Logger.error(STRINGS.TOAST.SEND_MSG_ERROR, error);\n };\n\n const sendUserMessage = () => {\n onPressSendUserMessage({\n message: text,\n ...messageMentionParams,\n ...messageReplyParams,\n }).catch(onFailureToSend);\n\n onChangeText('');\n setMessageToReply?.();\n };\n\n const sendFileMessage = (file: FileType) => {\n onPressSendFileMessage({\n file,\n ...messageReplyParams,\n }).catch(onFailureToSend);\n\n setMessageToReply?.();\n };\n\n const sendVoiceMessage = (file: FileType, durationMills: number) => {\n if (inputMuted) {\n toast.show(STRINGS.TOAST.USER_MUTED_ERROR, 'error');\n Logger.error(STRINGS.TOAST.USER_MUTED_ERROR);\n } else if (inputFrozen) {\n toast.show(STRINGS.TOAST.CHANNEL_FROZEN_ERROR, 'error');\n Logger.error(STRINGS.TOAST.CHANNEL_FROZEN_ERROR);\n } else {\n onPressSendFileMessage({\n file,\n metaArrays: [\n new MessageMetaArray({\n key: VOICE_MESSAGE_META_ARRAY_DURATION_KEY,\n value: [String(durationMills)],\n }),\n new MessageMetaArray({\n key: VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY,\n value: [`voice/${recorderService.options.extension}`],\n }),\n ],\n ...messageReplyParams,\n }).catch(onFailureToSend);\n }\n\n onChangeText('');\n setMessageToReply?.();\n };\n\n const sheetItems = useChannelInputItems(channel, sendFileMessage);\n\n const getPlaceholder = () => {\n if (inputMuted) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED;\n if (inputFrozen) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED;\n if (inputDisabled) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED;\n if (messageToReply) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY;\n if (messageForThread) {\n if (messageForThread.threadInfo && messageForThread.threadInfo.replyCount > 0) {\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD;\n } else {\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD;\n }\n }\n\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE;\n };\n\n const voiceMessageEnabled = channel.isGroupChannel() && sbOptions.uikit.groupChannel.channel.enableVoiceMessage;\n const sendButtonVisible = Boolean(text.trim());\n\n return (\n <View>\n {MessageToReplyPreview && (\n <MessageToReplyPreview messageToReply={messageToReply} setMessageToReply={setMessageToReply} />\n )}\n <View style={styles.sendInputContainer}>\n {AttachmentsButton && <AttachmentsButton onPress={() => openSheet({ sheetItems })} disabled={inputDisabled} />}\n <TextInput\n ref={ref}\n multiline\n disableFullscreenUI\n onSelectionChange={onSelectionChange}\n editable={!inputDisabled}\n onChangeText={onChangeText}\n style={style}\n placeholder={getPlaceholder()}\n >\n {mentionManager.textToMentionedComponents(\n text,\n mentionedUsers,\n sbOptions.uikit.groupChannel.channel.enableMention,\n )}\n </TextInput>\n\n {voiceMessageEnabled && (\n <VoiceMessageButton\n visible={!sendButtonVisible}\n disabled={inputDisabled}\n onPress={() => setVoiceMessageInputVisible(true)}\n />\n )}\n <UserMessageSendButton visible={sendButtonVisible} disabled={inputDisabled} onPress={sendUserMessage} />\n {voiceMessageEnabled && VoiceMessageInput && (\n <Modal\n disableBackgroundClose\n onClose={onClose}\n onDismiss={() => {\n onDismiss();\n playerService.reset().catch(() => {});\n recorderService.reset().catch(() => {});\n }}\n backgroundStyle={{ justifyContent: 'flex-end' }}\n visible={voiceMessageInputVisible}\n type={'slide-no-gesture'}\n >\n <VoiceMessageInput onClose={onClose} onSend={({ file, duration }) => sendVoiceMessage(file, duration)} />\n </Modal>\n )}\n </View>\n </View>\n );\n});\n\ntype InputButtonProps = { visible: boolean; disabled: boolean; onPress: () => void };\nconst VoiceMessageButton = ({ visible, disabled, onPress }: InputButtonProps) => {\n const { STRINGS } = useLocalization();\n const { alert } = useAlert();\n const { playerService, recorderService } = usePlatformService();\n const { colors } = useUIKitTheme();\n if (!visible) return null;\n\n const onPressWithPermissionCheck = async () => {\n const recorderGranted = await recorderService.requestPermission();\n if (!recorderGranted) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_MICROPHONE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n Logger.error('Failed to request permission for recorder');\n return;\n }\n\n const playerGranted = await playerService.requestPermission();\n if (!playerGranted) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_DEVICE_STORAGE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n Logger.error('Failed to request permission for player');\n return;\n }\n\n onPress();\n };\n\n return (\n <TouchableOpacity onPress={onPressWithPermissionCheck} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'audio-on'}\n size={24}\n containerStyle={styles.sendIcon}\n />\n </TouchableOpacity>\n );\n};\nconst UserMessageSendButton = ({ visible, disabled, onPress }: InputButtonProps) => {\n const { colors } = useUIKitTheme();\n if (!visible) return null;\n return (\n <TouchableOpacity onPress={onPress} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'send'}\n size={24}\n containerStyle={styles.sendIcon}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n sendInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n },\n sendIcon: {\n marginLeft: 4,\n padding: 4,\n },\n});\n\nexport default SendInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_message","_uikitReactNativeFoundation","_uikitUtils","_constants","_useChannelInputItems","_useContext","_SBUUtils","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SendInput","forwardRef","style","VoiceMessageInput","MessageToReplyPreview","AttachmentsButton","onPressSendUserMessage","onPressSendFileMessage","text","onChangeText","onSelectionChange","mentionedUsers","inputDisabled","inputFrozen","inputMuted","channel","messageToReply","setMessageToReply","messageForThread","ref","playerService","recorderService","usePlatformService","mentionManager","sbOptions","useSendbirdChat","STRINGS","useLocalization","openSheet","useBottomSheet","toast","useToast","onClose","onDismiss","visible","voiceMessageInputVisible","setVisible","setVoiceMessageInputVisible","useDeferredModalState","messageReplyParams","useIIFE","groupChannel","uikit","isGroupChannel","replyType","parentMessageId","messageId","isReplyToChannel","messageMentionParams","enableMention","mentionType","MentionType","USERS","mentionedUserIds","map","it","user","userId","mentionedMessageTemplate","textToMentionedMessageTemplate","onFailureToSend","error","show","TOAST","SEND_MSG_ERROR","Logger","sendUserMessage","message","catch","sendFileMessage","file","sendVoiceMessage","durationMills","USER_MUTED_ERROR","CHANNEL_FROZEN_ERROR","metaArrays","MessageMetaArray","key","VOICE_MESSAGE_META_ARRAY_DURATION_KEY","value","String","VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY","options","extension","sheetItems","useChannelInputItems","getPlaceholder","LABELS","CHANNEL_INPUT_PLACEHOLDER_MUTED","CHANNEL_INPUT_PLACEHOLDER_DISABLED","CHANNEL_INPUT_PLACEHOLDER_REPLY","threadInfo","replyCount","CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD","CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD","CHANNEL_INPUT_PLACEHOLDER_ACTIVE","voiceMessageEnabled","enableVoiceMessage","sendButtonVisible","Boolean","trim","createElement","View","styles","sendInputContainer","onPress","disabled","TextInput","multiline","disableFullscreenUI","editable","placeholder","originalText","supportRTLAlign","textToMentionedComponents","VoiceMessageButton","UserMessageSendButton","Modal","disableBackgroundClose","reset","backgroundStyle","justifyContent","type","onSend","duration","alert","useAlert","colors","useUIKitTheme","onPressWithPermissionCheck","recorderGranted","requestPermission","title","DIALOG","ALERT_PERMISSIONS_TITLE","ALERT_PERMISSIONS_MESSAGE","PERMISSION_MICROPHONE","PERMISSION_APP_NAME","buttons","ALERT_PERMISSIONS_OK","SBUUtils","openSettings","playerGranted","PERMISSION_DEVICE_STORAGE","TouchableOpacity","Icon","color","ui","input","highlight","active","icon","size","containerStyle","sendIcon","createStyleSheet","paddingVertical","paddingHorizontal","alignItems","flexDirection","marginStart","padding","_default","exports"],"sources":["SendInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n NativeSyntheticEvent,\n TextInput as RNTextInput,\n TextInputSelectionChangeEventData,\n TouchableOpacity,\n View,\n} from 'react-native';\n\nimport { MentionType, MessageMetaArray } from '@sendbird/chat/message';\nimport {\n Icon,\n Modal,\n TextInput,\n createStyleSheet,\n useAlert,\n useBottomSheet,\n useToast,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { Logger, useDeferredModalState, useIIFE } from '@sendbird/uikit-utils';\n\nimport { VOICE_MESSAGE_META_ARRAY_DURATION_KEY, VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY } from '../../constants';\nimport { useChannelInputItems } from '../../hooks/useChannelInputItems';\nimport { useLocalization, usePlatformService, useSendbirdChat } from '../../hooks/useContext';\nimport SBUUtils from '../../libs/SBUUtils';\nimport type { FileType } from '../../platform/types';\nimport type { MentionedUser } from '../../types';\nimport type { ChannelInputProps } from './index';\n\ninterface SendInputProps extends ChannelInputProps {\n text: string;\n onChangeText: (val: string) => void;\n onSelectionChange: (e: NativeSyntheticEvent<TextInputSelectionChangeEventData>) => void;\n mentionedUsers: MentionedUser[];\n}\n\nconst SendInput = forwardRef<RNTextInput, SendInputProps>(function SendInput(\n {\n style,\n VoiceMessageInput,\n MessageToReplyPreview,\n AttachmentsButton,\n onPressSendUserMessage,\n onPressSendFileMessage,\n text,\n onChangeText,\n onSelectionChange,\n mentionedUsers,\n inputDisabled,\n inputFrozen,\n inputMuted,\n channel,\n messageToReply,\n setMessageToReply,\n messageForThread,\n },\n ref,\n) {\n const { playerService, recorderService } = usePlatformService();\n const { mentionManager, sbOptions } = useSendbirdChat();\n const { STRINGS } = useLocalization();\n const { openSheet } = useBottomSheet();\n const toast = useToast();\n\n const {\n onClose,\n onDismiss,\n visible: voiceMessageInputVisible,\n setVisible: setVoiceMessageInputVisible,\n } = useDeferredModalState();\n\n const messageReplyParams = useIIFE(() => {\n const { groupChannel } = sbOptions.uikit;\n\n if (channel.isGroupChannel()) {\n if (groupChannel.channel.replyType === 'quote_reply' && messageToReply) {\n return {\n parentMessageId: messageToReply.messageId,\n isReplyToChannel: true,\n };\n } else if (groupChannel.channel.replyType === 'thread' && messageForThread) {\n return {\n parentMessageId: messageForThread.messageId,\n isReplyToChannel: true,\n };\n }\n }\n\n return {};\n });\n\n const messageMentionParams = useIIFE(() => {\n const { groupChannel } = sbOptions.uikit;\n if (!channel.isGroupChannel() || !groupChannel.channel.enableMention) return {};\n return {\n mentionType: MentionType.USERS,\n mentionedUserIds: mentionedUsers.map((it) => it.user.userId),\n mentionedMessageTemplate: mentionManager.textToMentionedMessageTemplate(\n text,\n mentionedUsers,\n groupChannel.channel.enableMention,\n ),\n };\n });\n\n const onFailureToSend = (error: Error) => {\n toast.show(STRINGS.TOAST.SEND_MSG_ERROR, 'error');\n Logger.error(STRINGS.TOAST.SEND_MSG_ERROR, error);\n };\n\n const sendUserMessage = () => {\n onPressSendUserMessage({\n message: text,\n ...messageMentionParams,\n ...messageReplyParams,\n }).catch(onFailureToSend);\n\n onChangeText('');\n setMessageToReply?.();\n };\n\n const sendFileMessage = (file: FileType) => {\n onPressSendFileMessage({\n file,\n ...messageReplyParams,\n }).catch(onFailureToSend);\n\n setMessageToReply?.();\n };\n\n const sendVoiceMessage = (file: FileType, durationMills: number) => {\n if (inputMuted) {\n toast.show(STRINGS.TOAST.USER_MUTED_ERROR, 'error');\n Logger.error(STRINGS.TOAST.USER_MUTED_ERROR);\n } else if (inputFrozen) {\n toast.show(STRINGS.TOAST.CHANNEL_FROZEN_ERROR, 'error');\n Logger.error(STRINGS.TOAST.CHANNEL_FROZEN_ERROR);\n } else {\n onPressSendFileMessage({\n file,\n metaArrays: [\n new MessageMetaArray({\n key: VOICE_MESSAGE_META_ARRAY_DURATION_KEY,\n value: [String(durationMills)],\n }),\n new MessageMetaArray({\n key: VOICE_MESSAGE_META_ARRAY_MESSAGE_TYPE_KEY,\n value: [`voice/${recorderService.options.extension}`],\n }),\n ],\n ...messageReplyParams,\n }).catch(onFailureToSend);\n }\n\n onChangeText('');\n setMessageToReply?.();\n };\n\n const sheetItems = useChannelInputItems(channel, sendFileMessage);\n\n const getPlaceholder = () => {\n if (inputMuted) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_MUTED;\n if (inputFrozen) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED;\n if (inputDisabled) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_DISABLED;\n if (messageToReply) return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY;\n if (messageForThread) {\n if (messageForThread.threadInfo && messageForThread.threadInfo.replyCount > 0) {\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY_TO_THREAD;\n } else {\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_REPLY_IN_THREAD;\n }\n }\n\n return STRINGS.LABELS.CHANNEL_INPUT_PLACEHOLDER_ACTIVE;\n };\n\n const voiceMessageEnabled = channel.isGroupChannel() && sbOptions.uikit.groupChannel.channel.enableVoiceMessage;\n const sendButtonVisible = Boolean(text.trim());\n\n return (\n <View>\n {MessageToReplyPreview && (\n <MessageToReplyPreview messageToReply={messageToReply} setMessageToReply={setMessageToReply} />\n )}\n <View style={styles.sendInputContainer}>\n {AttachmentsButton && <AttachmentsButton onPress={() => openSheet({ sheetItems })} disabled={inputDisabled} />}\n <TextInput\n ref={ref}\n multiline\n disableFullscreenUI\n onSelectionChange={onSelectionChange}\n editable={!inputDisabled}\n onChangeText={onChangeText}\n style={style}\n placeholder={getPlaceholder()}\n originalText={text}\n supportRTLAlign\n >\n {mentionManager.textToMentionedComponents(\n text,\n mentionedUsers,\n sbOptions.uikit.groupChannel.channel.enableMention,\n )}\n </TextInput>\n\n {voiceMessageEnabled && (\n <VoiceMessageButton\n visible={!sendButtonVisible}\n disabled={inputDisabled}\n onPress={() => setVoiceMessageInputVisible(true)}\n />\n )}\n <UserMessageSendButton visible={sendButtonVisible} disabled={inputDisabled} onPress={sendUserMessage} />\n {voiceMessageEnabled && VoiceMessageInput && (\n <Modal\n disableBackgroundClose\n onClose={onClose}\n onDismiss={() => {\n onDismiss();\n playerService.reset().catch(() => {});\n recorderService.reset().catch(() => {});\n }}\n backgroundStyle={{ justifyContent: 'flex-end' }}\n visible={voiceMessageInputVisible}\n type={'slide-no-gesture'}\n >\n <VoiceMessageInput onClose={onClose} onSend={({ file, duration }) => sendVoiceMessage(file, duration)} />\n </Modal>\n )}\n </View>\n </View>\n );\n});\n\ntype InputButtonProps = { visible: boolean; disabled: boolean; onPress: () => void };\nconst VoiceMessageButton = ({ visible, disabled, onPress }: InputButtonProps) => {\n const { STRINGS } = useLocalization();\n const { alert } = useAlert();\n const { playerService, recorderService } = usePlatformService();\n const { colors } = useUIKitTheme();\n if (!visible) return null;\n\n const onPressWithPermissionCheck = async () => {\n const recorderGranted = await recorderService.requestPermission();\n if (!recorderGranted) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_MICROPHONE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n Logger.error('Failed to request permission for recorder');\n return;\n }\n\n const playerGranted = await playerService.requestPermission();\n if (!playerGranted) {\n alert({\n title: STRINGS.DIALOG.ALERT_PERMISSIONS_TITLE,\n message: STRINGS.DIALOG.ALERT_PERMISSIONS_MESSAGE(\n STRINGS.LABELS.PERMISSION_DEVICE_STORAGE,\n STRINGS.LABELS.PERMISSION_APP_NAME,\n ),\n buttons: [{ text: STRINGS.DIALOG.ALERT_PERMISSIONS_OK, onPress: () => SBUUtils.openSettings() }],\n });\n Logger.error('Failed to request permission for player');\n return;\n }\n\n onPress();\n };\n\n return (\n <TouchableOpacity onPress={onPressWithPermissionCheck} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'audio-on'}\n size={24}\n containerStyle={styles.sendIcon}\n />\n </TouchableOpacity>\n );\n};\nconst UserMessageSendButton = ({ visible, disabled, onPress }: InputButtonProps) => {\n const { colors } = useUIKitTheme();\n if (!visible) return null;\n return (\n <TouchableOpacity onPress={onPress} disabled={disabled}>\n <Icon\n color={disabled ? colors.ui.input.default.disabled.highlight : colors.ui.input.default.active.highlight}\n icon={'send'}\n size={24}\n containerStyle={styles.sendIcon}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = createStyleSheet({\n sendInputContainer: {\n paddingVertical: 10,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n },\n sendIcon: {\n marginStart: 4,\n padding: 4,\n },\n});\n\nexport default SendInput;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AAUA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,qBAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAC,sBAAA,CAAAT,OAAA;AAA2C,SAAAS,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAY3C,MAAMW,SAAS,gBAAG,IAAAC,iBAAU,EAA8B,SAASD,SAASA,CAC1E;EACEE,KAAK;EACLC,iBAAiB;EACjBC,qBAAqB;EACrBC,iBAAiB;EACjBC,sBAAsB;EACtBC,sBAAsB;EACtBC,IAAI;EACJC,YAAY;EACZC,iBAAiB;EACjBC,cAAc;EACdC,aAAa;EACbC,WAAW;EACXC,UAAU;EACVC,OAAO;EACPC,cAAc;EACdC,iBAAiB;EACjBC;AACF,CAAC,EACDC,GAAG,EACH;EACA,MAAM;IAAEC,aAAa;IAAEC;EAAgB,CAAC,GAAG,IAAAC,8BAAkB,EAAC,CAAC;EAC/D,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,2BAAe,EAAC,CAAC;EACvD,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAe,EAAC,CAAC;EACrC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,0CAAc,EAAC,CAAC;EACtC,MAAMC,KAAK,GAAG,IAAAC,oCAAQ,EAAC,CAAC;EAExB,MAAM;IACJC,OAAO;IACPC,SAAS;IACTC,OAAO,EAAEC,wBAAwB;IACjCC,UAAU,EAAEC;EACd,CAAC,GAAG,IAAAC,iCAAqB,EAAC,CAAC;EAE3B,MAAMC,kBAAkB,GAAG,IAAAC,mBAAO,EAAC,MAAM;IACvC,MAAM;MAAEC;IAAa,CAAC,GAAGjB,SAAS,CAACkB,KAAK;IAExC,IAAI3B,OAAO,CAAC4B,cAAc,CAAC,CAAC,EAAE;MAC5B,IAAIF,YAAY,CAAC1B,OAAO,CAAC6B,SAAS,KAAK,aAAa,IAAI5B,cAAc,EAAE;QACtE,OAAO;UACL6B,eAAe,EAAE7B,cAAc,CAAC8B,SAAS;UACzCC,gBAAgB,EAAE;QACpB,CAAC;MACH,CAAC,MAAM,IAAIN,YAAY,CAAC1B,OAAO,CAAC6B,SAAS,KAAK,QAAQ,IAAI1B,gBAAgB,EAAE;QAC1E,OAAO;UACL2B,eAAe,EAAE3B,gBAAgB,CAAC4B,SAAS;UAC3CC,gBAAgB,EAAE;QACpB,CAAC;MACH;IACF;IAEA,OAAO,CAAC,CAAC;EACX,CAAC,CAAC;EAEF,MAAMC,oBAAoB,GAAG,IAAAR,mBAAO,EAAC,MAAM;IACzC,MAAM;MAAEC;IAAa,CAAC,GAAGjB,SAAS,CAACkB,KAAK;IACxC,IAAI,CAAC3B,OAAO,CAAC4B,cAAc,CAAC,CAAC,IAAI,CAACF,YAAY,CAAC1B,OAAO,CAACkC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/E,OAAO;MACLC,WAAW,EAAEC,oBAAW,CAACC,KAAK;MAC9BC,gBAAgB,EAAE1C,cAAc,CAAC2C,GAAG,CAAEC,EAAE,IAAKA,EAAE,CAACC,IAAI,CAACC,MAAM,CAAC;MAC5DC,wBAAwB,EAAEnC,cAAc,CAACoC,8BAA8B,CACrEnD,IAAI,EACJG,cAAc,EACd8B,YAAY,CAAC1B,OAAO,CAACkC,aACvB;IACF,CAAC;EACH,CAAC,CAAC;EAEF,MAAMW,eAAe,GAAIC,KAAY,IAAK;IACxC/B,KAAK,CAACgC,IAAI,CAACpC,OAAO,CAACqC,KAAK,CAACC,cAAc,EAAE,OAAO,CAAC;IACjDC,kBAAM,CAACJ,KAAK,CAACnC,OAAO,CAACqC,KAAK,CAACC,cAAc,EAAEH,KAAK,CAAC;EACnD,CAAC;EAED,MAAMK,eAAe,GAAGA,CAAA,KAAM;IAC5B5D,sBAAsB,CAAC;MACrB6D,OAAO,EAAE3D,IAAI;MACb,GAAGwC,oBAAoB;MACvB,GAAGT;IACL,CAAC,CAAC,CAAC6B,KAAK,CAACR,eAAe,CAAC;IAEzBnD,YAAY,CAAC,EAAE,CAAC;IAChBQ,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAG,CAAC;EACvB,CAAC;EAED,MAAMoD,eAAe,GAAIC,IAAc,IAAK;IAC1C/D,sBAAsB,CAAC;MACrB+D,IAAI;MACJ,GAAG/B;IACL,CAAC,CAAC,CAAC6B,KAAK,CAACR,eAAe,CAAC;IAEzB3C,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAG,CAAC;EACvB,CAAC;EAED,MAAMsD,gBAAgB,GAAGA,CAACD,IAAc,EAAEE,aAAqB,KAAK;IAClE,IAAI1D,UAAU,EAAE;MACdgB,KAAK,CAACgC,IAAI,CAACpC,OAAO,CAACqC,KAAK,CAACU,gBAAgB,EAAE,OAAO,CAAC;MACnDR,kBAAM,CAACJ,KAAK,CAACnC,OAAO,CAACqC,KAAK,CAACU,gBAAgB,CAAC;IAC9C,CAAC,MAAM,IAAI5D,WAAW,EAAE;MACtBiB,KAAK,CAACgC,IAAI,CAACpC,OAAO,CAACqC,KAAK,CAACW,oBAAoB,EAAE,OAAO,CAAC;MACvDT,kBAAM,CAACJ,KAAK,CAACnC,OAAO,CAACqC,KAAK,CAACW,oBAAoB,CAAC;IAClD,CAAC,MAAM;MACLnE,sBAAsB,CAAC;QACrB+D,IAAI;QACJK,UAAU,EAAE,CACV,IAAIC,yBAAgB,CAAC;UACnBC,GAAG,EAAEC,gDAAqC;UAC1CC,KAAK,EAAE,CAACC,MAAM,CAACR,aAAa,CAAC;QAC/B,CAAC,CAAC,EACF,IAAII,yBAAgB,CAAC;UACnBC,GAAG,EAAEI,oDAAyC;UAC9CF,KAAK,EAAE,CAAC,SAAS1D,eAAe,CAAC6D,OAAO,CAACC,SAAS,EAAE;QACtD,CAAC,CAAC,CACH;QACD,GAAG5C;MACL,CAAC,CAAC,CAAC6B,KAAK,CAACR,eAAe,CAAC;IAC3B;IAEAnD,YAAY,CAAC,EAAE,CAAC;IAChBQ,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAG,CAAC;EACvB,CAAC;EAED,MAAMmE,UAAU,GAAG,IAAAC,0CAAoB,EAACtE,OAAO,EAAEsD,eAAe,CAAC;EAEjE,MAAMiB,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAIxE,UAAU,EAAE,OAAOY,OAAO,CAAC6D,MAAM,CAACC,+BAA+B;IACrE,IAAI3E,WAAW,EAAE,OAAOa,OAAO,CAAC6D,MAAM,CAACE,kCAAkC;IACzE,IAAI7E,aAAa,EAAE,OAAOc,OAAO,CAAC6D,MAAM,CAACE,kCAAkC;IAC3E,IAAIzE,cAAc,EAAE,OAAOU,OAAO,CAAC6D,MAAM,CAACG,+BAA+B;IACzE,IAAIxE,gBAAgB,EAAE;MACpB,IAAIA,gBAAgB,CAACyE,UAAU,IAAIzE,gBAAgB,CAACyE,UAAU,CAACC,UAAU,GAAG,CAAC,EAAE;QAC7E,OAAOlE,OAAO,CAAC6D,MAAM,CAACM,yCAAyC;MACjE,CAAC,MAAM;QACL,OAAOnE,OAAO,CAAC6D,MAAM,CAACO,yCAAyC;MACjE;IACF;IAEA,OAAOpE,OAAO,CAAC6D,MAAM,CAACQ,gCAAgC;EACxD,CAAC;EAED,MAAMC,mBAAmB,GAAGjF,OAAO,CAAC4B,cAAc,CAAC,CAAC,IAAInB,SAAS,CAACkB,KAAK,CAACD,YAAY,CAAC1B,OAAO,CAACkF,kBAAkB;EAC/G,MAAMC,iBAAiB,GAAGC,OAAO,CAAC3F,IAAI,CAAC4F,IAAI,CAAC,CAAC,CAAC;EAE9C,oBACEpI,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAClI,YAAA,CAAAmI,IAAI,QACFlG,qBAAqB,iBACpBpC,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAACjG,qBAAqB;IAACY,cAAc,EAAEA,cAAe;IAACC,iBAAiB,EAAEA;EAAkB,CAAE,CAC/F,eACDjD,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAClI,YAAA,CAAAmI,IAAI;IAACpG,KAAK,EAAEqG,MAAM,CAACC;EAAmB,GACpCnG,iBAAiB,iBAAIrC,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAChG,iBAAiB;IAACoG,OAAO,EAAEA,CAAA,KAAM7E,SAAS,CAAC;MAAEwD;IAAW,CAAC,CAAE;IAACsB,QAAQ,EAAE9F;EAAc,CAAE,CAAC,eAC9G5C,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAChI,2BAAA,CAAAsI,SAAS;IACRxF,GAAG,EAAEA,GAAI;IACTyF,SAAS;IACTC,mBAAmB;IACnBnG,iBAAiB,EAAEA,iBAAkB;IACrCoG,QAAQ,EAAE,CAAClG,aAAc;IACzBH,YAAY,EAAEA,YAAa;IAC3BP,KAAK,EAAEA,KAAM;IACb6G,WAAW,EAAEzB,cAAc,CAAC,CAAE;IAC9B0B,YAAY,EAAExG,IAAK;IACnByG,eAAe;EAAA,GAEd1F,cAAc,CAAC2F,yBAAyB,CACvC1G,IAAI,EACJG,cAAc,EACda,SAAS,CAACkB,KAAK,CAACD,YAAY,CAAC1B,OAAO,CAACkC,aACvC,CACS,CAAC,EAEX+C,mBAAmB,iBAClBhI,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAACc,kBAAkB;IACjBjF,OAAO,EAAE,CAACgE,iBAAkB;IAC5BQ,QAAQ,EAAE9F,aAAc;IACxB6F,OAAO,EAAEA,CAAA,KAAMpE,2BAA2B,CAAC,IAAI;EAAE,CAClD,CACF,eACDrE,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAACe,qBAAqB;IAAClF,OAAO,EAAEgE,iBAAkB;IAACQ,QAAQ,EAAE9F,aAAc;IAAC6F,OAAO,EAAEvC;EAAgB,CAAE,CAAC,EACvG8B,mBAAmB,IAAI7F,iBAAiB,iBACvCnC,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAChI,2BAAA,CAAAgJ,KAAK;IACJC,sBAAsB;IACtBtF,OAAO,EAAEA,OAAQ;IACjBC,SAAS,EAAEA,CAAA,KAAM;MACfA,SAAS,CAAC,CAAC;MACXb,aAAa,CAACmG,KAAK,CAAC,CAAC,CAACnD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACrC/C,eAAe,CAACkG,KAAK,CAAC,CAAC,CAACnD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAE;IACFoD,eAAe,EAAE;MAAEC,cAAc,EAAE;IAAW,CAAE;IAChDvF,OAAO,EAAEC,wBAAyB;IAClCuF,IAAI,EAAE;EAAmB,gBAEzB1J,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAClG,iBAAiB;IAAC6B,OAAO,EAAEA,OAAQ;IAAC2F,MAAM,EAAEA,CAAC;MAAErD,IAAI;MAAEsD;IAAS,CAAC,KAAKrD,gBAAgB,CAACD,IAAI,EAAEsD,QAAQ;EAAE,CAAE,CACnG,CAEL,CACF,CAAC;AAEX,CAAC,CAAC;AAGF,MAAMT,kBAAkB,GAAGA,CAAC;EAAEjF,OAAO;EAAEwE,QAAQ;EAAED;AAA0B,CAAC,KAAK;EAC/E,MAAM;IAAE/E;EAAQ,CAAC,GAAG,IAAAC,2BAAe,EAAC,CAAC;EACrC,MAAM;IAAEkG;EAAM,CAAC,GAAG,IAAAC,oCAAQ,EAAC,CAAC;EAC5B,MAAM;IAAE1G,aAAa;IAAEC;EAAgB,CAAC,GAAG,IAAAC,8BAAkB,EAAC,CAAC;EAC/D,MAAM;IAAEyG;EAAO,CAAC,GAAG,IAAAC,yCAAa,EAAC,CAAC;EAClC,IAAI,CAAC9F,OAAO,EAAE,OAAO,IAAI;EAEzB,MAAM+F,0BAA0B,GAAG,MAAAA,CAAA,KAAY;IAC7C,MAAMC,eAAe,GAAG,MAAM7G,eAAe,CAAC8G,iBAAiB,CAAC,CAAC;IACjE,IAAI,CAACD,eAAe,EAAE;MACpBL,KAAK,CAAC;QACJO,KAAK,EAAE1G,OAAO,CAAC2G,MAAM,CAACC,uBAAuB;QAC7CnE,OAAO,EAAEzC,OAAO,CAAC2G,MAAM,CAACE,yBAAyB,CAC/C7G,OAAO,CAAC6D,MAAM,CAACiD,qBAAqB,EACpC9G,OAAO,CAAC6D,MAAM,CAACkD,mBACjB,CAAC;QACDC,OAAO,EAAE,CAAC;UAAElI,IAAI,EAAEkB,OAAO,CAAC2G,MAAM,CAACM,oBAAoB;UAAElC,OAAO,EAAEA,CAAA,KAAMmC,iBAAQ,CAACC,YAAY,CAAC;QAAE,CAAC;MACjG,CAAC,CAAC;MACF5E,kBAAM,CAACJ,KAAK,CAAC,2CAA2C,CAAC;MACzD;IACF;IAEA,MAAMiF,aAAa,GAAG,MAAM1H,aAAa,CAAC+G,iBAAiB,CAAC,CAAC;IAC7D,IAAI,CAACW,aAAa,EAAE;MAClBjB,KAAK,CAAC;QACJO,KAAK,EAAE1G,OAAO,CAAC2G,MAAM,CAACC,uBAAuB;QAC7CnE,OAAO,EAAEzC,OAAO,CAAC2G,MAAM,CAACE,yBAAyB,CAC/C7G,OAAO,CAAC6D,MAAM,CAACwD,yBAAyB,EACxCrH,OAAO,CAAC6D,MAAM,CAACkD,mBACjB,CAAC;QACDC,OAAO,EAAE,CAAC;UAAElI,IAAI,EAAEkB,OAAO,CAAC2G,MAAM,CAACM,oBAAoB;UAAElC,OAAO,EAAEA,CAAA,KAAMmC,iBAAQ,CAACC,YAAY,CAAC;QAAE,CAAC;MACjG,CAAC,CAAC;MACF5E,kBAAM,CAACJ,KAAK,CAAC,yCAAyC,CAAC;MACvD;IACF;IAEA4C,OAAO,CAAC,CAAC;EACX,CAAC;EAED,oBACEzI,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAClI,YAAA,CAAA6K,gBAAgB;IAACvC,OAAO,EAAEwB,0BAA2B;IAACvB,QAAQ,EAAEA;EAAS,gBACxE1I,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAChI,2BAAA,CAAA4K,IAAI;IACHC,KAAK,EAAExC,QAAQ,GAAGqB,MAAM,CAACoB,EAAE,CAACC,KAAK,CAACtK,OAAO,CAAC4H,QAAQ,CAAC2C,SAAS,GAAGtB,MAAM,CAACoB,EAAE,CAACC,KAAK,CAACtK,OAAO,CAACwK,MAAM,CAACD,SAAU;IACxGE,IAAI,EAAE,UAAW;IACjBC,IAAI,EAAE,EAAG;IACTC,cAAc,EAAElD,MAAM,CAACmD;EAAS,CACjC,CACe,CAAC;AAEvB,CAAC;AACD,MAAMtC,qBAAqB,GAAGA,CAAC;EAAElF,OAAO;EAAEwE,QAAQ;EAAED;AAA0B,CAAC,KAAK;EAClF,MAAM;IAAEsB;EAAO,CAAC,GAAG,IAAAC,yCAAa,EAAC,CAAC;EAClC,IAAI,CAAC9F,OAAO,EAAE,OAAO,IAAI;EACzB,oBACElE,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAClI,YAAA,CAAA6K,gBAAgB;IAACvC,OAAO,EAAEA,OAAQ;IAACC,QAAQ,EAAEA;EAAS,gBACrD1I,MAAA,CAAAc,OAAA,CAAAuH,aAAA,CAAChI,2BAAA,CAAA4K,IAAI;IACHC,KAAK,EAAExC,QAAQ,GAAGqB,MAAM,CAACoB,EAAE,CAACC,KAAK,CAACtK,OAAO,CAAC4H,QAAQ,CAAC2C,SAAS,GAAGtB,MAAM,CAACoB,EAAE,CAACC,KAAK,CAACtK,OAAO,CAACwK,MAAM,CAACD,SAAU;IACxGE,IAAI,EAAE,MAAO;IACbC,IAAI,EAAE,EAAG;IACTC,cAAc,EAAElD,MAAM,CAACmD;EAAS,CACjC,CACe,CAAC;AAEvB,CAAC;AAED,MAAMnD,MAAM,GAAG,IAAAoD,4CAAgB,EAAC;EAC9BnD,kBAAkB,EAAE;IAClBoD,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE;EACjB,CAAC;EACDL,QAAQ,EAAE;IACRM,WAAW,EAAE,CAAC;IACdC,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAArL,OAAA,GAEYkB,SAAS","ignoreList":[]}
|
|
@@ -10,14 +10,13 @@ var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundati
|
|
|
10
10
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
11
11
|
var _useContext = require("../../hooks/useContext");
|
|
12
12
|
var _useVoiceMessageInput = _interopRequireDefault(require("../../hooks/useVoiceMessageInput"));
|
|
13
|
-
function _interopRequireDefault(
|
|
14
|
-
function _getRequireWildcardCache(
|
|
15
|
-
function _interopRequireWildcard(
|
|
16
|
-
const VoiceMessageInput =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} = _ref;
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
const VoiceMessageInput = ({
|
|
17
|
+
onClose,
|
|
18
|
+
onSend
|
|
19
|
+
}) => {
|
|
21
20
|
const {
|
|
22
21
|
STRINGS
|
|
23
22
|
} = (0, _useContext.useLocalization)();
|
|
@@ -121,14 +120,14 @@ const VoiceMessageInput = _ref => {
|
|
|
121
120
|
flexDirection: 'row',
|
|
122
121
|
alignItems: 'center',
|
|
123
122
|
justifyContent: 'flex-end',
|
|
124
|
-
|
|
123
|
+
paddingEnd: 16
|
|
125
124
|
}, /*#__PURE__*/_react.default.createElement(RecordingLight, {
|
|
126
125
|
visible: state.status === 'recording'
|
|
127
126
|
}), /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
|
|
128
127
|
caption1: true,
|
|
129
128
|
style: {
|
|
130
129
|
lineHeight: undefined,
|
|
131
|
-
|
|
130
|
+
marginStart: 6
|
|
132
131
|
},
|
|
133
132
|
color: uiColors.textTime
|
|
134
133
|
}, (0, _uikitUtils.millsToMMSS)(isRecorderState ? state.recordingTime.currentTime : remainingTime)))
|
|
@@ -234,8 +233,8 @@ const SendButton = props => {
|
|
|
234
233
|
};
|
|
235
234
|
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
236
235
|
container: {
|
|
237
|
-
|
|
238
|
-
|
|
236
|
+
borderTopStartRadius: 8,
|
|
237
|
+
borderTopEndRadius: 8
|
|
239
238
|
},
|
|
240
239
|
progressBar: {
|
|
241
240
|
height: 36,
|
|
@@ -243,6 +242,5 @@ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
|
243
242
|
borderRadius: 18
|
|
244
243
|
}
|
|
245
244
|
});
|
|
246
|
-
var _default = VoiceMessageInput;
|
|
247
|
-
exports.default = _default;
|
|
245
|
+
var _default = exports.default = VoiceMessageInput;
|
|
248
246
|
//# sourceMappingURL=VoiceMessageInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useVoiceMessageInput","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","VoiceMessageInput","_ref","onClose","onSend","STRINGS","useLocalization","colors","useUIKitTheme","actions","state","useVoiceMessageInput","file","duration","uiColors","ui","voiceMessageInput","status","onPressCancel","cancel","catch","error","Logger","warn","finally","onPressSend","send","onPressVoiceMessageAction","startRecording","lessThanMinimumDuration","stopRecording","playPlayer","pausePlayer","renderActionIcon","createElement","Icon","icon","size","color","recording","actionIcon","isRecorderState","recordingTime","currentTime","minDuration","remainingTime","playingTime","Box","backgroundColor","background","paddingVertical","paddingHorizontal","style","styles","container","ProgressBar","progressBar","current","conditionChaining","total","maxDuration","trackColor","progressTrack","overlay","flex","flexDirection","alignItems","justifyContent","paddingRight","RecordingLight","visible","Text","caption1","lineHeight","undefined","marginLeft","textTime","millsToMMSS","height","CancelButton","label","LABELS","VOICE_MESSAGE_INPUT_CANCEL","onPress","SendButton","disabled","position","PressBox","activeOpacity","width","borderRadius","actionIconBackground","props","value","useRef","Animated","Value","animation","loop","sequence","timing","toValue","useNativeDriver","useEffect","start","reset","View","opacity","active","button","textCancel","numberOfLines","sendIconBackground","padding","sendIcon","createStyleSheet","borderTopLeftRadius","borderTopRightRadius","marginBottom","_default","exports"],"sources":["VoiceMessageInput.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\n\nimport {\n Box,\n Icon,\n PressBox,\n ProgressBar,\n Text,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { Logger, conditionChaining, millsToMMSS } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\nimport useVoiceMessageInput from '../../hooks/useVoiceMessageInput';\nimport type { FileType } from '../../platform/types';\n\nexport type VoiceMessageInputProps = {\n onClose: () => Promise<void>;\n onSend: (params: { file: FileType; duration: number }) => void;\n};\n\nconst VoiceMessageInput = ({ onClose, onSend }: VoiceMessageInputProps) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const { actions, state } = useVoiceMessageInput({\n onSend: (file, duration) => onSend({ file, duration }),\n onClose,\n });\n\n const uiColors = colors.ui.voiceMessageInput.default[state.status !== 'idle' ? 'active' : 'inactive'];\n\n const onPressCancel = async () => {\n await actions\n .cancel()\n .catch((error) => {\n Logger.warn('Failed to cancel voice message input', error);\n })\n .finally(() => {\n onClose();\n });\n };\n\n const onPressSend = async () => {\n await actions\n .send()\n .catch((error) => {\n Logger.warn('Failed to send voice message', error);\n })\n .finally(() => {\n onClose();\n });\n };\n\n const onPressVoiceMessageAction = async () => {\n try {\n switch (state.status) {\n case 'idle':\n await actions.startRecording();\n break;\n case 'recording':\n if (lessThanMinimumDuration) {\n await actions.cancel();\n } else {\n await actions.stopRecording();\n }\n break;\n case 'recording_completed':\n case 'playing_paused':\n await actions.playPlayer();\n break;\n case 'playing':\n await actions.pausePlayer();\n break;\n }\n } catch (error) {\n Logger.warn('Failed to run voice message action.', state);\n }\n };\n const renderActionIcon = () => {\n switch (state.status) {\n case 'idle':\n return <Icon icon={'recording'} size={20} color={uiColors.recording} />;\n case 'recording':\n return <Icon icon={'stop'} size={20} color={uiColors.actionIcon} />;\n case 'recording_completed':\n case 'playing_paused':\n return <Icon icon={'play'} size={20} color={uiColors.actionIcon} />;\n case 'playing':\n return <Icon icon={'pause'} size={20} color={uiColors.actionIcon} />;\n }\n };\n\n const isRecorderState = state.status === 'recording' || state.status === 'recording_completed';\n const lessThanMinimumDuration = state.recordingTime.currentTime < state.recordingTime.minDuration;\n const remainingTime = state.playingTime.duration - state.playingTime.currentTime;\n\n return (\n <Box backgroundColor={uiColors.background} paddingVertical={24} paddingHorizontal={16} style={styles.container}>\n {/** Progress bar **/}\n <ProgressBar\n style={styles.progressBar}\n current={conditionChaining(\n [state.status === 'recording', state.status === 'recording_completed'],\n [state.recordingTime.currentTime, 0, state.playingTime.currentTime],\n )}\n total={(isRecorderState ? state.recordingTime.maxDuration : state.playingTime.duration) || 1}\n trackColor={uiColors.progressTrack}\n overlay={\n <Box flex={1} flexDirection={'row'} alignItems={'center'} justifyContent={'flex-end'} paddingRight={16}>\n <RecordingLight visible={state.status === 'recording'} />\n <Text caption1 style={{ lineHeight: undefined, marginLeft: 6 }} color={uiColors.textTime}>\n {millsToMMSS(isRecorderState ? state.recordingTime.currentTime : remainingTime)}\n </Text>\n </Box>\n }\n />\n\n <Box height={34} alignItems={'center'} justifyContent={'center'}>\n {/** Cancel / Send **/}\n <Box flexDirection={'row'}>\n <CancelButton label={STRINGS.LABELS.VOICE_MESSAGE_INPUT_CANCEL} onPress={onPressCancel} />\n <Box flex={1} />\n <SendButton disabled={state.status === 'idle' || lessThanMinimumDuration} onPress={onPressSend} />\n </Box>\n\n {/** Record / Stop / Play / Pause **/}\n <Box style={{ position: 'absolute' }} alignItems={'center'} justifyContent={'center'}>\n <PressBox activeOpacity={0.5} onPress={onPressVoiceMessageAction}>\n <Box\n width={34}\n height={34}\n borderRadius={17}\n alignItems={'center'}\n justifyContent={'center'}\n backgroundColor={uiColors.actionIconBackground}\n >\n {renderActionIcon()}\n </Box>\n </PressBox>\n </Box>\n </Box>\n </Box>\n );\n};\n\nconst RecordingLight = (props: { visible: boolean }) => {\n const { colors } = useUIKitTheme();\n\n const value = useRef(new Animated.Value(0)).current;\n const animation = useRef(\n Animated.loop(\n Animated.sequence([\n Animated.timing(value, { toValue: 1, duration: 500, useNativeDriver: true }),\n Animated.timing(value, { toValue: 0, duration: 500, useNativeDriver: true }),\n ]),\n ),\n ).current;\n\n useEffect(() => {\n if (props.visible) animation.start();\n return () => {\n animation.reset();\n };\n }, [props.visible]);\n\n if (!props.visible) return null;\n return (\n <Animated.View\n style={{\n width: 12,\n height: 12,\n borderRadius: 6,\n opacity: value,\n backgroundColor: colors.ui.voiceMessageInput.default.active.recording,\n }}\n />\n );\n};\n\nconst CancelButton = (props: { onPress: () => void; label: string }) => {\n const { colors } = useUIKitTheme();\n\n return (\n <PressBox activeOpacity={0.8} onPress={props.onPress}>\n <Box paddingHorizontal={12} height={'100%'} alignItems={'center'} justifyContent={'center'}>\n <Text button color={colors.ui.voiceMessageInput.default.active.textCancel} numberOfLines={1}>\n {props.label}\n </Text>\n </Box>\n </PressBox>\n );\n};\n\nconst SendButton = (props: { onPress: () => void; disabled: boolean }) => {\n const { colors } = useUIKitTheme();\n\n const uiColors = colors.ui.voiceMessageInput.default[props.disabled ? 'inactive' : 'active'];\n\n return (\n <PressBox disabled={props.disabled} activeOpacity={0.8} onPress={props.onPress}>\n <Box backgroundColor={uiColors.sendIconBackground} padding={7} borderRadius={40}>\n <Icon icon={'send'} size={20} color={uiColors.sendIcon} />\n </Box>\n </PressBox>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n borderTopLeftRadius: 8,\n borderTopRightRadius: 8,\n },\n progressBar: {\n height: 36,\n marginBottom: 16,\n borderRadius: 18,\n },\n});\n\nexport default VoiceMessageInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useVoiceMessageInput","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VoiceMessageInput","onClose","onSend","STRINGS","useLocalization","colors","useUIKitTheme","actions","state","useVoiceMessageInput","file","duration","uiColors","ui","voiceMessageInput","status","onPressCancel","cancel","catch","error","Logger","warn","finally","onPressSend","send","onPressVoiceMessageAction","startRecording","lessThanMinimumDuration","stopRecording","playPlayer","pausePlayer","renderActionIcon","createElement","Icon","icon","size","color","recording","actionIcon","isRecorderState","recordingTime","currentTime","minDuration","remainingTime","playingTime","Box","backgroundColor","background","paddingVertical","paddingHorizontal","style","styles","container","ProgressBar","progressBar","current","conditionChaining","total","maxDuration","trackColor","progressTrack","overlay","flex","flexDirection","alignItems","justifyContent","paddingEnd","RecordingLight","visible","Text","caption1","lineHeight","undefined","marginStart","textTime","millsToMMSS","height","CancelButton","label","LABELS","VOICE_MESSAGE_INPUT_CANCEL","onPress","SendButton","disabled","position","PressBox","activeOpacity","width","borderRadius","actionIconBackground","props","value","useRef","Animated","Value","animation","loop","sequence","timing","toValue","useNativeDriver","useEffect","start","reset","View","opacity","active","button","textCancel","numberOfLines","sendIconBackground","padding","sendIcon","createStyleSheet","borderTopStartRadius","borderTopEndRadius","marginBottom","_default","exports"],"sources":["VoiceMessageInput.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\n\nimport {\n Box,\n Icon,\n PressBox,\n ProgressBar,\n Text,\n createStyleSheet,\n useUIKitTheme,\n} from '@sendbird/uikit-react-native-foundation';\nimport { Logger, conditionChaining, millsToMMSS } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\nimport useVoiceMessageInput from '../../hooks/useVoiceMessageInput';\nimport type { FileType } from '../../platform/types';\n\nexport type VoiceMessageInputProps = {\n onClose: () => Promise<void>;\n onSend: (params: { file: FileType; duration: number }) => void;\n};\n\nconst VoiceMessageInput = ({ onClose, onSend }: VoiceMessageInputProps) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n const { actions, state } = useVoiceMessageInput({\n onSend: (file, duration) => onSend({ file, duration }),\n onClose,\n });\n\n const uiColors = colors.ui.voiceMessageInput.default[state.status !== 'idle' ? 'active' : 'inactive'];\n\n const onPressCancel = async () => {\n await actions\n .cancel()\n .catch((error) => {\n Logger.warn('Failed to cancel voice message input', error);\n })\n .finally(() => {\n onClose();\n });\n };\n\n const onPressSend = async () => {\n await actions\n .send()\n .catch((error) => {\n Logger.warn('Failed to send voice message', error);\n })\n .finally(() => {\n onClose();\n });\n };\n\n const onPressVoiceMessageAction = async () => {\n try {\n switch (state.status) {\n case 'idle':\n await actions.startRecording();\n break;\n case 'recording':\n if (lessThanMinimumDuration) {\n await actions.cancel();\n } else {\n await actions.stopRecording();\n }\n break;\n case 'recording_completed':\n case 'playing_paused':\n await actions.playPlayer();\n break;\n case 'playing':\n await actions.pausePlayer();\n break;\n }\n } catch (error) {\n Logger.warn('Failed to run voice message action.', state);\n }\n };\n const renderActionIcon = () => {\n switch (state.status) {\n case 'idle':\n return <Icon icon={'recording'} size={20} color={uiColors.recording} />;\n case 'recording':\n return <Icon icon={'stop'} size={20} color={uiColors.actionIcon} />;\n case 'recording_completed':\n case 'playing_paused':\n return <Icon icon={'play'} size={20} color={uiColors.actionIcon} />;\n case 'playing':\n return <Icon icon={'pause'} size={20} color={uiColors.actionIcon} />;\n }\n };\n\n const isRecorderState = state.status === 'recording' || state.status === 'recording_completed';\n const lessThanMinimumDuration = state.recordingTime.currentTime < state.recordingTime.minDuration;\n const remainingTime = state.playingTime.duration - state.playingTime.currentTime;\n\n return (\n <Box backgroundColor={uiColors.background} paddingVertical={24} paddingHorizontal={16} style={styles.container}>\n {/** Progress bar **/}\n <ProgressBar\n style={styles.progressBar}\n current={conditionChaining(\n [state.status === 'recording', state.status === 'recording_completed'],\n [state.recordingTime.currentTime, 0, state.playingTime.currentTime],\n )}\n total={(isRecorderState ? state.recordingTime.maxDuration : state.playingTime.duration) || 1}\n trackColor={uiColors.progressTrack}\n overlay={\n <Box flex={1} flexDirection={'row'} alignItems={'center'} justifyContent={'flex-end'} paddingEnd={16}>\n <RecordingLight visible={state.status === 'recording'} />\n <Text caption1 style={{ lineHeight: undefined, marginStart: 6 }} color={uiColors.textTime}>\n {millsToMMSS(isRecorderState ? state.recordingTime.currentTime : remainingTime)}\n </Text>\n </Box>\n }\n />\n\n <Box height={34} alignItems={'center'} justifyContent={'center'}>\n {/** Cancel / Send **/}\n <Box flexDirection={'row'}>\n <CancelButton label={STRINGS.LABELS.VOICE_MESSAGE_INPUT_CANCEL} onPress={onPressCancel} />\n <Box flex={1} />\n <SendButton disabled={state.status === 'idle' || lessThanMinimumDuration} onPress={onPressSend} />\n </Box>\n\n {/** Record / Stop / Play / Pause **/}\n <Box style={{ position: 'absolute' }} alignItems={'center'} justifyContent={'center'}>\n <PressBox activeOpacity={0.5} onPress={onPressVoiceMessageAction}>\n <Box\n width={34}\n height={34}\n borderRadius={17}\n alignItems={'center'}\n justifyContent={'center'}\n backgroundColor={uiColors.actionIconBackground}\n >\n {renderActionIcon()}\n </Box>\n </PressBox>\n </Box>\n </Box>\n </Box>\n );\n};\n\nconst RecordingLight = (props: { visible: boolean }) => {\n const { colors } = useUIKitTheme();\n\n const value = useRef(new Animated.Value(0)).current;\n const animation = useRef(\n Animated.loop(\n Animated.sequence([\n Animated.timing(value, { toValue: 1, duration: 500, useNativeDriver: true }),\n Animated.timing(value, { toValue: 0, duration: 500, useNativeDriver: true }),\n ]),\n ),\n ).current;\n\n useEffect(() => {\n if (props.visible) animation.start();\n return () => {\n animation.reset();\n };\n }, [props.visible]);\n\n if (!props.visible) return null;\n return (\n <Animated.View\n style={{\n width: 12,\n height: 12,\n borderRadius: 6,\n opacity: value,\n backgroundColor: colors.ui.voiceMessageInput.default.active.recording,\n }}\n />\n );\n};\n\nconst CancelButton = (props: { onPress: () => void; label: string }) => {\n const { colors } = useUIKitTheme();\n\n return (\n <PressBox activeOpacity={0.8} onPress={props.onPress}>\n <Box paddingHorizontal={12} height={'100%'} alignItems={'center'} justifyContent={'center'}>\n <Text button color={colors.ui.voiceMessageInput.default.active.textCancel} numberOfLines={1}>\n {props.label}\n </Text>\n </Box>\n </PressBox>\n );\n};\n\nconst SendButton = (props: { onPress: () => void; disabled: boolean }) => {\n const { colors } = useUIKitTheme();\n\n const uiColors = colors.ui.voiceMessageInput.default[props.disabled ? 'inactive' : 'active'];\n\n return (\n <PressBox disabled={props.disabled} activeOpacity={0.8} onPress={props.onPress}>\n <Box backgroundColor={uiColors.sendIconBackground} padding={7} borderRadius={40}>\n <Icon icon={'send'} size={20} color={uiColors.sendIcon} />\n </Box>\n </PressBox>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n borderTopStartRadius: 8,\n borderTopEndRadius: 8,\n },\n progressBar: {\n height: 36,\n marginBottom: 16,\n borderRadius: 18,\n },\n});\n\nexport default VoiceMessageInput;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
10
9
|
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
|
|
11
10
|
var _uikitUtils = require("@sendbird/uikit-utils");
|
|
12
11
|
var _useContext = require("../../hooks/useContext");
|
|
@@ -16,10 +15,10 @@ var _EditInput = _interopRequireDefault(require("./EditInput"));
|
|
|
16
15
|
var _MessageToReplyPreview = require("./MessageToReplyPreview");
|
|
17
16
|
var _SendInput = _interopRequireDefault(require("./SendInput"));
|
|
18
17
|
var _VoiceMessageInput = _interopRequireDefault(require("./VoiceMessageInput"));
|
|
19
|
-
function _interopRequireDefault(
|
|
20
|
-
function _getRequireWildcardCache(
|
|
21
|
-
function _interopRequireWildcard(
|
|
22
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
23
22
|
const AUTO_FOCUS = _reactNative.Platform.select({
|
|
24
23
|
ios: false,
|
|
25
24
|
android: true,
|
|
@@ -33,7 +32,9 @@ const KEYBOARD_AVOID_VIEW_BEHAVIOR = _reactNative.Platform.select({
|
|
|
33
32
|
// FIXME(iOS): Dynamic style does not work properly when typing the CJK. (https://github.com/facebook/react-native/issues/26107)
|
|
34
33
|
// To workaround temporarily, change the key for re-mount the component.
|
|
35
34
|
// -> This will affect to keyboard blur when add/remove first mentioned user.
|
|
36
|
-
const GET_INPUT_KEY = shouldReset =>
|
|
35
|
+
// const GET_INPUT_KEY = (shouldReset: boolean) => {
|
|
36
|
+
// return Platform.OS === 'ios' && shouldReset ? 'uikit-input-clear' : 'uikit-input';
|
|
37
|
+
// };
|
|
37
38
|
|
|
38
39
|
// TODO: Refactor 'Edit' mode to clearly
|
|
39
40
|
const ChannelInput = props => {
|
|
@@ -43,12 +44,7 @@ const ChannelInput = props => {
|
|
|
43
44
|
messageToEdit,
|
|
44
45
|
setMessageToEdit
|
|
45
46
|
} = props;
|
|
46
|
-
const
|
|
47
|
-
top,
|
|
48
|
-
left,
|
|
49
|
-
right,
|
|
50
|
-
bottom
|
|
51
|
-
} = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
47
|
+
const safeArea = (0, _uikitUtils.useSafeAreaPadding)(['top', 'left', 'right', 'bottom']);
|
|
52
48
|
const {
|
|
53
49
|
colors,
|
|
54
50
|
typography
|
|
@@ -71,7 +67,8 @@ const ChannelInput = props => {
|
|
|
71
67
|
if (messageToEdit && !messageToEdit.isFileMessage()) return 'edit';else return 'send';
|
|
72
68
|
});
|
|
73
69
|
const mentionAvailable = sbOptions.uikit.groupChannel.channel.enableMention && channel.isGroupChannel() && !channel.isBroadcast;
|
|
74
|
-
const inputKeyToRemount = GET_INPUT_KEY(mentionAvailable ? mentionedUsers.length === 0 : false);
|
|
70
|
+
const inputKeyToRemount = 'input'; //GET_INPUT_KEY(mentionAvailable ? mentionedUsers.length === 0 : false);
|
|
71
|
+
|
|
75
72
|
const [inputHeight, setInputHeight] = (0, _react.useState)(styles.inputDefault.height);
|
|
76
73
|
const fontStyle = (0, _react.useMemo)(() => {
|
|
77
74
|
if (!typography.body3.fontSize) return typography.body3;
|
|
@@ -99,16 +96,16 @@ const ChannelInput = props => {
|
|
|
99
96
|
};
|
|
100
97
|
if (!props.shouldRenderInput) {
|
|
101
98
|
return /*#__PURE__*/_react.default.createElement(SafeAreaBottom, {
|
|
102
|
-
height:
|
|
99
|
+
height: safeArea.paddingBottom
|
|
103
100
|
});
|
|
104
101
|
}
|
|
105
102
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.KeyboardAvoidingView, {
|
|
106
|
-
keyboardVerticalOffset: -
|
|
103
|
+
keyboardVerticalOffset: -safeArea.paddingBottom + keyboardAvoidOffset,
|
|
107
104
|
behavior: KEYBOARD_AVOID_VIEW_BEHAVIOR
|
|
108
105
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
109
106
|
style: {
|
|
110
|
-
|
|
111
|
-
|
|
107
|
+
paddingStart: safeArea.paddingStart,
|
|
108
|
+
paddingEnd: safeArea.paddingEnd,
|
|
112
109
|
backgroundColor: colors.background
|
|
113
110
|
}
|
|
114
111
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
@@ -137,13 +134,13 @@ const ChannelInput = props => {
|
|
|
137
134
|
setMessageToEdit: setMessageToEdit,
|
|
138
135
|
style: textInputStyle
|
|
139
136
|
}))), /*#__PURE__*/_react.default.createElement(SafeAreaBottom, {
|
|
140
|
-
height:
|
|
137
|
+
height: safeArea.paddingBottom
|
|
141
138
|
}))), mentionAvailable && props.SuggestedMentionList && /*#__PURE__*/_react.default.createElement(props.SuggestedMentionList, {
|
|
142
139
|
text: text,
|
|
143
140
|
selection: selection,
|
|
144
141
|
inputHeight: inputHeight,
|
|
145
|
-
topInset:
|
|
146
|
-
bottomInset:
|
|
142
|
+
topInset: safeArea.paddingTop,
|
|
143
|
+
bottomInset: safeArea.paddingBottom,
|
|
147
144
|
onPressToMention: onPressToMention,
|
|
148
145
|
mentionedUsers: mentionedUsers
|
|
149
146
|
}));
|
|
@@ -176,10 +173,9 @@ const useAutoFocusOnEditMode = (textInputRef, messageToEdit) => {
|
|
|
176
173
|
}
|
|
177
174
|
}, [messageToEdit]);
|
|
178
175
|
};
|
|
179
|
-
const SafeAreaBottom =
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
} = _ref;
|
|
176
|
+
const SafeAreaBottom = ({
|
|
177
|
+
height
|
|
178
|
+
}) => {
|
|
183
179
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
184
180
|
style: {
|
|
185
181
|
height
|
|
@@ -196,7 +192,7 @@ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
|
196
192
|
},
|
|
197
193
|
input: {
|
|
198
194
|
flex: 1,
|
|
199
|
-
|
|
195
|
+
marginEnd: 4,
|
|
200
196
|
borderRadius: 20,
|
|
201
197
|
paddingTop: 8,
|
|
202
198
|
paddingBottom: 8,
|
|
@@ -209,6 +205,5 @@ const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
|
|
|
209
205
|
})
|
|
210
206
|
}
|
|
211
207
|
});
|
|
212
|
-
var _default = /*#__PURE__*/_react.default.memo(ChannelInput);
|
|
213
|
-
exports.default = _default;
|
|
208
|
+
var _default = exports.default = /*#__PURE__*/_react.default.memo(ChannelInput);
|
|
214
209
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useMentionTextInput","_interopRequireDefault","_AttachmentsButton","_EditInput","_MessageToReplyPreview","_SendInput","_VoiceMessageInput","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","AUTO_FOCUS","Platform","select","ios","android","KEYBOARD_AVOID_VIEW_BEHAVIOR","undefined","GET_INPUT_KEY","shouldReset","ChannelInput","props","channel","keyboardAvoidOffset","messageToEdit","setMessageToEdit","top","left","right","bottom","useSafeAreaInsets","colors","typography","useUIKitTheme","sbOptions","mentionManager","useSendbirdChat","selection","onSelectionChange","textInputRef","text","onChangeText","mentionedUsers","useMentionTextInput","inputMode","useIIFE","isFileMessage","mentionAvailable","uikit","groupChannel","enableMention","isGroupChannel","isBroadcast","inputKeyToRemount","inputHeight","setInputHeight","useState","styles","inputDefault","height","fontStyle","useMemo","body3","fontSize","lineHeight","textAlignVertical","textInputStyle","StyleSheet","flatten","input","style","useTypingTrigger","useTextClearOnDisabled","inputDisabled","useAutoFocusOnEditMode","onPressToMention","user","searchStringRange","mentionedMessageText","asMentionedMessageText","range","start","end","replace","shouldRenderInput","createElement","SafeAreaBottom","Fragment","KeyboardAvoidingView","keyboardVerticalOffset","behavior","View","paddingLeft","paddingRight","backgroundColor","background","onLayout","e","nativeEvent","layout","inputContainer","ref","VoiceMessageInput","AttachmentsButton","MessageToReplyPreview","autoFocus","SuggestedMentionList","topInset","bottomInset","useEffect","triggerTyping","action","endTyping","startTyping","catch","error","Logger","debug","setText","chatDisabled","isUserMessage","setTimeout","_textInputRef$current","current","focus","_ref","createStyleSheet","justifyContent","width","flex","marginRight","borderRadius","paddingTop","paddingBottom","minHeight","maxHeight","_default","React","memo","exports"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, StyleProp, StyleSheet, TextInput, TextStyle, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n Logger,\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdMember,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n replace,\n useIIFE,\n} from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../../hooks/useContext';\nimport useMentionTextInput from '../../hooks/useMentionTextInput';\nimport type { CommonComponent, MentionedUser, Range } from '../../types';\nimport type { AttachmentsButtonProps } from './AttachmentsButton';\nimport AttachmentsButton from './AttachmentsButton';\nimport EditInput from './EditInput';\nimport type { MessageToReplyPreviewProps } from './MessageToReplyPreview';\nimport { MessageToReplyPreview } from './MessageToReplyPreview';\nimport SendInput from './SendInput';\nimport VoiceMessageInput, { VoiceMessageInputProps } from './VoiceMessageInput';\n\nexport type SuggestedMentionListProps = {\n text: string;\n selection: Range;\n topInset: number;\n bottomInset: number;\n inputHeight: number;\n onPressToMention: (user: SendbirdMember, searchStringRange: Range) => void;\n mentionedUsers: MentionedUser[];\n};\n\nexport type ChannelInputProps = {\n // style\n style?: StyleProp<TextStyle>;\n\n // default\n channel: SendbirdBaseChannel;\n shouldRenderInput: boolean;\n keyboardAvoidOffset: number;\n\n // default actions\n onPressSendUserMessage: (params: SendbirdUserMessageCreateParams) => Promise<void>;\n onPressSendFileMessage: (params: SendbirdFileMessageCreateParams) => Promise<void>;\n onPressUpdateUserMessage: (message: SendbirdUserMessage, params: SendbirdUserMessageUpdateParams) => Promise<void>;\n onPressUpdateFileMessage: (message: SendbirdFileMessage, params: SendbirdFileMessageUpdateParams) => Promise<void>;\n\n // input status\n inputFrozen: boolean;\n inputMuted: boolean;\n inputDisabled: boolean;\n\n // edit\n messageToEdit: undefined | SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;\n\n // reply - only available on group channel\n messageToReply?: undefined | SendbirdUserMessage | SendbirdFileMessage;\n setMessageToReply?: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;\n messageForThread?: undefined | SendbirdUserMessage | SendbirdFileMessage;\n\n // mention\n SuggestedMentionList?: CommonComponent<SuggestedMentionListProps>;\n\n // sub-components\n AttachmentsButton?: (props: AttachmentsButtonProps) => React.ReactNode | null;\n MessageToReplyPreview?: (props: MessageToReplyPreviewProps) => React.ReactNode | null;\n VoiceMessageInput?: (props: VoiceMessageInputProps) => React.ReactNode | null;\n};\n\nconst AUTO_FOCUS = Platform.select({ ios: false, android: true, default: false });\nconst KEYBOARD_AVOID_VIEW_BEHAVIOR = Platform.select({ ios: 'padding' as const, default: undefined });\n\n// FIXME(iOS): Dynamic style does not work properly when typing the CJK. (https://github.com/facebook/react-native/issues/26107)\n// To workaround temporarily, change the key for re-mount the component.\n// -> This will affect to keyboard blur when add/remove first mentioned user.\nconst GET_INPUT_KEY = (shouldReset: boolean) => (shouldReset ? 'uikit-input-clear' : 'uikit-input');\n\n// TODO: Refactor 'Edit' mode to clearly\nconst ChannelInput = (props: ChannelInputProps) => {\n const { channel, keyboardAvoidOffset, messageToEdit, setMessageToEdit } = props;\n\n const { top, left, right, bottom } = useSafeAreaInsets();\n const { colors, typography } = useUIKitTheme();\n const { sbOptions, mentionManager } = useSendbirdChat();\n\n const { selection, onSelectionChange, textInputRef, text, onChangeText, mentionedUsers } = useMentionTextInput({\n messageToEdit,\n });\n const inputMode = useIIFE(() => {\n if (messageToEdit && !messageToEdit.isFileMessage()) return 'edit';\n else return 'send';\n });\n\n const mentionAvailable =\n sbOptions.uikit.groupChannel.channel.enableMention && channel.isGroupChannel() && !channel.isBroadcast;\n const inputKeyToRemount = GET_INPUT_KEY(mentionAvailable ? mentionedUsers.length === 0 : false);\n\n const [inputHeight, setInputHeight] = useState(styles.inputDefault.height);\n\n const fontStyle = useMemo(() => {\n if (!typography.body3.fontSize) return typography.body3;\n // NOTE: iOS does not support textAlignVertical, so we should adjust lineHeight to center the text in multiline TextInput.\n return { ...typography.body3, lineHeight: typography.body3.fontSize * 1.275, textAlignVertical: 'center' };\n }, [typography.body3.fontSize]);\n\n const textInputStyle = StyleSheet.flatten([styles.input, fontStyle, props.style]);\n\n useTypingTrigger(text, channel);\n useTextClearOnDisabled(onChangeText, props.inputDisabled);\n useAutoFocusOnEditMode(textInputRef, messageToEdit);\n\n const onPressToMention = (user: SendbirdMember, searchStringRange: Range) => {\n const mentionedMessageText = mentionManager.asMentionedMessageText(user, true);\n const range = { start: searchStringRange.start, end: searchStringRange.start + mentionedMessageText.length - 1 };\n\n onChangeText(replace(text, searchStringRange.start, searchStringRange.end, mentionedMessageText), { user, range });\n };\n\n if (!props.shouldRenderInput) {\n return <SafeAreaBottom height={bottom} />;\n }\n\n return (\n <>\n <KeyboardAvoidingView\n keyboardVerticalOffset={-bottom + keyboardAvoidOffset}\n behavior={KEYBOARD_AVOID_VIEW_BEHAVIOR}\n >\n <View style={{ paddingLeft: left, paddingRight: right, backgroundColor: colors.background }}>\n <View onLayout={(e) => setInputHeight(e.nativeEvent.layout.height)} style={styles.inputContainer}>\n {inputMode === 'send' && (\n <SendInput\n {...props}\n key={inputKeyToRemount}\n ref={textInputRef as never}\n text={text}\n onChangeText={onChangeText}\n onSelectionChange={onSelectionChange}\n mentionedUsers={mentionedUsers}\n VoiceMessageInput={props.VoiceMessageInput ?? VoiceMessageInput}\n AttachmentsButton={props.AttachmentsButton ?? AttachmentsButton}\n MessageToReplyPreview={props.MessageToReplyPreview ?? MessageToReplyPreview}\n style={textInputStyle}\n />\n )}\n {inputMode === 'edit' && messageToEdit && (\n <EditInput\n {...props}\n key={inputKeyToRemount}\n ref={textInputRef as never}\n text={text}\n onChangeText={onChangeText}\n autoFocus={AUTO_FOCUS}\n onSelectionChange={onSelectionChange}\n mentionedUsers={mentionedUsers}\n messageToEdit={messageToEdit}\n setMessageToEdit={setMessageToEdit}\n style={textInputStyle}\n />\n )}\n </View>\n <SafeAreaBottom height={bottom} />\n </View>\n </KeyboardAvoidingView>\n {mentionAvailable && props.SuggestedMentionList && (\n <props.SuggestedMentionList\n text={text}\n selection={selection}\n inputHeight={inputHeight}\n topInset={top}\n bottomInset={bottom}\n onPressToMention={onPressToMention}\n mentionedUsers={mentionedUsers}\n />\n )}\n </>\n );\n};\n\nconst useTypingTrigger = (text: string, channel: SendbirdBaseChannel) => {\n useEffect(\n () => {\n function triggerTyping() {\n if (channel.isGroupChannel()) {\n const action = () => (text.length === 0 ? channel.endTyping() : channel.startTyping());\n action().catch((error) => {\n Logger.debug('ChannelInput: Failed to trigger typing', error);\n });\n }\n }\n\n triggerTyping();\n },\n channel.isGroupChannel() ? [text] : [],\n );\n};\n\nconst useTextClearOnDisabled = (setText: (val: string) => void, chatDisabled: boolean) => {\n useEffect(() => {\n if (chatDisabled) setText('');\n }, [chatDisabled]);\n};\n\nconst useAutoFocusOnEditMode = (\n textInputRef: React.MutableRefObject<TextInput | undefined>,\n messageToEdit?: SendbirdBaseMessage,\n) => {\n useEffect(() => {\n if (messageToEdit?.isUserMessage()) {\n if (!AUTO_FOCUS) setTimeout(() => textInputRef.current?.focus(), 500);\n }\n }, [messageToEdit]);\n};\n\nconst SafeAreaBottom = ({ height }: { height: number }) => {\n return <View style={{ height }} />;\n};\n\nconst styles = createStyleSheet({\n inputContainer: {\n justifyContent: 'center',\n width: '100%',\n },\n inputDefault: {\n height: 56,\n },\n input: {\n flex: 1,\n marginRight: 4,\n borderRadius: 20,\n paddingTop: 8,\n paddingBottom: 8,\n minHeight: 36,\n // Android - padding area is hidden\n // iOS - padding area is visible\n maxHeight: Platform.select({ ios: 36 * 2 + 16, android: 36 * 2 }),\n },\n});\n\nexport default React.memo(ChannelInput);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_uikitReactNativeFoundation","_uikitUtils","_useContext","_useMentionTextInput","_interopRequireDefault","_AttachmentsButton","_EditInput","_MessageToReplyPreview","_SendInput","_VoiceMessageInput","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","AUTO_FOCUS","Platform","select","ios","android","KEYBOARD_AVOID_VIEW_BEHAVIOR","undefined","ChannelInput","props","channel","keyboardAvoidOffset","messageToEdit","setMessageToEdit","safeArea","useSafeAreaPadding","colors","typography","useUIKitTheme","sbOptions","mentionManager","useSendbirdChat","selection","onSelectionChange","textInputRef","text","onChangeText","mentionedUsers","useMentionTextInput","inputMode","useIIFE","isFileMessage","mentionAvailable","uikit","groupChannel","enableMention","isGroupChannel","isBroadcast","inputKeyToRemount","inputHeight","setInputHeight","useState","styles","inputDefault","height","fontStyle","useMemo","body3","fontSize","lineHeight","textAlignVertical","textInputStyle","StyleSheet","flatten","input","style","useTypingTrigger","useTextClearOnDisabled","inputDisabled","useAutoFocusOnEditMode","onPressToMention","user","searchStringRange","mentionedMessageText","asMentionedMessageText","range","start","end","replace","shouldRenderInput","createElement","SafeAreaBottom","paddingBottom","Fragment","KeyboardAvoidingView","keyboardVerticalOffset","behavior","View","paddingStart","paddingEnd","backgroundColor","background","onLayout","nativeEvent","layout","inputContainer","key","ref","VoiceMessageInput","AttachmentsButton","MessageToReplyPreview","autoFocus","SuggestedMentionList","topInset","paddingTop","bottomInset","useEffect","triggerTyping","action","endTyping","startTyping","catch","error","Logger","debug","setText","chatDisabled","isUserMessage","setTimeout","_textInputRef$current","current","focus","createStyleSheet","justifyContent","width","flex","marginEnd","borderRadius","minHeight","maxHeight","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, StyleProp, StyleSheet, TextInput, TextStyle, View } from 'react-native';\n\nimport { createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport {\n Logger,\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdMember,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n replace,\n useIIFE,\n useSafeAreaPadding,\n} from '@sendbird/uikit-utils';\n\nimport { useSendbirdChat } from '../../hooks/useContext';\nimport useMentionTextInput from '../../hooks/useMentionTextInput';\nimport type { CommonComponent, MentionedUser, Range } from '../../types';\nimport type { AttachmentsButtonProps } from './AttachmentsButton';\nimport AttachmentsButton from './AttachmentsButton';\nimport EditInput from './EditInput';\nimport type { MessageToReplyPreviewProps } from './MessageToReplyPreview';\nimport { MessageToReplyPreview } from './MessageToReplyPreview';\nimport SendInput from './SendInput';\nimport VoiceMessageInput, { VoiceMessageInputProps } from './VoiceMessageInput';\n\nexport type SuggestedMentionListProps = {\n text: string;\n selection: Range;\n topInset: number;\n bottomInset: number;\n inputHeight: number;\n onPressToMention: (user: SendbirdMember, searchStringRange: Range) => void;\n mentionedUsers: MentionedUser[];\n /**\n * Whether to show user id information on each item.\n * */\n showUserId?: boolean;\n};\n\nexport type ChannelInputProps = {\n // style\n style?: StyleProp<TextStyle>;\n\n // default\n channel: SendbirdBaseChannel;\n shouldRenderInput: boolean;\n keyboardAvoidOffset: number;\n\n // default actions\n onPressSendUserMessage: (params: SendbirdUserMessageCreateParams) => Promise<void>;\n onPressSendFileMessage: (params: SendbirdFileMessageCreateParams) => Promise<void>;\n onPressUpdateUserMessage: (message: SendbirdUserMessage, params: SendbirdUserMessageUpdateParams) => Promise<void>;\n onPressUpdateFileMessage: (message: SendbirdFileMessage, params: SendbirdFileMessageUpdateParams) => Promise<void>;\n\n // input status\n inputFrozen: boolean;\n inputMuted: boolean;\n inputDisabled: boolean;\n\n // edit\n messageToEdit: undefined | SendbirdUserMessage | SendbirdFileMessage;\n setMessageToEdit: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;\n\n // reply - only available on group channel\n messageToReply?: undefined | SendbirdUserMessage | SendbirdFileMessage;\n setMessageToReply?: (message?: undefined | SendbirdUserMessage | SendbirdFileMessage) => void;\n messageForThread?: undefined | SendbirdUserMessage | SendbirdFileMessage;\n\n // mention\n SuggestedMentionList?: CommonComponent<SuggestedMentionListProps>;\n\n // sub-components\n AttachmentsButton?: (props: AttachmentsButtonProps) => React.ReactNode | null;\n MessageToReplyPreview?: (props: MessageToReplyPreviewProps) => React.ReactNode | null;\n VoiceMessageInput?: (props: VoiceMessageInputProps) => React.ReactNode | null;\n};\n\nconst AUTO_FOCUS = Platform.select({ ios: false, android: true, default: false });\nconst KEYBOARD_AVOID_VIEW_BEHAVIOR = Platform.select({ ios: 'padding' as const, default: undefined });\n\n// FIXME(iOS): Dynamic style does not work properly when typing the CJK. (https://github.com/facebook/react-native/issues/26107)\n// To workaround temporarily, change the key for re-mount the component.\n// -> This will affect to keyboard blur when add/remove first mentioned user.\n// const GET_INPUT_KEY = (shouldReset: boolean) => {\n// return Platform.OS === 'ios' && shouldReset ? 'uikit-input-clear' : 'uikit-input';\n// };\n\n// TODO: Refactor 'Edit' mode to clearly\nconst ChannelInput = (props: ChannelInputProps) => {\n const { channel, keyboardAvoidOffset, messageToEdit, setMessageToEdit } = props;\n\n const safeArea = useSafeAreaPadding(['top', 'left', 'right', 'bottom']);\n const { colors, typography } = useUIKitTheme();\n const { sbOptions, mentionManager } = useSendbirdChat();\n\n const { selection, onSelectionChange, textInputRef, text, onChangeText, mentionedUsers } = useMentionTextInput({\n messageToEdit,\n });\n const inputMode = useIIFE(() => {\n if (messageToEdit && !messageToEdit.isFileMessage()) return 'edit';\n else return 'send';\n });\n\n const mentionAvailable =\n sbOptions.uikit.groupChannel.channel.enableMention && channel.isGroupChannel() && !channel.isBroadcast;\n const inputKeyToRemount = 'input'; //GET_INPUT_KEY(mentionAvailable ? mentionedUsers.length === 0 : false);\n\n const [inputHeight, setInputHeight] = useState(styles.inputDefault.height);\n\n const fontStyle = useMemo(() => {\n if (!typography.body3.fontSize) return typography.body3;\n // NOTE: iOS does not support textAlignVertical, so we should adjust lineHeight to center the text in multiline TextInput.\n return { ...typography.body3, lineHeight: typography.body3.fontSize * 1.275, textAlignVertical: 'center' };\n }, [typography.body3.fontSize]);\n\n const textInputStyle = StyleSheet.flatten([styles.input, fontStyle, props.style]);\n\n useTypingTrigger(text, channel);\n useTextClearOnDisabled(onChangeText, props.inputDisabled);\n useAutoFocusOnEditMode(textInputRef, messageToEdit);\n\n const onPressToMention = (user: SendbirdMember, searchStringRange: Range) => {\n const mentionedMessageText = mentionManager.asMentionedMessageText(user, true);\n const range = { start: searchStringRange.start, end: searchStringRange.start + mentionedMessageText.length - 1 };\n\n onChangeText(replace(text, searchStringRange.start, searchStringRange.end, mentionedMessageText), { user, range });\n };\n\n if (!props.shouldRenderInput) {\n return <SafeAreaBottom height={safeArea.paddingBottom} />;\n }\n\n return (\n <>\n <KeyboardAvoidingView\n keyboardVerticalOffset={-safeArea.paddingBottom + keyboardAvoidOffset}\n behavior={KEYBOARD_AVOID_VIEW_BEHAVIOR}\n >\n <View\n style={{\n paddingStart: safeArea.paddingStart,\n paddingEnd: safeArea.paddingEnd,\n backgroundColor: colors.background,\n }}\n >\n <View onLayout={(e) => setInputHeight(e.nativeEvent.layout.height)} style={styles.inputContainer}>\n {inputMode === 'send' && (\n <SendInput\n {...props}\n key={inputKeyToRemount}\n ref={textInputRef as never}\n text={text}\n onChangeText={onChangeText}\n onSelectionChange={onSelectionChange}\n mentionedUsers={mentionedUsers}\n VoiceMessageInput={props.VoiceMessageInput ?? VoiceMessageInput}\n AttachmentsButton={props.AttachmentsButton ?? AttachmentsButton}\n MessageToReplyPreview={props.MessageToReplyPreview ?? MessageToReplyPreview}\n style={textInputStyle}\n />\n )}\n {inputMode === 'edit' && messageToEdit && (\n <EditInput\n {...props}\n key={inputKeyToRemount}\n ref={textInputRef as never}\n text={text}\n onChangeText={onChangeText}\n autoFocus={AUTO_FOCUS}\n onSelectionChange={onSelectionChange}\n mentionedUsers={mentionedUsers}\n messageToEdit={messageToEdit}\n setMessageToEdit={setMessageToEdit}\n style={textInputStyle}\n />\n )}\n </View>\n <SafeAreaBottom height={safeArea.paddingBottom} />\n </View>\n </KeyboardAvoidingView>\n {mentionAvailable && props.SuggestedMentionList && (\n <props.SuggestedMentionList\n text={text}\n selection={selection}\n inputHeight={inputHeight}\n topInset={safeArea.paddingTop}\n bottomInset={safeArea.paddingBottom}\n onPressToMention={onPressToMention}\n mentionedUsers={mentionedUsers}\n />\n )}\n </>\n );\n};\n\nconst useTypingTrigger = (text: string, channel: SendbirdBaseChannel) => {\n useEffect(\n () => {\n function triggerTyping() {\n if (channel.isGroupChannel()) {\n const action = () => (text.length === 0 ? channel.endTyping() : channel.startTyping());\n action().catch((error) => {\n Logger.debug('ChannelInput: Failed to trigger typing', error);\n });\n }\n }\n\n triggerTyping();\n },\n channel.isGroupChannel() ? [text] : [],\n );\n};\n\nconst useTextClearOnDisabled = (setText: (val: string) => void, chatDisabled: boolean) => {\n useEffect(() => {\n if (chatDisabled) setText('');\n }, [chatDisabled]);\n};\n\nconst useAutoFocusOnEditMode = (\n textInputRef: React.MutableRefObject<TextInput | undefined>,\n messageToEdit?: SendbirdBaseMessage,\n) => {\n useEffect(() => {\n if (messageToEdit?.isUserMessage()) {\n if (!AUTO_FOCUS) setTimeout(() => textInputRef.current?.focus(), 500);\n }\n }, [messageToEdit]);\n};\n\nconst SafeAreaBottom = ({ height }: { height: number }) => {\n return <View style={{ height }} />;\n};\n\nconst styles = createStyleSheet({\n inputContainer: {\n justifyContent: 'center',\n width: '100%',\n },\n inputDefault: {\n height: 56,\n },\n input: {\n flex: 1,\n marginEnd: 4,\n borderRadius: 20,\n paddingTop: 8,\n paddingBottom: 8,\n minHeight: 36,\n // Android - padding area is hidden\n // iOS - padding area is visible\n maxHeight: Platform.select({ ios: 36 * 2 + 16, android: 36 * 2 }),\n },\n});\n\nexport default React.memo(ChannelInput);\n"],"mappings":"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","ignoreList":[]}
|